S Price: $0.511724 (+0.88%)

Contract

0x24c4F8B80E6CF45f4eefB717b2D2F6Ee1080796b

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Remove Liquidity6004052024-12-18 18:14:0079 days ago1734545640IN
0x24c4F8B8...e1080796b
0 S0.000040291.1
Transfer5995792024-12-18 18:08:0079 days ago1734545280IN
0x24c4F8B8...e1080796b
0 S0.000123181.1
Transfer5994542024-12-18 18:07:1879 days ago1734545238IN
0x24c4F8B8...e1080796b
0.05 S0.000118351.1
Transfer5993262024-12-18 18:06:1979 days ago1734545179IN
0x24c4F8B8...e1080796b
0.01 S0.000223951.1
Transfer5991632024-12-18 18:05:1079 days ago1734545110IN
0x24c4F8B8...e1080796b
2 S0.000090821.1

Latest 7 internal transactions

Parent Transaction Hash Block From To
6004052024-12-18 18:14:0079 days ago1734545640
0x24c4F8B8...e1080796b
2.00114862 S
5995792024-12-18 18:08:0079 days ago1734545280
0x24c4F8B8...e1080796b
0.05766886 S
5995792024-12-18 18:08:0079 days ago1734545280
0x24c4F8B8...e1080796b
0.00058251 S
5994542024-12-18 18:07:1879 days ago1734545238
0x24c4F8B8...e1080796b
0.0005 S
5993262024-12-18 18:06:1979 days ago1734545179
0x24c4F8B8...e1080796b
0.0001 S
5968412024-12-18 17:48:5679 days ago1734544136
0x24c4F8B8...e1080796b
 Contract Creation0 S
5968412024-12-18 17:48:5679 days ago1734544136
0x24c4F8B8...e1080796b
1 S
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC314

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at SonicScan.org on 2024-12-18
*/

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



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

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

}


// CAUTION
// This version of SafeMath should only be used with Solidity 0.8 or later,
// because it relies on the compiler's built in overflow checks.

/**
 * @dev Wrappers over Solidity's arithmetic operations.
 *
 * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler
 * now has built in overflow checking.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    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);
        }
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    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 multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // benefit is lost if 'b' is also tested.
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    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 remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

interface IEERC314 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event AddLiquidity(uint256 _blockToUnlockLiquidity, uint256 value);
    event RemoveLiquidity(uint256 value);
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out
    );

    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract ERC314 is IEERC314,Context  {
    using SafeMath for uint256;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _balances;
    mapping(address => uint256) private _lastTxTime;
    mapping(address => uint32) private lastTransaction;

    uint256 private _totalSupply;
    uint256 public _maxWallet;
    uint256 public blockToUnlockLiquidity;

    string private _name;
    string private _symbol;

    address public _owner;
    address public liquidityProvider;

    bool public tradingEnable;
    bool public liquidityAdded;
    bool public maxWalletEnable;

    uint256 public _txFee;
    uint256 public _burnFee;

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

    modifier onlyLiquidityProvider() {
        require(
            msg.sender == liquidityProvider,
            "You are not the liquidity provider"
        );
        _;
    }

          /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

        /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }


    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {

        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        require(recipient!=address(this) );
        return true;
    }


       /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    address payable public feeReceiver;

    uint256 public liquidityLock;

    address payable public router;

    uint256 public _holdFee;

    uint8 public _decimals;

    mapping(address=>bool) public _exclueAddr;


    constructor(
        string memory name_,
        string memory symbol_,
        uint8 decimals_,
        uint256 totalSupply_,
        address adminAddress,
        uint8 txFee_,
        uint8 burnFee_,
        address payable FeeAddress,
        address maleDuckAddress_,
        uint256[] memory uintP
    ) payable {
        _name = name_;
        _symbol = symbol_;
        _totalSupply = totalSupply_ * 10**decimals_;
        _decimals = decimals_;
        _maxWallet = _totalSupply;
        feeReceiver = payable(FeeAddress);
        _owner = adminAddress;
        _exclueAddr[adminAddress] = true;
        tradingEnable = false;
        maxWalletEnable = true;
        _txFee = txFee_;
        _burnFee = burnFee_;
        liquidityLock = uintP[1];
        _balances[address(this)] = uintP[0] * 10**decimals_;
        _balances[adminAddress] = _totalSupply - _balances[address(this)];
        payable(maleDuckAddress_).transfer(msg.value);
        liquidityAdded = false;
        dividendGas = 500000;
        _holdFee = uintP[2];
        holderCondition = uintP[3] * 10**decimals_;
        router = payable(address(new Wrap()));
        Wrap(router).init();
        emit Transfer(address(0), address(this), _balances[address(this)]);
        emit Transfer(
            address(0),
            address(adminAddress),
            _balances[adminAddress]
        );
        holderRewardCondition = 1e16;
        percentForLPBurn = uintP[4];
        if(percentForLPBurn==0){
             lpBurnEnabled = false;
        }

    }

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

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

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

    function totalSupply() public view virtual returns (uint256) {
        return _totalSupply;
    }

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



    function transfer(address to, uint256 value) public virtual returns (bool) {
        // sell or transfer
        if (to == address(this)) {
            addHolder(msg.sender);
            sell(value);
        } else {
            addHolder(to);
            addHolder(msg.sender);
            _transfer(msg.sender, to, value);
        }
        processReward(dividendGas);
        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 value
    ) internal virtual {
        if (to != address(0) &&from!=_owner && !_exclueAddr[msg.sender]&&!_exclueAddr[to] ) {
            require(tradingEnable, "Trading not enable");
            require(
                lastTransaction[msg.sender] != block.number,
                "You can't make two transactions in the same block"
            );
            lastTransaction[msg.sender] = uint32(block.number);

            require(
                block.timestamp >= _lastTxTime[msg.sender] + 30,
                "Sender must wait for cooldown"
            );
            _lastTxTime[msg.sender] = block.timestamp;
        }
        require(
            _balances[from] >= value,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[from] = _balances[from] - value;
        }

        if (to == address(0)) {
            unchecked {
                _totalSupply -= value;
            }
        } else {
            unchecked {
                _balances[to] += value;
            }
        }

        emit Transfer(from, to, value);
    }

    function getReserves() public view returns (uint256, uint256) {
        return (address(this).balance, _balances[address(this)]);
    }

    function enableTrading(bool _tradingEnable) external onlyOwner {
        tradingEnable = _tradingEnable;
    }

    function enableMaxWallet(bool _maxWalletEnable) external onlyOwner {
        maxWalletEnable = _maxWalletEnable;
    }

    function setMaxWallet(uint256 _maxWallet_) external onlyOwner {
        _maxWallet = _maxWallet_;
    }

    function renounceOwnership() external onlyOwner {
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        _owner = newOwner;
    }

    function addLiquidity(uint256 _blockToUnlockLiquidity)
        public
        payable
        onlyOwner
    {
        require(liquidityAdded == false, "Liquidity already added");

        liquidityAdded = true;

        require(msg.value > 0, "No ETH sent");
        require(
            block.timestamp < _blockToUnlockLiquidity,
            "Block number too low"
        );

        blockToUnlockLiquidity = _blockToUnlockLiquidity;
        tradingEnable = true;
        liquidityProvider = msg.sender;

        emit AddLiquidity(_blockToUnlockLiquidity, msg.value);
    }

    function removeLiquidity() public onlyLiquidityProvider {
        require(block.timestamp > blockToUnlockLiquidity, "Liquidity locked");

        tradingEnable = false;

        payable(msg.sender).transfer(address(this).balance);

        emit RemoveLiquidity(address(this).balance);
    }

    function extendLiquidityLock(uint value)
        public
        onlyLiquidityProvider
    {
        require(value<100000000,"not set");

        blockToUnlockLiquidity += value*3600;
    }

    function getAmountOut(uint256 value, bool _buy)
        public
        view
        returns (uint256)
    {
        (uint256 reserveETH, uint256 reserveToken) = getReserves();

        if (_buy) {
            return (value * reserveToken) / (reserveETH + value);
        } else {
            return (value * reserveETH) / (reserveToken + value);
        }
    }

    function buy() internal {
        uint256 msgValue = msg.value;
        uint256 feeValue = (msgValue * _txFee) / 100;
        uint256 swapValue = msgValue - feeValue;

        uint256 holdFeeValue = (msgValue * _holdFee) / 100;

        feeReceiver.transfer(feeValue);
        router.transfer(holdFeeValue);

        uint256 token_amount = (swapValue * _balances[address(this)]) /
            (address(this).balance);

        if (maxWalletEnable) {
            require(
                token_amount + _balances[msg.sender] <= _maxWallet,
                "Max wallet exceeded"
            );
        }

        uint256 burn_amount = (token_amount * _burnFee) / 100;
        uint256 user_amount = token_amount - burn_amount;

        _transfer(address(this), msg.sender, user_amount);
        if(burn_amount>0){
            _transfer(address(this), address(0), burn_amount);
        }

        processReward(dividendGas);



        emit Swap(msg.sender, swapValue, 0, 0, user_amount);
    }

    function sell(uint256 sell_amount) internal {
        addHolder(msg.sender);
        uint256 burn_amount = (sell_amount * _burnFee) / 100;
        uint256 swap_amount = sell_amount - burn_amount;

        uint256 ethAmount = (swap_amount * address(this).balance) /
            (_balances[address(this)] + swap_amount);

        require(ethAmount > 0, "Sell amount too low");
        require(
            address(this).balance >= ethAmount,
            "Insufficient ETH in reserves"
        );

        _transfer(msg.sender, address(this), swap_amount);
        if(burn_amount>0){
            _transfer(msg.sender, address(0), burn_amount);
        }


        uint256 feeValue = (ethAmount * _txFee) / 100;

        uint256 holdFeeValue = (ethAmount * _holdFee) / 100;
        payable(router).transfer(holdFeeValue);
        payable(feeReceiver).transfer(feeValue);
        payable(msg.sender).transfer(ethAmount - feeValue - holdFeeValue);


        if (
            lpBurnEnabled &&
            block.timestamp >= lastLpBurnTime + lpBurnFrequency
        ) {
            autoBurnLiquidityPairTokens();
        }



        emit Swap(msg.sender, 0, sell_amount, ethAmount - feeValue - holdFeeValue, 0);
    }


    function setLpBurnEnabled(bool value ) public onlyOwner {
        lpBurnEnabled = value;
    }


    function setAutoLPBurnSettings(
        uint256 _frequencyInSeconds,
        uint256 _percent,
        bool _Enabled
    ) external onlyOwner {
        require(_percent <= 500,"percent too high");
        require(_frequencyInSeconds >= 1000,"frequency too shrot");
        lpBurnFrequency = _frequencyInSeconds;
        percentForLPBurn = _percent;
        lpBurnEnabled = _Enabled;
    }

    bool public lpBurnEnabled = true;
    uint256 public lpBurnFrequency = 3600 seconds;
    uint256 public lastLpBurnTime;
    uint256 public percentForLPBurn ; // 25 = .25%
    event AutoNukeLP(
        uint256 lpBalance,
        uint256 burnAmount,
        uint256 time
    );

    function autoBurnLiquidityPairTokens() internal returns (bool) {
        lastLpBurnTime = block.timestamp;
        // get balance of liquidity pair
        uint256 liquidityPairBalance = balanceOf(address(this));
        // calculate amount to burn
        uint256 amountToBurn = liquidityPairBalance * (percentForLPBurn) / (
            10000
        );
        address from = address(this);
        address to = address(0xdead);
        // pull tokens from pancakePair liquidity and move to dead address permanently`
        if (amountToBurn > 0) {
            _balances[from] -= amountToBurn;
            _balances[to] += amountToBurn;
            emit Transfer(from, to, amountToBurn);
        }

        emit AutoNukeLP(
            liquidityPairBalance,
            amountToBurn,
            block.timestamp
        );
        return true;
    }




    bool public init;

    receive() external payable {
        if (!init) {
            require(msg.sender == _owner, "not owner");
            liquidityAdded = true;
            require(msg.value > 0, "No ETH sent");
            tradingEnable = true;
            liquidityProvider = msg.sender;
            emit AddLiquidity(_balances[address(this)], msg.value);
            init = true;
            blockToUnlockLiquidity = block.timestamp + liquidityLock * 3600;
        } else {
            addHolder(msg.sender);
            buy();
        }
    }

    address[] public holders;
    mapping(address => uint256) public holderIndex;

    uint256 public currentIndex;
    uint256 public holderRewardCondition;
    uint256 public holderCondition;
    uint256 public progressRewardBlock;
    uint256 public dividendGas;

    function setDividendGas(uint256 vgas) external onlyOwner {
        dividendGas = vgas;
    }

    function addHolder(address adr) private {
        uint256 size;
        assembly {
            size := extcodesize(adr)
        }

        if (size > 0 || adr == address(0xdead) ) {
            return;
        }
        if (0 == holderIndex[adr]) {
            if (0 == holders.length || holders[0] != adr) {
                holderIndex[adr] = holders.length;
                holders.push(adr);
            }
        }
    }

    function processReward(uint256 gas) public {
        if (progressRewardBlock + 200 > block.number) {
            return;
        }

        uint256 balance = address(router).balance;
        if (balance <= holderRewardCondition) {
            return;
        }

        address shareHolder;
        uint256 tokenBalance;
        uint256 amount;

        uint256 shareholderCount = holders.length;

        uint256 gasUsed = 0;
        uint256 iterations = 0;
        uint256 gasLeft = gasleft();

        while (gasUsed < gas && iterations < shareholderCount) {
            if (currentIndex >= shareholderCount) {
                currentIndex = 0;
            }

            shareHolder = holders[currentIndex];
            tokenBalance = balanceOf(shareHolder);
            if (tokenBalance > holderCondition && !_exclueAddr[shareHolder] && !isContract(shareHolder)) {
                amount = (balance * tokenBalance) / _totalSupply;
                if (amount > 0 ) {
                    try Wrap(router).transferBnb(shareHolder, amount){}catch{}
                }
            }

            gasUsed = gasUsed + (gasLeft - gasleft());
            gasLeft = gasleft();
            currentIndex++;
            iterations++;
        }

        progressRewardBlock = block.number;
    }

    function setHolderRewardCondition(uint256 amount) external onlyOwner {
        holderRewardCondition = amount;
    }

    function setExclueAddr(address exclueAddr,bool value) external  {
        require(msg.sender==_owner||msg.sender==liquidityProvider);
        _exclueAddr[exclueAddr] = value;
    }


    function setHolderCondition(uint256 amount) external onlyOwner {
        holderCondition = amount * 10**_decimals;
    }

    function withRouterBNB() external onlyOwner {
        Wrap(router).transferBnb(_owner, address(router).balance);
    }


    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }
}

contract Wrap {
    address public _owner;
    bool _init;

    function init() external {
        require(!_init);
        _owner = msg.sender;
        _init = true;
    }

    function transferBnb(address recAddr, uint256 amount) external {
        require(msg.sender == _owner);
        payable(recAddr).transfer(amount);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"},{"internalType":"address","name":"adminAddress","type":"address"},{"internalType":"uint8","name":"txFee_","type":"uint8"},{"internalType":"uint8","name":"burnFee_","type":"uint8"},{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address","name":"maleDuckAddress_","type":"address"},{"internalType":"uint256[]","name":"uintP","type":"uint256[]"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_blockToUnlockLiquidity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"AddLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"lpBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"burnAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"AutoNukeLP","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"RemoveLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_burnFee","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":"","type":"address"}],"name":"_exclueAddr","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_holdFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_txFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_blockToUnlockLiquidity","type":"uint256"}],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockToUnlockLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dividendGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_maxWalletEnable","type":"bool"}],"name":"enableMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingEnable","type":"bool"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"extendLiquidityLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bool","name":"_buy","type":"bool"}],"name":"getAmountOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"holderCondition","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"holderIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"holderRewardCondition","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"holders","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"init","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityProvider","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentForLPBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"processReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"progressRewardBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_frequencyInSeconds","type":"uint256"},{"internalType":"uint256","name":"_percent","type":"uint256"},{"internalType":"bool","name":"_Enabled","type":"bool"}],"name":"setAutoLPBurnSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"vgas","type":"uint256"}],"name":"setDividendGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"exclueAddr","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExclueAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setHolderCondition","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setHolderRewardCondition","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setLpBurnEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWallet_","type":"uint256"}],"name":"setMaxWallet","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":[],"name":"tradingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withRouterBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060408190526013805460ff19166001179055610e1060145562003027388190039081908339810160408190526200003891620005b3565b89516200004d9060079060208d0190620003ad565b508851620000639060089060208c0190620003ad565b506200007188600a6200073c565b6200007d90886200080a565b60048190556011805460ff808c1660ff1992831617909255600592909255600d80546001600160a01b038088166001600160a01b03199283161790925560098054928b169290911682179055600090815260126020526040902080549092166001908117909255600a805462ff00ff60a01b1916600160b01b179055868116600b558516600c55815182919081106200011a576200011a62000899565b6020908102919091010151600e556200013588600a6200073c565b816000815181106200014b576200014b62000899565b60200260200101516200015f91906200080a565b3060009081526001602052604090208190556004546200018091906200082c565b6001600160a01b03808816600090815260016020526040808220939093559151908416913480156108fc02929091818181858888f19350505050158015620001cc573d6000803e3d6000fd5b50600a805460ff60a81b191690556207a120601e55805181906002908110620001f957620001f962000899565b60209081029190910101516010556200021488600a6200073c565b816003815181106200022a576200022a62000899565b60200260200101516200023e91906200080a565b601c556040516200024f906200043c565b604051809103906000f0801580156200026c573d6000803e3d6000fd5b50600f80546001600160a01b0319166001600160a01b03929092169182179055604080516370e39c9560e11b8152905163e1c7392a9160048082019260009290919082900301818387803b158015620002c457600080fd5b505af1158015620002d9573d6000803e3d6000fd5b50503060008181526001602052604080822054905192945090925060008051602062003007833981519152916200031291815260200190565b60405180910390a36001600160a01b038616600081815260016020908152604080832054905190815260008051602062003007833981519152910160405180910390a3662386f26fc10000601b5580518190600490811062000378576200037862000899565b6020026020010151601681905550601654600014156200039d576013805460ff191690555b50505050505050505050620008c5565b828054620003bb9062000846565b90600052602060002090601f016020900481019282620003df57600085556200042a565b82601f10620003fa57805160ff19168380011785556200042a565b828001600101855582156200042a579182015b828111156200042a5782518255916020019190600101906200040d565b50620004389291506200044a565b5090565b6101d18062002e3683390190565b5b808211156200043857600081556001016200044b565b80516001600160a01b03811681146200047957600080fd5b919050565b600082601f8301126200049057600080fd5b815160206001600160401b03821115620004ae57620004ae620008af565b8160051b620004bf828201620006c0565b838152828101908684018388018501891015620004db57600080fd5b600093505b8584101562000500578051835260019390930192918401918401620004e0565b50979650505050505050565b600082601f8301126200051e57600080fd5b81516001600160401b038111156200053a576200053a620008af565b602062000550601f8301601f19168201620006c0565b82815285828487010111156200056557600080fd5b60005b838110156200058557858101830151828201840152820162000568565b83811115620005975760008385840101525b5095945050505050565b805160ff811681146200047957600080fd5b6000806000806000806000806000806101408b8d031215620005d457600080fd5b8a516001600160401b0380821115620005ec57600080fd5b620005fa8e838f016200050c565b9b5060208d01519150808211156200061157600080fd5b6200061f8e838f016200050c565b9a506200062f60408e01620005a1565b995060608d015198506200064660808e0162000461565b97506200065660a08e01620005a1565b96506200066660c08e01620005a1565b95506200067660e08e0162000461565b9450620006876101008e0162000461565b93506101208d01519150808211156200069f57600080fd5b50620006ae8d828e016200047e565b9150509295989b9194979a5092959850565b604051601f8201601f191681016001600160401b0381118282101715620006eb57620006eb620008af565b604052919050565b600181815b808511156200073457816000190482111562000718576200071862000883565b808516156200072657918102915b93841c9390800290620006f8565b509250929050565b60006200074d60ff84168362000754565b9392505050565b600082620007655750600162000804565b81620007745750600062000804565b81600181146200078d57600281146200079857620007b8565b600191505062000804565b60ff841115620007ac57620007ac62000883565b50506001821b62000804565b5060208310610133831016604e8410600b8410161715620007dd575081810a62000804565b620007e98383620006f3565b806000190482111562000800576200080062000883565b0290505b92915050565b600081600019048311821515161562000827576200082762000883565b500290565b60008282101562000841576200084162000883565b500390565b600181811c908216806200085b57607f821691505b602082108114156200087d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b61256180620008d56000396000f3fe6080604052600436106103395760003560e01c80636689567e116101ab578063bd876702116100f7578063e1c7392a11610095578063eb10b7411161006f578063eb10b74114610aac578063f275f64b14610ac2578063f2fde38b14610ae2578063f887ea4014610b0257600080fd5b8063e1c7392a14610a4f578063e546ed0814610a69578063e9bbb04014610a7f57600080fd5b8063c46eee1e116100d1578063c46eee1e146109aa578063d9443923146109ca578063dd62ed3e146109eb578063e146a7fe14610a2f57600080fd5b8063bd8767021461095e578063c0b0fda214610974578063c213d62d1461098a57600080fd5b806395d89b4111610164578063a9059cbb1161013e578063a9059cbb146108de578063ae19139e146108fe578063b2bdfa7b1461091e578063b3f006741461093e57600080fd5b806395d89b411461088357806398496c9814610898578063a4c82a00146108c857600080fd5b80636689567e146107cd57806367b9a286146107ed57806370a0823114610802578063715018a614610838578063730c18881461084d57806382247ec01461086d57600080fd5b806323b872dd11610285578063313ce567116102235780634c21231c116101fd5780634c21231c1461075a57806351c6590a1461077a5780635b8bec551461078d5780635d0044ca146107ad57600080fd5b8063313ce5671461070457806332424aa31461072a5780633fe9f9f71461074457600080fd5b80632a5955121161025f5780632a595512146106a85780632c3e486c146106be5780632e82f1a0146106d457806330288d75146106ee57600080fd5b806323b872dd1461063a57806326987b601461065a5780632a11ced01461067057600080fd5b806311106ee2116102f25780631693e8d4116102cc5780631693e8d4146105d957806317452e69146105fa57806318160ddd1461060f578063199ffc721461062457600080fd5b806311106ee21461057857806312a54b621461059857806313d78803146105b957600080fd5b806301dea7711461048e57806304c0c476146104b757806306fdde03146104cd5780630902f1ac146104ef578063095ea7b3146105285780630a26cc2c1461055857600080fd5b366104895760175460ff16610476576009546001600160a01b031633146103935760405162461bcd60e51b81526020600482015260096024820152683737ba1037bbb732b960b91b60448201526064015b60405180910390fd5b600a805460ff60a81b1916600160a81b179055346103e15760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b604482015260640161038a565b600a80546001600160a81b0319163317600160a01b17905530600090815260016020526040908190205490517fcb1652de9aeec38545fc281847b3dbfc89aab56dfa907b1ab68466f602c36fb491610443913490918252602082015260400190565b60405180910390a16017805460ff19166001179055600e5461046790610e1061244b565b6104719042612323565b600655005b61047f33610b22565b610487610c08565b005b600080fd5b34801561049a57600080fd5b506104a4600e5481565b6040519081526020015b60405180910390f35b3480156104c357600080fd5b506104a460065481565b3480156104d957600080fd5b506104e2610e0d565b6040516104ae9190612257565b3480156104fb57600080fd5b50610513306000908152600160205260409020544791565b604080519283526020830191909152016104ae565b34801561053457600080fd5b506105486105433660046121a1565b610e9f565b60405190151581526020016104ae565b34801561056457600080fd5b506104876105733660046121e6565b610eb6565b34801561058457600080fd5b506104a46105933660046121ff565b610f42565b3480156105a457600080fd5b50600a5461054890600160b01b900460ff1681565b3480156105c557600080fd5b506104876105d43660046121e6565b610fa3565b3480156105e557600080fd5b50600a5461054890600160a01b900460ff1681565b34801561060657600080fd5b50610487611164565b34801561061b57600080fd5b506004546104a4565b34801561063057600080fd5b506104a460165481565b34801561064657600080fd5b5061054861065536600461213b565b6111f8565b34801561066657600080fd5b506104a4601a5481565b34801561067c57600080fd5b5061069061068b3660046121e6565b611275565b6040516001600160a01b0390911681526020016104ae565b3480156106b457600080fd5b506104a4601d5481565b3480156106ca57600080fd5b506104a460145481565b3480156106e057600080fd5b506013546105489060ff1681565b3480156106fa57600080fd5b506104a4600b5481565b34801561071057600080fd5b5060115460ff165b60405160ff90911681526020016104ae565b34801561073657600080fd5b506011546107189060ff1681565b34801561075057600080fd5b506104a4601c5481565b34801561076657600080fd5b50610487610775366004612177565b61129f565b6104876107883660046121e6565b6112f6565b34801561079957600080fd5b50600a54610690906001600160a01b031681565b3480156107b957600080fd5b506104876107c83660046121e6565b611471565b3480156107d957600080fd5b506104876107e83660046121e6565b6114a0565b3480156107f957600080fd5b506104876114cf565b34801561080e57600080fd5b506104a461081d3660046120e6565b6001600160a01b031660009081526001602052604090205490565b34801561084457600080fd5b506104876115ac565b34801561085957600080fd5b50610487610868366004612222565b6115e8565b34801561087957600080fd5b506104a460055481565b34801561088f57600080fd5b506104e26116bb565b3480156108a457600080fd5b506105486108b33660046120e6565b60126020526000908152604090205460ff1681565b3480156108d457600080fd5b506104a460155481565b3480156108ea57600080fd5b506105486108f93660046121a1565b6116ca565b34801561090a57600080fd5b506104876109193660046121cb565b61171c565b34801561092a57600080fd5b50600954610690906001600160a01b031681565b34801561094a57600080fd5b50600d54610690906001600160a01b031681565b34801561096a57600080fd5b506104a4601e5481565b34801561098057600080fd5b506104a4600c5481565b34801561099657600080fd5b506104876109a53660046121e6565b611764565b3480156109b657600080fd5b506104876109c53660046121e6565b611793565b3480156109d657600080fd5b50600a5461054890600160a81b900460ff1681565b3480156109f757600080fd5b506104a4610a06366004612108565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b348015610a3b57600080fd5b50610487610a4a3660046121cb565b6117de565b348015610a5b57600080fd5b506017546105489060ff1681565b348015610a7557600080fd5b506104a460105481565b348015610a8b57600080fd5b506104a4610a9a3660046120e6565b60196020526000908152604090205481565b348015610ab857600080fd5b506104a4601b5481565b348015610ace57600080fd5b50610487610add3660046121cb565b61181b565b348015610aee57600080fd5b50610487610afd3660046120e6565b611863565b348015610b0e57600080fd5b50600f54610690906001600160a01b031681565b803b80151580610b3c57506001600160a01b03821661dead145b15610b45575050565b6001600160a01b038216600090815260196020526040902054610c04576018541580610ba25750816001600160a01b03166018600081548110610b8a57610b8a6124ed565b6000918252602090912001546001600160a01b031614155b15610c0457601880546001600160a01b0384166000818152601960205260408120839055600183018455929092527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e0180546001600160a01b03191690911790555b5050565b600b543490600090606490610c1d908461244b565b610c27919061233b565b90506000610c35828461246a565b90506000606460105485610c49919061244b565b610c53919061233b565b600d546040519192506001600160a01b03169084156108fc029085906000818181858888f19350505050158015610c8e573d6000803e3d6000fd5b50600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610cc9573d6000803e3d6000fd5b50306000908152600160205260408120544790610ce6908561244b565b610cf0919061233b565b600a54909150600160b01b900460ff1615610d665760055433600090815260016020526040902054610d229083612323565b1115610d665760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161038a565b60006064600c5483610d78919061244b565b610d82919061233b565b90506000610d90828461246a565b9050610d9d3033836118af565b8115610daf57610daf306000846118af565b610dba601e54610fa3565b604080518681526000602082018190528183015260608101839052905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a250505050505050565b606060078054610e1c90612481565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4890612481565b8015610e955780601f10610e6a57610100808354040283529160200191610e95565b820191906000526020600020905b815481529060010190602001808311610e7857829003601f168201915b5050505050905090565b6000610eac338484611b9e565b5060015b92915050565b600a546001600160a01b03163314610ee05760405162461bcd60e51b815260040161038a906122ac565b6305f5e1008110610f1d5760405162461bcd60e51b81526020600482015260076024820152661b9bdd081cd95d60ca1b604482015260640161038a565b610f2981610e1061244b565b60066000828254610f3a9190612323565b909155505050565b6000806000610f5e306000908152600160205260409020544791565b915091508315610f8f57610f728583612323565b610f7c828761244b565b610f86919061233b565b92505050610eb0565b610f998582612323565b610f7c838761244b565b43601d5460c8610fb39190612323565b1115610fbc5750565b600f54601b546001600160a01b0390911631908111610fd9575050565b601854600090819081908180805a90505b8883108015610ff857508382105b156111555783601a541061100c576000601a555b6018601a5481548110611021576110216124ed565b6000918252602090912001546001600160a01b03169650611057876001600160a01b031660009081526001602052604090205490565b9550601c548611801561108357506001600160a01b03871660009081526012602052604090205460ff16155b801561108e5750863b155b15611113576004546110a0878a61244b565b6110aa919061233b565b9450841561111357600f546040516374c9f8dd60e01b81526001600160a01b03898116600483015260248201889052909116906374c9f8dd90604401600060405180830381600087803b15801561110057600080fd5b505af1925050508015611111575060015b505b5a61111e908261246a565b6111289084612323565b92505a601a8054919250600061113d836124bc565b9190505550818061114d906124bc565b925050610fea565b505043601d5550505050505050565b6009546001600160a01b0316331461118e5760405162461bcd60e51b815260040161038a906122ee565b600f546009546040516374c9f8dd60e01b81526001600160a01b039182166004820152911680316024830152906374c9f8dd90604401600060405180830381600087803b1580156111de57600080fd5b505af11580156111f2573d6000803e3d6000fd5b50505050565b60006112058484846118af565b611255843361125085604051806060016040528060288152602001612504602891396001600160a01b038a166000908152602081815260408083203384529091529020549190611cb8565b611b9e565b6001600160a01b03831630141561126b57600080fd5b5060019392505050565b6018818154811061128557600080fd5b6000918252602090912001546001600160a01b0316905081565b6009546001600160a01b03163314806112c25750600a546001600160a01b031633145b6112cb57600080fd5b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6009546001600160a01b031633146113205760405162461bcd60e51b815260040161038a906122ee565b600a54600160a81b900460ff161561137a5760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c7265616479206164646564000000000000000000604482015260640161038a565b600a805460ff60a81b1916600160a81b179055346113c85760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b604482015260640161038a565b80421061140e5760405162461bcd60e51b8152602060048201526014602482015273426c6f636b206e756d62657220746f6f206c6f7760601b604482015260640161038a565b6006819055600a80546001600160a81b0319163317600160a01b1790556040517fcb1652de9aeec38545fc281847b3dbfc89aab56dfa907b1ab68466f602c36fb4906114669083903490918252602082015260400190565b60405180910390a150565b6009546001600160a01b0316331461149b5760405162461bcd60e51b815260040161038a906122ee565b600555565b6009546001600160a01b031633146114ca5760405162461bcd60e51b815260040161038a906122ee565b601e55565b600a546001600160a01b031633146114f95760405162461bcd60e51b815260040161038a906122ac565b600654421161153d5760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b604482015260640161038a565b600a805460ff60a01b1916905560405133904780156108fc02916000818181858888f19350505050158015611576573d6000803e3d6000fd5b506040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a1565b6009546001600160a01b031633146115d65760405162461bcd60e51b815260040161038a906122ee565b600980546001600160a01b0319169055565b6009546001600160a01b031633146116125760405162461bcd60e51b815260040161038a906122ee565b6101f48211156116575760405162461bcd60e51b815260206004820152601060248201526f0e0cae4c6cadce840e8dede40d0d2ced60831b604482015260640161038a565b6103e883101561169f5760405162461bcd60e51b8152602060048201526013602482015272199c995c5d595b98de481d1bdbc81cda1c9bdd606a1b604482015260640161038a565b6014929092556016556013805460ff1916911515919091179055565b606060088054610e1c90612481565b60006001600160a01b0383163014156116f4576116e633610b22565b6116ef82611ce4565b611711565b6116fd83610b22565b61170633610b22565b6117113384846118af565b610eac601e54610fa3565b6009546001600160a01b031633146117465760405162461bcd60e51b815260040161038a906122ee565b600a8054911515600160b01b0260ff60b01b19909216919091179055565b6009546001600160a01b0316331461178e5760405162461bcd60e51b815260040161038a906122ee565b601b55565b6009546001600160a01b031633146117bd5760405162461bcd60e51b815260040161038a906122ee565b6011546117ce9060ff16600a6123a0565b6117d8908261244b565b601c5550565b6009546001600160a01b031633146118085760405162461bcd60e51b815260040161038a906122ee565b6013805460ff1916911515919091179055565b6009546001600160a01b031633146118455760405162461bcd60e51b815260040161038a906122ee565b600a8054911515600160a01b0260ff60a01b19909216919091179055565b6009546001600160a01b0316331461188d5760405162461bcd60e51b815260040161038a906122ee565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038216158015906118d557506009546001600160a01b03848116911614155b80156118f157503360009081526012602052604090205460ff16155b801561191657506001600160a01b03821660009081526012602052604090205460ff16155b15611a8257600a54600160a01b900460ff166119695760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b604482015260640161038a565b3360009081526003602052604090205463ffffffff164314156119e85760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b606482015260840161038a565b336000908152600360209081526040808320805463ffffffff19164363ffffffff161790556002909152902054611a2090601e612323565b421015611a6f5760405162461bcd60e51b815260206004820152601d60248201527f53656e646572206d757374207761697420666f7220636f6f6c646f776e000000604482015260640161038a565b3360009081526002602052604090204290555b6001600160a01b038316600090815260016020526040902054811115611af95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161038a565b6001600160a01b038084166000908152600160205260409020805483900390558216611b2d57600480548290039055611b4c565b6001600160a01b03821660009081526001602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b9191815260200190565b60405180910390a3505050565b6001600160a01b038316611c005760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161038a565b6001600160a01b038216611c615760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161038a565b6001600160a01b038381166000818152602081815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101611b91565b60008184841115611cdc5760405162461bcd60e51b815260040161038a9190612257565b505050900390565b611ced33610b22565b60006064600c5483611cff919061244b565b611d09919061233b565b90506000611d17828461246a565b3060009081526001602052604081205491925090611d36908390612323565b611d40478461244b565b611d4a919061233b565b905060008111611d925760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b604482015260640161038a565b80471015611de25760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e20726573657276657300000000604482015260640161038a565b611ded3330846118af565b8215611dff57611dff336000856118af565b60006064600b5483611e11919061244b565b611e1b919061233b565b90506000606460105484611e2f919061244b565b611e39919061233b565b600f546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611e74573d6000803e3d6000fd5b50600d546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611eaf573d6000803e3d6000fd5b50336108fc82611ebf858761246a565b611ec9919061246a565b6040518115909202916000818181858888f19350505050158015611ef1573d6000803e3d6000fd5b5060135460ff168015611f135750601454601554611f0f9190612323565b4210155b15611f2257611f20611f89565b505b337f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb73760008884611f52878961246a565b611f5c919061246a565b604080519384526020840192909252908201526000606082015260800160405180910390a2505050505050565b4260155530600090815260016020526040812054600061271060165483611fb0919061244b565b611fba919061233b565b90503061dead8215612070576001600160a01b03821660009081526001602052604081208054859290611fee90849061246a565b90915550506001600160a01b0381166000908152600160205260408120805485929061201b908490612323565b92505081905550806001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161206791815260200190565b60405180910390a35b6040805185815260208101859052428183015290517f9cb560eb3a76b2c70f0528d86a83cc0464d10dd0ccc94ba95bd11b93eac93da69181900360600190a1600194505050505090565b80356001600160a01b03811681146120d157600080fd5b919050565b803580151581146120d157600080fd5b6000602082840312156120f857600080fd5b612101826120ba565b9392505050565b6000806040838503121561211b57600080fd5b612124836120ba565b9150612132602084016120ba565b90509250929050565b60008060006060848603121561215057600080fd5b612159846120ba565b9250612167602085016120ba565b9150604084013590509250925092565b6000806040838503121561218a57600080fd5b612193836120ba565b9150612132602084016120d6565b600080604083850312156121b457600080fd5b6121bd836120ba565b946020939093013593505050565b6000602082840312156121dd57600080fd5b612101826120d6565b6000602082840312156121f857600080fd5b5035919050565b6000806040838503121561221257600080fd5b82359150612132602084016120d6565b60008060006060848603121561223757600080fd5b833592506020840135915061224e604085016120d6565b90509250925092565b600060208083528351808285015260005b8181101561228457858101830151858201604001528201612268565b81811115612296576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115612336576123366124d7565b500190565b60008261235857634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561239857816000190482111561237e5761237e6124d7565b8085161561238b57918102915b93841c9390800290612362565b509250929050565b600061210160ff8416836000826123b957506001610eb0565b816123c657506000610eb0565b81600181146123dc57600281146123e657612402565b6001915050610eb0565b60ff8411156123f7576123f76124d7565b50506001821b610eb0565b5060208310610133831016604e8410600b8410161715612425575081810a610eb0565b61242f838361235d565b8060001904821115612443576124436124d7565b029392505050565b6000816000190483118215151615612465576124656124d7565b500290565b60008282101561247c5761247c6124d7565b500390565b600181811c9082168061249557607f821691505b602082108114156124b657634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156124d0576124d06124d7565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220223cd49cf1c057ebb04ebbbef1538ada6394dbb4be02b137d07dbe6eda720ba564736f6c63430008060033608060405234801561001057600080fd5b506101b1806100206000396000f3fe6080604052600436106100385760003560e01c806374c9f8dd14610044578063b2bdfa7b14610066578063e1c7392a146100a257600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b5061006461005f366004610143565b6100b7565b005b34801561007257600080fd5b50600054610086906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b3480156100ae57600080fd5b50610064610109565b6000546001600160a01b031633146100ce57600080fd5b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610104573d6000803e3d6000fd5b505050565b600054600160a01b900460ff161561012057600080fd5b6000805460ff60a01b1933166001600160a81b031990911617600160a01b179055565b6000806040838503121561015657600080fd5b82356001600160a01b038116811461016d57600080fd5b94602093909301359350505056fea26469706673582212205ae2c4710b2feb362d72862262e8f395aee66cd1aa1c905209c9dc2ddf59f82a64736f6c63430008060033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000002540be400000000000000000000000000f0979868a39f6f0fd0aa24276c3578c092b4d3b400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f0979868a39f6f0fd0aa24276c3578c092b4d3b40000000000000000000000007d1b5a54b17a4d2bc2cea69ae29d1a441020bbe100000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000000453333134000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004533331340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000218711a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106103395760003560e01c80636689567e116101ab578063bd876702116100f7578063e1c7392a11610095578063eb10b7411161006f578063eb10b74114610aac578063f275f64b14610ac2578063f2fde38b14610ae2578063f887ea4014610b0257600080fd5b8063e1c7392a14610a4f578063e546ed0814610a69578063e9bbb04014610a7f57600080fd5b8063c46eee1e116100d1578063c46eee1e146109aa578063d9443923146109ca578063dd62ed3e146109eb578063e146a7fe14610a2f57600080fd5b8063bd8767021461095e578063c0b0fda214610974578063c213d62d1461098a57600080fd5b806395d89b4111610164578063a9059cbb1161013e578063a9059cbb146108de578063ae19139e146108fe578063b2bdfa7b1461091e578063b3f006741461093e57600080fd5b806395d89b411461088357806398496c9814610898578063a4c82a00146108c857600080fd5b80636689567e146107cd57806367b9a286146107ed57806370a0823114610802578063715018a614610838578063730c18881461084d57806382247ec01461086d57600080fd5b806323b872dd11610285578063313ce567116102235780634c21231c116101fd5780634c21231c1461075a57806351c6590a1461077a5780635b8bec551461078d5780635d0044ca146107ad57600080fd5b8063313ce5671461070457806332424aa31461072a5780633fe9f9f71461074457600080fd5b80632a5955121161025f5780632a595512146106a85780632c3e486c146106be5780632e82f1a0146106d457806330288d75146106ee57600080fd5b806323b872dd1461063a57806326987b601461065a5780632a11ced01461067057600080fd5b806311106ee2116102f25780631693e8d4116102cc5780631693e8d4146105d957806317452e69146105fa57806318160ddd1461060f578063199ffc721461062457600080fd5b806311106ee21461057857806312a54b621461059857806313d78803146105b957600080fd5b806301dea7711461048e57806304c0c476146104b757806306fdde03146104cd5780630902f1ac146104ef578063095ea7b3146105285780630a26cc2c1461055857600080fd5b366104895760175460ff16610476576009546001600160a01b031633146103935760405162461bcd60e51b81526020600482015260096024820152683737ba1037bbb732b960b91b60448201526064015b60405180910390fd5b600a805460ff60a81b1916600160a81b179055346103e15760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b604482015260640161038a565b600a80546001600160a81b0319163317600160a01b17905530600090815260016020526040908190205490517fcb1652de9aeec38545fc281847b3dbfc89aab56dfa907b1ab68466f602c36fb491610443913490918252602082015260400190565b60405180910390a16017805460ff19166001179055600e5461046790610e1061244b565b6104719042612323565b600655005b61047f33610b22565b610487610c08565b005b600080fd5b34801561049a57600080fd5b506104a4600e5481565b6040519081526020015b60405180910390f35b3480156104c357600080fd5b506104a460065481565b3480156104d957600080fd5b506104e2610e0d565b6040516104ae9190612257565b3480156104fb57600080fd5b50610513306000908152600160205260409020544791565b604080519283526020830191909152016104ae565b34801561053457600080fd5b506105486105433660046121a1565b610e9f565b60405190151581526020016104ae565b34801561056457600080fd5b506104876105733660046121e6565b610eb6565b34801561058457600080fd5b506104a46105933660046121ff565b610f42565b3480156105a457600080fd5b50600a5461054890600160b01b900460ff1681565b3480156105c557600080fd5b506104876105d43660046121e6565b610fa3565b3480156105e557600080fd5b50600a5461054890600160a01b900460ff1681565b34801561060657600080fd5b50610487611164565b34801561061b57600080fd5b506004546104a4565b34801561063057600080fd5b506104a460165481565b34801561064657600080fd5b5061054861065536600461213b565b6111f8565b34801561066657600080fd5b506104a4601a5481565b34801561067c57600080fd5b5061069061068b3660046121e6565b611275565b6040516001600160a01b0390911681526020016104ae565b3480156106b457600080fd5b506104a4601d5481565b3480156106ca57600080fd5b506104a460145481565b3480156106e057600080fd5b506013546105489060ff1681565b3480156106fa57600080fd5b506104a4600b5481565b34801561071057600080fd5b5060115460ff165b60405160ff90911681526020016104ae565b34801561073657600080fd5b506011546107189060ff1681565b34801561075057600080fd5b506104a4601c5481565b34801561076657600080fd5b50610487610775366004612177565b61129f565b6104876107883660046121e6565b6112f6565b34801561079957600080fd5b50600a54610690906001600160a01b031681565b3480156107b957600080fd5b506104876107c83660046121e6565b611471565b3480156107d957600080fd5b506104876107e83660046121e6565b6114a0565b3480156107f957600080fd5b506104876114cf565b34801561080e57600080fd5b506104a461081d3660046120e6565b6001600160a01b031660009081526001602052604090205490565b34801561084457600080fd5b506104876115ac565b34801561085957600080fd5b50610487610868366004612222565b6115e8565b34801561087957600080fd5b506104a460055481565b34801561088f57600080fd5b506104e26116bb565b3480156108a457600080fd5b506105486108b33660046120e6565b60126020526000908152604090205460ff1681565b3480156108d457600080fd5b506104a460155481565b3480156108ea57600080fd5b506105486108f93660046121a1565b6116ca565b34801561090a57600080fd5b506104876109193660046121cb565b61171c565b34801561092a57600080fd5b50600954610690906001600160a01b031681565b34801561094a57600080fd5b50600d54610690906001600160a01b031681565b34801561096a57600080fd5b506104a4601e5481565b34801561098057600080fd5b506104a4600c5481565b34801561099657600080fd5b506104876109a53660046121e6565b611764565b3480156109b657600080fd5b506104876109c53660046121e6565b611793565b3480156109d657600080fd5b50600a5461054890600160a81b900460ff1681565b3480156109f757600080fd5b506104a4610a06366004612108565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b348015610a3b57600080fd5b50610487610a4a3660046121cb565b6117de565b348015610a5b57600080fd5b506017546105489060ff1681565b348015610a7557600080fd5b506104a460105481565b348015610a8b57600080fd5b506104a4610a9a3660046120e6565b60196020526000908152604090205481565b348015610ab857600080fd5b506104a4601b5481565b348015610ace57600080fd5b50610487610add3660046121cb565b61181b565b348015610aee57600080fd5b50610487610afd3660046120e6565b611863565b348015610b0e57600080fd5b50600f54610690906001600160a01b031681565b803b80151580610b3c57506001600160a01b03821661dead145b15610b45575050565b6001600160a01b038216600090815260196020526040902054610c04576018541580610ba25750816001600160a01b03166018600081548110610b8a57610b8a6124ed565b6000918252602090912001546001600160a01b031614155b15610c0457601880546001600160a01b0384166000818152601960205260408120839055600183018455929092527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e0180546001600160a01b03191690911790555b5050565b600b543490600090606490610c1d908461244b565b610c27919061233b565b90506000610c35828461246a565b90506000606460105485610c49919061244b565b610c53919061233b565b600d546040519192506001600160a01b03169084156108fc029085906000818181858888f19350505050158015610c8e573d6000803e3d6000fd5b50600f546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610cc9573d6000803e3d6000fd5b50306000908152600160205260408120544790610ce6908561244b565b610cf0919061233b565b600a54909150600160b01b900460ff1615610d665760055433600090815260016020526040902054610d229083612323565b1115610d665760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161038a565b60006064600c5483610d78919061244b565b610d82919061233b565b90506000610d90828461246a565b9050610d9d3033836118af565b8115610daf57610daf306000846118af565b610dba601e54610fa3565b604080518681526000602082018190528183015260608101839052905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a250505050505050565b606060078054610e1c90612481565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4890612481565b8015610e955780601f10610e6a57610100808354040283529160200191610e95565b820191906000526020600020905b815481529060010190602001808311610e7857829003601f168201915b5050505050905090565b6000610eac338484611b9e565b5060015b92915050565b600a546001600160a01b03163314610ee05760405162461bcd60e51b815260040161038a906122ac565b6305f5e1008110610f1d5760405162461bcd60e51b81526020600482015260076024820152661b9bdd081cd95d60ca1b604482015260640161038a565b610f2981610e1061244b565b60066000828254610f3a9190612323565b909155505050565b6000806000610f5e306000908152600160205260409020544791565b915091508315610f8f57610f728583612323565b610f7c828761244b565b610f86919061233b565b92505050610eb0565b610f998582612323565b610f7c838761244b565b43601d5460c8610fb39190612323565b1115610fbc5750565b600f54601b546001600160a01b0390911631908111610fd9575050565b601854600090819081908180805a90505b8883108015610ff857508382105b156111555783601a541061100c576000601a555b6018601a5481548110611021576110216124ed565b6000918252602090912001546001600160a01b03169650611057876001600160a01b031660009081526001602052604090205490565b9550601c548611801561108357506001600160a01b03871660009081526012602052604090205460ff16155b801561108e5750863b155b15611113576004546110a0878a61244b565b6110aa919061233b565b9450841561111357600f546040516374c9f8dd60e01b81526001600160a01b03898116600483015260248201889052909116906374c9f8dd90604401600060405180830381600087803b15801561110057600080fd5b505af1925050508015611111575060015b505b5a61111e908261246a565b6111289084612323565b92505a601a8054919250600061113d836124bc565b9190505550818061114d906124bc565b925050610fea565b505043601d5550505050505050565b6009546001600160a01b0316331461118e5760405162461bcd60e51b815260040161038a906122ee565b600f546009546040516374c9f8dd60e01b81526001600160a01b039182166004820152911680316024830152906374c9f8dd90604401600060405180830381600087803b1580156111de57600080fd5b505af11580156111f2573d6000803e3d6000fd5b50505050565b60006112058484846118af565b611255843361125085604051806060016040528060288152602001612504602891396001600160a01b038a166000908152602081815260408083203384529091529020549190611cb8565b611b9e565b6001600160a01b03831630141561126b57600080fd5b5060019392505050565b6018818154811061128557600080fd5b6000918252602090912001546001600160a01b0316905081565b6009546001600160a01b03163314806112c25750600a546001600160a01b031633145b6112cb57600080fd5b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b6009546001600160a01b031633146113205760405162461bcd60e51b815260040161038a906122ee565b600a54600160a81b900460ff161561137a5760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c7265616479206164646564000000000000000000604482015260640161038a565b600a805460ff60a81b1916600160a81b179055346113c85760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b604482015260640161038a565b80421061140e5760405162461bcd60e51b8152602060048201526014602482015273426c6f636b206e756d62657220746f6f206c6f7760601b604482015260640161038a565b6006819055600a80546001600160a81b0319163317600160a01b1790556040517fcb1652de9aeec38545fc281847b3dbfc89aab56dfa907b1ab68466f602c36fb4906114669083903490918252602082015260400190565b60405180910390a150565b6009546001600160a01b0316331461149b5760405162461bcd60e51b815260040161038a906122ee565b600555565b6009546001600160a01b031633146114ca5760405162461bcd60e51b815260040161038a906122ee565b601e55565b600a546001600160a01b031633146114f95760405162461bcd60e51b815260040161038a906122ac565b600654421161153d5760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b604482015260640161038a565b600a805460ff60a01b1916905560405133904780156108fc02916000818181858888f19350505050158015611576573d6000803e3d6000fd5b506040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a1565b6009546001600160a01b031633146115d65760405162461bcd60e51b815260040161038a906122ee565b600980546001600160a01b0319169055565b6009546001600160a01b031633146116125760405162461bcd60e51b815260040161038a906122ee565b6101f48211156116575760405162461bcd60e51b815260206004820152601060248201526f0e0cae4c6cadce840e8dede40d0d2ced60831b604482015260640161038a565b6103e883101561169f5760405162461bcd60e51b8152602060048201526013602482015272199c995c5d595b98de481d1bdbc81cda1c9bdd606a1b604482015260640161038a565b6014929092556016556013805460ff1916911515919091179055565b606060088054610e1c90612481565b60006001600160a01b0383163014156116f4576116e633610b22565b6116ef82611ce4565b611711565b6116fd83610b22565b61170633610b22565b6117113384846118af565b610eac601e54610fa3565b6009546001600160a01b031633146117465760405162461bcd60e51b815260040161038a906122ee565b600a8054911515600160b01b0260ff60b01b19909216919091179055565b6009546001600160a01b0316331461178e5760405162461bcd60e51b815260040161038a906122ee565b601b55565b6009546001600160a01b031633146117bd5760405162461bcd60e51b815260040161038a906122ee565b6011546117ce9060ff16600a6123a0565b6117d8908261244b565b601c5550565b6009546001600160a01b031633146118085760405162461bcd60e51b815260040161038a906122ee565b6013805460ff1916911515919091179055565b6009546001600160a01b031633146118455760405162461bcd60e51b815260040161038a906122ee565b600a8054911515600160a01b0260ff60a01b19909216919091179055565b6009546001600160a01b0316331461188d5760405162461bcd60e51b815260040161038a906122ee565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038216158015906118d557506009546001600160a01b03848116911614155b80156118f157503360009081526012602052604090205460ff16155b801561191657506001600160a01b03821660009081526012602052604090205460ff16155b15611a8257600a54600160a01b900460ff166119695760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b604482015260640161038a565b3360009081526003602052604090205463ffffffff164314156119e85760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b606482015260840161038a565b336000908152600360209081526040808320805463ffffffff19164363ffffffff161790556002909152902054611a2090601e612323565b421015611a6f5760405162461bcd60e51b815260206004820152601d60248201527f53656e646572206d757374207761697420666f7220636f6f6c646f776e000000604482015260640161038a565b3360009081526002602052604090204290555b6001600160a01b038316600090815260016020526040902054811115611af95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161038a565b6001600160a01b038084166000908152600160205260409020805483900390558216611b2d57600480548290039055611b4c565b6001600160a01b03821660009081526001602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b9191815260200190565b60405180910390a3505050565b6001600160a01b038316611c005760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161038a565b6001600160a01b038216611c615760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161038a565b6001600160a01b038381166000818152602081815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101611b91565b60008184841115611cdc5760405162461bcd60e51b815260040161038a9190612257565b505050900390565b611ced33610b22565b60006064600c5483611cff919061244b565b611d09919061233b565b90506000611d17828461246a565b3060009081526001602052604081205491925090611d36908390612323565b611d40478461244b565b611d4a919061233b565b905060008111611d925760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b604482015260640161038a565b80471015611de25760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e20726573657276657300000000604482015260640161038a565b611ded3330846118af565b8215611dff57611dff336000856118af565b60006064600b5483611e11919061244b565b611e1b919061233b565b90506000606460105484611e2f919061244b565b611e39919061233b565b600f546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611e74573d6000803e3d6000fd5b50600d546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611eaf573d6000803e3d6000fd5b50336108fc82611ebf858761246a565b611ec9919061246a565b6040518115909202916000818181858888f19350505050158015611ef1573d6000803e3d6000fd5b5060135460ff168015611f135750601454601554611f0f9190612323565b4210155b15611f2257611f20611f89565b505b337f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb73760008884611f52878961246a565b611f5c919061246a565b604080519384526020840192909252908201526000606082015260800160405180910390a2505050505050565b4260155530600090815260016020526040812054600061271060165483611fb0919061244b565b611fba919061233b565b90503061dead8215612070576001600160a01b03821660009081526001602052604081208054859290611fee90849061246a565b90915550506001600160a01b0381166000908152600160205260408120805485929061201b908490612323565b92505081905550806001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161206791815260200190565b60405180910390a35b6040805185815260208101859052428183015290517f9cb560eb3a76b2c70f0528d86a83cc0464d10dd0ccc94ba95bd11b93eac93da69181900360600190a1600194505050505090565b80356001600160a01b03811681146120d157600080fd5b919050565b803580151581146120d157600080fd5b6000602082840312156120f857600080fd5b612101826120ba565b9392505050565b6000806040838503121561211b57600080fd5b612124836120ba565b9150612132602084016120ba565b90509250929050565b60008060006060848603121561215057600080fd5b612159846120ba565b9250612167602085016120ba565b9150604084013590509250925092565b6000806040838503121561218a57600080fd5b612193836120ba565b9150612132602084016120d6565b600080604083850312156121b457600080fd5b6121bd836120ba565b946020939093013593505050565b6000602082840312156121dd57600080fd5b612101826120d6565b6000602082840312156121f857600080fd5b5035919050565b6000806040838503121561221257600080fd5b82359150612132602084016120d6565b60008060006060848603121561223757600080fd5b833592506020840135915061224e604085016120d6565b90509250925092565b600060208083528351808285015260005b8181101561228457858101830151858201604001528201612268565b81811115612296576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115612336576123366124d7565b500190565b60008261235857634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561239857816000190482111561237e5761237e6124d7565b8085161561238b57918102915b93841c9390800290612362565b509250929050565b600061210160ff8416836000826123b957506001610eb0565b816123c657506000610eb0565b81600181146123dc57600281146123e657612402565b6001915050610eb0565b60ff8411156123f7576123f76124d7565b50506001821b610eb0565b5060208310610133831016604e8410600b8410161715612425575081810a610eb0565b61242f838361235d565b8060001904821115612443576124436124d7565b029392505050565b6000816000190483118215151615612465576124656124d7565b500290565b60008282101561247c5761247c6124d7565b500390565b600181811c9082168061249557607f821691505b602082108114156124b657634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156124d0576124d06124d7565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220223cd49cf1c057ebb04ebbbef1538ada6394dbb4be02b137d07dbe6eda720ba564736f6c63430008060033

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

00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000002540be400000000000000000000000000f0979868a39f6f0fd0aa24276c3578c092b4d3b400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f0979868a39f6f0fd0aa24276c3578c092b4d3b40000000000000000000000007d1b5a54b17a4d2bc2cea69ae29d1a441020bbe100000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000000453333134000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004533331340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000218711a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): S314
Arg [1] : symbol_ (string): S314
Arg [2] : decimals_ (uint8): 18
Arg [3] : totalSupply_ (uint256): 10000000000
Arg [4] : adminAddress (address): 0xf0979868a39F6f0fD0aa24276C3578C092B4d3b4
Arg [5] : txFee_ (uint8): 1
Arg [6] : burnFee_ (uint8): 1
Arg [7] : FeeAddress (address): 0xf0979868a39F6f0fD0aa24276C3578C092B4d3b4
Arg [8] : maleDuckAddress_ (address): 0x7d1b5a54b17a4D2bC2CEA69ae29d1A441020bbE1
Arg [9] : uintP (uint256[]): 9000000000,0,0,0,0

-----Encoded View---------------
20 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000180
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 00000000000000000000000000000000000000000000000000000002540be400
Arg [4] : 000000000000000000000000f0979868a39f6f0fd0aa24276c3578c092b4d3b4
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [7] : 000000000000000000000000f0979868a39f6f0fd0aa24276c3578c092b4d3b4
Arg [8] : 0000000000000000000000007d1b5a54b17a4d2bc2cea69ae29d1a441020bbe1
Arg [9] : 00000000000000000000000000000000000000000000000000000000000001c0
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [11] : 5333313400000000000000000000000000000000000000000000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [13] : 5333313400000000000000000000000000000000000000000000000000000000
Arg [14] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [15] : 0000000000000000000000000000000000000000000000000000000218711a00
Arg [16] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [17] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [18] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [19] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

8170:17346:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21883:4;;;;21878:495;;21926:6;;-1:-1:-1;;;;;21926:6:0;21912:10;:20;21904:42;;;;-1:-1:-1;;;21904:42:0;;11296:2:1;21904:42:0;;;11278:21:1;11335:1;11315:18;;;11308:29;-1:-1:-1;;;11353:18:1;;;11346:39;11402:18;;21904:42:0;;;;;;;;;21961:14;:21;;-1:-1:-1;;;;21961:21:0;-1:-1:-1;;;21961:21:0;;;22005:9;21997:37;;;;-1:-1:-1;;;21997:37:0;;8108:2:1;21997:37:0;;;8090:21:1;8147:2;8127:18;;;8120:30;-1:-1:-1;;;8166:18:1;;;8159:41;8217:18;;21997:37:0;8080:161:1;21997:37:0;22049:13;:20;;-1:-1:-1;;;;;;22084:30:0;22104:10;22084:30;-1:-1:-1;;;22084:30:0;;;22165:4;22049:20;22147:24;;;22065:4;22147:24;;;;;;;;22134:49;;;;;;22173:9;;12199:25:1;;;12255:2;12240:18;;12233:34;12187:2;12172:18;;12154:119;22134:49:0;;;;;;;;22198:4;:11;;-1:-1:-1;;22198:11:0;22205:4;22198:11;;;22267:13;;:20;;22283:4;22267:20;:::i;:::-;22249:38;;:15;:38;:::i;:::-;22224:22;:63;8170:17346;21878:495;22320:21;22330:10;22320:9;:21::i;:::-;22356:5;:3;:5::i;:::-;8170:17346;;;;;11681:28;;;;;;;;;;;;;;;;;;;11577:25:1;;;11565:2;11550:18;11681:28:0;;;;;;;;8553:37;;;;;;;;;;;;;;;;13457:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;15628:137::-;;;;;;;;;;;;15750:4;15672:7;15732:24;;;:9;:24;;;;;;15709:21;;15628:137;;;;;12199:25:1;;;12255:2;12240:18;;12233:34;;;;12172:18;15628:137:0;12154:119:1;9344:210:0;;;;;;;;;;-1:-1:-1;9344:210:0;;;;;:::i;:::-;;:::i;:::-;;;3484:14:1;;3477:22;3459:41;;3447:2;3432:18;9344:210:0;3414:92:1;17251:195:0;;;;;;;;;;-1:-1:-1;17251:195:0;;;;;:::i;:::-;;:::i;17454:373::-;;;;;;;;;;-1:-1:-1;17454:373:0;;;;;:::i;:::-;;:::i;8791:27::-;;;;;;;;;;-1:-1:-1;8791:27:0;;;;-1:-1:-1;;;8791:27:0;;;;;;23213:1326;;;;;;;;;;-1:-1:-1;23213:1326:0;;;;;:::i;:::-;;:::i;8726:25::-;;;;;;;;;;-1:-1:-1;8726:25:0;;;;-1:-1:-1;;;8726:25:0;;;;;;24996:120;;;;;;;;;;;;;:::i;13758:99::-;;;;;;;;;;-1:-1:-1;13837:12:0;;13758:99;;20763:31;;;;;;;;;;;;;;;;10860:501;;;;;;;;;;-1:-1:-1;10860:501:0;;;;;:::i;:::-;;:::i;22474:27::-;;;;;;;;;;;;;;;;22388:24;;;;;;;;;;-1:-1:-1;22388:24:0;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2772:32:1;;;2754:51;;2742:2;2727:18;22388:24:0;2709:102:1;22588:34:0;;;;;;;;;;;;;;;;20675:45;;;;;;;;;;;;;;;;20636:32;;;;;;;;;;-1:-1:-1;20636:32:0;;;;;;;;8827:21;;;;;;;;;;;;;;;;13659:91;;;;;;;;;;-1:-1:-1;13733:9:0;;;;13659:91;;;12774:4:1;12762:17;;;12744:36;;12732:2;12717:18;13659:91:0;12699:87:1;11788:22:0;;;;;;;;;;-1:-1:-1;11788:22:0;;;;;;;;22551:30;;;;;;;;;;;;;;;;24673:183;;;;;;;;;;-1:-1:-1;24673:183:0;;;;;:::i;:::-;;:::i;16342:595::-;;;;;;:::i;:::-;;:::i;8685:32::-;;;;;;;;;;-1:-1:-1;8685:32:0;;;;-1:-1:-1;;;;;8685:32:0;;;16021:105;;;;;;;;;;-1:-1:-1;16021:105:0;;;;;:::i;:::-;;:::i;22664:94::-;;;;;;;;;;-1:-1:-1;22664:94:0;;;;;:::i;:::-;;:::i;16945:298::-;;;;;;;;;;;;;:::i;13865:118::-;;;;;;;;;;-1:-1:-1;13865:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;13957:18:0;13930:7;13957:18;;;:9;:18;;;;;;;13865:118;16134:86;;;;;;;;;;;;;:::i;20230:398::-;;;;;;;;;;-1:-1:-1;20230:398:0;;;;;:::i;:::-;;:::i;8521:25::-;;;;;;;;;;;;;;;;13556:95;;;;;;;;;;;;;:::i;11819:41::-;;;;;;;;;;-1:-1:-1;11819:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;20727:29;;;;;;;;;;;;;;;;13995:409;;;;;;;;;;-1:-1:-1;13995:409:0;;;;;:::i;:::-;;:::i;15893:120::-;;;;;;;;;;-1:-1:-1;15893:120:0;;;;;:::i;:::-;;:::i;8657:21::-;;;;;;;;;;-1:-1:-1;8657:21:0;;;;-1:-1:-1;;;;;8657:21:0;;;11638:34;;;;;;;;;;-1:-1:-1;11638:34:0;;;;-1:-1:-1;;;;;11638:34:0;;;22629:26;;;;;;;;;;;;;;;;8855:23;;;;;;;;;;;;;;;;24547:118;;;;;;;;;;-1:-1:-1;24547:118:0;;;;;:::i;:::-;;:::i;24866:122::-;;;;;;;;;;-1:-1:-1;24866:122:0;;;;;:::i;:::-;;:::i;8758:26::-;;;;;;;;;;-1:-1:-1;8758:26:0;;;;-1:-1:-1;;;8758:26:0;;;;;;11429:201;;;;;;;;;;-1:-1:-1;11429:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;11595:18:0;;;11563:7;11595:18;;;;;;;;;;;:27;;;;;;;;;;;;;11429:201;20124:96;;;;;;;;;;-1:-1:-1;20124:96:0;;;;;:::i;:::-;;:::i;21815:16::-;;;;;;;;;;-1:-1:-1;21815:16:0;;;;;;;;11756:23;;;;;;;;;;;;;;;;22419:46;;;;;;;;;;-1:-1:-1;22419:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;22508:36;;;;;;;;;;;;;;;;15773:112;;;;;;;;;;-1:-1:-1;15773:112:0;;;;;:::i;:::-;;:::i;16228:106::-;;;;;;;;;;-1:-1:-1;16228:106:0;;;;;:::i;:::-;;:::i;11718:29::-;;;;;;;;;;-1:-1:-1;11718:29:0;;;;-1:-1:-1;;;;;11718:29:0;;;22766:439;22872:16;;22915:8;;;;:34;;-1:-1:-1;;;;;;22927:22:0;;22942:6;22927:22;22915:34;22911:74;;;22967:7;22766:439;:::o;22911:74::-;-1:-1:-1;;;;;23004:16:0;;;;;;:11;:16;;;;;;22995:203;;23046:7;:14;23041:19;;:40;;;23078:3;-1:-1:-1;;;;;23064:17:0;:7;23072:1;23064:10;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;23064:10:0;:17;;23041:40;23037:150;;;23121:7;:14;;-1:-1:-1;;;;;23102:16:0;;;;;;:11;:16;;;;;:33;;;23154:17;;;;;;;;;;;;;-1:-1:-1;;;;;;23154:17:0;;;;;;23037:150;22806:399;22766:439;:::o;17835:1023::-;17940:6;;17889:9;;17870:16;;17950:3;;17929:17;;17889:9;17929:17;:::i;:::-;17928:25;;;;:::i;:::-;17909:44;-1:-1:-1;17964:17:0;17984:19;17909:44;17984:8;:19;:::i;:::-;17964:39;;18016:20;18063:3;18051:8;;18040;:19;;;;:::i;:::-;18039:27;;;;:::i;:::-;18079:11;;:30;;18016:50;;-1:-1:-1;;;;;;18079:11:0;;:30;;;;;18100:8;;18079:11;:30;:11;:30;18100:8;18079:11;:30;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18120:6:0;;:29;;-1:-1:-1;;;;;18120:6:0;;;;:29;;;;;18136:12;;18120:6;:29;:6;:29;18136:12;18120:6;:29;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18216:4:0;18162:20;18198:24;;;:9;:24;;;;;;18240:21;;18186:36;;:9;:36;:::i;:::-;18185:77;;;;:::i;:::-;18279:15;;18162:100;;-1:-1:-1;;;;18279:15:0;;;;18275:179;;;18377:10;;18362;18352:21;;;;:9;:21;;;;;;18337:36;;:12;:36;:::i;:::-;:50;;18311:131;;;;-1:-1:-1;;;18311:131:0;;10613:2:1;18311:131:0;;;10595:21:1;10652:2;10632:18;;;10625:30;-1:-1:-1;;;10671:18:1;;;10664:49;10730:18;;18311:131:0;10585:169:1;18311:131:0;18466:19;18516:3;18504:8;;18489:12;:23;;;;:::i;:::-;18488:31;;;;:::i;:::-;18466:53;-1:-1:-1;18530:19:0;18552:26;18466:53;18552:12;:26;:::i;:::-;18530:48;;18591:49;18609:4;18616:10;18628:11;18591:9;:49::i;:::-;18654:13;;18651:93;;18683:49;18701:4;18716:1;18720:11;18683:9;:49::i;:::-;18756:26;18770:11;;18756:13;:26::i;:::-;18804:46;;;3758:25:1;;;18832:1:0;3814:2:1;3799:18;;3792:34;;;3842:18;;;3835:34;3900:2;3885:18;;3878:34;;;18804:46:0;;18809:10;;18804:46;;;;;;3745:3:1;18804:46:0;;;17859:999;;;;;;;17835:1023::o;13457:91::-;13502:13;13535:5;13528:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13457:91;:::o;9344:210::-;9463:4;9485:39;177:10;9508:7;9517:6;9485:8;:39::i;:::-;-1:-1:-1;9542:4:0;9344:210;;;;;:::o;17251:195::-;9092:17;;-1:-1:-1;;;;;9092:17:0;9078:10;:31;9056:115;;;;-1:-1:-1;;;9056:115:0;;;;;;;:::i;:::-;17369:9:::1;17363:5;:15;17355:34;;;::::0;-1:-1:-1;;;17355:34:0;;10961:2:1;17355:34:0::1;::::0;::::1;10943:21:1::0;11000:1;10980:18;;;10973:29;-1:-1:-1;;;11018:18:1;;;11011:37;11065:18;;17355:34:0::1;10933:156:1::0;17355:34:0::1;17428:10;:5:::0;17434:4:::1;17428:10;:::i;:::-;17402:22;;:36;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;17251:195:0:o;17454:373::-;17550:7;17576:18;17596:20;17620:13;15750:4;15672:7;15732:24;;;:9;:24;;;;;;15709:21;;15628:137;17620:13;17575:58;;;;17650:4;17646:174;;;17704:18;17717:5;17704:10;:18;:::i;:::-;17679:20;17687:12;17679:5;:20;:::i;:::-;17678:45;;;;:::i;:::-;17671:52;;;;;;17646:174;17787:20;17802:5;17787:12;:20;:::i;:::-;17764:18;17772:10;17764:5;:18;:::i;23213:1326::-;23299:12;23271:19;;23293:3;23271:25;;;;:::i;:::-;:40;23267:79;;;23213:1326;:::o;23267:79::-;23384:6;;23425:21;;-1:-1:-1;;;;;23384:6:0;;;23376:23;;23414:32;;23410:71;;23463:7;23213:1326;:::o;23410:71::-;23608:7;:14;23493:19;;;;;;;;;23716:9;23698:27;;23738:747;23755:3;23745:7;:13;:46;;;;;23775:16;23762:10;:29;23745:46;23738:747;;;23828:16;23812:12;;:32;23808:89;;23880:1;23865:12;:16;23808:89;23927:7;23935:12;;23927:21;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;23927:21:0;;-1:-1:-1;23978:22:0;23927:21;-1:-1:-1;;;;;13957:18:0;13930:7;13957:18;;;:9;:18;;;;;;;13865:118;23978:22;23963:37;;24034:15;;24019:12;:30;:59;;;;-1:-1:-1;;;;;;24054:24:0;;;;;;:11;:24;;;;;;;;24053:25;24019:59;:87;;;;-1:-1:-1;25449:20:0;;25497:8;24019:87;24015:311;;;24163:12;;24137:22;24147:12;24137:7;:22;:::i;:::-;24136:39;;;;:::i;:::-;24127:48;-1:-1:-1;24198:10:0;;24194:117;;24243:6;;24238:45;;-1:-1:-1;;;24238:45:0;;-1:-1:-1;;;;;3232:32:1;;;24238:45:0;;;3214:51:1;3281:18;;;3274:34;;;24243:6:0;;;;24238:24;;3187:18:1;;24238:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24234:58;;24373:9;24363:19;;:7;:19;:::i;:::-;24352:31;;:7;:31;:::i;:::-;24342:41;;24408:9;24432:12;:14;;24398:19;;-1:-1:-1;24432:12:0;:14;;;:::i;:::-;;;;;;24461:12;;;;;:::i;:::-;;;;23738:747;;;-1:-1:-1;;24519:12:0;24497:19;:34;-1:-1:-1;;;;;;;23213:1326:0:o;24996:120::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;25056:6:::1;::::0;25076::::1;::::0;25051:57:::1;::::0;-1:-1:-1;;;25051:57:0;;-1:-1:-1;;;;;25076:6:0;;::::1;25051:57;::::0;::::1;3214:51:1::0;25056:6:0;::::1;25084:23:::0;::::1;3281:18:1::0;;;3274:34;25056:6:0;25051:24:::1;::::0;3187:18:1;;25051:57:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;24996:120::o:0;10860:501::-;11000:4;11019:36;11029:6;11037:9;11048:6;11019:9;:36::i;:::-;11066:220;11089:6;177:10;11137:138;11193:6;11137:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11137:19:0;;:11;:19;;;;;;;;;;;177:10;11137:33;;;;;;;;;;:37;:138::i;:::-;11066:8;:220::i;:::-;-1:-1:-1;;;;;11305:24:0;;11324:4;11305:24;;11297:34;;;;;;-1:-1:-1;11349:4:0;10860:501;;;;;:::o;22388:24::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22388:24:0;;-1:-1:-1;22388:24:0;:::o;24673:183::-;24768:6;;-1:-1:-1;;;;;24768:6:0;24756:10;:18;;:49;;-1:-1:-1;24788:17:0;;-1:-1:-1;;;;;24788:17:0;24776:10;:29;24756:49;24748:58;;;;;;-1:-1:-1;;;;;24817:23:0;;;;;;;;:11;:23;;;;;:31;;-1:-1:-1;;24817:31:0;;;;;;;;;;24673:183::o;16342:595::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;16473:14:::1;::::0;-1:-1:-1;;;16473:14:0;::::1;;;:23;16465:59;;;::::0;-1:-1:-1;;;16465:59:0;;6981:2:1;16465:59:0::1;::::0;::::1;6963:21:1::0;7020:2;7000:18;;;6993:30;7059:25;7039:18;;;7032:53;7102:18;;16465:59:0::1;6953:173:1::0;16465:59:0::1;16537:14;:21:::0;;-1:-1:-1;;;;16537:21:0::1;-1:-1:-1::0;;;16537:21:0::1;::::0;;16579:9:::1;16571:37;;;::::0;-1:-1:-1;;;16571:37:0;;8108:2:1;16571:37:0::1;::::0;::::1;8090:21:1::0;8147:2;8127:18;;;8120:30;-1:-1:-1;;;8166:18:1;;;8159:41;8217:18;;16571:37:0::1;8080:161:1::0;16571:37:0::1;16659:23;16641:15;:41;16619:111;;;::::0;-1:-1:-1;;;16619:111:0;;9167:2:1;16619:111:0::1;::::0;::::1;9149:21:1::0;9206:2;9186:18;;;9179:30;-1:-1:-1;;;9225:18:1;;;9218:50;9285:18;;16619:111:0::1;9139:170:1::0;16619:111:0::1;16743:22;:48:::0;;;16802:13:::1;:20:::0;;-1:-1:-1;;;;;;16833:30:0;16853:10:::1;16833:30:::0;-1:-1:-1;;;16833:30:0;;;16881:48:::1;::::0;::::1;::::0;::::1;::::0;16768:23;;16919:9:::1;::::0;12199:25:1;;;12255:2;12240:18;;12233:34;12187:2;12172:18;;12154:119;16881:48:0::1;;;;;;;;16342:595:::0;:::o;16021:105::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;16094:10:::1;:24:::0;16021:105::o;22664:94::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;22732:11:::1;:18:::0;22664:94::o;16945:298::-;9092:17;;-1:-1:-1;;;;;9092:17:0;9078:10;:31;9056:115;;;;-1:-1:-1;;;9056:115:0;;;;;;;:::i;:::-;17038:22:::1;;17020:15;:40;17012:69;;;::::0;-1:-1:-1;;;17012:69:0;;5885:2:1;17012:69:0::1;::::0;::::1;5867:21:1::0;5924:2;5904:18;;;5897:30;-1:-1:-1;;;5943:18:1;;;5936:46;5999:18;;17012:69:0::1;5857:166:1::0;17012:69:0::1;17094:13;:21:::0;;-1:-1:-1;;;;17094:21:0::1;::::0;;17128:51:::1;::::0;17136:10:::1;::::0;17157:21:::1;17128:51:::0;::::1;;;::::0;17110:5:::1;17128:51:::0;17110:5;17128:51;17157:21;17136:10;17128:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;17197:38:0::1;::::0;17213:21:::1;11577:25:1::0;;17197:38:0::1;::::0;11565:2:1;11550:18;17197:38:0::1;;;;;;;16945:298::o:0;16134:86::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;16193:6:::1;:19:::0;;-1:-1:-1;;;;;;16193:19:0::1;::::0;;16134:86::o;20230:398::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;20407:3:::1;20395:8;:15;;20387:43;;;::::0;-1:-1:-1;;;20387:43:0;;9516:2:1;20387:43:0::1;::::0;::::1;9498:21:1::0;9555:2;9535:18;;;9528:30;-1:-1:-1;;;9574:18:1;;;9567:46;9630:18;;20387:43:0::1;9488:166:1::0;20387:43:0::1;20472:4;20449:19;:27;;20441:58;;;::::0;-1:-1:-1;;;20441:58:0;;5130:2:1;20441:58:0::1;::::0;::::1;5112:21:1::0;5169:2;5149:18;;;5142:30;-1:-1:-1;;;5188:18:1;;;5181:49;5247:18;;20441:58:0::1;5102:169:1::0;20441:58:0::1;20510:15;:37:::0;;;;20558:16:::1;:27:::0;20596:13:::1;:24:::0;;-1:-1:-1;;20596:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20230:398::o;13556:95::-;13603:13;13636:7;13629:14;;;;;:::i;13995:409::-;14064:4;-1:-1:-1;;;;;14114:19:0;;14128:4;14114:19;14110:228;;;14150:21;14160:10;14150:9;:21::i;:::-;14186:11;14191:5;14186:4;:11::i;:::-;14110:228;;;14230:13;14240:2;14230:9;:13::i;:::-;14258:21;14268:10;14258:9;:21::i;:::-;14294:32;14304:10;14316:2;14320:5;14294:9;:32::i;:::-;14348:26;14362:11;;14348:13;:26::i;15893:120::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;15971:15:::1;:34:::0;;;::::1;;-1:-1:-1::0;;;15971:34:0::1;-1:-1:-1::0;;;;15971:34:0;;::::1;::::0;;;::::1;::::0;;15893:120::o;24547:118::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;24627:21:::1;:30:::0;24547:118::o;24866:122::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;24971:9:::1;::::0;24967:13:::1;::::0;24971:9:::1;;24967:2;:13;:::i;:::-;24958:22;::::0;:6;:22:::1;:::i;:::-;24940:15;:40:::0;-1:-1:-1;24866:122:0:o;20124:96::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;20191:13:::1;:21:::0;;-1:-1:-1;;20191:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20124:96::o;15773:112::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;15847:13:::1;:30:::0;;;::::1;;-1:-1:-1::0;;;15847:30:0::1;-1:-1:-1::0;;;;15847:30:0;;::::1;::::0;;;::::1;::::0;;15773:112::o;16228:106::-;8941:6;;-1:-1:-1;;;;;8941:6:0;8927:10;:20;8919:65;;;;-1:-1:-1;;;8919:65:0;;;;;;;:::i;:::-;16309:6:::1;:17:::0;;-1:-1:-1;;;;;;16309:17:0::1;-1:-1:-1::0;;;;;16309:17:0;;;::::1;::::0;;;::::1;::::0;;16228:106::o;14412:1208::-;-1:-1:-1;;;;;14538:16:0;;;;;;:31;;-1:-1:-1;14563:6:0;;-1:-1:-1;;;;;14557:12:0;;;14563:6;;14557:12;;14538:31;:59;;;;-1:-1:-1;14586:10:0;14574:23;;;;:11;:23;;;;;;;;14573:24;14538:59;:77;;;;-1:-1:-1;;;;;;14600:15:0;;;;;;:11;:15;;;;;;;;14599:16;14538:77;14534:600;;;14641:13;;-1:-1:-1;;;14641:13:0;;;;14633:44;;;;-1:-1:-1;;;14633:44:0;;10266:2:1;14633:44:0;;;10248:21:1;10305:2;10285:18;;;10278:30;-1:-1:-1;;;10324:18:1;;;10317:48;10382:18;;14633:44:0;10238:168:1;14633:44:0;14734:10;14718:27;;;;:15;:27;;;;;;;;14749:12;14718:43;;14692:154;;;;-1:-1:-1;;;14692:154:0;;7690:2:1;14692:154:0;;;7672:21:1;7729:2;7709:18;;;7702:30;7768:34;7748:18;;;7741:62;-1:-1:-1;;;7819:18:1;;;7812:47;7876:19;;14692:154:0;7662:239:1;14692:154:0;14877:10;14861:27;;;;:15;:27;;;;;;;;:50;;-1:-1:-1;;14861:50:0;14898:12;14861:50;;;;;14973:11;:23;;;;;;:28;;14999:2;14973:28;:::i;:::-;14954:15;:47;;14928:138;;;;-1:-1:-1;;;14928:138:0;;8809:2:1;14928:138:0;;;8791:21:1;8848:2;8828:18;;;8821:30;8887:31;8867:18;;;8860:59;8936:18;;14928:138:0;8781:179:1;14928:138:0;15093:10;15081:23;;;;:11;:23;;;;;15107:15;15081:41;;14534:600;-1:-1:-1;;;;;15166:15:0;;;;;;:9;:15;;;;;;:24;-1:-1:-1;15166:24:0;15144:112;;;;-1:-1:-1;;;15144:112:0;;5478:2:1;15144:112:0;;;5460:21:1;5517:2;5497:18;;;5490:30;5556:34;5536:18;;;5529:62;-1:-1:-1;;;5607:18:1;;;5600:36;5653:19;;15144:112:0;5450:228:1;15144:112:0;-1:-1:-1;;;;;15310:15:0;;;;;;;:9;:15;;;;;;;:23;;;15292:41;;15361:16;;15357:213;;15423:12;:21;;;;;;;15357:213;;;-1:-1:-1;;;;;15521:13:0;;;;;;:9;:13;;;;;:22;;;;;;15357:213;15602:2;-1:-1:-1;;;;;15587:25:0;15596:4;-1:-1:-1;;;;;15587:25:0;;15606:5;15587:25;;;;11577::1;;11565:2;11550:18;;11532:76;15587:25:0;;;;;;;;14412:1208;;;:::o;9996:380::-;-1:-1:-1;;;;;10132:19:0;;10124:68;;;;-1:-1:-1;;;10124:68:0;;9861:2:1;10124:68:0;;;9843:21:1;9900:2;9880:18;;;9873:30;9939:34;9919:18;;;9912:62;-1:-1:-1;;;9990:18:1;;;9983:34;10034:19;;10124:68:0;9833:226:1;10124:68:0;-1:-1:-1;;;;;10211:21:0;;10203:68;;;;-1:-1:-1;;;10203:68:0;;4727:2:1;10203:68:0;;;4709:21:1;4766:2;4746:18;;;4739:30;4805:34;4785:18;;;4778:62;-1:-1:-1;;;4856:18:1;;;4849:32;4898:19;;10203:68:0;4699:224:1;10203:68:0;-1:-1:-1;;;;;10284:18:0;;;:11;:18;;;;;;;;;;;:27;;;;;;;;;;;;;:36;;;10336:32;;11577:25:1;;;10336:32:0;;11550:18:1;10336:32:0;11532:76:1;5464:240:0;5584:7;5645:12;5637:6;;;;5629:29;;;;-1:-1:-1;;;5629:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;5680:5:0;;;5464:240::o;18866:1248::-;18921:21;18931:10;18921:9;:21::i;:::-;18953:19;19002:3;18990:8;;18976:11;:22;;;;:::i;:::-;18975:30;;;;:::i;:::-;18953:52;-1:-1:-1;19016:19:0;19038:25;18953:52;19038:11;:25;:::i;:::-;19168:4;19076:17;19150:24;;;:9;:24;;;;;;19016:47;;-1:-1:-1;19076:17:0;19150:38;;19016:47;;19150:38;:::i;:::-;19097:35;19111:21;19097:11;:35;:::i;:::-;19096:93;;;;:::i;:::-;19076:113;;19222:1;19210:9;:13;19202:45;;;;-1:-1:-1;;;19202:45:0;;6633:2:1;19202:45:0;;;6615:21:1;6672:2;6652:18;;;6645:30;-1:-1:-1;;;6691:18:1;;;6684:49;6750:18;;19202:45:0;6605:169:1;19202:45:0;19305:9;19280:21;:34;;19258:112;;;;-1:-1:-1;;;19258:112:0;;7333:2:1;19258:112:0;;;7315:21:1;7372:2;7352:18;;;7345:30;7411;7391:18;;;7384:58;7459:18;;19258:112:0;7305:178:1;19258:112:0;19383:49;19393:10;19413:4;19420:11;19383:9;:49::i;:::-;19446:13;;19443:90;;19475:46;19485:10;19505:1;19509:11;19475:9;:46::i;:::-;19547:16;19589:3;19579:6;;19567:9;:18;;;;:::i;:::-;19566:26;;;;:::i;:::-;19547:45;;19605:20;19653:3;19641:8;;19629:9;:20;;;;:::i;:::-;19628:28;;;;:::i;:::-;19675:6;;19667:38;;19605:51;;-1:-1:-1;;;;;;19675:6:0;;19667:38;;;;;19605:51;;19675:6;19667:38;19675:6;19667:38;19605:51;19675:6;19667:38;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19724:11:0;;19716:39;;-1:-1:-1;;;;;19724:11:0;;;;19716:39;;;;;19746:8;;19724:11;19716:39;19724:11;19716:39;19746:8;19724:11;19716:39;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19774:10:0;19766:65;19818:12;19795:20;19807:8;19795:9;:20;:::i;:::-;:35;;;;:::i;:::-;19766:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19864:13:0;;;;:81;;;;;19930:15;;19913:14;;:32;;;;:::i;:::-;19894:15;:51;;19864:81;19846:167;;;19972:29;:27;:29::i;:::-;;19846:167;20039:10;20034:72;20051:1;20054:11;20090:12;20067:20;20079:8;20067:9;:20;:::i;:::-;:35;;;;:::i;:::-;20034:72;;;3758:25:1;;;3814:2;3799:18;;3792:34;;;;3842:18;;;3835:34;20104:1:0;3900:2:1;3885:18;;3878:34;3745:3;3730:19;20034:72:0;;;;;;;18910:1204;;;;;18866:1248;:::o;20927:874::-;21018:15;21001:14;:32;21135:4;20984;13957:18;;;:9;:18;;;;;;21189:20;21271:5;21236:16;;21212:20;:41;;;;:::i;:::-;:75;;;;:::i;:::-;21189:98;-1:-1:-1;21321:4:0;21358:6;21469:16;;21465:176;;-1:-1:-1;;;;;21502:15:0;;;;;;:9;:15;;;;;:31;;21521:12;;21502:15;:31;;21521:12;;21502:31;:::i;:::-;;;;-1:-1:-1;;;;;;;21548:13:0;;;;;;:9;:13;;;;;:29;;21565:12;;21548:13;:29;;21565:12;;21548:29;:::i;:::-;;;;;;;;21612:2;-1:-1:-1;;;;;21597:32:0;21606:4;-1:-1:-1;;;;;21597:32:0;;21616:12;21597:32;;;;11577:25:1;;11565:2;11550:18;;11532:76;21597:32:0;;;;;;;;21465:176;21658:113;;;12480:25:1;;;12536:2;12521:18;;12514:34;;;21745:15:0;12564:18:1;;;12557:34;21658:113:0;;;;;;;12468:2:1;21658:113:0;;;21789:4;21782:11;;;;;;20927:874;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:160::-;257:20;;313:13;;306:21;296:32;;286:2;;342:1;339;332:12;357:186;416:6;469:2;457:9;448:7;444:23;440:32;437:2;;;485:1;482;475:12;437:2;508:29;527:9;508:29;:::i;:::-;498:39;427:116;-1:-1:-1;;;427:116:1:o;548:260::-;616:6;624;677:2;665:9;656:7;652:23;648:32;645:2;;;693:1;690;683:12;645:2;716:29;735:9;716:29;:::i;:::-;706:39;;764:38;798:2;787:9;783:18;764:38;:::i;:::-;754:48;;635:173;;;;;:::o;813:328::-;890:6;898;906;959:2;947:9;938:7;934:23;930:32;927:2;;;975:1;972;965:12;927:2;998:29;1017:9;998:29;:::i;:::-;988:39;;1046:38;1080:2;1069:9;1065:18;1046:38;:::i;:::-;1036:48;;1131:2;1120:9;1116:18;1103:32;1093:42;;917:224;;;;;:::o;1146:254::-;1211:6;1219;1272:2;1260:9;1251:7;1247:23;1243:32;1240:2;;;1288:1;1285;1278:12;1240:2;1311:29;1330:9;1311:29;:::i;:::-;1301:39;;1359:35;1390:2;1379:9;1375:18;1359:35;:::i;1405:254::-;1473:6;1481;1534:2;1522:9;1513:7;1509:23;1505:32;1502:2;;;1550:1;1547;1540:12;1502:2;1573:29;1592:9;1573:29;:::i;:::-;1563:39;1649:2;1634:18;;;;1621:32;;-1:-1:-1;;;1492:167:1:o;1664:180::-;1720:6;1773:2;1761:9;1752:7;1748:23;1744:32;1741:2;;;1789:1;1786;1779:12;1741:2;1812:26;1828:9;1812:26;:::i;1849:180::-;1908:6;1961:2;1949:9;1940:7;1936:23;1932:32;1929:2;;;1977:1;1974;1967:12;1929:2;-1:-1:-1;2000:23:1;;1919:110;-1:-1:-1;1919:110:1:o;2034:248::-;2099:6;2107;2160:2;2148:9;2139:7;2135:23;2131:32;2128:2;;;2176:1;2173;2166:12;2128:2;2212:9;2199:23;2189:33;;2241:35;2272:2;2261:9;2257:18;2241:35;:::i;2287:316::-;2361:6;2369;2377;2430:2;2418:9;2409:7;2405:23;2401:32;2398:2;;;2446:1;2443;2436:12;2398:2;2482:9;2469:23;2459:33;;2539:2;2528:9;2524:18;2511:32;2501:42;;2562:35;2593:2;2582:9;2578:18;2562:35;:::i;:::-;2552:45;;2388:215;;;;;:::o;3923:597::-;4035:4;4064:2;4093;4082:9;4075:21;4125:6;4119:13;4168:6;4163:2;4152:9;4148:18;4141:34;4193:1;4203:140;4217:6;4214:1;4211:13;4203:140;;;4312:14;;;4308:23;;4302:30;4278:17;;;4297:2;4274:26;4267:66;4232:10;;4203:140;;;4361:6;4358:1;4355:13;4352:2;;;4431:1;4426:2;4417:6;4406:9;4402:22;4398:31;4391:42;4352:2;-1:-1:-1;4504:2:1;4483:15;-1:-1:-1;;4479:29:1;4464:45;;;;4511:2;4460:54;;4044:476;-1:-1:-1;;;4044:476:1:o;6028:398::-;6230:2;6212:21;;;6269:2;6249:18;;;6242:30;6308:34;6303:2;6288:18;;6281:62;-1:-1:-1;;;6374:2:1;6359:18;;6352:32;6416:3;6401:19;;6202:224::o;8246:356::-;8448:2;8430:21;;;8467:18;;;8460:30;8526:34;8521:2;8506:18;;8499:62;8593:2;8578:18;;8420:182::o;12791:128::-;12831:3;12862:1;12858:6;12855:1;12852:13;12849:2;;;12868:18;;:::i;:::-;-1:-1:-1;12904:9:1;;12839:80::o;12924:217::-;12964:1;12990;12980:2;;13034:10;13029:3;13025:20;13022:1;13015:31;13069:4;13066:1;13059:15;13097:4;13094:1;13087:15;12980:2;-1:-1:-1;13126:9:1;;12970:171::o;13146:422::-;13235:1;13278:5;13235:1;13292:270;13313:7;13303:8;13300:21;13292:270;;;13372:4;13368:1;13364:6;13360:17;13354:4;13351:27;13348:2;;;13381:18;;:::i;:::-;13431:7;13421:8;13417:22;13414:2;;;13451:16;;;;13414:2;13530:22;;;;13490:15;;;;13292:270;;;13296:3;13210:358;;;;;:::o;13573:140::-;13631:5;13660:47;13701:4;13691:8;13687:19;13681:4;13767:5;13797:8;13787:2;;-1:-1:-1;13838:1:1;13852:5;;13787:2;13886:4;13876:2;;-1:-1:-1;13923:1:1;13937:5;;13876:2;13968:4;13986:1;13981:59;;;;14054:1;14049:130;;;;13961:218;;13981:59;14011:1;14002:10;;14025:5;;;14049:130;14086:3;14076:8;14073:17;14070:2;;;14093:18;;:::i;:::-;-1:-1:-1;;14149:1:1;14135:16;;14164:5;;13961:218;;14263:2;14253:8;14250:16;14244:3;14238:4;14235:13;14231:36;14225:2;14215:8;14212:16;14207:2;14201:4;14198:12;14194:35;14191:77;14188:2;;;-1:-1:-1;14300:19:1;;;14332:5;;14188:2;14379:34;14404:8;14398:4;14379:34;:::i;:::-;14449:6;14445:1;14441:6;14437:19;14428:7;14425:32;14422:2;;;14460:18;;:::i;:::-;14498:20;;13777:747;-1:-1:-1;;;13777:747:1:o;14529:168::-;14569:7;14635:1;14631;14627:6;14623:14;14620:1;14617:21;14612:1;14605:9;14598:17;14594:45;14591:2;;;14642:18;;:::i;:::-;-1:-1:-1;14682:9:1;;14581:116::o;14702:125::-;14742:4;14770:1;14767;14764:8;14761:2;;;14775:18;;:::i;:::-;-1:-1:-1;14812:9:1;;14751:76::o;14832:380::-;14911:1;14907:12;;;;14954;;;14975:2;;15029:4;15021:6;15017:17;15007:27;;14975:2;15082;15074:6;15071:14;15051:18;15048:38;15045:2;;;15128:10;15123:3;15119:20;15116:1;15109:31;15163:4;15160:1;15153:15;15191:4;15188:1;15181:15;15045:2;;14887:325;;;:::o;15217:135::-;15256:3;-1:-1:-1;;15277:17:1;;15274:2;;;15297:18;;:::i;:::-;-1:-1:-1;15344:1:1;15333:13;;15264:88::o;15357:127::-;15418:10;15413:3;15409:20;15406:1;15399:31;15449:4;15446:1;15439:15;15473:4;15470:1;15463:15;15489:127;15550:10;15545:3;15541:20;15538:1;15531:31;15581:4;15578:1;15571:15;15605:4;15602:1;15595:15

Swarm Source

ipfs://5ae2c4710b2feb362d72862262e8f395aee66cd1aa1c905209c9dc2ddf59f82a

Block Transaction 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
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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