Contract 0x222B7345aBE7c6A9Fb72BC286562c73863769786

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x5e34f1fe639b0cb524ee92df36e077b55f709693c48e2c2d610db56dc98d85c5Do Start117863962022-01-15 13:27:0012 days 18 hrs ago0xd5b8981d8506b086f8dcda495af44d7e28ddb1f9 IN 0x222b7345abe7c6a9fb72bc286562c738637697860.03 HT0.0002237085 2.25
0xbdeccb045f3904096add1d2233cfc4d8f2c00d2dd5408bcae4864183b431e245Transfer117856562022-01-15 12:50:0012 days 19 hrs ago0xd5b8981d8506b086f8dcda495af44d7e28ddb1f9 IN 0x222b7345abe7c6a9fb72bc286562c738637697860 HT0.0001224315 2.25
0x9fb07cf027ff58eccf82fe99921692651d1189899ed5329748fc31317deb7bbeDo Claim117854542022-01-15 12:39:5412 days 19 hrs ago0xd5b8981d8506b086f8dcda495af44d7e28ddb1f9 IN 0x222b7345abe7c6a9fb72bc286562c738637697860 HT0.000188028 2.25
0xeb76302825a09e6ee053d6b63999b47fb24f6552a9fcb3b38aefe85c16a5a059Do Claim117849542022-01-15 12:14:5412 days 19 hrs ago0xd5b8981d8506b086f8dcda495af44d7e28ddb1f9 IN 0x222b7345abe7c6a9fb72bc286562c738637697860 HT0.000188028 2.25
0x3fa595a2e14103e48cd706f5675409cc603007f81f2f9aada88ea29da4aa6f63Recharge117849222022-01-15 12:13:1812 days 19 hrs ago0xd5b8981d8506b086f8dcda495af44d7e28ddb1f9 IN 0x222b7345abe7c6a9fb72bc286562c738637697860 HT0.00010660275 2.25
0xe58befdf1b2e2eb00dc873685c751d071faf2f89035adcee5dfaa907913496e1Do Start117836602022-01-15 11:10:1212 days 21 hrs ago0xd5b8981d8506b086f8dcda495af44d7e28ddb1f9 IN 0x222b7345abe7c6a9fb72bc286562c738637697860.03 HT0.00028256175 2.25
0x32a2381b42364b2ec6434ba996b52a8d4d2e325d8c133363539e882c8a694a40Mint117836482022-01-15 11:09:3612 days 21 hrs ago0xd5b8981d8506b086f8dcda495af44d7e28ddb1f9 IN 0x222b7345abe7c6a9fb72bc286562c738637697860 HT0.0001892425 2.5
0x1d61dc4cde32abdc1bef71428db75d6e34ec9ef479c933d3f4a9c7769ab840b4Set Nft Address117829262022-01-15 10:33:3012 days 21 hrs ago0xd5b8981d8506b086f8dcda495af44d7e28ddb1f9 IN 0x222b7345abe7c6a9fb72bc286562c738637697860 HT0.00011563 2.5
0x26d5519b410a9913c86430167af43ab7f5af2be877433e5db41de53f387572630x60806040117829182022-01-15 10:33:0612 days 21 hrs ago0xd5b8981d8506b086f8dcda495af44d7e28ddb1f9 IN  Create: Token0 HT0.0059017375 2.5
[ Download CSV Export 
Latest 2 internal transactions
Parent Txn Hash Block From To Value
0x5e34f1fe639b0cb524ee92df36e077b55f709693c48e2c2d610db56dc98d85c5117863962022-01-15 13:27:0012 days 18 hrs ago 0x222b7345abe7c6a9fb72bc286562c738637697860xd5b8981d8506b086f8dcda495af44d7e28ddb1f90.03 HT
0xe58befdf1b2e2eb00dc873685c751d071faf2f89035adcee5dfaa907913496e1117836602022-01-15 11:10:1212 days 21 hrs ago 0x222b7345abe7c6a9fb72bc286562c738637697860xd5b8981d8506b086f8dcda495af44d7e28ddb1f90.03 HT
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at hecoinfo.com on 2022-01-15
*/

/**
 *Submitted for verification at BscScan.com on 2021-11-08
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.9;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

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

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

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

interface NftToken {
    function recharge(address key, uint256 shipTokenId, uint256 tokenAmount) external returns (bool);
    function getAllShipIdsPowerPleValid(address key) external view returns (uint256);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

contract ERC20 is IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    address internal devaddr;
    address internal nftAddress;
    mapping(address => bool) white;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

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

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

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

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

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

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

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
    unchecked {
        _approve(sender, _msgSender(), currentAllowance - amount);
    }

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
    unchecked {
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
    }

        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");

    unchecked {
        _balances[sender] = senderBalance - amount;
    }

        if ((isContract(sender) && !white[sender]) || (isContract(recipient) && !white[recipient])) {
            uint256 rAmount = amount * 95 / 100;
            _balances[recipient] += rAmount;
            _balances[devaddr] += (amount * 5/ 100);
            emit Transfer(sender, recipient, rAmount);
            emit Transfer(sender, devaddr, amount * 5/ 100);
        } else {
            _balances[recipient] += amount;
            emit Transfer(sender, recipient, amount);
        }

    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        uint256 rAmount = amount * (100 - 10) / 100;
        _balances[account] += rAmount;
        _balances[devaddr] += (amount * 10 / 100);
        emit Transfer(address(0), account, rAmount);
        emit Transfer(address(0), devaddr,  amount * 10 / 100);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
    unchecked {
        _balances[account] = accountBalance - amount;
    }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

    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);
    }
}

contract Token is ERC20 {
    uint256 private ethBurn = 3 * 10 ** 15;
    uint256 private power0 = 10;
    uint256 private power1 = 6;
    uint256 private power2 = 4;
    uint256 private power3 = 2;
    uint256 private sec9Rate = 125 * 10 ** 11;  // 1 power 9second = 0.00025, 100 power 1 hour = 10
    uint256 private timeLast = 86400;
    uint256 private backRate = 10;             // 10% coin to admin, when claim
    uint256 private maxnum = 21 * 10 ** 24;
    uint256 private miners = 0;

    address private backAddr;
    address private nftAddr;

    mapping(address => uint256[3]) private data;  // stime ctime unclaim  记录 挖矿开始时间 最后一次提现时间  和 当前余额
    mapping(address => address[])  private team1; // user -> teams1
    mapping(address => address[])  private team2; // user -> teams2
    mapping(address => address[])  private team3; // user -> teams3
    mapping(address => address)    private boss;  // user -> boss
    mapping(address => bool)       private role;  // user -> true
    mapping(address => bool)       private mine;
    mapping(address => uint256)    private _addRessPowers; // address地址的算力汇总

    constructor() ERC20("Metauniverse Cipher", "MVSR") {
        role[_msgSender()] = true;
        backAddr = _msgSender();
        devaddr = _msgSender();
        nftAddr = _msgSender();
    }

    function mint(address to, uint256 amount) public {
        require(hasRole(_msgSender()), "must have role");
        _mint(to, amount);
    }

    function burn(address addr, uint256 amount) public {
        require(hasRole(_msgSender()), "must have role");
        _burn(addr, amount);
    }

    function hasRole(address addr) public view returns (bool) {
        return role[addr];
    }

    function setRole(address addr, bool val) public {
        require(hasRole(_msgSender()), "must have role");
        role[addr] = val;
    }

    function setWhite(address addr, bool val) public {
        require(hasRole(_msgSender()), "must have role");
        white[addr] = val;
    }

    function withdrawErc20(address conaddr, uint256 amount) public {
        require(hasRole(_msgSender()), "must have role");
        IERC20(conaddr).transfer(backAddr, amount);
    }

    function withdrawETH(uint256 amount) public {
        require(hasRole(_msgSender()), "must have role");
        payable(backAddr).transfer(amount);
    }

    function getTeam1(address addr) public view returns (address[] memory) {
        return team1[addr];
    }

    function getTeam2(address addr) public view returns (address[] memory) {
        return team2[addr];
    }

    function getTeam3(address addr) public view returns (address[] memory) {
        return team3[addr];
    }

    function getData(address addr) public view returns (uint256[19] memory, address, address) {
        uint256 invite = sumInvitePower(addr);
        uint256 claim;
        uint256 half;
        (claim, half) = getClaim(addr, invite);
        uint256[19] memory arr = [ethBurn, power0, invite, power1, power2, power3,
        sec9Rate, data[addr][0], data[addr][1], team1[addr].length, team2[addr].length, team3[addr].length,
        timeLast, backRate, totalSupply(), balanceOf(addr), claim, half, miners];
        return (arr, boss[addr], backAddr);
    }

    function setData(uint256[] memory confs) public {
        require(hasRole(_msgSender()), "must have role");
        ethBurn = confs[0];
        power0 = confs[1];
        power1 = confs[2];
        power2 = confs[3];
        sec9Rate = confs[4];
        timeLast = confs[5];
        backRate = confs[6];
        power3 = confs[7];
    }

    function setBack(address addr) public {
        require(hasRole(_msgSender()), "must have role");
        backAddr = addr;
        role[addr] = true;
    }

    function setBackRate(uint256 rate) public {
        require(hasRole(_msgSender()), "must have role");
        backRate = rate;
    }




    function setNftAddr(address addr) public {
        require(hasRole(_msgSender()), "must have role");
        nftAddr = addr;
    }

    function setDev(address addr) public {
        require(hasRole(_msgSender()), "must have role");
        devaddr = addr;
    }


    // 设置nft addr
    function setNftAddress(address addr) public {
        require(hasRole(_msgSender()), "must have role");
        nftAddress = addr;
    }

    // 充值
    function recharge(uint256 shipTokenId, uint256 tokenAmount) public {
        NftToken token = NftToken(nftAddress);
        token.recharge(_msgSender(),shipTokenId,tokenAmount);
        transfer(backAddr,tokenAmount * 10 ** 18);
    }

    // 获取有效算力
    function getAllShipIdsPowerPleValid() public view returns (uint256){
        NftToken token = NftToken(nftAddress);
        uint256 powerInvalid  =token.getAllShipIdsPowerPleValid(_msgSender());
        return powerInvalid;
    }







    //外部合约调用增加算力   通过增加验证合约才是调用人 避免这种公开漏洞
   // function setPowerOne(address owner, uint256 powerOne) public {
   //     require(_msgSender() == nftAddress,"call func is not contarct addr");
  //      _addRessPowers[owner] = powerOne;
  //  }



    function getClaim(address addr, uint256 invitePower) public view returns (uint256, uint256) {
        uint256 claimNum = data[addr][2];
        uint256 etime = data[addr][0] + timeLast;

        uint256 half = 1;
        if (totalSupply() < 1 * 10 ** 24) {
            half = 1;
        } else if (totalSupply() < 3 * 10 ** 24) {
            half = 2;
        } else if (totalSupply() < 5 * 10 ** 24) {
            half = 4;
        } else if (totalSupply() < 7 * 10 ** 24) {
            half = 8;
        } else if (totalSupply() < 9 * 10 ** 24) {
            half = 16;
        } else if (totalSupply() < 11 * 10 ** 24) {
            half = 32;
        } else if (totalSupply() < 13 * 10 ** 24) {
            half = 64;
        } else if (totalSupply() < 15 * 10 ** 24) {
            half = 128;
        } else if (totalSupply() < 17 * 10 ** 24) {
            half = 256;
        } else if (totalSupply() < 19 * 10 ** 24) {
            half = 512;
        } else if (totalSupply() < maxnum) {
            half = 1024;
        } else {
            return (0, 0);
        }

        // plus mining claim   理论上结束时间大于最后一次提现时间,代表还有未提现的需要计算
        if (data[addr][0] > 0 && etime > data[addr][1]) {
            uint256 power = power0 + invitePower;

            if (etime > block.timestamp) {
                etime = block.timestamp;
            }

            //  9秒钟0.00025  一秒/1power 就是sec9Rate / 9,乘以时间差 再除以一个递减策略
            claimNum += (etime - data[addr][1]) / 9 * power * sec9Rate / half;
        }

        return (claimNum, half);
    }

    function sumInvitePower(address addr) public view returns (uint256) {
        uint256 total = 0;
        for (uint256 i = 0; i < team1[addr].length; i++) {
            address team = team1[addr][i];
            if (data[team][0] + timeLast > block.timestamp) {
                total += power1;
            }
        }
        for (uint256 i = 0; i < team2[addr].length; i++) {
            address team = team2[addr][i];
            if (data[team][0] + timeLast > block.timestamp) {
                total += power2;
            }
        }
        for (uint256 i = 0; i < team3[addr].length; i++) {
            address team = team3[addr][i];
            if (data[team][0] + timeLast > block.timestamp) {
                total += power3;
            }
        }
        //uint256 powerAddr = _addRessPowers[addr];
        uint256 powerAddr = getAllShipIdsPowerPleValid();
        total += powerAddr;
        return total;
    }

    function doStart() public payable {
        require(msg.value >= ethBurn);
        require(totalSupply() <= maxnum);

        payable(backAddr).transfer(msg.value);
        if (data[_msgSender()][0] > 0) {
            uint256 claim;
            (claim,) = getClaim(_msgSender(), sumInvitePower(_msgSender()));
            data[_msgSender()][2] = claim;
        }

        data[_msgSender()][0] = block.timestamp;
        // 开始挖矿时间
        data[_msgSender()][1] = block.timestamp;
        // 上一次提现时间

        if (!mine[_msgSender()]) {
            mine[_msgSender()] = true;
            miners++;
        }
    }

    // 提现
    function doClaim() public {
        uint256 canClaim;
        (canClaim,) = getClaim(_msgSender(), sumInvitePower(_msgSender()));
        require(totalSupply() + canClaim <= maxnum);

        if (canClaim > 0) {
            // _mint(backAddr, canClaim * backRate / 100);
            _mint(_msgSender(), canClaim);

            data[_msgSender()][1] = block.timestamp;
            data[_msgSender()][2] = 0;
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"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":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"doClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"doStart","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getAllShipIdsPowerPleValid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"invitePower","type":"uint256"}],"name":"getClaim","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getData","outputs":[{"internalType":"uint256[19]","name":"","type":"uint256[19]"},{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getTeam1","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getTeam2","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getTeam3","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shipTokenId","type":"uint256"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recharge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setBackRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"confs","type":"uint256[]"}],"name":"setData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setNftAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setNftAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"val","type":"bool"}],"name":"setRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"val","type":"bool"}],"name":"setWhite","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"sumInvitePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"conaddr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawErc20","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052660aa87bee538000600855600a6009556006600a556004600b556002600c55650b5e620f4800600d5562015180600e55600a600f556a115eec47f6cf7e3500000060105560006011553480156200005a57600080fd5b50604080518082018252601381527f4d657461756e697665727365204369706865720000000000000000000000000060208083019182528351808501909452600484526326ab29a960e11b908401528151919291620000bc9160039162000195565b508051620000d290600490602084019062000195565b505050600160196000620000eb6200019160201b60201c565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556200011b3390565b601280546001600160a01b0319166001600160a01b0392909216919091179055620001433390565b600580546001600160a01b0319166001600160a01b03929092169190911790556200016b3390565b601380546001600160a01b0319166001600160a01b039290921691909117905562000278565b3390565b828054620001a3906200023b565b90600052602060002090601f016020900481019282620001c7576000855562000212565b82601f10620001e257805160ff191683800117855562000212565b8280016001018555821562000212579182015b8281111562000212578251825591602001919060010190620001f5565b506200022092915062000224565b5090565b5b8082111562000220576000815560010162000225565b600181811c908216806200025057607f821691505b602082108114156200027257634e487b7160e01b600052602260045260246000fd5b50919050565b61238480620002886000396000f3fe6080604052600436106101f95760003560e01c80636771c9811161010d578063a457c2d7116100a0578063c87cfe631161006f578063c87cfe63146105e1578063d477f05f14610601578063dd62ed3e14610621578063dec1f63714610667578063f14210a61461068757600080fd5b8063a457c2d714610561578063a9059cbb14610581578063bd1f4b52146105a1578063c460a13f146105c157600080fd5b80638c2012ef116100dc5780638c2012ef146104ec57806395d89b411461050c5780639dc29fac14610521578063a3ddd9041461054157600080fd5b80636771c9811461045557806370a082311461047557806379d303ae146104ab5780637ef09bca146104b357600080fd5b8063209e84ee1161019057806338266b221161015f57806338266b221461039957806339509351146103c85780633fd3d654146103e857806340c10f1914610415578063472408741461043557600080fd5b8063209e84ee1461032857806323b872dd1461033d578063313ce5671461035d5780633527c83e1461037957600080fd5b80630f79ab39116101cc5780630f79ab391461029b57806315036a0a146102d0578063170433f0146102fe57806318160ddd1461031357600080fd5b806305809755146101fe57806306fdde0314610220578063095ea7b31461024b5780630b102d1a1461027b575b600080fd5b34801561020a57600080fd5b5061021e610219366004611ee4565b6106a7565b005b34801561022c57600080fd5b5061023561070f565b6040516102429190611eff565b60405180910390f35b34801561025757600080fd5b5061026b610266366004611f54565b6107a1565b6040519015158152602001610242565b34801561028757600080fd5b5061021e610296366004611ee4565b6107b7565b3480156102a757600080fd5b506102bb6102b6366004611f54565b6107fe565b60408051928352602083019190915201610242565b3480156102dc57600080fd5b506102f06102eb366004611ee4565b610a8f565b604051908152602001610242565b34801561030a57600080fd5b506102f0610cbf565b34801561031f57600080fd5b506002546102f0565b34801561033457600080fd5b5061021e610d54565b34801561034957600080fd5b5061026b610358366004611f7e565b610db7565b34801561036957600080fd5b5060405160128152602001610242565b34801561038557600080fd5b5061021e610394366004611fc8565b610e61565b3480156103a557600080fd5b506103b96103b4366004611ee4565b610eb1565b60405161024293929190611fff565b3480156103d457600080fd5b5061026b6103e3366004611f54565b610fdd565b3480156103f457600080fd5b50610408610403366004611ee4565b611019565b604051610242919061204f565b34801561042157600080fd5b5061021e610430366004611f54565b61108f565b34801561044157600080fd5b5061021e610450366004611fc8565b6110c2565b34801561046157600080fd5b5061021e61047036600461209c565b611112565b34801561048157600080fd5b506102f0610490366004611ee4565b6001600160a01b031660009081526020819052604090205490565b61021e61113c565b3480156104bf57600080fd5b5061026b6104ce366004611ee4565b6001600160a01b031660009081526019602052604090205460ff1690565b3480156104f857600080fd5b50610408610507366004611ee4565b611227565b34801561051857600080fd5b5061023561129b565b34801561052d57600080fd5b5061021e61053c366004611f54565b6112aa565b34801561054d57600080fd5b5061040861055c366004611ee4565b6112d9565b34801561056d57600080fd5b5061026b61057c366004611f54565b61134d565b34801561058d57600080fd5b5061026b61059c366004611f54565b6113e6565b3480156105ad57600080fd5b5061021e6105bc366004611f54565b6113f3565b3480156105cd57600080fd5b5061021e6105dc3660046120b5565b6114a3565b3480156105ed57600080fd5b5061021e6105fc3660046120ed565b611566565b34801561060d57600080fd5b5061021e61061c366004611ee4565b611696565b34801561062d57600080fd5b506102f061063c3660046121ab565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561067357600080fd5b5061021e610682366004611ee4565b6116dd565b34801561069357600080fd5b5061021e6106a236600461209c565b611724565b6106b0336104ce565b6106d55760405162461bcd60e51b81526004016106cc906121de565b60405180910390fd5b601280546001600160a01b039092166001600160a01b0319909216821790556000908152601960205260409020805460ff19166001179055565b60606003805461071e90612206565b80601f016020809104026020016040519081016040528092919081815260200182805461074a90612206565b80156107975780601f1061076c57610100808354040283529160200191610797565b820191906000526020600020905b81548152906001019060200180831161077a57829003601f168201915b5050505050905090565b60006107ae338484611783565b50600192915050565b6107c0336104ce565b6107dc5760405162461bcd60e51b81526004016106cc906121de565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03821660009081526014602052604081206002810154600e5491548392839161082e919061226d565b9050600169d3c21bcecceda100000061084660025490565b1015610854575060016109b5565b6a027b46536c66c8e300000061086960025490565b1015610877575060026109b5565b6a0422ca8b0a00a42500000061088c60025490565b101561089a575060046109b5565b6a05ca4ec2a79a7f670000006108af60025490565b10156108bd575060086109b5565b6a0771d2fa45345aa90000006108d260025490565b10156108e0575060106109b5565b6a09195731e2ce35eb0000006108f560025490565b1015610903575060206109b5565b6a0ac0db698068112d00000061091860025490565b1015610926575060406109b5565b6a0c685fa11e01ec6f00000061093b60025490565b1015610949575060806109b5565b6a0e0fe3d8bb9bc7b100000061095e60025490565b101561096d57506101006109b5565b6a0fb768105935a2f300000061098260025490565b101561099157506102006109b5565b60105460025410156109a657506104006109b5565b60008094509450505050610a88565b6001600160a01b038716600090815260146020526040902054158015906109f657506001600160a01b03871660009081526014602052604090206001015482115b15610a8057600086600954610a0b919061226d565b905042831115610a19574292505b600d546001600160a01b0389166000908152601460205260409020839190839060099060010154610a4a9088612285565b610a54919061229c565b610a5e91906122be565b610a6891906122be565b610a72919061229c565b610a7c908561226d565b9350505b919350909150505b9250929050565b600080805b6001600160a01b038416600090815260156020526040902054811015610b40576001600160a01b0384166000908152601560205260408120805483908110610ade57610ade612241565b600091825260208083209190910154600e546001600160a01b0390911680845260149092526040909220549092504291610b179161226d565b1115610b2d57600a54610b2a908461226d565b92505b5080610b38816122dd565b915050610a94565b5060005b6001600160a01b038416600090815260166020526040902054811015610bf0576001600160a01b0384166000908152601660205260408120805483908110610b8e57610b8e612241565b600091825260208083209190910154600e546001600160a01b0390911680845260149092526040909220549092504291610bc79161226d565b1115610bdd57600b54610bda908461226d565b92505b5080610be8816122dd565b915050610b44565b5060005b6001600160a01b038416600090815260176020526040902054811015610ca0576001600160a01b0384166000908152601760205260408120805483908110610c3e57610c3e612241565b600091825260208083209190910154600e546001600160a01b0390911680845260149092526040909220549092504291610c779161226d565b1115610c8d57600c54610c8a908461226d565b92505b5080610c98816122dd565b915050610bf4565b506000610cab610cbf565b9050610cb7818361226d565b949350505050565b6006546000906001600160a01b0316818163a84ecf6b336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b158015610d1557600080fd5b505afa158015610d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4d91906122f8565b9392505050565b6000610d64335b6102b633610a8f565b5060105490915081610d7560025490565b610d7f919061226d565b1115610d8a57600080fd5b8015610db457610d9a33826118a8565b336000908152601460205260408120426001820155600201555b50565b6000610dc4848484611a22565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610e495760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016106cc565b610e568533858403611783565b506001949350505050565b610e6a336104ce565b610e865760405162461bcd60e51b81526004016106cc906121de565b6001600160a01b03919091166000908152601960205260409020805460ff1916911515919091179055565b610eb9611ea9565b6000806000610ec785610a8f565b9050600080610ed687846107fe565b6040805161026081018252600854815260095460208083019190915281830197909752600a546060820152600b546080820152600c5460a0820152600d5460c08201526001600160a01b039a8b16600081815260148952838120805460e085015260010154610100840152818152601589528381205461012084015281815260168952838120546101408401528181526017895283812054610160840152600e54610180840152600f546101a08401526002546101c0840152818152808952838120546101e0840152610200830195909552610220820193909352601154610240820152918352601890955293902054601254939890881697939093169550919350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107ae91859061101490869061226d565b611783565b6001600160a01b03811660009081526017602090815260409182902080548351818402810184019094528084526060939283018282801561108357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611065575b50505050509050919050565b611098336104ce565b6110b45760405162461bcd60e51b81526004016106cc906121de565b6110be82826118a8565b5050565b6110cb336104ce565b6110e75760405162461bcd60e51b81526004016106cc906121de565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b61111b336104ce565b6111375760405162461bcd60e51b81526004016106cc906121de565b600f55565b60085434101561114b57600080fd5b601054600254111561115c57600080fd5b6012546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015611195573d6000803e3d6000fd5b5033600090815260146020526040902054156111cc5760006111b633610d5b565b5033600090815260146020526040902060020155505b33600090815260146020908152604080832042808255600190910155601a90915290205460ff1661122557336000908152601a60205260408120805460ff19166001179055601180549161121f836122dd565b91905055505b565b6001600160a01b038116600090815260156020908152604091829020805483518184028101840190945280845260609392830182828015611083576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116110655750505050509050919050565b60606004805461071e90612206565b6112b3336104ce565b6112cf5760405162461bcd60e51b81526004016106cc906121de565b6110be8282611d75565b6001600160a01b038116600090815260166020908152604091829020805483518184028101840190945280845260609392830182828015611083576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116110655750505050509050919050565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156113cf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106cc565b6113dc3385858403611783565b5060019392505050565b60006107ae338484611a22565b6113fc336104ce565b6114185760405162461bcd60e51b81526004016106cc906121de565b60125460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb90604401602060405180830381600087803b15801561146657600080fd5b505af115801561147a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149e9190612311565b505050565b6006546001600160a01b031680632ae335f7336040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024810186905260448101859052606401602060405180830381600087803b15801561150557600080fd5b505af1158015611519573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153d9190612311565b50601254611560906001600160a01b031661059c84670de0b6b3a76400006122be565b50505050565b61156f336104ce565b61158b5760405162461bcd60e51b81526004016106cc906121de565b8060008151811061159e5761159e612241565b6020026020010151600881905550806001815181106115bf576115bf612241565b6020026020010151600981905550806002815181106115e0576115e0612241565b6020026020010151600a819055508060038151811061160157611601612241565b6020026020010151600b819055508060048151811061162257611622612241565b6020026020010151600d819055508060058151811061164357611643612241565b6020026020010151600e819055508060068151811061166457611664612241565b6020026020010151600f819055508060078151811061168557611685612241565b6020026020010151600c8190555050565b61169f336104ce565b6116bb5760405162461bcd60e51b81526004016106cc906121de565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6116e6336104ce565b6117025760405162461bcd60e51b81526004016106cc906121de565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b61172d336104ce565b6117495760405162461bcd60e51b81526004016106cc906121de565b6012546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156110be573d6000803e3d6000fd5b6001600160a01b0383166117e55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106cc565b6001600160a01b0382166118465760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106cc565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0382166118fe5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106cc565b8060026000828254611910919061226d565b9091555060009050606461192583605a6122be565b61192f919061229c565b905080600080856001600160a01b03166001600160a01b031681526020019081526020016000206000828254611965919061226d565b909155506064905061197883600a6122be565b611982919061229c565b6005546001600160a01b0316600090815260208190526040812080549091906119ac90849061226d565b90915550506040518181526001600160a01b0384169060009060008051602061232f8339815191529060200160405180910390a36005546001600160a01b0316600060008051602061232f8339815191526064611a0a86600a6122be565b611a14919061229c565b60405190815260200161189b565b6001600160a01b038316611a865760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106cc565b6001600160a01b038216611ae85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106cc565b6001600160a01b03831660009081526020819052604090205481811015611b605760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106cc565b6001600160a01b03841660009081526020819052604090208282039055833b15158015611ba657506001600160a01b03841660009081526007602052604090205460ff16155b80611bd55750823b15158015611bd557506001600160a01b03831660009081526007602052604090205460ff16155b15611d055760006064611be984605f6122be565b611bf3919061229c565b905080600080866001600160a01b03166001600160a01b031681526020019081526020016000206000828254611c29919061226d565b9091555060649050611c3c8460056122be565b611c46919061229c565b6005546001600160a01b031660009081526020819052604081208054909190611c7090849061226d565b92505081905550836001600160a01b0316856001600160a01b031660008051602061232f83398151915283604051611caa91815260200190565b60405180910390a3600580546001600160a01b03908116919087169060008051602061232f83398151915290606490611ce49088906122be565b611cee919061229c565b60405190815260200160405180910390a350611560565b6001600160a01b03831660009081526020819052604081208054849290611d2d90849061226d565b92505081905550826001600160a01b0316846001600160a01b031660008051602061232f83398151915284604051611d6791815260200190565b60405180910390a350505050565b6001600160a01b038216611dd55760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016106cc565b6001600160a01b03821660009081526020819052604090205481811015611e495760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016106cc565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611e78908490612285565b90915550506040518281526000906001600160a01b0385169060008051602061232f8339815191529060200161189b565b6040518061026001604052806013906020820280368337509192915050565b80356001600160a01b0381168114611edf57600080fd5b919050565b600060208284031215611ef657600080fd5b610d4d82611ec8565b600060208083528351808285015260005b81811015611f2c57858101830151858201604001528201611f10565b81811115611f3e576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611f6757600080fd5b611f7083611ec8565b946020939093013593505050565b600080600060608486031215611f9357600080fd5b611f9c84611ec8565b9250611faa60208501611ec8565b9150604084013590509250925092565b8015158114610db457600080fd5b60008060408385031215611fdb57600080fd5b611fe483611ec8565b91506020830135611ff481611fba565b809150509250929050565b6102a08101818560005b6013811015612028578151835260209283019290910190600101612009565b5050506001600160a01b039384166102608301529190921661028090920191909152919050565b6020808252825182820181905260009190848201906040850190845b818110156120905783516001600160a01b03168352928401929184019160010161206b565b50909695505050505050565b6000602082840312156120ae57600080fd5b5035919050565b600080604083850312156120c857600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561210057600080fd5b823567ffffffffffffffff8082111561211857600080fd5b818501915085601f83011261212c57600080fd5b81358181111561213e5761213e6120d7565b8060051b604051601f19603f83011681018181108582111715612163576121636120d7565b60405291825284820192508381018501918883111561218157600080fd5b938501935b8285101561219f57843584529385019392850192612186565b98975050505050505050565b600080604083850312156121be57600080fd5b6121c783611ec8565b91506121d560208401611ec8565b90509250929050565b6020808252600e908201526d6d757374206861766520726f6c6560901b604082015260600190565b600181811c9082168061221a57607f821691505b6020821081141561223b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561228057612280612257565b500190565b60008282101561229757612297612257565b500390565b6000826122b957634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156122d8576122d8612257565b500290565b60006000198214156122f1576122f1612257565b5060010190565b60006020828403121561230a57600080fd5b5051919050565b60006020828403121561232357600080fd5b8151610d4d81611fba56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220533d406de018e873879501b988a2022a915aa0b07fa63b01bf90494bba46aa7664736f6c63430008090033

Deployed ByteCode Sourcemap

6513:9138:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10258:159;;;;;;;;;;-1:-1:-1;10258:159:0;;;;;:::i;:::-;;:::i;:::-;;1968:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2988:169;;;;;;;;;;-1:-1:-1;2988:169:0;;;;;:::i;:::-;;:::i;:::-;;;1409:14:1;;1402:22;1384:41;;1372:2;1357:18;2988:169:0;1244:187:1;10877:139:0;;;;;;;;;;-1:-1:-1;10877:139:0;;;;;:::i;:::-;;:::i;11881:1686::-;;;;;;;;;;-1:-1:-1;11881:1686:0;;;;;:::i;:::-;;:::i;:::-;;;;1610:25:1;;;1666:2;1651:18;;1644:34;;;;1583:18;11881:1686:0;1436:248:1;13575:949:0;;;;;;;;;;-1:-1:-1;13575:949:0;;;;;:::i;:::-;;:::i;:::-;;;1835:25:1;;;1823:2;1808:18;13575:949:0;1689:177:1;11312:233:0;;;;;;;;;;;;;:::i;2395:108::-;;;;;;;;;;-1:-1:-1;2483:12:0;;2395:108;;15212:434;;;;;;;;;;;;;:::i;3165:446::-;;;;;;;;;;-1:-1:-1;3165:446:0;;;;;:::i;:::-;;:::i;2188:93::-;;;;;;;;;;-1:-1:-1;2188:93:0;;2271:2;2346:36:1;;2334:2;2319:18;2188:93:0;2204:184:1;8328:142:0;;;;;;;;;;-1:-1:-1;8328:142:0;;;;;:::i;:::-;;:::i;9333:563::-;;;;;;;;;;-1:-1:-1;9333:563:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;3619:215::-;;;;;;;;;;-1:-1:-1;3619:215:0;;;;;:::i;:::-;;:::i;9217:108::-;;;;;;;;;;-1:-1:-1;9217:108:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7918:144::-;;;;;;;;;;-1:-1:-1;7918:144:0;;;;;:::i;:::-;;:::i;8478:::-;;;;;;;;;;-1:-1:-1;8478:144:0;;;;;:::i;:::-;;:::i;10425:135::-;;;;;;;;;;-1:-1:-1;10425:135:0;;;;;:::i;:::-;;:::i;2511:127::-;;;;;;;;;;-1:-1:-1;2511:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;2612:18:0;2585:7;2612:18;;;;;;;;;;;;2511:127;14532:657;;;:::i;8226:94::-;;;;;;;;;;-1:-1:-1;8226:94:0;;;;;:::i;:::-;-1:-1:-1;;;;;8302:10:0;8278:4;8302:10;;;:4;:10;;;;;;;;;8226:94;8985:108;;;;;;;;;;-1:-1:-1;8985:108:0;;;;;:::i;:::-;;:::i;2076:104::-;;;;;;;;;;;;;:::i;8070:148::-;;;;;;;;;;-1:-1:-1;8070:148:0;;;;;:::i;:::-;;:::i;9101:108::-;;;;;;;;;;-1:-1:-1;9101:108:0;;;;;:::i;:::-;;:::i;3842:401::-;;;;;;;;;;-1:-1:-1;3842:401:0;;;;;:::i;:::-;;:::i;2646:175::-;;;;;;;;;;-1:-1:-1;2646:175:0;;;;;:::i;:::-;;:::i;8630:183::-;;;;;;;;;;-1:-1:-1;8630:183:0;;;;;:::i;:::-;;:::i;11039:238::-;;;;;;;;;;-1:-1:-1;11039:238:0;;;;;:::i;:::-;;:::i;9904:346::-;;;;;;;;;;-1:-1:-1;9904:346:0;;;;;:::i;:::-;;:::i;10715:129::-;;;;;;;;;;-1:-1:-1;10715:129:0;;;;;:::i;:::-;;:::i;2829:151::-;;;;;;;;;;-1:-1:-1;2829:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;2945:18:0;;;2918:7;2945:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2829:151;10574:133;;;;;;;;;;-1:-1:-1;10574:133:0;;;;;:::i;:::-;;:::i;8821:156::-;;;;;;;;;;-1:-1:-1;8821:156:0;;;;;:::i;:::-;;:::i;10258:159::-;10315:21;2369:10;8226:94;:::i;10315:21::-;10307:48;;;;-1:-1:-1;;;10307:48:0;;;;;;;:::i;:::-;;;;;;;;;10366:8;:15;;-1:-1:-1;;;;;10366:15:0;;;-1:-1:-1;;;;;;10366:15:0;;;;;;;:8;10392:10;;;:4;:10;;;;;:17;;-1:-1:-1;;10392:17:0;10366:15;10392:17;;;10258:159::o;1968:100::-;2022:13;2055:5;2048:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1968:100;:::o;2988:169::-;3071:4;3088:39;2369:10;3111:7;3120:6;3088:8;:39::i;:::-;-1:-1:-1;3145:4:0;2988:169;;;;:::o;10877:139::-;10940:21;2369:10;8226:94;:::i;10940:21::-;10932:48;;;;-1:-1:-1;;;10932:48:0;;;;;;;:::i;:::-;10991:10;:17;;-1:-1:-1;;;;;;10991:17:0;-1:-1:-1;;;;;10991:17:0;;;;;;;;;;10877:139::o;11881:1686::-;-1:-1:-1;;;;;12003:10:0;;11955:7;12003:10;;;:4;:10;;;;;12014:1;12003:13;;;12059:8;;12043:13;;11955:7;;;;12043:24;;12059:8;12043:24;:::i;:::-;12027:40;-1:-1:-1;12095:1:0;12127:12;12111:13;2483:12;;;2395:108;12111:13;:28;12107:876;;;-1:-1:-1;12163:1:0;12107:876;;;12202:12;12186:13;2483:12;;;2395:108;12186:13;:28;12182:801;;;-1:-1:-1;12238:1:0;12182:801;;;12277:12;12261:13;2483:12;;;2395:108;12261:13;:28;12257:726;;;-1:-1:-1;12313:1:0;12257:726;;;12352:12;12336:13;2483:12;;;2395:108;12336:13;:28;12332:651;;;-1:-1:-1;12388:1:0;12332:651;;;12427:12;12411:13;2483:12;;;2395:108;12411:13;:28;12407:576;;;-1:-1:-1;12463:2:0;12407:576;;;12503:13;12487;2483:12;;;2395:108;12487:13;:29;12483:500;;;-1:-1:-1;12540:2:0;12483:500;;;12580:13;12564;2483:12;;;2395:108;12564:13;:29;12560:423;;;-1:-1:-1;12617:2:0;12560:423;;;12657:13;12641;2483:12;;;2395:108;12641:13;:29;12637:346;;;-1:-1:-1;12694:3:0;12637:346;;;12735:13;12719;2483:12;;;2395:108;12719:13;:29;12715:268;;;-1:-1:-1;12772:3:0;12715:268;;;12813:13;12797;2483:12;;;2395:108;12797:13;:29;12793:190;;;-1:-1:-1;12850:3:0;12793:190;;;12891:6;;2483:12;;12875:22;12871:112;;;-1:-1:-1;12921:4:0;12871:112;;;12966:1;12969;12958:13;;;;;;;;;12871:112;-1:-1:-1;;;;;13122:10:0;;13138:1;13122:10;;;:4;:10;;;;;:13;:17;;;;:42;;-1:-1:-1;;;;;;13151:10:0;;;;;;:4;:10;;;;;13162:1;13151:13;;13143:5;:21;13122:42;13118:406;;;13181:13;13206:11;13197:6;;:20;;;;:::i;:::-;13181:36;;13246:15;13238:5;:23;13234:87;;;13290:15;13282:23;;13234:87;13497:8;;-1:-1:-1;;;;;13468:10:0;;;;;;:4;:10;;;;;13508:4;;13497:8;13489:5;;13485:1;;13479;13468:13;;13460:21;;:5;:21;:::i;:::-;13459:27;;;;:::i;:::-;:35;;;;:::i;:::-;:46;;;;:::i;:::-;:53;;;;:::i;:::-;13447:65;;;;:::i;:::-;;;13166:358;13118:406;13544:8;;-1:-1:-1;13554:4:0;;-1:-1:-1;;11881:1686:0;;;;;;:::o;13575:949::-;13634:7;;;13682:217;-1:-1:-1;;;;;13706:11:0;;;;;;:5;:11;;;;;:18;13702:22;;13682:217;;;-1:-1:-1;;;;;13761:11:0;;13746:12;13761:11;;;:5;:11;;;;;:14;;13773:1;;13761:14;;;;;;:::i;:::-;;;;;;;;;;;;;;13810:8;;-1:-1:-1;;;;;13761:14:0;;;13794:10;;;:4;:10;;;;;;;:13;13761:14;;-1:-1:-1;13821:15:0;;13794:24;;;:::i;:::-;:42;13790:98;;;13866:6;;13857:15;;;;:::i;:::-;;;13790:98;-1:-1:-1;13726:3:0;;;;:::i;:::-;;;;13682:217;;;;13914:9;13909:217;-1:-1:-1;;;;;13933:11:0;;;;;;:5;:11;;;;;:18;13929:22;;13909:217;;;-1:-1:-1;;;;;13988:11:0;;13973:12;13988:11;;;:5;:11;;;;;:14;;14000:1;;13988:14;;;;;;:::i;:::-;;;;;;;;;;;;;;14037:8;;-1:-1:-1;;;;;13988:14:0;;;14021:10;;;:4;:10;;;;;;;:13;13988:14;;-1:-1:-1;14048:15:0;;14021:24;;;:::i;:::-;:42;14017:98;;;14093:6;;14084:15;;;;:::i;:::-;;;14017:98;-1:-1:-1;13953:3:0;;;;:::i;:::-;;;;13909:217;;;;14141:9;14136:217;-1:-1:-1;;;;;14160:11:0;;;;;;:5;:11;;;;;:18;14156:22;;14136:217;;;-1:-1:-1;;;;;14215:11:0;;14200:12;14215:11;;;:5;:11;;;;;:14;;14227:1;;14215:14;;;;;;:::i;:::-;;;;;;;;;;;;;;14264:8;;-1:-1:-1;;;;;14215:14:0;;;14248:10;;;:4;:10;;;;;;;:13;14215:14;;-1:-1:-1;14275:15:0;;14248:24;;;:::i;:::-;:42;14244:98;;;14320:6;;14311:15;;;;:::i;:::-;;;14244:98;-1:-1:-1;14180:3:0;;;;:::i;:::-;;;;14136:217;;;;14416:17;14436:28;:26;:28::i;:::-;14416:48;-1:-1:-1;14475:18:0;14416:48;14475:18;;:::i;:::-;;13575:949;-1:-1:-1;;;;13575:949:0:o;11312:233::-;11416:10;;11371:7;;-1:-1:-1;;;;;11416:10:0;11371:7;11416:10;11461:32;2369:10;11461:46;;-1:-1:-1;;;;;;11461:46:0;;;;;;;-1:-1:-1;;;;;8110:32:1;;;11461:46:0;;;8092:51:1;8065:18;;11461:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11438:69;11312:233;-1:-1:-1;;;11312:233:0:o;15212:434::-;15249:16;15290:52;2369:10;15299:12;15313:28;2369:10;13575:949;:::i;15290:52::-;-1:-1:-1;15389:6:0;;15276:66;;-1:-1:-1;15276:66:0;15361:13;2483:12;;;2395:108;15361:13;:24;;;;:::i;:::-;:34;;15353:43;;;;;;15413:12;;15409:230;;15502:29;2369:10;15522:8;15502:5;:29::i;:::-;2369:10;15548:18;;;;:4;:18;;;;;15572:15;15567:1;15548:21;;:39;15621:1;15602:21;:25;15409:230;15238:408;15212:434::o;3165:446::-;3271:4;3288:36;3298:6;3306:9;3317:6;3288:9;:36::i;:::-;-1:-1:-1;;;;;3364:19:0;;3337:24;3364:19;;;:11;:19;;;;;;;;2369:10;3364:33;;;;;;;;3416:26;;;;3408:79;;;;-1:-1:-1;;;3408:79:0;;8545:2:1;3408:79:0;;;8527:21:1;8584:2;8564:18;;;8557:30;8623:34;8603:18;;;8596:62;-1:-1:-1;;;8674:18:1;;;8667:38;8722:19;;3408:79:0;8343:404:1;3408:79:0;3515:57;3524:6;2369:10;3565:6;3546:16;:25;3515:8;:57::i;:::-;-1:-1:-1;3599:4:0;;3165:446;-1:-1:-1;;;;3165:446:0:o;8328:142::-;8395:21;2369:10;8226:94;:::i;8395:21::-;8387:48;;;;-1:-1:-1;;;8387:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8446:10:0;;;;;;;;:4;:10;;;;;:16;;-1:-1:-1;;8446:16:0;;;;;;;;;;8328:142::o;9333:563::-;9385:18;;:::i;:::-;9405:7;9414;9434:14;9451:20;9466:4;9451:14;:20::i;:::-;9434:37;;9482:13;9506:12;9545:22;9554:4;9560:6;9545:8;:22::i;:::-;9578:265;;;;;;;;9604:7;;9578:265;;9613:6;;9578:265;;;;;;;;;;;;;;;9629:6;;9578:265;;;;9637:6;;9578:265;;;;9645:6;;9578:265;;;;9662:8;;9578:265;;;;-1:-1:-1;;;;;9672:10:0;;;-1:-1:-1;9672:10:0;;;:4;:10;;;;;:13;;9578:265;;;;9698:1;9687:13;;9578:265;;;;9702:11;;;:5;:11;;;;;:18;9578:265;;;;9722:11;;;:5;:11;;;;;:18;9578:265;;;;9742:11;;;:5;:11;;;;;:18;9578:265;;;;9771:8;;9578:265;;;;9781:8;;9578:265;;;;2483:12;;9578:265;;;;2612:18;;;;;;;;;;9578:265;;;;;;;;;;;;;;;;;;9836:6;;9578:265;;;;9867:10;;;:4;:10;;;;;;;9879:8;;9578:265;;9867:10;;;;9879:8;;;;;-1:-1:-1;9333:563:0;;-1:-1:-1;;;;9333:563:0:o;3619:215::-;2369:10;3707:4;3756:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3756:34:0;;;;;;;;;;3707:4;;3724:80;;3747:7;;3756:47;;3793:10;;3756:47;:::i;:::-;3724:8;:80::i;9217:108::-;-1:-1:-1;;;;;9306:11:0;;;;;;:5;:11;;;;;;;;;9299:18;;;;;;;;;;;;;;;;;9270:16;;9299:18;;;9306:11;9299:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9299:18:0;;;;;;;;;;;;;;;;;;;;;;;9217:108;;;:::o;7918:144::-;7986:21;2369:10;8226:94;:::i;7986:21::-;7978:48;;;;-1:-1:-1;;;7978:48:0;;;;;;;:::i;:::-;8037:17;8043:2;8047:6;8037:5;:17::i;:::-;7918:144;;:::o;8478:::-;8546:21;2369:10;8226:94;:::i;8546:21::-;8538:48;;;;-1:-1:-1;;;8538:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8597:11:0;;;;;;;;:5;:11;;;;;:17;;-1:-1:-1;;8597:17:0;;;;;;;;;;8478:144::o;10425:135::-;10486:21;2369:10;8226:94;:::i;10486:21::-;10478:48;;;;-1:-1:-1;;;10478:48:0;;;;;;;:::i;:::-;10537:8;:15;10425:135::o;14532:657::-;14598:7;;14585:9;:20;;14577:29;;;;;;14642:6;;2483:12;;14625:23;;14617:32;;;;;;14670:8;;14662:37;;-1:-1:-1;;;;;14670:8:0;;;;14689:9;14662:37;;;;;14670:8;14662:37;14670:8;14662:37;14689:9;14670:8;14662:37;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2369:10:0;14738:1;14714:18;;;:4;:18;;;;;:21;:25;14710:193;;14756:13;14795:52;2369:10;14804:12;2289:98;14795:52;-1:-1:-1;2369:10:0;14862:18;;;;:4;:18;;;;;14881:1;14862:21;:29;-1:-1:-1;14710:193:0;2369:10;14915:18;;;;:4;:18;;;;;;;;14939:15;14915:39;;;15015:1;14996:21;;;:39;15087:4;:18;;;;;;;;15082:100;;2369:10;15122:18;;;;:4;:18;;;;;:25;;-1:-1:-1;;15122:25:0;15143:4;15122:25;;;15162:6;:8;;;;;;:::i;:::-;;;;;;15082:100;14532:657::o;8985:108::-;-1:-1:-1;;;;;9074:11:0;;;;;;:5;:11;;;;;;;;;9067:18;;;;;;;;;;;;;;;;;9038:16;;9067:18;;;9074:11;9067:18;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9067:18:0;;;;;;;;;;;;;;;;;;;;;;8985:108;;;:::o;2076:104::-;2132:13;2165:7;2158:14;;;;;:::i;8070:148::-;8140:21;2369:10;8226:94;:::i;8140:21::-;8132:48;;;;-1:-1:-1;;;8132:48:0;;;;;;;:::i;:::-;8191:19;8197:4;8203:6;8191:5;:19::i;9101:108::-;-1:-1:-1;;;;;9190:11:0;;;;;;:5;:11;;;;;;;;;9183:18;;;;;;;;;;;;;;;;;9154:16;;9183:18;;;9190:11;9183:18;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9183:18:0;;;;;;;;;;;;;;;;;;;;;;9101:108;;;:::o;3842:401::-;2369:10;3935:4;3979:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3979:34:0;;;;;;;;;;4032:35;;;;4024:85;;;;-1:-1:-1;;;4024:85:0;;8954:2:1;4024:85:0;;;8936:21:1;8993:2;8973:18;;;8966:30;9032:34;9012:18;;;9005:62;-1:-1:-1;;;9083:18:1;;;9076:35;9128:19;;4024:85:0;8752:401:1;4024:85:0;4137:67;2369:10;4160:7;4188:15;4169:16;:34;4137:8;:67::i;:::-;-1:-1:-1;4231:4:0;;3842:401;-1:-1:-1;;;3842:401:0:o;2646:175::-;2732:4;2749:42;2369:10;2773:9;2784:6;2749:9;:42::i;8630:183::-;8712:21;2369:10;8226:94;:::i;8712:21::-;8704:48;;;;-1:-1:-1;;;8704:48:0;;;;;;;:::i;:::-;8788:8;;8763:42;;-1:-1:-1;;;8763:42:0;;-1:-1:-1;;;;;8788:8:0;;;8763:42;;;9332:51:1;9399:18;;;9392:34;;;8763:24:0;;;;;;9305:18:1;;8763:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8630:183;;:::o;11039:238::-;11143:10;;-1:-1:-1;;;;;11143:10:0;;11165:14;2369:10;11165:52;;-1:-1:-1;;;;;;11165:52:0;;;;;;;-1:-1:-1;;;;;9907:32:1;;;11165:52:0;;;9889:51:1;9956:18;;;9949:34;;;9999:18;;;9992:34;;;9862:18;;11165:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11237:8:0;;11228:41;;-1:-1:-1;;;;;11237:8:0;11246:22;:11;11260:8;11246:22;:::i;11228:41::-;;11106:171;11039:238;;:::o;9904:346::-;9971:21;2369:10;8226:94;:::i;9971:21::-;9963:48;;;;-1:-1:-1;;;9963:48:0;;;;;;;:::i;:::-;10032:5;10038:1;10032:8;;;;;;;;:::i;:::-;;;;;;;10022:7;:18;;;;10060:5;10066:1;10060:8;;;;;;;;:::i;:::-;;;;;;;10051:6;:17;;;;10088:5;10094:1;10088:8;;;;;;;;:::i;:::-;;;;;;;10079:6;:17;;;;10116:5;10122:1;10116:8;;;;;;;;:::i;:::-;;;;;;;10107:6;:17;;;;10146:5;10152:1;10146:8;;;;;;;;:::i;:::-;;;;;;;10135;:19;;;;10176:5;10182:1;10176:8;;;;;;;;:::i;:::-;;;;;;;10165;:19;;;;10206:5;10212:1;10206:8;;;;;;;;:::i;:::-;;;;;;;10195;:19;;;;10234:5;10240:1;10234:8;;;;;;;;:::i;:::-;;;;;;;10225:6;:17;;;;9904:346;:::o;10715:129::-;10771:21;2369:10;8226:94;:::i;10771:21::-;10763:48;;;;-1:-1:-1;;;10763:48:0;;;;;;;:::i;:::-;10822:7;:14;;-1:-1:-1;;;;;;10822:14:0;-1:-1:-1;;;;;10822:14:0;;;;;;;;;;10715:129::o;10574:133::-;10634:21;2369:10;8226:94;:::i;10634:21::-;10626:48;;;;-1:-1:-1;;;10626:48:0;;;;;;;:::i;:::-;10685:7;:14;;-1:-1:-1;;;;;;10685:14:0;-1:-1:-1;;;;;10685:14:0;;;;;;;;;;10574:133::o;8821:156::-;8884:21;2369:10;8226:94;:::i;8884:21::-;8876:48;;;;-1:-1:-1;;;8876:48:0;;;;;;;:::i;:::-;8943:8;;8935:34;;-1:-1:-1;;;;;8943:8:0;;;;8935:34;;;;;8962:6;;8943:8;8935:34;8943:8;8935:34;8962:6;8943:8;8935:34;;;;;;;;;;;;;;;;;;;6160:346;-1:-1:-1;;;;;6262:19:0;;6254:68;;;;-1:-1:-1;;;6254:68:0;;10239:2:1;6254:68:0;;;10221:21:1;10278:2;10258:18;;;10251:30;10317:34;10297:18;;;10290:62;-1:-1:-1;;;10368:18:1;;;10361:34;10412:19;;6254:68:0;10037:400:1;6254:68:0;-1:-1:-1;;;;;6341:21:0;;6333:68;;;;-1:-1:-1;;;6333:68:0;;10644:2:1;6333:68:0;;;10626:21:1;10683:2;10663:18;;;10656:30;10722:34;10702:18;;;10695:62;-1:-1:-1;;;10773:18:1;;;10766:32;10815:19;;6333:68:0;10442:398:1;6333:68:0;-1:-1:-1;;;;;6414:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6466:32;;1835:25:1;;;6466:32:0;;1808:18:1;6466:32:0;;;;;;;;6160:346;;;:::o;5239:449::-;-1:-1:-1;;;;;5323:21:0;;5315:65;;;;-1:-1:-1;;;5315:65:0;;11047:2:1;5315:65:0;;;11029:21:1;11086:2;11066:18;;;11059:30;11125:33;11105:18;;;11098:61;11176:18;;5315:65:0;10845:355:1;5315:65:0;5409:6;5393:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;5426:15:0;;-1:-1:-1;5466:3:0;5444:19;:6;5454:8;5444:19;:::i;:::-;:25;;;;:::i;:::-;5426:43;;5502:7;5480:9;:18;5490:7;-1:-1:-1;;;;;5480:18:0;-1:-1:-1;;;;;5480:18:0;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;-1:-1:-1;5557:3:0;;-1:-1:-1;5543:11:0;:6;5552:2;5543:11;:::i;:::-;:17;;;;:::i;:::-;5530:7;;-1:-1:-1;;;;;5530:7:0;5520:9;:18;;;;;;;;;;:41;;:18;;:9;:41;;;;;:::i;:::-;;;;-1:-1:-1;;5577:38:0;;1835:25:1;;;-1:-1:-1;;;;;5577:38:0;;;5594:1;;-1:-1:-1;;;;;;;;;;;5577:38:0;1823:2:1;1808:18;5577:38:0;;;;;;;5652:7;;-1:-1:-1;;;;;5652:7:0;;-1:-1:-1;;;;;;;;;;;5676:3:0;5662:11;:6;5671:2;5662:11;:::i;:::-;:17;;;;:::i;:::-;5631:49;;1835:25:1;;;1823:2;1808:18;5631:49:0;1689:177:1;4251:980:0;-1:-1:-1;;;;;4357:20:0;;4349:70;;;;-1:-1:-1;;;4349:70:0;;11407:2:1;4349:70:0;;;11389:21:1;11446:2;11426:18;;;11419:30;11485:34;11465:18;;;11458:62;-1:-1:-1;;;11536:18:1;;;11529:35;11581:19;;4349:70:0;11205:401:1;4349:70:0;-1:-1:-1;;;;;4438:23:0;;4430:71;;;;-1:-1:-1;;;4430:71:0;;11813:2:1;4430:71:0;;;11795:21:1;11852:2;11832:18;;;11825:30;11891:34;11871:18;;;11864:62;-1:-1:-1;;;11942:18:1;;;11935:33;11985:19;;4430:71:0;11611:399:1;4430:71:0;-1:-1:-1;;;;;4538:17:0;;4514:21;4538:17;;;;;;;;;;;4574:23;;;;4566:74;;;;-1:-1:-1;;;4566:74:0;;12217:2:1;4566:74:0;;;12199:21:1;12256:2;12236:18;;;12229:30;12295:34;12275:18;;;12268:62;-1:-1:-1;;;12346:18:1;;;12339:36;12392:19;;4566:74:0;12015:402:1;4566:74:0;-1:-1:-1;;;;;4670:17:0;;:9;:17;;;;;;;;;;4690:22;;;4670:42;;1896:20;;1944:8;;4737:36;;;;-1:-1:-1;;;;;;4760:13:0;;;;;;:5;:13;;;;;;;;4759:14;4737:36;4736:86;;;-1:-1:-1;1896:20:0;;1944:8;;4779:42;;;;-1:-1:-1;;;;;;4805:16:0;;;;;;:5;:16;;;;;;;;4804:17;4779:42;4732:490;;;4839:15;4871:3;4857:11;:6;4866:2;4857:11;:::i;:::-;:17;;;;:::i;:::-;4839:35;;4913:7;4889:9;:20;4899:9;-1:-1:-1;;;;;4889:20:0;-1:-1:-1;;;;;4889:20:0;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;-1:-1:-1;4970:3:0;;-1:-1:-1;4958:10:0;:6;4967:1;4958:10;:::i;:::-;:15;;;;:::i;:::-;4945:7;;-1:-1:-1;;;;;4945:7:0;4935:9;:18;;;;;;;;;;:39;;:18;;:9;:39;;;;;:::i;:::-;;;;;;;;5011:9;-1:-1:-1;;;;;4994:36:0;5003:6;-1:-1:-1;;;;;4994:36:0;-1:-1:-1;;;;;;;;;;;5022:7:0;4994:36;;;;1835:25:1;;1823:2;1808:18;;1689:177;4994:36:0;;;;;;;;5067:7;;;-1:-1:-1;;;;;5067:7:0;;;;5050:42;;;;-1:-1:-1;;;;;;;;;;;5050:42:0;5088:3;;5076:10;;:6;;:10;:::i;:::-;:15;;;;:::i;:::-;5050:42;;1835:25:1;;;1823:2;1808:18;5050:42:0;;;;;;;4824:280;4732:490;;;-1:-1:-1;;;;;5125:20:0;;:9;:20;;;;;;;;;;:30;;5149:6;;5125:9;:30;;5149:6;;5125:30;:::i;:::-;;;;;;;;5192:9;-1:-1:-1;;;;;5175:35:0;5184:6;-1:-1:-1;;;;;5175:35:0;-1:-1:-1;;;;;;;;;;;5203:6:0;5175:35;;;;1835:25:1;;1823:2;1808:18;;1689:177;5175:35:0;;;;;;;;4338:893;4251:980;;;:::o;5696:456::-;-1:-1:-1;;;;;5780:21:0;;5772:67;;;;-1:-1:-1;;;5772:67:0;;12624:2:1;5772:67:0;;;12606:21:1;12663:2;12643:18;;;12636:30;12702:34;12682:18;;;12675:62;-1:-1:-1;;;12753:18:1;;;12746:31;12794:19;;5772:67:0;12422:397:1;5772:67:0;-1:-1:-1;;;;;5877:18:0;;5852:22;5877:18;;;;;;;;;;;5914:24;;;;5906:71;;;;-1:-1:-1;;;5906:71:0;;13026:2:1;5906:71:0;;;13008:21:1;13065:2;13045:18;;;13038:30;13104:34;13084:18;;;13077:62;-1:-1:-1;;;13155:18:1;;;13148:32;13197:19;;5906:71:0;12824:398:1;5906:71:0;-1:-1:-1;;;;;6005:18:0;;:9;:18;;;;;;;;;;6026:23;;;6005:44;;6067:12;:22;;6043:6;;6005:9;6067:22;;6043:6;;6067:22;:::i;:::-;;;;-1:-1:-1;;6107:37:0;;1835:25:1;;;6133:1:0;;-1:-1:-1;;;;;6107:37:0;;;-1:-1:-1;;;;;;;;;;;6107:37:0;1823:2:1;1808:18;6107:37:0;1689:177:1;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:597::-;495:4;524:2;553;542:9;535:21;585:6;579:13;628:6;623:2;612:9;608:18;601:34;653:1;663:140;677:6;674:1;671:13;663:140;;;772:14;;;768:23;;762:30;738:17;;;757:2;734:26;727:66;692:10;;663:140;;;821:6;818:1;815:13;812:91;;;891:1;886:2;877:6;866:9;862:22;858:31;851:42;812:91;-1:-1:-1;964:2:1;943:15;-1:-1:-1;;939:29:1;924:45;;;;971:2;920:54;;383:597;-1:-1:-1;;;383:597:1:o;985:254::-;1053:6;1061;1114:2;1102:9;1093:7;1089:23;1085:32;1082:52;;;1130:1;1127;1120:12;1082:52;1153:29;1172:9;1153:29;:::i;:::-;1143:39;1229:2;1214:18;;;;1201:32;;-1:-1:-1;;;985:254:1:o;1871:328::-;1948:6;1956;1964;2017:2;2005:9;1996:7;1992:23;1988:32;1985:52;;;2033:1;2030;2023:12;1985:52;2056:29;2075:9;2056:29;:::i;:::-;2046:39;;2104:38;2138:2;2127:9;2123:18;2104:38;:::i;:::-;2094:48;;2189:2;2178:9;2174:18;2161:32;2151:42;;1871:328;;;;;:::o;2393:118::-;2479:5;2472:13;2465:21;2458:5;2455:32;2445:60;;2501:1;2498;2491:12;2516:315;2581:6;2589;2642:2;2630:9;2621:7;2617:23;2613:32;2610:52;;;2658:1;2655;2648:12;2610:52;2681:29;2700:9;2681:29;:::i;:::-;2671:39;;2760:2;2749:9;2745:18;2732:32;2773:28;2795:5;2773:28;:::i;:::-;2820:5;2810:15;;;2516:315;;;;;:::o;2836:697::-;3074:3;3059:19;;3063:9;3155:6;3032:4;3189:194;3203:4;3200:1;3197:11;3189:194;;;3262:13;;3250:26;;3299:4;3323:12;;;;3358:15;;;;3223:1;3216:9;3189:194;;;-1:-1:-1;;;;;;;;3458:15:1;;;3452:3;3437:19;;3430:44;3511:15;;;;3505:3;3490:19;;;3483:44;;;;2836:697;;-1:-1:-1;2836:697:1:o;3538:658::-;3709:2;3761:21;;;3831:13;;3734:18;;;3853:22;;;3680:4;;3709:2;3932:15;;;;3906:2;3891:18;;;3680:4;3975:195;3989:6;3986:1;3983:13;3975:195;;;4054:13;;-1:-1:-1;;;;;4050:39:1;4038:52;;4145:15;;;;4110:12;;;;4086:1;4004:9;3975:195;;;-1:-1:-1;4187:3:1;;3538:658;-1:-1:-1;;;;;;3538:658:1:o;4201:180::-;4260:6;4313:2;4301:9;4292:7;4288:23;4284:32;4281:52;;;4329:1;4326;4319:12;4281:52;-1:-1:-1;4352:23:1;;4201:180;-1:-1:-1;4201:180:1:o;4386:248::-;4454:6;4462;4515:2;4503:9;4494:7;4490:23;4486:32;4483:52;;;4531:1;4528;4521:12;4483:52;-1:-1:-1;;4554:23:1;;;4624:2;4609:18;;;4596:32;;-1:-1:-1;4386:248:1:o;4639:127::-;4700:10;4695:3;4691:20;4688:1;4681:31;4731:4;4728:1;4721:15;4755:4;4752:1;4745:15;4771:1115;4855:6;4886:2;4929;4917:9;4908:7;4904:23;4900:32;4897:52;;;4945:1;4942;4935:12;4897:52;4985:9;4972:23;5014:18;5055:2;5047:6;5044:14;5041:34;;;5071:1;5068;5061:12;5041:34;5109:6;5098:9;5094:22;5084:32;;5154:7;5147:4;5143:2;5139:13;5135:27;5125:55;;5176:1;5173;5166:12;5125:55;5212:2;5199:16;5234:2;5230;5227:10;5224:36;;;5240:18;;:::i;:::-;5286:2;5283:1;5279:10;5318:2;5312:9;5381:2;5377:7;5372:2;5368;5364:11;5360:25;5352:6;5348:38;5436:6;5424:10;5421:22;5416:2;5404:10;5401:18;5398:46;5395:72;;;5447:18;;:::i;:::-;5483:2;5476:22;5533:18;;;5567:15;;;;-1:-1:-1;5609:11:1;;;5605:20;;;5637:19;;;5634:39;;;5669:1;5666;5659:12;5634:39;5693:11;;;;5713:142;5729:6;5724:3;5721:15;5713:142;;;5795:17;;5783:30;;5746:12;;;;5833;;;;5713:142;;;5874:6;4771:1115;-1:-1:-1;;;;;;;;4771:1115:1:o;5891:260::-;5959:6;5967;6020:2;6008:9;5999:7;5995:23;5991:32;5988:52;;;6036:1;6033;6026:12;5988:52;6059:29;6078:9;6059:29;:::i;:::-;6049:39;;6107:38;6141:2;6130:9;6126:18;6107:38;:::i;:::-;6097:48;;5891:260;;;;;:::o;6156:338::-;6358:2;6340:21;;;6397:2;6377:18;;;6370:30;-1:-1:-1;;;6431:2:1;6416:18;;6409:44;6485:2;6470:18;;6156:338::o;6499:380::-;6578:1;6574:12;;;;6621;;;6642:61;;6696:4;6688:6;6684:17;6674:27;;6642:61;6749:2;6741:6;6738:14;6718:18;6715:38;6712:161;;;6795:10;6790:3;6786:20;6783:1;6776:31;6830:4;6827:1;6820:15;6858:4;6855:1;6848:15;6712:161;;6499:380;;;:::o;6884:127::-;6945:10;6940:3;6936:20;6933:1;6926:31;6976:4;6973:1;6966:15;7000:4;6997:1;6990:15;7016:127;7077:10;7072:3;7068:20;7065:1;7058:31;7108:4;7105:1;7098:15;7132:4;7129:1;7122:15;7148:128;7188:3;7219:1;7215:6;7212:1;7209:13;7206:39;;;7225:18;;:::i;:::-;-1:-1:-1;7261:9:1;;7148:128::o;7281:125::-;7321:4;7349:1;7346;7343:8;7340:34;;;7354:18;;:::i;:::-;-1:-1:-1;7391:9:1;;7281:125::o;7411:217::-;7451:1;7477;7467:132;;7521:10;7516:3;7512:20;7509:1;7502:31;7556:4;7553:1;7546:15;7584:4;7581:1;7574:15;7467:132;-1:-1:-1;7613:9:1;;7411:217::o;7633:168::-;7673:7;7739:1;7735;7731:6;7727:14;7724:1;7721:21;7716:1;7709:9;7702:17;7698:45;7695:71;;;7746:18;;:::i;:::-;-1:-1:-1;7786:9:1;;7633:168::o;7806:135::-;7845:3;-1:-1:-1;;7866:17:1;;7863:43;;;7886:18;;:::i;:::-;-1:-1:-1;7933:1:1;7922:13;;7806:135::o;8154:184::-;8224:6;8277:2;8265:9;8256:7;8252:23;8248:32;8245:52;;;8293:1;8290;8283:12;8245:52;-1:-1:-1;8316:16:1;;8154:184;-1:-1:-1;8154:184:1:o;9437:245::-;9504:6;9557:2;9545:9;9536:7;9532:23;9528:32;9525:52;;;9573:1;9570;9563:12;9525:52;9605:9;9599:16;9624:28;9646:5;9624:28;:::i

Swarm Source

ipfs://533d406de018e873879501b988a2022a915aa0b07fa63b01bf90494bba46aa76
Block Transaction Gas Used Reward
Age Block Fee Address Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading