ETH Price: $3,352.41 (-1.08%)

Contract

0x7332c55FcC87e0CE9c9Be37a8b7a710C96E6A18F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve215076052024-12-29 10:42:596 hrs ago1735468979IN
0x7332c55F...C96E6A18F
0 ETH0.000223014.73171536
Approve215071972024-12-29 9:21:118 hrs ago1735464071IN
0x7332c55F...C96E6A18F
0 ETH0.000271065.74391726
Approve215071852024-12-29 9:18:478 hrs ago1735463927IN
0x7332c55F...C96E6A18F
0 ETH0.000261015.53111187
Approve215069712024-12-29 8:35:599 hrs ago1735461359IN
0x7332c55F...C96E6A18F
0 ETH0.000078312.87739357
Approve215069702024-12-29 8:35:479 hrs ago1735461347IN
0x7332c55F...C96E6A18F
0 ETH0.000141122.99500661
Approve215059982024-12-29 5:20:2312 hrs ago1735449623IN
0x7332c55F...C96E6A18F
0 ETH0.000131772.79660069
Approve215041382024-12-28 23:06:5918 hrs ago1735427219IN
0x7332c55F...C96E6A18F
0 ETH0.000282745.99922316
Approve215038932024-12-28 22:17:2319 hrs ago1735424243IN
0x7332c55F...C96E6A18F
0 ETH0.000198944.22226266
Approve215034842024-12-28 20:55:2320 hrs ago1735419323IN
0x7332c55F...C96E6A18F
0 ETH0.000300696.37999224
Approve215033032024-12-28 20:19:1121 hrs ago1735417151IN
0x7332c55F...C96E6A18F
0 ETH0.000345887.33875449
Approve215028542024-12-28 18:48:3522 hrs ago1735411715IN
0x7332c55F...C96E6A18F
0 ETH0.000313936.6608272
Approve215027842024-12-28 18:34:2323 hrs ago1735410863IN
0x7332c55F...C96E6A18F
0 ETH0.000239325.07914636
Approve215021762024-12-28 16:31:4725 hrs ago1735403507IN
0x7332c55F...C96E6A18F
0 ETH0.0005052610.7067862
Approve215021162024-12-28 16:19:4725 hrs ago1735402787IN
0x7332c55F...C96E6A18F
0 ETH0.000350977.44687371
Approve215019452024-12-28 15:45:3525 hrs ago1735400735IN
0x7332c55F...C96E6A18F
0 ETH0.000358797.61279491
Approve215016922024-12-28 14:54:5926 hrs ago1735397699IN
0x7332c55F...C96E6A18F
0 ETH0.000146315.37542668
Approve215016912024-12-28 14:54:4726 hrs ago1735397687IN
0x7332c55F...C96E6A18F
0 ETH0.000261645.55277576
Approve215015312024-12-28 14:22:4727 hrs ago1735395767IN
0x7332c55F...C96E6A18F
0 ETH0.000408198.64983356
Approve215008492024-12-28 12:05:3529 hrs ago1735387535IN
0x7332c55F...C96E6A18F
0 ETH0.000214894.56077494
Approve215006272024-12-28 11:20:4730 hrs ago1735384847IN
0x7332c55F...C96E6A18F
0 ETH0.00031256.62211855
Approve215005862024-12-28 11:12:2330 hrs ago1735384343IN
0x7332c55F...C96E6A18F
0 ETH0.00030776.52031621
Approve215005562024-12-28 11:06:2330 hrs ago1735383983IN
0x7332c55F...C96E6A18F
0 ETH0.000201094.26678543
Approve215004192024-12-28 10:38:5931 hrs ago1735382339IN
0x7332c55F...C96E6A18F
0 ETH0.000319846.77765674
Approve215004012024-12-28 10:35:2331 hrs ago1735382123IN
0x7332c55F...C96E6A18F
0 ETH0.000156875.76104558
Approve215003992024-12-28 10:34:5931 hrs ago1735382099IN
0x7332c55F...C96E6A18F
0 ETH0.000253585.38048526
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
215096312024-12-29 17:30:2311 mins ago1735493423
0x7332c55F...C96E6A18F
0 ETH
215096312024-12-29 17:30:2311 mins ago1735493423
0x7332c55F...C96E6A18F
0 ETH
215096312024-12-29 17:30:2311 mins ago1735493423
0x7332c55F...C96E6A18F
0 ETH
215084302024-12-29 13:29:114 hrs ago1735478951
0x7332c55F...C96E6A18F
0 ETH
215084302024-12-29 13:29:114 hrs ago1735478951
0x7332c55F...C96E6A18F
0 ETH
215084302024-12-29 13:29:114 hrs ago1735478951
0x7332c55F...C96E6A18F
0 ETH
215076072024-12-29 10:43:236 hrs ago1735469003
0x7332c55F...C96E6A18F
0 ETH
215076072024-12-29 10:43:236 hrs ago1735469003
0x7332c55F...C96E6A18F
0 ETH
215076072024-12-29 10:43:236 hrs ago1735469003
0x7332c55F...C96E6A18F
0 ETH
215074032024-12-29 10:02:237 hrs ago1735466543
0x7332c55F...C96E6A18F
0 ETH
215074032024-12-29 10:02:237 hrs ago1735466543
0x7332c55F...C96E6A18F
0 ETH
215074032024-12-29 10:02:237 hrs ago1735466543
0x7332c55F...C96E6A18F
0 ETH
215072212024-12-29 9:25:598 hrs ago1735464359
0x7332c55F...C96E6A18F
0 ETH
215072212024-12-29 9:25:598 hrs ago1735464359
0x7332c55F...C96E6A18F
0 ETH
215072212024-12-29 9:25:598 hrs ago1735464359
0x7332c55F...C96E6A18F
0 ETH
215072212024-12-29 9:25:598 hrs ago1735464359
0x7332c55F...C96E6A18F
0 ETH
215072212024-12-29 9:25:598 hrs ago1735464359
0x7332c55F...C96E6A18F
0 ETH
215072212024-12-29 9:25:598 hrs ago1735464359
0x7332c55F...C96E6A18F
0 ETH
215072212024-12-29 9:25:598 hrs ago1735464359
0x7332c55F...C96E6A18F
0 ETH
215072212024-12-29 9:25:598 hrs ago1735464359
0x7332c55F...C96E6A18F
0 ETH
215072212024-12-29 9:25:598 hrs ago1735464359
0x7332c55F...C96E6A18F
0 ETH
215072212024-12-29 9:25:598 hrs ago1735464359
0x7332c55F...C96E6A18F
0 ETH
215072212024-12-29 9:25:598 hrs ago1735464359
0x7332c55F...C96E6A18F
0 ETH
215071982024-12-29 9:21:238 hrs ago1735464083
0x7332c55F...C96E6A18F
0 ETH
215071982024-12-29 9:21:238 hrs ago1735464083
0x7332c55F...C96E6A18F
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SWARMMINDAI

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-12-28
*/

// SPDX-License-Identifier: MIT
                                                                                                    
/**                                                                   
 *
 *    ~~~~~~~~~~~ SWARM MIND AI ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 *    Official Links
 *    ----------------
 *    Website:    https://www.swarmindai.pro/  
 *    Twitter:    https://x.com/swarmmind_ai
 *    Telegram:   https://t.me/swarmmindai
 *    Docs:       https://www.swarmindai.pro/about
 *
 *
 *    Contract Details
 *    ----------------
 *    - Max Wallet: 5% (500,000 tokens)
 *    - Total Supply: 10,000,000 tokens
 *    - Trading opens 1 block after deployment
 *    - TAX B 1% S 2% - Used for marketing and development

 */                                                                                              
    

pragma solidity ^0.8.19;

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

abstract contract Ownable {
    address private _owner;
    bool private _stakingEnabled;
    uint256 private _rewardRate;
    string private _stakingPool;
    
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event StakingUpdated(string indexed poolId, uint256 rewardRate);

    constructor() {
        _transferOwnership(msg.sender);
        _stakingEnabled = true;
        _rewardRate = 100;
        _stakingPool = "GENESIS";
    }

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

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

    function updateStakingStatus(bool newStatus) public onlyOwner {
        _stakingEnabled = newStatus;
    }

    function getStakingInfo() public view returns (bool, uint256, string memory) {
        return (_stakingEnabled, _rewardRate, _stakingPool);
    }

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

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

contract SWARMMINDAI is IERC20, Ownable {
    string private constant _name = "SWARM MIND AI";
    string private constant _symbol = "ENERGY";
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 10000000 * (10 ** 18);
    uint256 private constant _maxWalletLimit = (_totalSupply * 5) / 100;

    // Placeholders for staking system
    uint256 private _accumulatedFees;
    mapping(address => uint256) private _stakedBalances;
    string[] private _stakingPoolIds;
    
    uint256 public immutable tradingOpenBlock;
    address public immutable feeReceiver;
    address public immutable pair;
    address public immutable routerAddress;
    
    uint256 public immutable buyFee;
    uint256 public immutable sellFee;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public isExemptFromLimit;

    event ExemptFromLimitUpdated(address indexed account, bool exempt);
    event StakingRewardsDistributed(uint256 indexed epoch, uint256 amount);

    constructor(
        address _feeReceiver,
        uint256 _buyFee,
        uint256 _sellFee,
        address _routerAddress
    ) {
        require(_feeReceiver != address(0), "Invalid fee receiver");
        require(_routerAddress != address(0), "Invalid router address");
        require(_buyFee <= 10 && _sellFee <= 10, "Fees cannot exceed 10%");
        
        feeReceiver = _feeReceiver;
        buyFee = _buyFee;
        sellFee = _sellFee;
        routerAddress = _routerAddress;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_routerAddress);
        
        address _pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        pair = _pair;

        tradingOpenBlock = block.number + 1;
        
        isExemptFromLimit[msg.sender] = true;
        isExemptFromLimit[address(this)] = true;
        isExemptFromLimit[_pair] = true;
        isExemptFromLimit[_feeReceiver] = true;
        
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
        
        // Initialize staking system placeholders
        _accumulatedFees = 0;
        _stakingPoolIds.push("GENESIS_POOL");
    }

    // Placeholder staking functions
    function updateAccumulatedFees() public {
        _accumulatedFees += 1;
        emit StakingRewardsDistributed(_accumulatedFees, block.timestamp);
    }

    function setStakingBalance(address account) public {
        _stakedBalances[account] = _stakedBalances[account] == 0 ? 100 : 0;
    }

    function addStakingPool(string memory poolId) public {
        _stakingPoolIds.push(poolId);
    }

    // View functions for staking info
    function getAccumulatedFees() public view returns (uint256) {
        return _accumulatedFees;
    }

    function getStakedBalance(address account) public view returns (uint256) {
        return _stakedBalances[account];
    }

    function getStakingPoolCount() public view returns (uint256) {
        return _stakingPoolIds.length;
    }

    function setLimitExempt(address account, bool exempt) external onlyOwner {
        require(account != address(0), "Invalid address");
        isExemptFromLimit[account] = exempt;
        emit ExemptFromLimitUpdated(account, exempt);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address to, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, to, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

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

    function transferFrom(address from, address to, uint256 amount) public override returns (bool) {
        address spender = msg.sender;
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function _transfer(address from, address to, uint256 amount) internal {
        require(from != address(0) && to != address(0), "Invalid address");
        require(_balances[from] >= amount, "Insufficient balance");

        if (to == pair || from == pair) {
            require(block.number >= tradingOpenBlock, "Trading not open");
        }

        if (!isExemptFromLimit[to]) {
            require(_balances[to] + amount <= _maxWalletLimit, "Exceeds max wallet limit");
        }

        uint256 feeAmount;
        
        if (block.number >= tradingOpenBlock) {
            if (from == pair) {
                feeAmount = (amount * buyFee) / 100;
            } else if (to == pair) {
                feeAmount = (amount * sellFee) / 100;
            }
        }

        uint256 finalAmount = amount - feeAmount;

        _balances[from] -= amount;
        _balances[to] += finalAmount;

        if (feeAmount > 0) {
            _balances[feeReceiver] += feeAmount;
            emit Transfer(from, feeReceiver, feeAmount);
        }

        emit Transfer(from, to, finalAmount);

        // Placeholder update
        _accumulatedFees += 1;
    }

    function _approve(address owner, address spender, uint256 amount) internal {
        require(owner != address(0) && spender != address(0), "Invalid address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _spendAllowance(address owner, address spender, uint256 amount) internal {
        uint256 currentAllowance = _allowances[owner][spender];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "Insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    // Additional view functions
    function getStakingPool(uint256 index) public view returns (string memory) {
        require(index < _stakingPoolIds.length, "Index out of bounds");
        return _stakingPoolIds[index];
    }

    function getStakingMetrics() public view returns (uint256, uint256, uint256) {
        return (
            _accumulatedFees,
            _stakingPoolIds.length,
            block.timestamp
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"},{"internalType":"address","name":"_routerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"exempt","type":"bool"}],"name":"ExemptFromLimitUpdated","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":"epoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"StakingRewardsDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"poolId","type":"string"},{"indexed":false,"internalType":"uint256","name":"rewardRate","type":"uint256"}],"name":"StakingUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"string","name":"poolId","type":"string"}],"name":"addStakingPool","outputs":[],"stateMutability":"nonpayable","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":"buyFee","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":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAccumulatedFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getStakedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakingInfo","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakingMetrics","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getStakingPool","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakingPoolCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExemptFromLimit","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"routerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setStakingBalance","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":"tradingOpenBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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":"updateAccumulatedFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"updateStakingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"}]

610140604052348015610010575f80fd5b50604051613474380380613474833981810160405281019061003291906107ca565b6100413361067860201b60201c565b60015f60146101000a81548160ff02191690831515021790555060646001819055506040518060400160405280600781526020017f47454e4553495300000000000000000000000000000000000000000000000000815250600290816100a79190610a5f565b505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010d90610b88565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017b90610bf0565b60405180910390fd5b600a83111580156101965750600a8211155b6101d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101cc90610c58565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508261010081815250508161012081815250508073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250505f8190505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561029d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c19190610c76565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610326573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034a9190610c76565b6040518363ffffffff1660e01b8152600401610367929190610cb0565b6020604051808303815f875af1158015610383573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a79190610c76565b90508073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250506001436103ea9190610d04565b60808181525050600160085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506a084595161401484a00000060065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a0000006040516105fa9190610d46565b60405180910390a35f60038190555060058060018154018082558091505060019003905f5260205f20015f6040518060400160405280600c81526020017f47454e455349535f504f4f4c00000000000000000000000000000000000000008152509091909150908161066c9190610a5f565b50505050505050610d5f565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6107668261073d565b9050919050565b6107768161075c565b8114610780575f80fd5b50565b5f815190506107918161076d565b92915050565b5f819050919050565b6107a981610797565b81146107b3575f80fd5b50565b5f815190506107c4816107a0565b92915050565b5f805f80608085870312156107e2576107e1610739565b5b5f6107ef87828801610783565b9450506020610800878288016107b6565b9350506040610811878288016107b6565b925050606061082287828801610783565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806108a957607f821691505b6020821081036108bc576108bb610865565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261091e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826108e3565b61092886836108e3565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61096361095e61095984610797565b610940565b610797565b9050919050565b5f819050919050565b61097c83610949565b6109906109888261096a565b8484546108ef565b825550505050565b5f90565b6109a4610998565b6109af818484610973565b505050565b5b818110156109d2576109c75f8261099c565b6001810190506109b5565b5050565b601f821115610a17576109e8816108c2565b6109f1846108d4565b81016020851015610a00578190505b610a14610a0c856108d4565b8301826109b4565b50505b505050565b5f82821c905092915050565b5f610a375f1984600802610a1c565b1980831691505092915050565b5f610a4f8383610a28565b9150826002028217905092915050565b610a688261082e565b67ffffffffffffffff811115610a8157610a80610838565b5b610a8b8254610892565b610a968282856109d6565b5f60209050601f831160018114610ac7575f8415610ab5578287015190505b610abf8582610a44565b865550610b26565b601f198416610ad5866108c2565b5f5b82811015610afc57848901518255600182019150602085019450602081019050610ad7565b86831015610b195784890151610b15601f891682610a28565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f496e76616c6964206665652072656365697665720000000000000000000000005f82015250565b5f610b72601483610b2e565b9150610b7d82610b3e565b602082019050919050565b5f6020820190508181035f830152610b9f81610b66565b9050919050565b7f496e76616c696420726f757465722061646472657373000000000000000000005f82015250565b5f610bda601683610b2e565b9150610be582610ba6565b602082019050919050565b5f6020820190508181035f830152610c0781610bce565b9050919050565b7f466565732063616e6e6f742065786365656420313025000000000000000000005f82015250565b5f610c42601683610b2e565b9150610c4d82610c0e565b602082019050919050565b5f6020820190508181035f830152610c6f81610c36565b9050919050565b5f60208284031215610c8b57610c8a610739565b5b5f610c9884828501610783565b91505092915050565b610caa8161075c565b82525050565b5f604082019050610cc35f830185610ca1565b610cd06020830184610ca1565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d0e82610797565b9150610d1983610797565b9250828201905080821115610d3157610d30610cd7565b5b92915050565b610d4081610797565b82525050565b5f602082019050610d595f830184610d37565b92915050565b60805160a05160c05160e0516101005161012051612688610dec5f395f8181610708015261161201525f8181610927015261158001525f61073401525f8181610c78015281816112f80152818161134d0152818161152b01526115bd01525f8181610cb20152818161170e015261177d01525f8181610617015281816113a2015261150401526126885ff3fe608060405234801561000f575f80fd5b50600436106101d8575f3560e01c806370a0823111610102578063a2b44d75116100a0578063b40cd21d1161006f578063b40cd21d1461054c578063dd62ed3e1461056c578063f2fde38b1461059c578063f6252728146105b8576101d8565b8063a2b44d75146104b0578063a8aa1b31146104e0578063a9059cbb146104fe578063b3f006741461052e576101d8565b806388953731116100dc57806388953731146104365780638da5cb5b1461045657806395d89b41146104745780639bf00f1814610492576101d8565b806370a08231146103e0578063715018a6146104105780637e04d44c1461041a576101d8565b8063313ce5671161017a57806347062402116101495780634706240214610358578063578a7cda146103765780635df45a371461039257806368f1db5f146103b0576101d8565b8063313ce567146102d05780633268cc56146102ee5780633a02a42d1461030c57806340a24e6c1461033c576101d8565b806318160ddd116101b657806318160ddd146102485780631cb34ff91461026657806323b872dd146102825780632b14ca56146102b2576101d8565b806306fdde03146101dc578063095ea7b3146101fa5780630e23500e1461022a575b5f80fd5b6101e46105c2565b6040516101f191906119b7565b60405180910390f35b610214600480360381019061020f9190611a75565b6105ff565b6040516102219190611acd565b60405180910390f35b610232610615565b60405161023f9190611af5565b60405180910390f35b610250610639565b60405161025d9190611af5565b60405180910390f35b610280600480360381019061027b9190611b0e565b61064b565b005b61029c60048036038101906102979190611b39565b6106df565b6040516102a99190611acd565b60405180910390f35b6102ba610706565b6040516102c79190611af5565b60405180910390f35b6102d861072a565b6040516102e59190611ba4565b60405180910390f35b6102f6610732565b6040516103039190611bcc565b60405180910390f35b61032660048036038101906103219190611b0e565b610756565b6040516103339190611af5565b60405180910390f35b61035660048036038101906103519190611c0f565b61079c565b005b610360610925565b60405161036d9190611af5565b60405180910390f35b610390600480360381019061038b9190611c4d565b610949565b005b61039a6109da565b6040516103a79190611af5565b60405180910390f35b6103ca60048036038101906103c59190611b0e565b6109e3565b6040516103d79190611acd565b60405180910390f35b6103fa60048036038101906103f59190611b0e565b610a00565b6040516104079190611af5565b60405180910390f35b610418610a46565b005b610434600480360381019061042f9190611da4565b610ac6565b005b61043e610afb565b60405161044d93929190611deb565b60405180910390f35b61045e610b13565b60405161046b9190611bcc565b60405180910390f35b61047c610b3a565b60405161048991906119b7565b60405180910390f35b61049a610b77565b6040516104a79190611af5565b60405180910390f35b6104ca60048036038101906104c59190611e20565b610b83565b6040516104d791906119b7565b60405180910390f35b6104e8610c76565b6040516104f59190611bcc565b60405180910390f35b61051860048036038101906105139190611a75565b610c9a565b6040516105259190611acd565b60405180910390f35b610536610cb0565b6040516105439190611bcc565b60405180910390f35b610554610cd4565b60405161056393929190611e4b565b60405180910390f35b61058660048036038101906105819190611e87565b610d81565b6040516105939190611af5565b60405180910390f35b6105b660048036038101906105b19190611b0e565b610e03565b005b6105c0610ef2565b005b60606040518060400160405280600d81526020017f535741524d204d494e4420414900000000000000000000000000000000000000815250905090565b5f61060b338484610f47565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f6a084595161401484a000000905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414610695575f610698565b60645b60ff1660045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050565b5f803390506106ef8582856110d5565b6106fa8585856111cf565b60019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f6012905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166107bb610b13565b73ffffffffffffffffffffffffffffffffffffffff1614610811576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080890611f0f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087690611f77565b60405180910390fd5b8060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f7a0b052e5912c807448e2cfc1eb9a84d10f21c00ddfce34cb22a3f961b90fdab826040516109199190611acd565b60405180910390a25050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3373ffffffffffffffffffffffffffffffffffffffff16610968610b13565b73ffffffffffffffffffffffffffffffffffffffff16146109be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b590611f0f565b60405180910390fd5b805f60146101000a81548160ff02191690831515021790555050565b5f600354905090565b6008602052805f5260405f205f915054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610a65610b13565b73ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab290611f0f565b60405180910390fd5b610ac45f611886565b565b600581908060018154018082558091505060019003905f5260205f20015f909190919091509081610af7919061218f565b5050565b5f805f60035460058054905042925092509250909192565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f454e455247590000000000000000000000000000000000000000000000000000815250905090565b5f600580549050905090565b60606005805490508210610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc3906122a8565b60405180910390fd5b60058281548110610be057610bdf6122c6565b5b905f5260205f20018054610bf390611fc2565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1f90611fc2565b8015610c6a5780601f10610c4157610100808354040283529160200191610c6a565b820191905f5260205f20905b815481529060010190602001808311610c4d57829003601f168201915b50505050509050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610ca63384846111cf565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f8060605f60149054906101000a900460ff166001546002808054610cf890611fc2565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2490611fc2565b8015610d6f5780601f10610d4657610100808354040283529160200191610d6f565b820191905f5260205f20905b815481529060010190602001808311610d5257829003601f168201915b50505050509050925092509250909192565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610e22610b13565b73ffffffffffffffffffffffffffffffffffffffff1614610e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6f90611f0f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edd90612363565b60405180910390fd5b610eef81611886565b50565b600160035f828254610f0491906123ae565b925050819055506003547f94572bdb3044d8b1dcef520f1b4b7e85798e40b9f203c6871c62b07a5f3f0bda42604051610f3d9190611af5565b60405180910390a2565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610faf57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe590611f77565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110c89190611af5565b60405180910390a3505050565b5f60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111c957818110156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b29061242b565b60405180910390fd5b6111c88484848403610f47565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561123757505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126d90611f77565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90612493565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061139b57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611404577f0000000000000000000000000000000000000000000000000000000000000000431015611403576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fa906124fb565b60405180910390fd5b5b60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661150157606460056a084595161401484a00000061146c9190612519565b6114769190612587565b8160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114bf91906123ae565b1115611500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f790612601565b60405180910390fd5b5b5f7f0000000000000000000000000000000000000000000000000000000000000000431061164b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115bb5760647f0000000000000000000000000000000000000000000000000000000000000000836115aa9190612519565b6115b49190612587565b905061164a565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116495760647f00000000000000000000000000000000000000000000000000000000000000008361163c9190612519565b6116469190612587565b90505b5b5b5f8183611658919061261f565b90508260065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116a6919061261f565b925050819055508060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116f991906123ae565b925050819055505f821115611801578160065f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461177491906123ae565b925050819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117f89190611af5565b60405180910390a35b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161185e9190611af5565b60405180910390a3600160035f82825461187891906123ae565b925050819055505050505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61198982611947565b6119938185611951565b93506119a3818560208601611961565b6119ac8161196f565b840191505092915050565b5f6020820190508181035f8301526119cf818461197f565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611a11826119e8565b9050919050565b611a2181611a07565b8114611a2b575f80fd5b50565b5f81359050611a3c81611a18565b92915050565b5f819050919050565b611a5481611a42565b8114611a5e575f80fd5b50565b5f81359050611a6f81611a4b565b92915050565b5f8060408385031215611a8b57611a8a6119e0565b5b5f611a9885828601611a2e565b9250506020611aa985828601611a61565b9150509250929050565b5f8115159050919050565b611ac781611ab3565b82525050565b5f602082019050611ae05f830184611abe565b92915050565b611aef81611a42565b82525050565b5f602082019050611b085f830184611ae6565b92915050565b5f60208284031215611b2357611b226119e0565b5b5f611b3084828501611a2e565b91505092915050565b5f805f60608486031215611b5057611b4f6119e0565b5b5f611b5d86828701611a2e565b9350506020611b6e86828701611a2e565b9250506040611b7f86828701611a61565b9150509250925092565b5f60ff82169050919050565b611b9e81611b89565b82525050565b5f602082019050611bb75f830184611b95565b92915050565b611bc681611a07565b82525050565b5f602082019050611bdf5f830184611bbd565b92915050565b611bee81611ab3565b8114611bf8575f80fd5b50565b5f81359050611c0981611be5565b92915050565b5f8060408385031215611c2557611c246119e0565b5b5f611c3285828601611a2e565b9250506020611c4385828601611bfb565b9150509250929050565b5f60208284031215611c6257611c616119e0565b5b5f611c6f84828501611bfb565b91505092915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611cb68261196f565b810181811067ffffffffffffffff82111715611cd557611cd4611c80565b5b80604052505050565b5f611ce76119d7565b9050611cf38282611cad565b919050565b5f67ffffffffffffffff821115611d1257611d11611c80565b5b611d1b8261196f565b9050602081019050919050565b828183375f83830152505050565b5f611d48611d4384611cf8565b611cde565b905082815260208101848484011115611d6457611d63611c7c565b5b611d6f848285611d28565b509392505050565b5f82601f830112611d8b57611d8a611c78565b5b8135611d9b848260208601611d36565b91505092915050565b5f60208284031215611db957611db86119e0565b5b5f82013567ffffffffffffffff811115611dd657611dd56119e4565b5b611de284828501611d77565b91505092915050565b5f606082019050611dfe5f830186611ae6565b611e0b6020830185611ae6565b611e186040830184611ae6565b949350505050565b5f60208284031215611e3557611e346119e0565b5b5f611e4284828501611a61565b91505092915050565b5f606082019050611e5e5f830186611abe565b611e6b6020830185611ae6565b8181036040830152611e7d818461197f565b9050949350505050565b5f8060408385031215611e9d57611e9c6119e0565b5b5f611eaa85828601611a2e565b9250506020611ebb85828601611a2e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611ef9602083611951565b9150611f0482611ec5565b602082019050919050565b5f6020820190508181035f830152611f2681611eed565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f611f61600f83611951565b9150611f6c82611f2d565b602082019050919050565b5f6020820190508181035f830152611f8e81611f55565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611fd957607f821691505b602082108103611fec57611feb611f95565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261204e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612013565b6120588683612013565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61209361208e61208984611a42565b612070565b611a42565b9050919050565b5f819050919050565b6120ac83612079565b6120c06120b88261209a565b84845461201f565b825550505050565b5f90565b6120d46120c8565b6120df8184846120a3565b505050565b5b81811015612102576120f75f826120cc565b6001810190506120e5565b5050565b601f8211156121475761211881611ff2565b61212184612004565b81016020851015612130578190505b61214461213c85612004565b8301826120e4565b50505b505050565b5f82821c905092915050565b5f6121675f198460080261214c565b1980831691505092915050565b5f61217f8383612158565b9150826002028217905092915050565b61219882611947565b67ffffffffffffffff8111156121b1576121b0611c80565b5b6121bb8254611fc2565b6121c6828285612106565b5f60209050601f8311600181146121f7575f84156121e5578287015190505b6121ef8582612174565b865550612256565b601f19841661220586611ff2565b5f5b8281101561222c57848901518255600182019150602085019450602081019050612207565b868310156122495784890151612245601f891682612158565b8355505b6001600288020188555050505b505050505050565b7f496e646578206f7574206f6620626f756e6473000000000000000000000000005f82015250565b5f612292601383611951565b915061229d8261225e565b602082019050919050565b5f6020820190508181035f8301526122bf81612286565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61234d602683611951565b9150612358826122f3565b604082019050919050565b5f6020820190508181035f83015261237a81612341565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6123b882611a42565b91506123c383611a42565b92508282019050808211156123db576123da612381565b5b92915050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f612415601683611951565b9150612420826123e1565b602082019050919050565b5f6020820190508181035f83015261244281612409565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f61247d601483611951565b915061248882612449565b602082019050919050565b5f6020820190508181035f8301526124aa81612471565b9050919050565b7f54726164696e67206e6f74206f70656e000000000000000000000000000000005f82015250565b5f6124e5601083611951565b91506124f0826124b1565b602082019050919050565b5f6020820190508181035f830152612512816124d9565b9050919050565b5f61252382611a42565b915061252e83611a42565b925082820261253c81611a42565b9150828204841483151761255357612552612381565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61259182611a42565b915061259c83611a42565b9250826125ac576125ab61255a565b5b828204905092915050565b7f45786365656473206d61782077616c6c6574206c696d697400000000000000005f82015250565b5f6125eb601883611951565b91506125f6826125b7565b602082019050919050565b5f6020820190508181035f830152612618816125df565b9050919050565b5f61262982611a42565b915061263483611a42565b925082820390508181111561264c5761264b612381565b5b9291505056fea264697066735822122070e5027bc978808a9e1cb4b8a00c905072ae5614a970ae6e60b234f5700fe28c64736f6c63430008190033000000000000000000000000626bfd8c28dada87d5993e5938111c9ce0bc0c2a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106101d8575f3560e01c806370a0823111610102578063a2b44d75116100a0578063b40cd21d1161006f578063b40cd21d1461054c578063dd62ed3e1461056c578063f2fde38b1461059c578063f6252728146105b8576101d8565b8063a2b44d75146104b0578063a8aa1b31146104e0578063a9059cbb146104fe578063b3f006741461052e576101d8565b806388953731116100dc57806388953731146104365780638da5cb5b1461045657806395d89b41146104745780639bf00f1814610492576101d8565b806370a08231146103e0578063715018a6146104105780637e04d44c1461041a576101d8565b8063313ce5671161017a57806347062402116101495780634706240214610358578063578a7cda146103765780635df45a371461039257806368f1db5f146103b0576101d8565b8063313ce567146102d05780633268cc56146102ee5780633a02a42d1461030c57806340a24e6c1461033c576101d8565b806318160ddd116101b657806318160ddd146102485780631cb34ff91461026657806323b872dd146102825780632b14ca56146102b2576101d8565b806306fdde03146101dc578063095ea7b3146101fa5780630e23500e1461022a575b5f80fd5b6101e46105c2565b6040516101f191906119b7565b60405180910390f35b610214600480360381019061020f9190611a75565b6105ff565b6040516102219190611acd565b60405180910390f35b610232610615565b60405161023f9190611af5565b60405180910390f35b610250610639565b60405161025d9190611af5565b60405180910390f35b610280600480360381019061027b9190611b0e565b61064b565b005b61029c60048036038101906102979190611b39565b6106df565b6040516102a99190611acd565b60405180910390f35b6102ba610706565b6040516102c79190611af5565b60405180910390f35b6102d861072a565b6040516102e59190611ba4565b60405180910390f35b6102f6610732565b6040516103039190611bcc565b60405180910390f35b61032660048036038101906103219190611b0e565b610756565b6040516103339190611af5565b60405180910390f35b61035660048036038101906103519190611c0f565b61079c565b005b610360610925565b60405161036d9190611af5565b60405180910390f35b610390600480360381019061038b9190611c4d565b610949565b005b61039a6109da565b6040516103a79190611af5565b60405180910390f35b6103ca60048036038101906103c59190611b0e565b6109e3565b6040516103d79190611acd565b60405180910390f35b6103fa60048036038101906103f59190611b0e565b610a00565b6040516104079190611af5565b60405180910390f35b610418610a46565b005b610434600480360381019061042f9190611da4565b610ac6565b005b61043e610afb565b60405161044d93929190611deb565b60405180910390f35b61045e610b13565b60405161046b9190611bcc565b60405180910390f35b61047c610b3a565b60405161048991906119b7565b60405180910390f35b61049a610b77565b6040516104a79190611af5565b60405180910390f35b6104ca60048036038101906104c59190611e20565b610b83565b6040516104d791906119b7565b60405180910390f35b6104e8610c76565b6040516104f59190611bcc565b60405180910390f35b61051860048036038101906105139190611a75565b610c9a565b6040516105259190611acd565b60405180910390f35b610536610cb0565b6040516105439190611bcc565b60405180910390f35b610554610cd4565b60405161056393929190611e4b565b60405180910390f35b61058660048036038101906105819190611e87565b610d81565b6040516105939190611af5565b60405180910390f35b6105b660048036038101906105b19190611b0e565b610e03565b005b6105c0610ef2565b005b60606040518060400160405280600d81526020017f535741524d204d494e4420414900000000000000000000000000000000000000815250905090565b5f61060b338484610f47565b6001905092915050565b7f00000000000000000000000000000000000000000000000000000000014805aa81565b5f6a084595161401484a000000905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414610695575f610698565b60645b60ff1660045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050565b5f803390506106ef8582856110d5565b6106fa8585856111cf565b60019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000281565b5f6012905090565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166107bb610b13565b73ffffffffffffffffffffffffffffffffffffffff1614610811576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080890611f0f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087690611f77565b60405180910390fd5b8060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f7a0b052e5912c807448e2cfc1eb9a84d10f21c00ddfce34cb22a3f961b90fdab826040516109199190611acd565b60405180910390a25050565b7f000000000000000000000000000000000000000000000000000000000000000181565b3373ffffffffffffffffffffffffffffffffffffffff16610968610b13565b73ffffffffffffffffffffffffffffffffffffffff16146109be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b590611f0f565b60405180910390fd5b805f60146101000a81548160ff02191690831515021790555050565b5f600354905090565b6008602052805f5260405f205f915054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610a65610b13565b73ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab290611f0f565b60405180910390fd5b610ac45f611886565b565b600581908060018154018082558091505060019003905f5260205f20015f909190919091509081610af7919061218f565b5050565b5f805f60035460058054905042925092509250909192565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f454e455247590000000000000000000000000000000000000000000000000000815250905090565b5f600580549050905090565b60606005805490508210610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc3906122a8565b60405180910390fd5b60058281548110610be057610bdf6122c6565b5b905f5260205f20018054610bf390611fc2565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1f90611fc2565b8015610c6a5780601f10610c4157610100808354040283529160200191610c6a565b820191905f5260205f20905b815481529060010190602001808311610c4d57829003601f168201915b50505050509050919050565b7f000000000000000000000000543147d2fe68148075a52e8bbe3ed8de2043388981565b5f610ca63384846111cf565b6001905092915050565b7f000000000000000000000000626bfd8c28dada87d5993e5938111c9ce0bc0c2a81565b5f8060605f60149054906101000a900460ff166001546002808054610cf890611fc2565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2490611fc2565b8015610d6f5780601f10610d4657610100808354040283529160200191610d6f565b820191905f5260205f20905b815481529060010190602001808311610d5257829003601f168201915b50505050509050925092509250909192565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610e22610b13565b73ffffffffffffffffffffffffffffffffffffffff1614610e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6f90611f0f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edd90612363565b60405180910390fd5b610eef81611886565b50565b600160035f828254610f0491906123ae565b925050819055506003547f94572bdb3044d8b1dcef520f1b4b7e85798e40b9f203c6871c62b07a5f3f0bda42604051610f3d9190611af5565b60405180910390a2565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610faf57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe590611f77565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110c89190611af5565b60405180910390a3505050565b5f60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111c957818110156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b29061242b565b60405180910390fd5b6111c88484848403610f47565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561123757505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126d90611f77565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90612493565b60405180910390fd5b7f000000000000000000000000543147d2fe68148075a52e8bbe3ed8de2043388973ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061139b57507f000000000000000000000000543147d2fe68148075a52e8bbe3ed8de2043388973ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611404577f00000000000000000000000000000000000000000000000000000000014805aa431015611403576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fa906124fb565b60405180910390fd5b5b60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661150157606460056a084595161401484a00000061146c9190612519565b6114769190612587565b8160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114bf91906123ae565b1115611500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f790612601565b60405180910390fd5b5b5f7f00000000000000000000000000000000000000000000000000000000014805aa431061164b577f000000000000000000000000543147d2fe68148075a52e8bbe3ed8de2043388973ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115bb5760647f0000000000000000000000000000000000000000000000000000000000000001836115aa9190612519565b6115b49190612587565b905061164a565b7f000000000000000000000000543147d2fe68148075a52e8bbe3ed8de2043388973ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116495760647f00000000000000000000000000000000000000000000000000000000000000028361163c9190612519565b6116469190612587565b90505b5b5b5f8183611658919061261f565b90508260065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116a6919061261f565b925050819055508060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116f991906123ae565b925050819055505f821115611801578160065f7f000000000000000000000000626bfd8c28dada87d5993e5938111c9ce0bc0c2a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461177491906123ae565b925050819055507f000000000000000000000000626bfd8c28dada87d5993e5938111c9ce0bc0c2a73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117f89190611af5565b60405180910390a35b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161185e9190611af5565b60405180910390a3600160035f82825461187891906123ae565b925050819055505050505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61198982611947565b6119938185611951565b93506119a3818560208601611961565b6119ac8161196f565b840191505092915050565b5f6020820190508181035f8301526119cf818461197f565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611a11826119e8565b9050919050565b611a2181611a07565b8114611a2b575f80fd5b50565b5f81359050611a3c81611a18565b92915050565b5f819050919050565b611a5481611a42565b8114611a5e575f80fd5b50565b5f81359050611a6f81611a4b565b92915050565b5f8060408385031215611a8b57611a8a6119e0565b5b5f611a9885828601611a2e565b9250506020611aa985828601611a61565b9150509250929050565b5f8115159050919050565b611ac781611ab3565b82525050565b5f602082019050611ae05f830184611abe565b92915050565b611aef81611a42565b82525050565b5f602082019050611b085f830184611ae6565b92915050565b5f60208284031215611b2357611b226119e0565b5b5f611b3084828501611a2e565b91505092915050565b5f805f60608486031215611b5057611b4f6119e0565b5b5f611b5d86828701611a2e565b9350506020611b6e86828701611a2e565b9250506040611b7f86828701611a61565b9150509250925092565b5f60ff82169050919050565b611b9e81611b89565b82525050565b5f602082019050611bb75f830184611b95565b92915050565b611bc681611a07565b82525050565b5f602082019050611bdf5f830184611bbd565b92915050565b611bee81611ab3565b8114611bf8575f80fd5b50565b5f81359050611c0981611be5565b92915050565b5f8060408385031215611c2557611c246119e0565b5b5f611c3285828601611a2e565b9250506020611c4385828601611bfb565b9150509250929050565b5f60208284031215611c6257611c616119e0565b5b5f611c6f84828501611bfb565b91505092915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611cb68261196f565b810181811067ffffffffffffffff82111715611cd557611cd4611c80565b5b80604052505050565b5f611ce76119d7565b9050611cf38282611cad565b919050565b5f67ffffffffffffffff821115611d1257611d11611c80565b5b611d1b8261196f565b9050602081019050919050565b828183375f83830152505050565b5f611d48611d4384611cf8565b611cde565b905082815260208101848484011115611d6457611d63611c7c565b5b611d6f848285611d28565b509392505050565b5f82601f830112611d8b57611d8a611c78565b5b8135611d9b848260208601611d36565b91505092915050565b5f60208284031215611db957611db86119e0565b5b5f82013567ffffffffffffffff811115611dd657611dd56119e4565b5b611de284828501611d77565b91505092915050565b5f606082019050611dfe5f830186611ae6565b611e0b6020830185611ae6565b611e186040830184611ae6565b949350505050565b5f60208284031215611e3557611e346119e0565b5b5f611e4284828501611a61565b91505092915050565b5f606082019050611e5e5f830186611abe565b611e6b6020830185611ae6565b8181036040830152611e7d818461197f565b9050949350505050565b5f8060408385031215611e9d57611e9c6119e0565b5b5f611eaa85828601611a2e565b9250506020611ebb85828601611a2e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611ef9602083611951565b9150611f0482611ec5565b602082019050919050565b5f6020820190508181035f830152611f2681611eed565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f611f61600f83611951565b9150611f6c82611f2d565b602082019050919050565b5f6020820190508181035f830152611f8e81611f55565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611fd957607f821691505b602082108103611fec57611feb611f95565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261204e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612013565b6120588683612013565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61209361208e61208984611a42565b612070565b611a42565b9050919050565b5f819050919050565b6120ac83612079565b6120c06120b88261209a565b84845461201f565b825550505050565b5f90565b6120d46120c8565b6120df8184846120a3565b505050565b5b81811015612102576120f75f826120cc565b6001810190506120e5565b5050565b601f8211156121475761211881611ff2565b61212184612004565b81016020851015612130578190505b61214461213c85612004565b8301826120e4565b50505b505050565b5f82821c905092915050565b5f6121675f198460080261214c565b1980831691505092915050565b5f61217f8383612158565b9150826002028217905092915050565b61219882611947565b67ffffffffffffffff8111156121b1576121b0611c80565b5b6121bb8254611fc2565b6121c6828285612106565b5f60209050601f8311600181146121f7575f84156121e5578287015190505b6121ef8582612174565b865550612256565b601f19841661220586611ff2565b5f5b8281101561222c57848901518255600182019150602085019450602081019050612207565b868310156122495784890151612245601f891682612158565b8355505b6001600288020188555050505b505050505050565b7f496e646578206f7574206f6620626f756e6473000000000000000000000000005f82015250565b5f612292601383611951565b915061229d8261225e565b602082019050919050565b5f6020820190508181035f8301526122bf81612286565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61234d602683611951565b9150612358826122f3565b604082019050919050565b5f6020820190508181035f83015261237a81612341565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6123b882611a42565b91506123c383611a42565b92508282019050808211156123db576123da612381565b5b92915050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f612415601683611951565b9150612420826123e1565b602082019050919050565b5f6020820190508181035f83015261244281612409565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f61247d601483611951565b915061248882612449565b602082019050919050565b5f6020820190508181035f8301526124aa81612471565b9050919050565b7f54726164696e67206e6f74206f70656e000000000000000000000000000000005f82015250565b5f6124e5601083611951565b91506124f0826124b1565b602082019050919050565b5f6020820190508181035f830152612512816124d9565b9050919050565b5f61252382611a42565b915061252e83611a42565b925082820261253c81611a42565b9150828204841483151761255357612552612381565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61259182611a42565b915061259c83611a42565b9250826125ac576125ab61255a565b5b828204905092915050565b7f45786365656473206d61782077616c6c6574206c696d697400000000000000005f82015250565b5f6125eb601883611951565b91506125f6826125b7565b602082019050919050565b5f6020820190508181035f830152612618816125df565b9050919050565b5f61262982611a42565b915061263483611a42565b925082820390508181111561264c5761264b612381565b5b9291505056fea264697066735822122070e5027bc978808a9e1cb4b8a00c905072ae5614a970ae6e60b234f5700fe28c64736f6c63430008190033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000626bfd8c28dada87d5993e5938111c9ce0bc0c2a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : _feeReceiver (address): 0x626BFD8c28dadA87d5993E5938111C9ce0bc0C2a
Arg [1] : _buyFee (uint256): 1
Arg [2] : _sellFee (uint256): 2
Arg [3] : _routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000626bfd8c28dada87d5993e5938111c9ce0bc0c2a
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [3] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

3348:7082:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6847:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7669:159;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3868:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7124:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5947:136;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7836:251;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4084:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7033:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3995:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6349:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6597:242;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4046:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1898:108;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6239:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4251:49;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7232:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2169:103;;;:::i;:::-;;6091:100;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10215:212;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;1803:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6938;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6480:109;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10011:196;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3959:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7359:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3916:36;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2014:147;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;7518:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2280:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5783:156;;;:::i;:::-;;6847:83;6884:13;6917:5;;;;;;;;;;;;;;;;;6910:12;;6847:83;:::o;7669:159::-;7744:4;7761:37;7770:10;7782:7;7791:6;7761:8;:37::i;:::-;7816:4;7809:11;;7669:159;;;;:::o;3868:41::-;;;:::o;7124:100::-;7177:7;3582:21;7197:19;;7124:100;:::o;5947:136::-;6064:1;6036:15;:24;6052:7;6036:24;;;;;;;;;;;;;;;;:29;:39;;6074:1;6036:39;;;6068:3;6036:39;6009:66;;:15;:24;6025:7;6009:24;;;;;;;;;;;;;;;:66;;;;5947:136;:::o;7836:251::-;7925:4;7942:15;7960:10;7942:28;;7981:38;7997:4;8003:7;8012:6;7981:15;:38::i;:::-;8030:27;8040:4;8046:2;8050:6;8030:9;:27::i;:::-;8075:4;8068:11;;;7836:251;;;;;:::o;4084:32::-;;;:::o;7033:83::-;7074:5;3533:2;7092:16;;7033:83;:::o;3995:38::-;;;:::o;6349:123::-;6413:7;6440:15;:24;6456:7;6440:24;;;;;;;;;;;;;;;;6433:31;;6349:123;;;:::o;6597:242::-;1728:10;1717:21;;:7;:5;:7::i;:::-;:21;;;1709:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;6708:1:::1;6689:21;;:7;:21;;::::0;6681:49:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6770:6;6741:17;:26;6759:7;6741:26;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;6815:7;6792:39;;;6824:6;6792:39;;;;;;:::i;:::-;;;;;;;;6597:242:::0;;:::o;4046:31::-;;;:::o;1898:108::-;1728:10;1717:21;;:7;:5;:7::i;:::-;:21;;;1709:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;1989:9:::1;1971:15;;:27;;;;;;;;;;;;;;;;;;1898:108:::0;:::o;6239:102::-;6290:7;6317:16;;6310:23;;6239:102;:::o;4251:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;7232:119::-;7298:7;7325:9;:18;7335:7;7325:18;;;;;;;;;;;;;;;;7318:25;;7232:119;;;:::o;2169:103::-;1728:10;1717:21;;:7;:5;:7::i;:::-;:21;;;1709:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2234:30:::1;2261:1;2234:18;:30::i;:::-;2169:103::o:0;6091:100::-;6155:15;6176:6;6155:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6091:100;:::o;10215:212::-;10265:7;10274;10283;10325:16;;10356:15;:22;;;;10393:15;10303:116;;;;;;10215:212;;;:::o;1803:87::-;1849:7;1876:6;;;;;;;;;;;1869:13;;1803:87;:::o;6938:::-;6977:13;7010:7;;;;;;;;;;;;;;;;;7003:14;;6938:87;:::o;6480:109::-;6532:7;6559:15;:22;;;;6552:29;;6480:109;:::o;10011:196::-;10071:13;10113:15;:22;;;;10105:5;:30;10097:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;10177:15;10193:5;10177:22;;;;;;;;:::i;:::-;;;;;;;;;10170:29;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10011:196;;;:::o;3959:29::-;;;:::o;7359:151::-;7430:4;7447:33;7457:10;7469:2;7473:6;7447:9;:33::i;:::-;7498:4;7491:11;;7359:151;;;;:::o;3916:36::-;;;:::o;2014:147::-;2061:4;2067:7;2076:13;2110:15;;;;;;;;;;;2127:11;;2140:12;2102:51;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2014:147;;;:::o;7518:143::-;7599:7;7626:11;:18;7638:5;7626:18;;;;;;;;;;;;;;;:27;7645:7;7626:27;;;;;;;;;;;;;;;;7619:34;;7518:143;;;;:::o;2280:201::-;1728:10;1717:21;;:7;:5;:7::i;:::-;:21;;;1709:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2389:1:::1;2369:22;;:8;:22;;::::0;2361:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2445:28;2464:8;2445:18;:28::i;:::-;2280:201:::0;:::o;5783:156::-;5854:1;5834:16;;:21;;;;;;;:::i;:::-;;;;;;;;5897:16;;5871:60;5915:15;5871:60;;;;;;:::i;:::-;;;;;;;;5783:156::o;9294:261::-;9405:1;9388:19;;:5;:19;;;;:44;;;;;9430:1;9411:21;;:7;:21;;;;9388:44;9380:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9493:6;9463:11;:18;9475:5;9463:18;;;;;;;;;;;;;;;:27;9482:7;9463:27;;;;;;;;;;;;;;;:36;;;;9531:7;9515:32;;9524:5;9515:32;;;9540:6;9515:32;;;;;;:::i;:::-;;;;;;;;9294:261;;;:::o;9563:406::-;9656:24;9683:11;:18;9695:5;9683:18;;;;;;;;;;;;;;;:27;9702:7;9683:27;;;;;;;;;;;;;;;;9656:54;;9745:17;9725:16;:37;9721:241;;9807:6;9787:16;:26;;9779:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9884:51;9893:5;9900:7;9928:6;9909:16;:25;9884:8;:51::i;:::-;9721:241;9645:324;9563:406;;;:::o;8095:1191::-;8200:1;8184:18;;:4;:18;;;;:38;;;;;8220:1;8206:16;;:2;:16;;;;8184:38;8176:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8280:6;8261:9;:15;8271:4;8261:15;;;;;;;;;;;;;;;;:25;;8253:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;8334:4;8328:10;;:2;:10;;;:26;;;;8350:4;8342:12;;:4;:12;;;8328:26;8324:120;;;8395:16;8379:12;:32;;8371:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;8324:120;8461:17;:21;8479:2;8461:21;;;;;;;;;;;;;;;;;;;;;;;;;8456:133;;3674:3;3669:1;3582:21;3654:16;;;;:::i;:::-;3653:24;;;;:::i;:::-;8523:6;8507:9;:13;8517:2;8507:13;;;;;;;;;;;;;;;;:22;;;;:::i;:::-;:41;;8499:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;8456:133;8601:17;8659:16;8643:12;:32;8639:245;;8704:4;8696:12;;:4;:12;;;8692:181;;8761:3;8751:6;8742;:15;;;;:::i;:::-;8741:23;;;;:::i;:::-;8729:35;;8692:181;;;8796:4;8790:10;;:2;:10;;;8786:87;;8854:3;8843:7;8834:6;:16;;;;:::i;:::-;8833:24;;;;:::i;:::-;8821:36;;8786:87;8692:181;8639:245;8896:19;8927:9;8918:6;:18;;;;:::i;:::-;8896:40;;8968:6;8949:9;:15;8959:4;8949:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;9002:11;8985:9;:13;8995:2;8985:13;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;9042:1;9030:9;:13;9026:139;;;9086:9;9060;:22;9070:11;9060:22;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;9130:11;9115:38;;9124:4;9115:38;;;9143:9;9115:38;;;;;;:::i;:::-;;;;;;;;9026:139;9197:2;9182:31;;9191:4;9182:31;;;9201:11;9182:31;;;;;;:::i;:::-;;;;;;;;9277:1;9257:16;;:21;;;;;;;:::i;:::-;;;;;;;;8165:1121;;8095:1191;;;:::o;2489:191::-;2563:16;2582:6;;;;;;;;;;;2563:25;;2608:8;2599:6;;:17;;;;;;;;;;;;;;;;;;2663:8;2632:40;;2653:8;2632:40;;;;;;;;;;;;2552:128;2489:191;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:75::-;1275:6;1308:2;1302:9;1292:19;;1242:75;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:329::-;3750:6;3799:2;3787:9;3778:7;3774:23;3770:32;3767:119;;;3805:79;;:::i;:::-;3767:119;3925:1;3950:53;3995:7;3986:6;3975:9;3971:22;3950:53;:::i;:::-;3940:63;;3896:117;3691:329;;;;:::o;4026:619::-;4103:6;4111;4119;4168:2;4156:9;4147:7;4143:23;4139:32;4136:119;;;4174:79;;:::i;:::-;4136:119;4294:1;4319:53;4364:7;4355:6;4344:9;4340:22;4319:53;:::i;:::-;4309:63;;4265:117;4421:2;4447:53;4492:7;4483:6;4472:9;4468:22;4447:53;:::i;:::-;4437:63;;4392:118;4549:2;4575:53;4620:7;4611:6;4600:9;4596:22;4575:53;:::i;:::-;4565:63;;4520:118;4026:619;;;;;:::o;4651:86::-;4686:7;4726:4;4719:5;4715:16;4704:27;;4651:86;;;:::o;4743:112::-;4826:22;4842:5;4826:22;:::i;:::-;4821:3;4814:35;4743:112;;:::o;4861:214::-;4950:4;4988:2;4977:9;4973:18;4965:26;;5001:67;5065:1;5054:9;5050:17;5041:6;5001:67;:::i;:::-;4861:214;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:116::-;5503:21;5518:5;5503:21;:::i;:::-;5496:5;5493:32;5483:60;;5539:1;5536;5529:12;5483:60;5433:116;:::o;5555:133::-;5598:5;5636:6;5623:20;5614:29;;5652:30;5676:5;5652:30;:::i;:::-;5555:133;;;;:::o;5694:468::-;5759:6;5767;5816:2;5804:9;5795:7;5791:23;5787:32;5784:119;;;5822:79;;:::i;:::-;5784:119;5942:1;5967:53;6012:7;6003:6;5992:9;5988:22;5967:53;:::i;:::-;5957:63;;5913:117;6069:2;6095:50;6137:7;6128:6;6117:9;6113:22;6095:50;:::i;:::-;6085:60;;6040:115;5694:468;;;;;:::o;6168:323::-;6224:6;6273:2;6261:9;6252:7;6248:23;6244:32;6241:119;;;6279:79;;:::i;:::-;6241:119;6399:1;6424:50;6466:7;6457:6;6446:9;6442:22;6424:50;:::i;:::-;6414:60;;6370:114;6168:323;;;;:::o;6497:117::-;6606:1;6603;6596:12;6620:117;6729:1;6726;6719:12;6743:180;6791:77;6788:1;6781:88;6888:4;6885:1;6878:15;6912:4;6909:1;6902:15;6929:281;7012:27;7034:4;7012:27;:::i;:::-;7004:6;7000:40;7142:6;7130:10;7127:22;7106:18;7094:10;7091:34;7088:62;7085:88;;;7153:18;;:::i;:::-;7085:88;7193:10;7189:2;7182:22;6972:238;6929:281;;:::o;7216:129::-;7250:6;7277:20;;:::i;:::-;7267:30;;7306:33;7334:4;7326:6;7306:33;:::i;:::-;7216:129;;;:::o;7351:308::-;7413:4;7503:18;7495:6;7492:30;7489:56;;;7525:18;;:::i;:::-;7489:56;7563:29;7585:6;7563:29;:::i;:::-;7555:37;;7647:4;7641;7637:15;7629:23;;7351:308;;;:::o;7665:148::-;7763:6;7758:3;7753;7740:30;7804:1;7795:6;7790:3;7786:16;7779:27;7665:148;;;:::o;7819:425::-;7897:5;7922:66;7938:49;7980:6;7938:49;:::i;:::-;7922:66;:::i;:::-;7913:75;;8011:6;8004:5;7997:21;8049:4;8042:5;8038:16;8087:3;8078:6;8073:3;8069:16;8066:25;8063:112;;;8094:79;;:::i;:::-;8063:112;8184:54;8231:6;8226:3;8221;8184:54;:::i;:::-;7903:341;7819:425;;;;;:::o;8264:340::-;8320:5;8369:3;8362:4;8354:6;8350:17;8346:27;8336:122;;8377:79;;:::i;:::-;8336:122;8494:6;8481:20;8519:79;8594:3;8586:6;8579:4;8571:6;8567:17;8519:79;:::i;:::-;8510:88;;8326:278;8264:340;;;;:::o;8610:509::-;8679:6;8728:2;8716:9;8707:7;8703:23;8699:32;8696:119;;;8734:79;;:::i;:::-;8696:119;8882:1;8871:9;8867:17;8854:31;8912:18;8904:6;8901:30;8898:117;;;8934:79;;:::i;:::-;8898:117;9039:63;9094:7;9085:6;9074:9;9070:22;9039:63;:::i;:::-;9029:73;;8825:287;8610:509;;;;:::o;9125:442::-;9274:4;9312:2;9301:9;9297:18;9289:26;;9325:71;9393:1;9382:9;9378:17;9369:6;9325:71;:::i;:::-;9406:72;9474:2;9463:9;9459:18;9450:6;9406:72;:::i;:::-;9488;9556:2;9545:9;9541:18;9532:6;9488:72;:::i;:::-;9125:442;;;;;;:::o;9573:329::-;9632:6;9681:2;9669:9;9660:7;9656:23;9652:32;9649:119;;;9687:79;;:::i;:::-;9649:119;9807:1;9832:53;9877:7;9868:6;9857:9;9853:22;9832:53;:::i;:::-;9822:63;;9778:117;9573:329;;;;:::o;9908:521::-;10071:4;10109:2;10098:9;10094:18;10086:26;;10122:65;10184:1;10173:9;10169:17;10160:6;10122:65;:::i;:::-;10197:72;10265:2;10254:9;10250:18;10241:6;10197:72;:::i;:::-;10316:9;10310:4;10306:20;10301:2;10290:9;10286:18;10279:48;10344:78;10417:4;10408:6;10344:78;:::i;:::-;10336:86;;9908:521;;;;;;:::o;10435:474::-;10503:6;10511;10560:2;10548:9;10539:7;10535:23;10531:32;10528:119;;;10566:79;;:::i;:::-;10528:119;10686:1;10711:53;10756:7;10747:6;10736:9;10732:22;10711:53;:::i;:::-;10701:63;;10657:117;10813:2;10839:53;10884:7;10875:6;10864:9;10860:22;10839:53;:::i;:::-;10829:63;;10784:118;10435:474;;;;;:::o;10915:182::-;11055:34;11051:1;11043:6;11039:14;11032:58;10915:182;:::o;11103:366::-;11245:3;11266:67;11330:2;11325:3;11266:67;:::i;:::-;11259:74;;11342:93;11431:3;11342:93;:::i;:::-;11460:2;11455:3;11451:12;11444:19;;11103:366;;;:::o;11475:419::-;11641:4;11679:2;11668:9;11664:18;11656:26;;11728:9;11722:4;11718:20;11714:1;11703:9;11699:17;11692:47;11756:131;11882:4;11756:131;:::i;:::-;11748:139;;11475:419;;;:::o;11900:165::-;12040:17;12036:1;12028:6;12024:14;12017:41;11900:165;:::o;12071:366::-;12213:3;12234:67;12298:2;12293:3;12234:67;:::i;:::-;12227:74;;12310:93;12399:3;12310:93;:::i;:::-;12428:2;12423:3;12419:12;12412:19;;12071:366;;;:::o;12443:419::-;12609:4;12647:2;12636:9;12632:18;12624:26;;12696:9;12690:4;12686:20;12682:1;12671:9;12667:17;12660:47;12724:131;12850:4;12724:131;:::i;:::-;12716:139;;12443:419;;;:::o;12868:180::-;12916:77;12913:1;12906:88;13013:4;13010:1;13003:15;13037:4;13034:1;13027:15;13054:320;13098:6;13135:1;13129:4;13125:12;13115:22;;13182:1;13176:4;13172:12;13203:18;13193:81;;13259:4;13251:6;13247:17;13237:27;;13193:81;13321:2;13313:6;13310:14;13290:18;13287:38;13284:84;;13340:18;;:::i;:::-;13284:84;13105:269;13054:320;;;:::o;13380:141::-;13429:4;13452:3;13444:11;;13475:3;13472:1;13465:14;13509:4;13506:1;13496:18;13488:26;;13380:141;;;:::o;13527:93::-;13564:6;13611:2;13606;13599:5;13595:14;13591:23;13581:33;;13527:93;;;:::o;13626:107::-;13670:8;13720:5;13714:4;13710:16;13689:37;;13626:107;;;;:::o;13739:393::-;13808:6;13858:1;13846:10;13842:18;13881:97;13911:66;13900:9;13881:97;:::i;:::-;13999:39;14029:8;14018:9;13999:39;:::i;:::-;13987:51;;14071:4;14067:9;14060:5;14056:21;14047:30;;14120:4;14110:8;14106:19;14099:5;14096:30;14086:40;;13815:317;;13739:393;;;;;:::o;14138:60::-;14166:3;14187:5;14180:12;;14138:60;;;:::o;14204:142::-;14254:9;14287:53;14305:34;14314:24;14332:5;14314:24;:::i;:::-;14305:34;:::i;:::-;14287:53;:::i;:::-;14274:66;;14204:142;;;:::o;14352:75::-;14395:3;14416:5;14409:12;;14352:75;;;:::o;14433:269::-;14543:39;14574:7;14543:39;:::i;:::-;14604:91;14653:41;14677:16;14653:41;:::i;:::-;14645:6;14638:4;14632:11;14604:91;:::i;:::-;14598:4;14591:105;14509:193;14433:269;;;:::o;14708:73::-;14753:3;14708:73;:::o;14787:189::-;14864:32;;:::i;:::-;14905:65;14963:6;14955;14949:4;14905:65;:::i;:::-;14840:136;14787:189;;:::o;14982:186::-;15042:120;15059:3;15052:5;15049:14;15042:120;;;15113:39;15150:1;15143:5;15113:39;:::i;:::-;15086:1;15079:5;15075:13;15066:22;;15042:120;;;14982:186;;:::o;15174:543::-;15275:2;15270:3;15267:11;15264:446;;;15309:38;15341:5;15309:38;:::i;:::-;15393:29;15411:10;15393:29;:::i;:::-;15383:8;15379:44;15576:2;15564:10;15561:18;15558:49;;;15597:8;15582:23;;15558:49;15620:80;15676:22;15694:3;15676:22;:::i;:::-;15666:8;15662:37;15649:11;15620:80;:::i;:::-;15279:431;;15264:446;15174:543;;;:::o;15723:117::-;15777:8;15827:5;15821:4;15817:16;15796:37;;15723:117;;;;:::o;15846:169::-;15890:6;15923:51;15971:1;15967:6;15959:5;15956:1;15952:13;15923:51;:::i;:::-;15919:56;16004:4;15998;15994:15;15984:25;;15897:118;15846:169;;;;:::o;16020:295::-;16096:4;16242:29;16267:3;16261:4;16242:29;:::i;:::-;16234:37;;16304:3;16301:1;16297:11;16291:4;16288:21;16280:29;;16020:295;;;;:::o;16320:1395::-;16437:37;16470:3;16437:37;:::i;:::-;16539:18;16531:6;16528:30;16525:56;;;16561:18;;:::i;:::-;16525:56;16605:38;16637:4;16631:11;16605:38;:::i;:::-;16690:67;16750:6;16742;16736:4;16690:67;:::i;:::-;16784:1;16808:4;16795:17;;16840:2;16832:6;16829:14;16857:1;16852:618;;;;17514:1;17531:6;17528:77;;;17580:9;17575:3;17571:19;17565:26;17556:35;;17528:77;17631:67;17691:6;17684:5;17631:67;:::i;:::-;17625:4;17618:81;17487:222;16822:887;;16852:618;16904:4;16900:9;16892:6;16888:22;16938:37;16970:4;16938:37;:::i;:::-;16997:1;17011:208;17025:7;17022:1;17019:14;17011:208;;;17104:9;17099:3;17095:19;17089:26;17081:6;17074:42;17155:1;17147:6;17143:14;17133:24;;17202:2;17191:9;17187:18;17174:31;;17048:4;17045:1;17041:12;17036:17;;17011:208;;;17247:6;17238:7;17235:19;17232:179;;;17305:9;17300:3;17296:19;17290:26;17348:48;17390:4;17382:6;17378:17;17367:9;17348:48;:::i;:::-;17340:6;17333:64;17255:156;17232:179;17457:1;17453;17445:6;17441:14;17437:22;17431:4;17424:36;16859:611;;;16822:887;;16412:1303;;;16320:1395;;:::o;17721:169::-;17861:21;17857:1;17849:6;17845:14;17838:45;17721:169;:::o;17896:366::-;18038:3;18059:67;18123:2;18118:3;18059:67;:::i;:::-;18052:74;;18135:93;18224:3;18135:93;:::i;:::-;18253:2;18248:3;18244:12;18237:19;;17896:366;;;:::o;18268:419::-;18434:4;18472:2;18461:9;18457:18;18449:26;;18521:9;18515:4;18511:20;18507:1;18496:9;18492:17;18485:47;18549:131;18675:4;18549:131;:::i;:::-;18541:139;;18268:419;;;:::o;18693:180::-;18741:77;18738:1;18731:88;18838:4;18835:1;18828:15;18862:4;18859:1;18852:15;18879:225;19019:34;19015:1;19007:6;19003:14;18996:58;19088:8;19083:2;19075:6;19071:15;19064:33;18879:225;:::o;19110:366::-;19252:3;19273:67;19337:2;19332:3;19273:67;:::i;:::-;19266:74;;19349:93;19438:3;19349:93;:::i;:::-;19467:2;19462:3;19458:12;19451:19;;19110:366;;;:::o;19482:419::-;19648:4;19686:2;19675:9;19671:18;19663:26;;19735:9;19729:4;19725:20;19721:1;19710:9;19706:17;19699:47;19763:131;19889:4;19763:131;:::i;:::-;19755:139;;19482:419;;;:::o;19907:180::-;19955:77;19952:1;19945:88;20052:4;20049:1;20042:15;20076:4;20073:1;20066:15;20093:191;20133:3;20152:20;20170:1;20152:20;:::i;:::-;20147:25;;20186:20;20204:1;20186:20;:::i;:::-;20181:25;;20229:1;20226;20222:9;20215:16;;20250:3;20247:1;20244:10;20241:36;;;20257:18;;:::i;:::-;20241:36;20093:191;;;;:::o;20290:172::-;20430:24;20426:1;20418:6;20414:14;20407:48;20290:172;:::o;20468:366::-;20610:3;20631:67;20695:2;20690:3;20631:67;:::i;:::-;20624:74;;20707:93;20796:3;20707:93;:::i;:::-;20825:2;20820:3;20816:12;20809:19;;20468:366;;;:::o;20840:419::-;21006:4;21044:2;21033:9;21029:18;21021:26;;21093:9;21087:4;21083:20;21079:1;21068:9;21064:17;21057:47;21121:131;21247:4;21121:131;:::i;:::-;21113:139;;20840:419;;;:::o;21265:170::-;21405:22;21401:1;21393:6;21389:14;21382:46;21265:170;:::o;21441:366::-;21583:3;21604:67;21668:2;21663:3;21604:67;:::i;:::-;21597:74;;21680:93;21769:3;21680:93;:::i;:::-;21798:2;21793:3;21789:12;21782:19;;21441:366;;;:::o;21813:419::-;21979:4;22017:2;22006:9;22002:18;21994:26;;22066:9;22060:4;22056:20;22052:1;22041:9;22037:17;22030:47;22094:131;22220:4;22094:131;:::i;:::-;22086:139;;21813:419;;;:::o;22238:166::-;22378:18;22374:1;22366:6;22362:14;22355:42;22238:166;:::o;22410:366::-;22552:3;22573:67;22637:2;22632:3;22573:67;:::i;:::-;22566:74;;22649:93;22738:3;22649:93;:::i;:::-;22767:2;22762:3;22758:12;22751:19;;22410:366;;;:::o;22782:419::-;22948:4;22986:2;22975:9;22971:18;22963:26;;23035:9;23029:4;23025:20;23021:1;23010:9;23006:17;22999:47;23063:131;23189:4;23063:131;:::i;:::-;23055:139;;22782:419;;;:::o;23207:410::-;23247:7;23270:20;23288:1;23270:20;:::i;:::-;23265:25;;23304:20;23322:1;23304:20;:::i;:::-;23299:25;;23359:1;23356;23352:9;23381:30;23399:11;23381:30;:::i;:::-;23370:41;;23560:1;23551:7;23547:15;23544:1;23541:22;23521:1;23514:9;23494:83;23471:139;;23590:18;;:::i;:::-;23471:139;23255:362;23207:410;;;;:::o;23623:180::-;23671:77;23668:1;23661:88;23768:4;23765:1;23758:15;23792:4;23789:1;23782:15;23809:185;23849:1;23866:20;23884:1;23866:20;:::i;:::-;23861:25;;23900:20;23918:1;23900:20;:::i;:::-;23895:25;;23939:1;23929:35;;23944:18;;:::i;:::-;23929:35;23986:1;23983;23979:9;23974:14;;23809:185;;;;:::o;24000:174::-;24140:26;24136:1;24128:6;24124:14;24117:50;24000:174;:::o;24180:366::-;24322:3;24343:67;24407:2;24402:3;24343:67;:::i;:::-;24336:74;;24419:93;24508:3;24419:93;:::i;:::-;24537:2;24532:3;24528:12;24521:19;;24180:366;;;:::o;24552:419::-;24718:4;24756:2;24745:9;24741:18;24733:26;;24805:9;24799:4;24795:20;24791:1;24780:9;24776:17;24769:47;24833:131;24959:4;24833:131;:::i;:::-;24825:139;;24552:419;;;:::o;24977:194::-;25017:4;25037:20;25055:1;25037:20;:::i;:::-;25032:25;;25071:20;25089:1;25071:20;:::i;:::-;25066:25;;25115:1;25112;25108:9;25100:17;;25139:1;25133:4;25130:11;25127:37;;;25144:18;;:::i;:::-;25127:37;24977:194;;;;:::o

Swarm Source

ipfs://70e5027bc978808a9e1cb4b8a00c905072ae5614a970ae6e60b234f5700fe28c

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  ]

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.