AVAX Price: $22.26 (+4.16%)
Gas: 2.6 nAVAX
 

Overview

AVAX Balance

Avalanche C-Chain LogoAvalanche C-Chain LogoAvalanche C-Chain Logo0 AVAX

AVAX Value

$0.00

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Withdraw170746942022-07-08 21:35:221019 days ago1657316122IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0037850226
Withdraw162493642022-06-19 18:11:041038 days ago1655662264IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0020272426
Emergency Withdr...162037402022-06-18 17:09:431039 days ago1655572183IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0006875426
Withdraw162037202022-06-18 17:09:031039 days ago1655572143IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0018810426
Emergency Withdr...162037052022-06-18 17:08:331039 days ago1655572113IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0006875426
Emergency Withdr...160911262022-06-16 2:49:241042 days ago1655347764IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0006278726
Emergency Withdr...160911062022-06-16 2:48:441042 days ago1655347724IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0006878526
Withdraw160910832022-06-16 2:47:581042 days ago1655347678IN
0xac99Cd79...D2C28c6ef
0 AVAX0.002019626
Withdraw160020222022-06-14 2:07:081044 days ago1655172428IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0074175638.39698971
Transfer159993302022-06-14 0:40:441044 days ago1655167244IN
0xac99Cd79...D2C28c6ef
0.11 AVAX0.0005263725
Emergency Withdr...159333022022-06-12 12:54:451046 days ago1655038485IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0018345725
Emergency Withdr...159333002022-06-12 12:54:411046 days ago1655038481IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0016940725
Invest159332982022-06-12 12:54:371046 days ago1655038477IN
0xac99Cd79...D2C28c6ef
5 AVAX0.0081112726.5
Withdraw159326412022-06-12 12:32:411046 days ago1655037161IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0036210926.5
Invest159324422022-06-12 12:26:041046 days ago1655036764IN
0xac99Cd79...D2C28c6ef
0.2 AVAX0.0073674226.5
Invest159323722022-06-12 12:23:431046 days ago1655036623IN
0xac99Cd79...D2C28c6ef
0.2 AVAX0.0075788926.5
Withdraw159323052022-06-12 12:21:271046 days ago1655036487IN
0xac99Cd79...D2C28c6ef
0 AVAX0.004572726.5
Withdraw159322482022-06-12 12:19:331046 days ago1655036373IN
0xac99Cd79...D2C28c6ef
0 AVAX0.004445926.5
Withdraw159322272022-06-12 12:18:481046 days ago1655036328IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0028855826.5
Withdraw159322152022-06-12 12:18:251046 days ago1655036305IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0039045126.5
Withdraw159322052022-06-12 12:18:041046 days ago1655036284IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0045402726.5
Emergency Withdr...159321932022-06-12 12:17:411046 days ago1655036261IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0016940725
Emergency Withdr...159321902022-06-12 12:17:351046 days ago1655036255IN
0xac99Cd79...D2C28c6ef
0 AVAX0.0016940725
Invest159321892022-06-12 12:17:321046 days ago1655036252IN
0xac99Cd79...D2C28c6ef
8.64 AVAX0.0073355427.5
Emergency Withdr...159321602022-06-12 12:16:341046 days ago1655036194IN
0xac99Cd79...D2C28c6ef
0 AVAX0.001136825
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
160020222022-06-14 2:07:081044 days ago1655172428
0xac99Cd79...D2C28c6ef
0.07692812 AVAX
160020222022-06-14 2:07:081044 days ago1655172428
0xac99Cd79...D2C28c6ef
0.03307187 AVAX
159333022022-06-12 12:54:451046 days ago1655038485
0xac99Cd79...D2C28c6ef
0.49286586 AVAX
159333022022-06-12 12:54:451046 days ago1655038485
0xac99Cd79...D2C28c6ef
0.5 AVAX
159333002022-06-12 12:54:411046 days ago1655038481
0xac99Cd79...D2C28c6ef
3.25 AVAX
159333002022-06-12 12:54:411046 days ago1655038481
0xac99Cd79...D2C28c6ef
0.5 AVAX
159332982022-06-12 12:54:371046 days ago1655038477
0xac99Cd79...D2C28c6ef
0.4 AVAX
159326412022-06-12 12:32:411046 days ago1655037161
0xac99Cd79...D2C28c6ef
0.21387743 AVAX
159326412022-06-12 12:32:411046 days ago1655037161
0xac99Cd79...D2C28c6ef
0.0112567 AVAX
159324422022-06-12 12:26:041046 days ago1655036764
0xac99Cd79...D2C28c6ef
0.016 AVAX
159323722022-06-12 12:23:431046 days ago1655036623
0xac99Cd79...D2C28c6ef
0.016 AVAX
159323052022-06-12 12:21:271046 days ago1655036487
0xac99Cd79...D2C28c6ef
0.11083735 AVAX
159323052022-06-12 12:21:271046 days ago1655036487
0xac99Cd79...D2C28c6ef
0.00868762 AVAX
159322482022-06-12 12:19:331046 days ago1655036373
0xac99Cd79...D2C28c6ef
0.03903347 AVAX
159322482022-06-12 12:19:331046 days ago1655036373
0xac99Cd79...D2C28c6ef
0.00205439 AVAX
159322272022-06-12 12:18:481046 days ago1655036328
0xac99Cd79...D2C28c6ef
0.04830337 AVAX
159322272022-06-12 12:18:481046 days ago1655036328
0xac99Cd79...D2C28c6ef
0.00254228 AVAX
159322152022-06-12 12:18:251046 days ago1655036305
0xac99Cd79...D2C28c6ef
0.1345441 AVAX
159322152022-06-12 12:18:251046 days ago1655036305
0xac99Cd79...D2C28c6ef
0.00708126 AVAX
159322052022-06-12 12:18:041046 days ago1655036284
0xac99Cd79...D2C28c6ef
0.0909303 AVAX
159322052022-06-12 12:18:041046 days ago1655036284
0xac99Cd79...D2C28c6ef
0.0047858 AVAX
159321932022-06-12 12:17:411046 days ago1655036261
0xac99Cd79...D2C28c6ef
3.25 AVAX
159321932022-06-12 12:17:411046 days ago1655036261
0xac99Cd79...D2C28c6ef
0.5 AVAX
159321902022-06-12 12:17:351046 days ago1655036255
0xac99Cd79...D2C28c6ef
3.25 AVAX
159321902022-06-12 12:17:351046 days ago1655036255
0xac99Cd79...D2C28c6ef
0.5 AVAX
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AVAXFortune

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at snowscan.xyz on 2022-05-18
*/

// SPDX-License-Identifier: MIT

pragma solidity >=0.4.22 <0.9.0;

// Interface Price Feed
interface AggregatorV3Interface {
    function decimals() external view returns (uint8);

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

    function version() external view returns (uint256);

    function getRoundData(uint80 _roundId)
        external
        view
        returns (
            uint80 roundId,
            int256 answer,
            uint256 startedAt,
            uint256 updatedAt,
            uint80 answeredInRound
        );

    function latestRoundData()
        external
        view
        returns (
            uint80 roundId,
            int256 answer,
            uint256 startedAt,
            uint256 updatedAt,
            uint80 answeredInRound
        );
}

// Main Contract
contract AVAXFortune {
    using SafeMath for uint256;
    AggregatorV3Interface public priceFeedAvax;
    address payable public PLATFORM_WALLET;
    address payable public DEPLOYER;

    uint256 public constant MIN_AMOUNT = 0.1 ether;
    uint256[3] public REF_DEP_PERCENTS = [500, 300, 100];
    uint256[3] public REF_WID_PERCENTS = [150, 50, 10];
    uint256 public constant DEPOSIT_FEE = 800; // 8% deposit fee
    uint256 public constant WITHDRAW_FEE = 500; // 5% withdraw fee
    uint256 public constant PERCENT_STEP = 20; // 0.2% daily increment
    uint256 public constant WITHDRAW_TAX_PERCENT = 3500; // emergency withdraw tax 35%
    uint256 public constant PF_WITHDRAW_TAX_PERCENT = 1000; // emergency withdraw tax 10% for owner
    uint256 public constant MAX_HOLD_PERCENT = 200; // 2% hold bonus
    uint256 public constant PERCENTS_DIVIDER = 10000;
    uint256 public TIME_STEP = 1 days;

    uint256 public startTime;
    uint256 public totalStaked;
    uint256 public totalWithdrawn;
    uint256 public totalRefBonus;
    uint256 public insuranceTriggerBalance;
    uint256 public totalUsers;

    bool public launched;

    struct Plan {
        uint256 time;
        uint256 percent;
    }

    Plan[] internal plans;

    struct Deposit {
        uint8 plan;
        uint256 percent;
        uint256 amount;
        uint256 profit;
        uint256 start;
        uint256 finish;
    }

    struct User {
        Deposit[] deposits;
        uint256 checkpoint;
        uint256 holdBonusCheckpoint;
        address referrer;
        uint256[3] levels;
        uint256 bonus;
        uint256 debt;
        uint256 totalBonus;
        uint256 totalWithdrawn;
    }

    mapping(address => User) internal users;
    mapping(uint256 => uint256) public INSURANCE_MAXBALANCE;

    modifier onlyDeployer() {
        require(msg.sender == DEPLOYER, "NOT AN OWNER");
        _;
    }

    event Newbie(address user);
    event NewDeposit(
        address indexed user,
        uint8 plan,
        uint256 percent,
        uint256 amount,
        uint256 profit,
        uint256 start,
        uint256 finish
    );
    event Withdrawn(address indexed user, uint256 amount);
    event REINVEST(address indexed user, uint256 amount);
    event RefBonus(
        address indexed referrer,
        address indexed referral,
        uint256 indexed level,
        uint256 amount
    );
    event FeePayed(address indexed user, uint256 totalAmount);

    constructor(address payable _platform, uint256 _time) {
        startTime = _time;
        DEPLOYER = payable(msg.sender);
        PLATFORM_WALLET = _platform;
        priceFeedAvax = AggregatorV3Interface(
            // mainnet
            0x0A77230d17318075983913bC2145DB16C7366156
            // testnet
            // 0x5498BB86BC934c8D34FDA08E81D444153d0D06aD
        );

        plans.push(Plan(10, 1252));
        plans.push(Plan(16, 1127));
        plans.push(Plan(21, 1296));
        plans.push(Plan(26, 1304));
        plans.push(Plan(10, 2456));
        plans.push(Plan(16, 2002));
        plans.push(Plan(21, 1837));
        plans.push(Plan(26, 1603));
    }

    receive() external payable {}

    function invest(address referrer, uint8 plan) public payable {
        require(launched, "wait for the launch");
        require(!isContract(msg.sender));
        require(msg.value >= MIN_AMOUNT, "less than min Limit");
        deposit(msg.sender, referrer, plan, msg.value);
    }

    function deposit(
        address userAddress,
        address referrer,
        uint8 plan,
        uint256 amount
    ) internal {
        require(plan < 8, "Invalid plan");
        User storage user = users[userAddress];

        uint256 fee = amount.mul(DEPOSIT_FEE).div(PERCENTS_DIVIDER);
        PLATFORM_WALLET.transfer(fee);
        emit FeePayed(userAddress, fee);

        if (user.referrer == address(0)) {
            if (
                (users[referrer].deposits.length == 0 ||
                    referrer == userAddress)
            ) {
                referrer = DEPLOYER;
            }

            user.referrer = referrer;

            address upline = user.referrer;
            for (uint256 i = 0; i < REF_DEP_PERCENTS.length; i++) {
                if (upline != address(0)) {
                    users[upline].levels[i] = users[upline].levels[i].add(1);
                    upline = users[upline].referrer;
                } else break;
            }
        }

        if (user.referrer != address(0)) {
            address upline = user.referrer;
            for (uint256 i = 0; i < REF_DEP_PERCENTS.length; i++) {
                if (upline != address(0)) {
                    uint256 refAmount = amount.mul(REF_DEP_PERCENTS[i]).div(
                        PERCENTS_DIVIDER
                    );
                    users[upline].bonus = users[upline].bonus.add(refAmount);
                    users[upline].totalBonus = users[upline].totalBonus.add(
                        refAmount
                    );
                    totalRefBonus = totalRefBonus.add(refAmount);
                    emit RefBonus(upline, userAddress, i, refAmount);
                    upline = users[upline].referrer;
                } else break;
            }
        }

        if (user.deposits.length == 0) {
            totalUsers = totalUsers.add(1);
            user.checkpoint = block.timestamp;
            user.holdBonusCheckpoint = block.timestamp;
            emit Newbie(userAddress);
        }

        (uint256 percent, uint256 profit, uint256 finish) = getResult(
            plan,
            amount
        );
        user.deposits.push(
            Deposit(plan, percent, amount, profit, block.timestamp, finish)
        );

        totalStaked = totalStaked.add(amount);
        emit NewDeposit(
            userAddress,
            plan,
            percent,
            amount,
            profit,
            block.timestamp,
            finish
        );
    }

    function withdraw() public {
        User storage user = users[msg.sender];
        require(
            block.timestamp >= user.checkpoint.add(TIME_STEP),
            "wait for next withdraw"
        );

        uint256 totalAmount = getUserDividends(msg.sender);
        uint256 referralBonus = getUserReferralBonus(msg.sender);
        if (referralBonus > 0) {
            user.bonus = 0;
            totalAmount = totalAmount.add(referralBonus);
        }
        if (user.debt > 0) {
            totalAmount = totalAmount.add(user.debt);
            user.debt = 0;
        }
        require(totalAmount > 0, "User has no dividends");
        uint256 fee = totalAmount.mul(WITHDRAW_FEE).div(PERCENTS_DIVIDER);
        payable(PLATFORM_WALLET).transfer(fee);
        totalAmount = totalAmount.sub(fee);

        uint256 contractBalance = address(this).balance;
        if (totalAmount > contractBalance) {
            user.debt = user.debt.add(totalAmount.sub(contractBalance));
            totalAmount = contractBalance;
        }

        user.checkpoint = block.timestamp;
        user.holdBonusCheckpoint = block.timestamp;
        user.totalWithdrawn = user.totalWithdrawn.add(totalAmount);
        totalWithdrawn = totalWithdrawn.add(totalAmount);

        payable(msg.sender).transfer(totalAmount);

        if (user.referrer != address(0)) {
            address upline = user.referrer;
            for (uint256 i = 0; i < REF_WID_PERCENTS.length; i++) {
                if (upline != address(0)) {
                    uint256 refAmount = totalAmount.mul(REF_WID_PERCENTS[i]).div(
                        PERCENTS_DIVIDER
                    );
                    users[upline].bonus = users[upline].bonus.add(refAmount);
                    users[upline].totalBonus = users[upline].totalBonus.add(
                        refAmount
                    );
                    totalRefBonus = totalRefBonus.add(refAmount);
                    emit RefBonus(upline, msg.sender, i, refAmount);
                    upline = users[upline].referrer;
                } else break;
            }
        }

        emit Withdrawn(msg.sender, totalAmount);
    }

    function emergencyWithdraw(uint256 index) public {
        User storage user = users[msg.sender];
        uint8 plan = user.deposits[index].plan;
        require(plan == 6 || plan == 7, "oinvlaid package");
        require(isDepositActive(msg.sender, index), "deposit not active");
        uint256 depositAmount = user.deposits[index].amount;
        uint256 forceWithdrawTax = (depositAmount * WITHDRAW_TAX_PERCENT) /
            PERCENTS_DIVIDER;
        uint256 pfWithdrawTax = (depositAmount * PF_WITHDRAW_TAX_PERCENT) /
            PERCENTS_DIVIDER;
        PLATFORM_WALLET.transfer(pfWithdrawTax);

        uint256 totalAmount = depositAmount - forceWithdrawTax;

        uint256 contractBalance = address(this).balance;
        if (totalAmount > contractBalance) {
            user.debt = user.debt.add(totalAmount.sub(contractBalance));
            totalAmount = contractBalance;
        }
        user.totalWithdrawn += totalAmount;
        user.deposits[index].finish = block.timestamp;
        totalWithdrawn += totalAmount;

        payable(msg.sender).transfer(totalAmount);

        emit Withdrawn(msg.sender, totalAmount);
    }

    function launch() external onlyDeployer() {
        require(!launched, "Already launched");
        launched = true;
        startTime = block.timestamp;
    }

    function changeDeployer(address payable _new) external onlyDeployer() {
        require(!isContract(_new),"Can't be a contract");
        DEPLOYER = _new;
    }

    function changePlatform(address payable _new) external onlyDeployer() {
        require(!isContract(_new),"Can't be a contract");
        PLATFORM_WALLET = _new;
    }

    function getContractBalance() public view returns (uint256) {
        return address(this).balance;
    }

    function getPlanInfo(uint8 plan)
        public
        view
        returns (uint256 time, uint256 percent)
    {
        time = plans[plan].time;
        percent = plans[plan].percent;
    }

    function getPercent(uint8 plan) public view returns (uint256) {
        if (block.timestamp > startTime) {
            return
                plans[plan].percent.add(
                    PERCENT_STEP.mul(block.timestamp.sub(startTime)).div(
                        TIME_STEP
                    )
                );
        } else {
            return plans[plan].percent;
        }
    }

    function getResult(uint8 plan, uint256 amount)
        public
        view
        returns (
            uint256 percent,
            uint256 profit,
            uint256 finish
        )
    {
        percent = getPercent(plan);

        if (plan < 4) {
            profit = amount.mul(percent).mul(plans[plan].time).div(
                100
            );
        } else if (plan < 8) {
            profit = amount.mul(percent);
            for (uint256 i = 1; i < plans[plan].time; i++) {
                uint256 newProfit = profit.mul(percent).div(
                PERCENTS_DIVIDER
            );
                profit = profit.add(newProfit);
            }
            profit = profit.div(100);
        }

        finish = block.timestamp.add(plans[plan].time.mul(TIME_STEP));
    }

    // to get real time price of Avax
    function getLatestPriceAvax() public view returns (uint256) {
        (, int256 price, , , ) = priceFeedAvax.latestRoundData();
        return uint256(price);
    }

    function getUserDividends(address userAddress)
        public
        view
        returns (uint256)
    {
        User storage user = users[userAddress];

        uint256 totalAmount;
        uint256 holdBonus = getUserHoldBonusPercent(userAddress);

        for (uint256 i = 0; i < user.deposits.length; i++) {
            if (user.checkpoint < user.deposits[i].finish) {
                if (user.deposits[i].plan < 3) {
                    uint256 share = user
                        .deposits[i]
                        .amount
                        .mul(user.deposits[i].percent.add(holdBonus))
                        .div(PERCENTS_DIVIDER);
                    uint256 from = user.deposits[i].start > user.checkpoint
                        ? user.deposits[i].start
                        : user.checkpoint;
                    uint256 to = user.deposits[i].finish < block.timestamp
                        ? user.deposits[i].finish
                        : block.timestamp;
                    if (from < to) {
                        totalAmount = totalAmount.add(
                            share.mul(to.sub(from)).div(TIME_STEP)
                        );
                    }
                } else if (block.timestamp > user.deposits[i].finish) {
                    totalAmount = totalAmount.add(user.deposits[i].profit.div(100));
                }
            }
        }

        return totalAmount;
    }

    function getUserHoldBonusPercent(address userAddress)
        public
        view
        returns (uint256)
    {
        User storage user = users[userAddress];

        uint256 timeMultiplier = block
            .timestamp
            .sub(user.holdBonusCheckpoint)
            .div(TIME_STEP);
        timeMultiplier = timeMultiplier.mul(20);  // +0.2% per day
        if (timeMultiplier > MAX_HOLD_PERCENT) {
            timeMultiplier = MAX_HOLD_PERCENT;
        }
        return timeMultiplier;
    }

    function getUserCheckpoint(address userAddress)
        public
        view
        returns (uint256)
    {
        return users[userAddress].checkpoint;
    }

    function getUserHoldBonusCheckpoint(address userAddress)
        public
        view
        returns (uint256)
    {
        return users[userAddress].holdBonusCheckpoint;
    }

    function getUserReferrer(address userAddress)
        public
        view
        returns (address)
    {
        return users[userAddress].referrer;
    }

    function getUserDownlineCount(address userAddress)
        public
        view
        returns (
            uint256 level1,
            uint256 level2,
            uint256 level3
        )
    {
        level1 = users[userAddress].levels[0];
        level2 = users[userAddress].levels[1];
        level3 = users[userAddress].levels[2];
    }

    function getUserReferralBonus(address userAddress)
        public
        view
        returns (uint256)
    {
        return users[userAddress].bonus;
    }

    function getUserReferralTotalBonus(address userAddress)
        public
        view
        returns (uint256)
    {
        return users[userAddress].totalBonus;
    }

    function getUserReferralWithdrawn(address userAddress)
        public
        view
        returns (uint256)
    {
        return users[userAddress].totalBonus.sub(users[userAddress].bonus);
    }

    function getUserDebt(address userAddress) public view returns (uint256) {
        return users[userAddress].debt;
    }

    function getUserAvailable(address userAddress)
        public
        view
        returns (uint256)
    {
        return
            getUserReferralBonus(userAddress)
                .add(getUserDividends(userAddress))
                .add(getUserDebt(userAddress));
    }

    function getUserAmountOfDeposits(address userAddress)
        public
        view
        returns (uint256)
    {
        return users[userAddress].deposits.length;
    }

    function getUserTotalDeposits(address userAddress)
        public
        view
        returns (uint256 amount)
    {
        for (uint256 i = 0; i < users[userAddress].deposits.length; i++) {
            amount = amount.add(users[userAddress].deposits[i].amount);
        }
    }

    function getUserDepositInfo(address userAddress, uint256 index)
        public
        view
        returns (
            uint8 plan,
            uint256 percent,
            uint256 amount,
            uint256 profit,
            uint256 start,
            uint256 finish
        )
    {
        User storage user = users[userAddress];

        plan = user.deposits[index].plan;
        percent = user.deposits[index].percent;
        amount = user.deposits[index].amount;
        profit = user.deposits[index].profit;
        start = user.deposits[index].start;
        finish = user.deposits[index].finish;
    }

    function getUserTotalWithdrawn(address userAddress)
        public
        view
        returns (uint256)
    {
        return users[userAddress].totalWithdrawn;
    }

    function isDepositActive(address userAddress, uint256 index)
        public
        view
        returns (bool)
    {
        User storage user = users[userAddress];

        return (user.deposits[index].finish > users[userAddress].checkpoint);
    }

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;

        return c;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address payable","name":"_platform","type":"address"},{"internalType":"uint256","name":"_time","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"totalAmount","type":"uint256"}],"name":"FeePayed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint8","name":"plan","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"percent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"profit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"start","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"finish","type":"uint256"}],"name":"NewDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"Newbie","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"REINVEST","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":true,"internalType":"address","name":"referral","type":"address"},{"indexed":true,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RefBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[],"name":"DEPLOYER","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPOSIT_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"INSURANCE_MAXBALANCE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_HOLD_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERCENTS_DIVIDER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERCENT_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PF_WITHDRAW_TAX_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PLATFORM_WALLET","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"REF_DEP_PERCENTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"REF_WID_PERCENTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TIME_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WITHDRAW_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WITHDRAW_TAX_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_new","type":"address"}],"name":"changeDeployer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_new","type":"address"}],"name":"changePlatform","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLatestPriceAvax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"plan","type":"uint8"}],"name":"getPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"plan","type":"uint8"}],"name":"getPlanInfo","outputs":[{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"uint256","name":"percent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"plan","type":"uint8"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getResult","outputs":[{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"profit","type":"uint256"},{"internalType":"uint256","name":"finish","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserAmountOfDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserCheckpoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserDebt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getUserDepositInfo","outputs":[{"internalType":"uint8","name":"plan","type":"uint8"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"profit","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"finish","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserDownlineCount","outputs":[{"internalType":"uint256","name":"level1","type":"uint256"},{"internalType":"uint256","name":"level2","type":"uint256"},{"internalType":"uint256","name":"level3","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserHoldBonusCheckpoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserHoldBonusPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralTotalBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferrer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalDeposits","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"insuranceTriggerBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint8","name":"plan","type":"uint8"}],"name":"invest","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"isDepositActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceFeedAvax","outputs":[{"internalType":"contract AggregatorV3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRefBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalUsers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260405180606001604052806101f461ffff16815260200161012c61ffff168152602001606461ffff1681525060039060036200004292919062000464565b506040518060600160405280609660ff168152602001603260ff168152602001600a60ff1681525060069060036200007c929190620004af565b50620151806009553480156200009157600080fd5b50604051620048af380380620048af8339818101604052810190620000b79190620005bd565b80600a8190555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730a77230d17318075983913bc2145db16c73661566000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060116040518060400160405280600a81526020016104e48152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550506011604051806040016040528060108152602001610467815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050601160405180604001604052806015815260200161051081525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010155505060116040518060400160405280601a815260200161051881525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010155505060116040518060400160405280600a815260200161099881525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010155505060116040518060400160405280601081526020016107d2815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050601160405180604001604052806015815260200161072d81525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010155505060116040518060400160405280601a8152602001610643815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050505062000604565b82600381019282156200049c579160200282015b828111156200049b578251829061ffff1690559160200191906001019062000478565b5b509050620004ab9190620004f9565b5090565b8260038101928215620004e6579160200282015b82811115620004e5578251829060ff16905591602001919060010190620004c3565b5b509050620004f59190620004f9565b5090565b5b8082111562000514576000816000905550600101620004fa565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200054a826200051d565b9050919050565b6200055c816200053d565b81146200056857600080fd5b50565b6000815190506200057c8162000551565b92915050565b6000819050919050565b620005978162000582565b8114620005a357600080fd5b50565b600081519050620005b7816200058c565b92915050565b60008060408385031215620005d757620005d662000518565b5b6000620005e7858286016200056b565b9250506020620005fa85828601620005a6565b9150509250929050565b61429b80620006146000396000f3fe6080604052600436106102b25760003560e01c80637fac9e4611610175578063c1b8411a116100dc578063defdfae611610095578063e9719dd71161006f578063e9719dd714610b82578063eb8b12d414610bad578063efd7853014610bd8578063fb4cb32b14610c15576102b9565b8063defdfae614610adf578063e65896c914610b08578063e85abe0914610b45576102b9565b8063c1b8411a146109b9578063cc35aca3146109e4578063d5b2425a14610a0f578063d7ffca9114610a4c578063ddbcb5fa14610a89578063de363e6514610ab4576102b9565b8063a8aeb6c21161012e578063a8aeb6c214610869578063ae1ebc3f146108a6578063aecaa634146108d1578063b8f54a1d1461090f578063bff1f9e11461094c578063c0806b0314610977576102b9565b80637fac9e46146107435780638091f3bf14610780578063817b1cd2146107ab5780639bff5ddb146107d6578063a09e079d14610801578063a51b95331461082c576102b9565b80635312ea8e116102195780636bb18556116101d25780636bb185561461060d5780636f9fb98a1461064a578063753d93e414610675578063774785141461069e57806378e97925146106db5780637e3abeea14610706576102b9565b80635312ea8e1461050857806357fc86b414610531578063581c5ae61461055c5780635936cf611461057857806361503777146105b757806369b11dd5146105e2576102b9565b806336144c9a1161026b57806336144c9a146103e45780633ccfd60b14610421578063403b68f914610438578063447673081461047557806348c37203146104a05780634b319713146104dd576102b9565b806301339c21146102be57806301c234a8146102d557806303a93c0c14610300578063040a772e1461033f578063153ab9df1461037c57806332bc298c146103b9576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102d3610c52565b005b3480156102e157600080fd5b506102ea610d56565b6040516102f791906134ea565b60405180910390f35b34801561030c57600080fd5b5061032760048036038101906103229190613568565b610d5c565b60405161033693929190613595565b60405180910390f35b34801561034b57600080fd5b5061036660048036038101906103619190613568565b610e73565b60405161037391906134ea565b60405180910390f35b34801561038857600080fd5b506103a3600480360381019061039e9190613568565b61119d565b6040516103b091906134ea565b60405180910390f35b3480156103c557600080fd5b506103ce6111e3565b6040516103db91906134ea565b60405180910390f35b3480156103f057600080fd5b5061040b60048036038101906104069190613568565b6111e9565b60405161041891906135db565b60405180910390f35b34801561042d57600080fd5b50610436611255565b005b34801561044457600080fd5b5061045f600480360381019061045a9190613622565b6118bd565b60405161046c91906134ea565b60405180910390f35b34801561048157600080fd5b5061048a6118d8565b60405161049791906134ea565b60405180910390f35b3480156104ac57600080fd5b506104c760048036038101906104c29190613568565b6118dd565b6040516104d491906134ea565b60405180910390f35b3480156104e957600080fd5b506104f2611929565b6040516104ff91906134ea565b60405180910390f35b34801561051457600080fd5b5061052f600480360381019061052a9190613622565b61192f565b005b34801561053d57600080fd5b50610546611c6c565b60405161055391906134ea565b60405180910390f35b61057660048036038101906105719190613688565b611c71565b005b34801561058457600080fd5b5061059f600480360381019061059a91906136c8565b611d2e565b6040516105ae93929190613595565b60405180910390f35b3480156105c357600080fd5b506105cc611ece565b6040516105d991906134ea565b60405180910390f35b3480156105ee57600080fd5b506105f7611ed4565b60405161060491906134ea565b60405180910390f35b34801561061957600080fd5b50610634600480360381019061062f9190613568565b611eda565b60405161064191906134ea565b60405180910390f35b34801561065657600080fd5b5061065f611f7a565b60405161066c91906134ea565b60405180910390f35b34801561068157600080fd5b5061069c60048036038101906106979190613746565b611f82565b005b3480156106aa57600080fd5b506106c560048036038101906106c09190613622565b61209f565b6040516106d291906134ea565b60405180910390f35b3480156106e757600080fd5b506106f06120b7565b6040516106fd91906134ea565b60405180910390f35b34801561071257600080fd5b5061072d60048036038101906107289190613568565b6120bd565b60405161073a91906134ea565b60405180910390f35b34801561074f57600080fd5b5061076a60048036038101906107659190613773565b6121a5565b60405161077791906137ce565b60405180910390f35b34801561078c57600080fd5b5061079561225e565b6040516107a291906137ce565b60405180910390f35b3480156107b757600080fd5b506107c0612271565b6040516107cd91906134ea565b60405180910390f35b3480156107e257600080fd5b506107eb612277565b6040516107f891906134ea565b60405180910390f35b34801561080d57600080fd5b5061081661227d565b60405161082391906134ea565b60405180910390f35b34801561083857600080fd5b50610853600480360381019061084e91906137e9565b612283565b60405161086091906134ea565b60405180910390f35b34801561087557600080fd5b50610890600480360381019061088b9190613568565b61233d565b60405161089d91906134ea565b60405180910390f35b3480156108b257600080fd5b506108bb61238c565b6040516108c891906134ea565b60405180910390f35b3480156108dd57600080fd5b506108f860048036038101906108f391906137e9565b612392565b604051610906929190613816565b60405180910390f35b34801561091b57600080fd5b5061093660048036038101906109319190613568565b6123f0565b60405161094391906134ea565b60405180910390f35b34801561095857600080fd5b50610961612491565b60405161096e91906134ea565b60405180910390f35b34801561098357600080fd5b5061099e60048036038101906109999190613773565b612497565b6040516109b09695949392919061384e565b60405180910390f35b3480156109c557600080fd5b506109ce6125f7565b6040516109db91906138be565b60405180910390f35b3480156109f057600080fd5b506109f961261d565b604051610a0691906134ea565b60405180910390f35b348015610a1b57600080fd5b50610a366004803603810190610a319190613568565b6126bc565b604051610a4391906134ea565b60405180910390f35b348015610a5857600080fd5b50610a736004803603810190610a6e9190613568565b612708565b604051610a8091906134ea565b60405180910390f35b348015610a9557600080fd5b50610a9e612754565b604051610aab91906134ea565b60405180910390f35b348015610ac057600080fd5b50610ac9612760565b604051610ad691906134ea565b60405180910390f35b348015610aeb57600080fd5b50610b066004803603810190610b019190613746565b612766565b005b348015610b1457600080fd5b50610b2f6004803603810190610b2a9190613568565b612883565b604051610b3c91906134ea565b60405180910390f35b348015610b5157600080fd5b50610b6c6004803603810190610b679190613568565b6128cf565b604051610b7991906134ea565b60405180910390f35b348015610b8e57600080fd5b50610b9761291b565b604051610ba49190613938565b60405180910390f35b348015610bb957600080fd5b50610bc261293f565b604051610bcf91906138be565b60405180910390f35b348015610be457600080fd5b50610bff6004803603810190610bfa9190613622565b612965565b604051610c0c91906134ea565b60405180910390f35b348015610c2157600080fd5b50610c3c6004803603810190610c379190613568565b612980565b604051610c4991906134ea565b60405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd9906139b0565b60405180910390fd5b601060009054906101000a900460ff1615610d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2990613a1c565b60405180910390fd5b6001601060006101000a81548160ff02191690831515021790555042600a81905550565b61271081565b6000806000601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060038110610db657610db5613a3c565b5b01549250601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600160038110610e0f57610e0e613a3c565b5b01549150601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600260038110610e6857610e67613a3c565b5b015490509193909250565b600080601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600080610ec3856123f0565b905060005b836000018054905081101561119157836000018181548110610eed57610eec613a3c565b5b9060005260206000209060060201600501548460010154101561117e576003846000018281548110610f2257610f21613a3c565b5b906000526020600020906006020160000160009054906101000a900460ff1660ff1610156110fd576000610fd3612710610fc5610f8f86896000018781548110610f6f57610f6e613a3c565b5b9060005260206000209060060201600101546129cc90919063ffffffff16565b886000018681548110610fa557610fa4613a3c565b5b906000526020600020906006020160020154612a2a90919063ffffffff16565b612aa590919063ffffffff16565b905060008560010154866000018481548110610ff257610ff1613a3c565b5b9060005260206000209060060201600401541161101357856001015461103c565b85600001838154811061102957611028613a3c565b5b9060005260206000209060060201600401545b905060004287600001858154811061105757611056613a3c565b5b90600052602060002090600602016005015410611074574261109d565b86600001848154811061108a57611089613a3c565b5b9060005260206000209060060201600501545b9050808210156110f5576110f26110e36009546110d56110c68686612b0390919063ffffffff16565b87612a2a90919063ffffffff16565b612aa590919063ffffffff16565b876129cc90919063ffffffff16565b95505b50505061117d565b83600001818154811061111357611112613a3c565b5b90600052602060002090600602016005015442111561117c5761117961116a606486600001848154811061114a57611149613a3c565b5b906000526020600020906006020160030154612aa590919063ffffffff16565b846129cc90919063ffffffff16565b92505b5b5b808061118990613a9a565b915050610ec8565b50819350505050919050565b60006111dc6111ab83612883565b6111ce6111b785610e73565b6111c0866128cf565b6129cc90919063ffffffff16565b6129cc90919063ffffffff16565b9050919050565b60095481565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506112b160095482600101546129cc90919063ffffffff16565b4210156112f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ea90613b2f565b60405180910390fd5b60006112fe33610e73565b9050600061130b336128cf565b90506000811115611336576000836007018190555061133381836129cc90919063ffffffff16565b91505b6000836008015411156113675761135a8360080154836129cc90919063ffffffff16565b9150600083600801819055505b600082116113aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a190613b9b565b60405180910390fd5b60006113d56127106113c76101f486612a2a90919063ffffffff16565b612aa590919063ffffffff16565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561143f573d6000803e3d6000fd5b506114538184612b0390919063ffffffff16565b92506000479050808411156114975761148b6114788286612b0390919063ffffffff16565b86600801546129cc90919063ffffffff16565b85600801819055508093505b4285600101819055504285600201819055506114c08486600a01546129cc90919063ffffffff16565b85600a01819055506114dd84600c546129cc90919063ffffffff16565b600c819055503373ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050158015611529573d6000803e3d6000fd5b50600073ffffffffffffffffffffffffffffffffffffffff168560030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118685760008560030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b600381101561186557600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461184d57600061162961271061161b6006856003811061160a57611609613a3c565b5b01548a612a2a90919063ffffffff16565b612aa590919063ffffffff16565b905061168081601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701546129cc90919063ffffffff16565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206007018190555061171b81601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901546129cc90919063ffffffff16565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206009018190555061177681600d546129cc90919063ffffffff16565b600d81905550813373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fd41f7e766eebcc7ff42b11ac8691bdf864db4afc0c55e71d629d54edce460d98846040516117da91906134ea565b60405180910390a4601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925050611852565b611865565b808061185d90613a9a565b9150506115ae565b50505b3373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5856040516118ae91906134ea565b60405180910390a25050505050565b600381600381106118cd57600080fd5b016000915090505481565b60c881565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901549050919050565b600c5481565b6000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600001838154811061198a57611989613a3c565b5b906000526020600020906006020160000160009054906101000a900460ff16905060068160ff1614806119c0575060078160ff16145b6119ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f690613c07565b60405180910390fd5b611a0933846121a5565b611a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3f90613c73565b60405180910390fd5b6000826000018481548110611a6057611a5f613a3c565b5b90600052602060002090600602016002015490506000612710610dac83611a879190613c93565b611a919190613d1c565b905060006127106103e884611aa69190613c93565b611ab09190613d1c565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b1a573d6000803e3d6000fd5b5060008284611b299190613d4d565b9050600047905080821115611b6d57611b61611b4e8284612b0390919063ffffffff16565b88600801546129cc90919063ffffffff16565b87600801819055508091505b8187600a016000828254611b819190613d81565b9250508190555042876000018981548110611b9f57611b9e613a3c565b5b90600052602060002090600602016005018190555081600c6000828254611bc69190613d81565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611c13573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d583604051611c5a91906134ea565b60405180910390a25050505050505050565b601481565b601060009054906101000a900460ff16611cc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb790613e23565b60405180910390fd5b611cc933612b62565b15611cd357600080fd5b67016345785d8a0000341015611d1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1590613e8f565b60405180910390fd5b611d2a33838334612b75565b5050565b6000806000611d3c85612283565b925060048560ff161015611db157611daa6064611d9c60118860ff1681548110611d6957611d68613a3c565b5b906000526020600020906002020160000154611d8e8789612a2a90919063ffffffff16565b612a2a90919063ffffffff16565b612aa590919063ffffffff16565b9150611e76565b60088560ff161015611e7557611dd08385612a2a90919063ffffffff16565b91506000600190505b60118660ff1681548110611df057611def613a3c565b5b906000526020600020906002020160000154811015611e5d576000611e32612710611e248787612a2a90919063ffffffff16565b612aa590919063ffffffff16565b9050611e4781856129cc90919063ffffffff16565b9350508080611e5590613a9a565b915050611dd9565b50611e72606483612aa590919063ffffffff16565b91505b5b611ec5611eb660095460118860ff1681548110611e9657611e95613a3c565b5b906000526020600020906002020160000154612a2a90919063ffffffff16565b426129cc90919063ffffffff16565b90509250925092565b600e5481565b600d5481565b6000611f73601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070154601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060090154612b0390919063ffffffff16565b9050919050565b600047905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612012576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612009906139b0565b60405180910390fd5b61201b81612b62565b1561205b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205290613efb565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60136020528060005260406000206000915090505481565b600a5481565b600080600090505b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905081101561219f5761218a601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811061216957612168613a3c565b5b906000526020600020906006020160020154836129cc90919063ffffffff16565b9150808061219790613a9a565b9150506120c5565b50919050565b600080601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015481600001848154811061224257612241613a3c565b5b9060005260206000209060060201600501541191505092915050565b601060009054906101000a900460ff1681565b600b5481565b6101f481565b610dac81565b6000600a5442111561230c576123056122ce6009546122c06122b0600a5442612b0390919063ffffffff16565b6014612a2a90919063ffffffff16565b612aa590919063ffffffff16565b60118460ff16815481106122e5576122e4613a3c565b5b9060005260206000209060020201600101546129cc90919063ffffffff16565b9050612338565b60118260ff168154811061232357612322613a3c565b5b90600052602060002090600202016001015490505b919050565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b6103e881565b60008060118360ff16815481106123ac576123ab613a3c565b5b906000526020600020906002020160000154915060118360ff16815481106123d7576123d6613a3c565b5b9060005260206000209060020201600101549050915091565b600080601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000612461600954612453846002015442612b0390919063ffffffff16565b612aa590919063ffffffff16565b9050612477601482612a2a90919063ffffffff16565b905060c88111156124875760c890505b8092505050919050565b600f5481565b6000806000806000806000601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000188815481106124f9576124f8613a3c565b5b906000526020600020906006020160000160009054906101000a900460ff1696508060000188815481106125305761252f613a3c565b5b906000526020600020906006020160010154955080600001888154811061255a57612559613a3c565b5b906000526020600020906006020160020154945080600001888154811061258457612583613a3c565b5b90600052602060002090600602016003015493508060000188815481106125ae576125ad613a3c565b5b90600052602060002090600602016004015492508060000188815481106125d8576125d7613a3c565b5b9060005260206000209060060201600501549150509295509295509295565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561268b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126af9190613fa8565b5050509150508091505090565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b67016345785d8a000081565b61032081565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ed906139b0565b60405180910390fd5b6127ff81612b62565b1561283f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283690613efb565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600801549050919050565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6006816003811061297557600080fd5b016000915090505481565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a01549050919050565b60008082846129db9190613d81565b905083811015612a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a179061406f565b60405180910390fd5b8091505092915050565b600080831415612a3d5760009050612a9f565b60008284612a4b9190613c93565b9050828482612a5a9190613d1c565b14612a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9190614101565b60405180910390fd5b809150505b92915050565b6000808211612ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae09061416d565b60405180910390fd5b60008284612af79190613d1c565b90508091505092915050565b600082821115612b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3f906141d9565b60405180910390fd5b60008284612b569190613d4d565b90508091505092915050565b600080823b905060008111915050919050565b60088260ff1610612bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bb290614245565b60405180910390fd5b6000601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000612c29612710612c1b61032086612a2a90919063ffffffff16565b612aa590919063ffffffff16565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612c93573d6000803e3d6000fd5b508573ffffffffffffffffffffffffffffffffffffffff167f2899dc8c12def1caa9accb64257cf2fd9f960f21bb27a560a757eae3c2ec43c182604051612cda91906134ea565b60405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612fd8576000601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490501480612dba57508573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15612de557600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1694505b848260030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b6003811015612fd557600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612fbd57612efa6001601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004018360038110612eea57612ee9613a3c565b5b01546129cc90919063ffffffff16565b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004018260038110612f4e57612f4d613a3c565b5b0181905550601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150612fc2565b612fd5565b8080612fcd90613a9a565b915050612e54565b50505b600073ffffffffffffffffffffffffffffffffffffffff168260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146133165760008260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b600381101561331357600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146132fb5760006130d76127106130c9600385600381106130b8576130b7613a3c565b5b015489612a2a90919063ffffffff16565b612aa590919063ffffffff16565b905061312e81601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701546129cc90919063ffffffff16565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701819055506131c981601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901546129cc90919063ffffffff16565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206009018190555061322481600d546129cc90919063ffffffff16565b600d81905550818973ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fd41f7e766eebcc7ff42b11ac8691bdf864db4afc0c55e71d629d54edce460d988460405161328891906134ea565b60405180910390a4601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925050613300565b613313565b808061330b90613a9a565b91505061305c565b50505b60008260000180549050141561338c5761333c6001600f546129cc90919063ffffffff16565b600f819055504282600101819055504282600201819055507f9fd565cd14c3c391679eb0cad12a14dcf7534e9d3462bcb9b67a098a9bbbc24a8660405161338391906135db565b60405180910390a15b600080600061339b8787611d2e565b925092509250846000016040518060c001604052808960ff16815260200185815260200188815260200184815260200142815260200183815250908060018154018082558091505060019003906000526020600020906006020160009091909190915060008201518160000160006101000a81548160ff021916908360ff1602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015560a08201518160050155505061346886600b546129cc90919063ffffffff16565b600b819055508873ffffffffffffffffffffffffffffffffffffffff167f84e02daa69bdb087c9fe8d3041abca495512cb14e723070f6d1d4efface82e5d8885898642876040516134be9695949392919061384e565b60405180910390a2505050505050505050565b6000819050919050565b6134e4816134d1565b82525050565b60006020820190506134ff60008301846134db565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135358261350a565b9050919050565b6135458161352a565b811461355057600080fd5b50565b6000813590506135628161353c565b92915050565b60006020828403121561357e5761357d613505565b5b600061358c84828501613553565b91505092915050565b60006060820190506135aa60008301866134db565b6135b760208301856134db565b6135c460408301846134db565b949350505050565b6135d58161352a565b82525050565b60006020820190506135f060008301846135cc565b92915050565b6135ff816134d1565b811461360a57600080fd5b50565b60008135905061361c816135f6565b92915050565b60006020828403121561363857613637613505565b5b60006136468482850161360d565b91505092915050565b600060ff82169050919050565b6136658161364f565b811461367057600080fd5b50565b6000813590506136828161365c565b92915050565b6000806040838503121561369f5761369e613505565b5b60006136ad85828601613553565b92505060206136be85828601613673565b9150509250929050565b600080604083850312156136df576136de613505565b5b60006136ed85828601613673565b92505060206136fe8582860161360d565b9150509250929050565b60006137138261350a565b9050919050565b61372381613708565b811461372e57600080fd5b50565b6000813590506137408161371a565b92915050565b60006020828403121561375c5761375b613505565b5b600061376a84828501613731565b91505092915050565b6000806040838503121561378a57613789613505565b5b600061379885828601613553565b92505060206137a98582860161360d565b9150509250929050565b60008115159050919050565b6137c8816137b3565b82525050565b60006020820190506137e360008301846137bf565b92915050565b6000602082840312156137ff576137fe613505565b5b600061380d84828501613673565b91505092915050565b600060408201905061382b60008301856134db565b61383860208301846134db565b9392505050565b6138488161364f565b82525050565b600060c082019050613863600083018961383f565b61387060208301886134db565b61387d60408301876134db565b61388a60608301866134db565b61389760808301856134db565b6138a460a08301846134db565b979650505050505050565b6138b881613708565b82525050565b60006020820190506138d360008301846138af565b92915050565b6000819050919050565b60006138fe6138f96138f48461350a565b6138d9565b61350a565b9050919050565b6000613910826138e3565b9050919050565b600061392282613905565b9050919050565b61393281613917565b82525050565b600060208201905061394d6000830184613929565b92915050565b600082825260208201905092915050565b7f4e4f5420414e204f574e45520000000000000000000000000000000000000000600082015250565b600061399a600c83613953565b91506139a582613964565b602082019050919050565b600060208201905081810360008301526139c98161398d565b9050919050565b7f416c7265616479206c61756e6368656400000000000000000000000000000000600082015250565b6000613a06601083613953565b9150613a11826139d0565b602082019050919050565b60006020820190508181036000830152613a35816139f9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613aa5826134d1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613ad857613ad7613a6b565b5b600182019050919050565b7f7761697420666f72206e65787420776974686472617700000000000000000000600082015250565b6000613b19601683613953565b9150613b2482613ae3565b602082019050919050565b60006020820190508181036000830152613b4881613b0c565b9050919050565b7f5573657220686173206e6f206469766964656e64730000000000000000000000600082015250565b6000613b85601583613953565b9150613b9082613b4f565b602082019050919050565b60006020820190508181036000830152613bb481613b78565b9050919050565b7f6f696e766c616964207061636b61676500000000000000000000000000000000600082015250565b6000613bf1601083613953565b9150613bfc82613bbb565b602082019050919050565b60006020820190508181036000830152613c2081613be4565b9050919050565b7f6465706f736974206e6f74206163746976650000000000000000000000000000600082015250565b6000613c5d601283613953565b9150613c6882613c27565b602082019050919050565b60006020820190508181036000830152613c8c81613c50565b9050919050565b6000613c9e826134d1565b9150613ca9836134d1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ce257613ce1613a6b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613d27826134d1565b9150613d32836134d1565b925082613d4257613d41613ced565b5b828204905092915050565b6000613d58826134d1565b9150613d63836134d1565b925082821015613d7657613d75613a6b565b5b828203905092915050565b6000613d8c826134d1565b9150613d97836134d1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613dcc57613dcb613a6b565b5b828201905092915050565b7f7761697420666f7220746865206c61756e636800000000000000000000000000600082015250565b6000613e0d601383613953565b9150613e1882613dd7565b602082019050919050565b60006020820190508181036000830152613e3c81613e00565b9050919050565b7f6c657373207468616e206d696e204c696d697400000000000000000000000000600082015250565b6000613e79601383613953565b9150613e8482613e43565b602082019050919050565b60006020820190508181036000830152613ea881613e6c565b9050919050565b7f43616e2774206265206120636f6e747261637400000000000000000000000000600082015250565b6000613ee5601383613953565b9150613ef082613eaf565b602082019050919050565b60006020820190508181036000830152613f1481613ed8565b9050919050565b600069ffffffffffffffffffff82169050919050565b613f3a81613f1b565b8114613f4557600080fd5b50565b600081519050613f5781613f31565b92915050565b6000819050919050565b613f7081613f5d565b8114613f7b57600080fd5b50565b600081519050613f8d81613f67565b92915050565b600081519050613fa2816135f6565b92915050565b600080600080600060a08688031215613fc457613fc3613505565b5b6000613fd288828901613f48565b9550506020613fe388828901613f7e565b9450506040613ff488828901613f93565b935050606061400588828901613f93565b925050608061401688828901613f48565b9150509295509295909350565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614059601b83613953565b915061406482614023565b602082019050919050565b600060208201905081810360008301526140888161404c565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006140eb602183613953565b91506140f68261408f565b604082019050919050565b6000602082019050818103600083015261411a816140de565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000614157601a83613953565b915061416282614121565b602082019050919050565b600060208201905081810360008301526141868161414a565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b60006141c3601e83613953565b91506141ce8261418d565b602082019050919050565b600060208201905081810360008301526141f2816141b6565b9050919050565b7f496e76616c696420706c616e0000000000000000000000000000000000000000600082015250565b600061422f600c83613953565b915061423a826141f9565b602082019050919050565b6000602082019050818103600083015261425e81614222565b905091905056fea2646970667358221220f84c4b10901cafc54c5406714b96d24182c12fbeb14fc84d5952b860c41cd06464736f6c634300080a00330000000000000000000000003140bd294b5977cb04cda3a7ca546cc21a9e5a9900000000000000000000000000000000000000000000000000000000628f87e0

Deployed Bytecode

0x6080604052600436106102b25760003560e01c80637fac9e4611610175578063c1b8411a116100dc578063defdfae611610095578063e9719dd71161006f578063e9719dd714610b82578063eb8b12d414610bad578063efd7853014610bd8578063fb4cb32b14610c15576102b9565b8063defdfae614610adf578063e65896c914610b08578063e85abe0914610b45576102b9565b8063c1b8411a146109b9578063cc35aca3146109e4578063d5b2425a14610a0f578063d7ffca9114610a4c578063ddbcb5fa14610a89578063de363e6514610ab4576102b9565b8063a8aeb6c21161012e578063a8aeb6c214610869578063ae1ebc3f146108a6578063aecaa634146108d1578063b8f54a1d1461090f578063bff1f9e11461094c578063c0806b0314610977576102b9565b80637fac9e46146107435780638091f3bf14610780578063817b1cd2146107ab5780639bff5ddb146107d6578063a09e079d14610801578063a51b95331461082c576102b9565b80635312ea8e116102195780636bb18556116101d25780636bb185561461060d5780636f9fb98a1461064a578063753d93e414610675578063774785141461069e57806378e97925146106db5780637e3abeea14610706576102b9565b80635312ea8e1461050857806357fc86b414610531578063581c5ae61461055c5780635936cf611461057857806361503777146105b757806369b11dd5146105e2576102b9565b806336144c9a1161026b57806336144c9a146103e45780633ccfd60b14610421578063403b68f914610438578063447673081461047557806348c37203146104a05780634b319713146104dd576102b9565b806301339c21146102be57806301c234a8146102d557806303a93c0c14610300578063040a772e1461033f578063153ab9df1461037c57806332bc298c146103b9576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102d3610c52565b005b3480156102e157600080fd5b506102ea610d56565b6040516102f791906134ea565b60405180910390f35b34801561030c57600080fd5b5061032760048036038101906103229190613568565b610d5c565b60405161033693929190613595565b60405180910390f35b34801561034b57600080fd5b5061036660048036038101906103619190613568565b610e73565b60405161037391906134ea565b60405180910390f35b34801561038857600080fd5b506103a3600480360381019061039e9190613568565b61119d565b6040516103b091906134ea565b60405180910390f35b3480156103c557600080fd5b506103ce6111e3565b6040516103db91906134ea565b60405180910390f35b3480156103f057600080fd5b5061040b60048036038101906104069190613568565b6111e9565b60405161041891906135db565b60405180910390f35b34801561042d57600080fd5b50610436611255565b005b34801561044457600080fd5b5061045f600480360381019061045a9190613622565b6118bd565b60405161046c91906134ea565b60405180910390f35b34801561048157600080fd5b5061048a6118d8565b60405161049791906134ea565b60405180910390f35b3480156104ac57600080fd5b506104c760048036038101906104c29190613568565b6118dd565b6040516104d491906134ea565b60405180910390f35b3480156104e957600080fd5b506104f2611929565b6040516104ff91906134ea565b60405180910390f35b34801561051457600080fd5b5061052f600480360381019061052a9190613622565b61192f565b005b34801561053d57600080fd5b50610546611c6c565b60405161055391906134ea565b60405180910390f35b61057660048036038101906105719190613688565b611c71565b005b34801561058457600080fd5b5061059f600480360381019061059a91906136c8565b611d2e565b6040516105ae93929190613595565b60405180910390f35b3480156105c357600080fd5b506105cc611ece565b6040516105d991906134ea565b60405180910390f35b3480156105ee57600080fd5b506105f7611ed4565b60405161060491906134ea565b60405180910390f35b34801561061957600080fd5b50610634600480360381019061062f9190613568565b611eda565b60405161064191906134ea565b60405180910390f35b34801561065657600080fd5b5061065f611f7a565b60405161066c91906134ea565b60405180910390f35b34801561068157600080fd5b5061069c60048036038101906106979190613746565b611f82565b005b3480156106aa57600080fd5b506106c560048036038101906106c09190613622565b61209f565b6040516106d291906134ea565b60405180910390f35b3480156106e757600080fd5b506106f06120b7565b6040516106fd91906134ea565b60405180910390f35b34801561071257600080fd5b5061072d60048036038101906107289190613568565b6120bd565b60405161073a91906134ea565b60405180910390f35b34801561074f57600080fd5b5061076a60048036038101906107659190613773565b6121a5565b60405161077791906137ce565b60405180910390f35b34801561078c57600080fd5b5061079561225e565b6040516107a291906137ce565b60405180910390f35b3480156107b757600080fd5b506107c0612271565b6040516107cd91906134ea565b60405180910390f35b3480156107e257600080fd5b506107eb612277565b6040516107f891906134ea565b60405180910390f35b34801561080d57600080fd5b5061081661227d565b60405161082391906134ea565b60405180910390f35b34801561083857600080fd5b50610853600480360381019061084e91906137e9565b612283565b60405161086091906134ea565b60405180910390f35b34801561087557600080fd5b50610890600480360381019061088b9190613568565b61233d565b60405161089d91906134ea565b60405180910390f35b3480156108b257600080fd5b506108bb61238c565b6040516108c891906134ea565b60405180910390f35b3480156108dd57600080fd5b506108f860048036038101906108f391906137e9565b612392565b604051610906929190613816565b60405180910390f35b34801561091b57600080fd5b5061093660048036038101906109319190613568565b6123f0565b60405161094391906134ea565b60405180910390f35b34801561095857600080fd5b50610961612491565b60405161096e91906134ea565b60405180910390f35b34801561098357600080fd5b5061099e60048036038101906109999190613773565b612497565b6040516109b09695949392919061384e565b60405180910390f35b3480156109c557600080fd5b506109ce6125f7565b6040516109db91906138be565b60405180910390f35b3480156109f057600080fd5b506109f961261d565b604051610a0691906134ea565b60405180910390f35b348015610a1b57600080fd5b50610a366004803603810190610a319190613568565b6126bc565b604051610a4391906134ea565b60405180910390f35b348015610a5857600080fd5b50610a736004803603810190610a6e9190613568565b612708565b604051610a8091906134ea565b60405180910390f35b348015610a9557600080fd5b50610a9e612754565b604051610aab91906134ea565b60405180910390f35b348015610ac057600080fd5b50610ac9612760565b604051610ad691906134ea565b60405180910390f35b348015610aeb57600080fd5b50610b066004803603810190610b019190613746565b612766565b005b348015610b1457600080fd5b50610b2f6004803603810190610b2a9190613568565b612883565b604051610b3c91906134ea565b60405180910390f35b348015610b5157600080fd5b50610b6c6004803603810190610b679190613568565b6128cf565b604051610b7991906134ea565b60405180910390f35b348015610b8e57600080fd5b50610b9761291b565b604051610ba49190613938565b60405180910390f35b348015610bb957600080fd5b50610bc261293f565b604051610bcf91906138be565b60405180910390f35b348015610be457600080fd5b50610bff6004803603810190610bfa9190613622565b612965565b604051610c0c91906134ea565b60405180910390f35b348015610c2157600080fd5b50610c3c6004803603810190610c379190613568565b612980565b604051610c4991906134ea565b60405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd9906139b0565b60405180910390fd5b601060009054906101000a900460ff1615610d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2990613a1c565b60405180910390fd5b6001601060006101000a81548160ff02191690831515021790555042600a81905550565b61271081565b6000806000601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600060038110610db657610db5613a3c565b5b01549250601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600160038110610e0f57610e0e613a3c565b5b01549150601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600260038110610e6857610e67613a3c565b5b015490509193909250565b600080601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600080610ec3856123f0565b905060005b836000018054905081101561119157836000018181548110610eed57610eec613a3c565b5b9060005260206000209060060201600501548460010154101561117e576003846000018281548110610f2257610f21613a3c565b5b906000526020600020906006020160000160009054906101000a900460ff1660ff1610156110fd576000610fd3612710610fc5610f8f86896000018781548110610f6f57610f6e613a3c565b5b9060005260206000209060060201600101546129cc90919063ffffffff16565b886000018681548110610fa557610fa4613a3c565b5b906000526020600020906006020160020154612a2a90919063ffffffff16565b612aa590919063ffffffff16565b905060008560010154866000018481548110610ff257610ff1613a3c565b5b9060005260206000209060060201600401541161101357856001015461103c565b85600001838154811061102957611028613a3c565b5b9060005260206000209060060201600401545b905060004287600001858154811061105757611056613a3c565b5b90600052602060002090600602016005015410611074574261109d565b86600001848154811061108a57611089613a3c565b5b9060005260206000209060060201600501545b9050808210156110f5576110f26110e36009546110d56110c68686612b0390919063ffffffff16565b87612a2a90919063ffffffff16565b612aa590919063ffffffff16565b876129cc90919063ffffffff16565b95505b50505061117d565b83600001818154811061111357611112613a3c565b5b90600052602060002090600602016005015442111561117c5761117961116a606486600001848154811061114a57611149613a3c565b5b906000526020600020906006020160030154612aa590919063ffffffff16565b846129cc90919063ffffffff16565b92505b5b5b808061118990613a9a565b915050610ec8565b50819350505050919050565b60006111dc6111ab83612883565b6111ce6111b785610e73565b6111c0866128cf565b6129cc90919063ffffffff16565b6129cc90919063ffffffff16565b9050919050565b60095481565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506112b160095482600101546129cc90919063ffffffff16565b4210156112f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ea90613b2f565b60405180910390fd5b60006112fe33610e73565b9050600061130b336128cf565b90506000811115611336576000836007018190555061133381836129cc90919063ffffffff16565b91505b6000836008015411156113675761135a8360080154836129cc90919063ffffffff16565b9150600083600801819055505b600082116113aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a190613b9b565b60405180910390fd5b60006113d56127106113c76101f486612a2a90919063ffffffff16565b612aa590919063ffffffff16565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561143f573d6000803e3d6000fd5b506114538184612b0390919063ffffffff16565b92506000479050808411156114975761148b6114788286612b0390919063ffffffff16565b86600801546129cc90919063ffffffff16565b85600801819055508093505b4285600101819055504285600201819055506114c08486600a01546129cc90919063ffffffff16565b85600a01819055506114dd84600c546129cc90919063ffffffff16565b600c819055503373ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050158015611529573d6000803e3d6000fd5b50600073ffffffffffffffffffffffffffffffffffffffff168560030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118685760008560030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b600381101561186557600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461184d57600061162961271061161b6006856003811061160a57611609613a3c565b5b01548a612a2a90919063ffffffff16565b612aa590919063ffffffff16565b905061168081601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701546129cc90919063ffffffff16565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206007018190555061171b81601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901546129cc90919063ffffffff16565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206009018190555061177681600d546129cc90919063ffffffff16565b600d81905550813373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fd41f7e766eebcc7ff42b11ac8691bdf864db4afc0c55e71d629d54edce460d98846040516117da91906134ea565b60405180910390a4601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925050611852565b611865565b808061185d90613a9a565b9150506115ae565b50505b3373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5856040516118ae91906134ea565b60405180910390a25050505050565b600381600381106118cd57600080fd5b016000915090505481565b60c881565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901549050919050565b600c5481565b6000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600001838154811061198a57611989613a3c565b5b906000526020600020906006020160000160009054906101000a900460ff16905060068160ff1614806119c0575060078160ff16145b6119ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f690613c07565b60405180910390fd5b611a0933846121a5565b611a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3f90613c73565b60405180910390fd5b6000826000018481548110611a6057611a5f613a3c565b5b90600052602060002090600602016002015490506000612710610dac83611a879190613c93565b611a919190613d1c565b905060006127106103e884611aa69190613c93565b611ab09190613d1c565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b1a573d6000803e3d6000fd5b5060008284611b299190613d4d565b9050600047905080821115611b6d57611b61611b4e8284612b0390919063ffffffff16565b88600801546129cc90919063ffffffff16565b87600801819055508091505b8187600a016000828254611b819190613d81565b9250508190555042876000018981548110611b9f57611b9e613a3c565b5b90600052602060002090600602016005018190555081600c6000828254611bc69190613d81565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611c13573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d583604051611c5a91906134ea565b60405180910390a25050505050505050565b601481565b601060009054906101000a900460ff16611cc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb790613e23565b60405180910390fd5b611cc933612b62565b15611cd357600080fd5b67016345785d8a0000341015611d1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1590613e8f565b60405180910390fd5b611d2a33838334612b75565b5050565b6000806000611d3c85612283565b925060048560ff161015611db157611daa6064611d9c60118860ff1681548110611d6957611d68613a3c565b5b906000526020600020906002020160000154611d8e8789612a2a90919063ffffffff16565b612a2a90919063ffffffff16565b612aa590919063ffffffff16565b9150611e76565b60088560ff161015611e7557611dd08385612a2a90919063ffffffff16565b91506000600190505b60118660ff1681548110611df057611def613a3c565b5b906000526020600020906002020160000154811015611e5d576000611e32612710611e248787612a2a90919063ffffffff16565b612aa590919063ffffffff16565b9050611e4781856129cc90919063ffffffff16565b9350508080611e5590613a9a565b915050611dd9565b50611e72606483612aa590919063ffffffff16565b91505b5b611ec5611eb660095460118860ff1681548110611e9657611e95613a3c565b5b906000526020600020906002020160000154612a2a90919063ffffffff16565b426129cc90919063ffffffff16565b90509250925092565b600e5481565b600d5481565b6000611f73601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070154601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060090154612b0390919063ffffffff16565b9050919050565b600047905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612012576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612009906139b0565b60405180910390fd5b61201b81612b62565b1561205b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205290613efb565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60136020528060005260406000206000915090505481565b600a5481565b600080600090505b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905081101561219f5761218a601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811061216957612168613a3c565b5b906000526020600020906006020160020154836129cc90919063ffffffff16565b9150808061219790613a9a565b9150506120c5565b50919050565b600080601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015481600001848154811061224257612241613a3c565b5b9060005260206000209060060201600501541191505092915050565b601060009054906101000a900460ff1681565b600b5481565b6101f481565b610dac81565b6000600a5442111561230c576123056122ce6009546122c06122b0600a5442612b0390919063ffffffff16565b6014612a2a90919063ffffffff16565b612aa590919063ffffffff16565b60118460ff16815481106122e5576122e4613a3c565b5b9060005260206000209060020201600101546129cc90919063ffffffff16565b9050612338565b60118260ff168154811061232357612322613a3c565b5b90600052602060002090600202016001015490505b919050565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b6103e881565b60008060118360ff16815481106123ac576123ab613a3c565b5b906000526020600020906002020160000154915060118360ff16815481106123d7576123d6613a3c565b5b9060005260206000209060020201600101549050915091565b600080601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000612461600954612453846002015442612b0390919063ffffffff16565b612aa590919063ffffffff16565b9050612477601482612a2a90919063ffffffff16565b905060c88111156124875760c890505b8092505050919050565b600f5481565b6000806000806000806000601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000188815481106124f9576124f8613a3c565b5b906000526020600020906006020160000160009054906101000a900460ff1696508060000188815481106125305761252f613a3c565b5b906000526020600020906006020160010154955080600001888154811061255a57612559613a3c565b5b906000526020600020906006020160020154945080600001888154811061258457612583613a3c565b5b90600052602060002090600602016003015493508060000188815481106125ae576125ad613a3c565b5b90600052602060002090600602016004015492508060000188815481106125d8576125d7613a3c565b5b9060005260206000209060060201600501549150509295509295509295565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561268b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126af9190613fa8565b5050509150508091505090565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b67016345785d8a000081565b61032081565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ed906139b0565b60405180910390fd5b6127ff81612b62565b1561283f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283690613efb565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600801549050919050565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6006816003811061297557600080fd5b016000915090505481565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a01549050919050565b60008082846129db9190613d81565b905083811015612a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a179061406f565b60405180910390fd5b8091505092915050565b600080831415612a3d5760009050612a9f565b60008284612a4b9190613c93565b9050828482612a5a9190613d1c565b14612a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9190614101565b60405180910390fd5b809150505b92915050565b6000808211612ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae09061416d565b60405180910390fd5b60008284612af79190613d1c565b90508091505092915050565b600082821115612b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3f906141d9565b60405180910390fd5b60008284612b569190613d4d565b90508091505092915050565b600080823b905060008111915050919050565b60088260ff1610612bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bb290614245565b60405180910390fd5b6000601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000612c29612710612c1b61032086612a2a90919063ffffffff16565b612aa590919063ffffffff16565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612c93573d6000803e3d6000fd5b508573ffffffffffffffffffffffffffffffffffffffff167f2899dc8c12def1caa9accb64257cf2fd9f960f21bb27a560a757eae3c2ec43c182604051612cda91906134ea565b60405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612fd8576000601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490501480612dba57508573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15612de557600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1694505b848260030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b6003811015612fd557600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612fbd57612efa6001601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004018360038110612eea57612ee9613a3c565b5b01546129cc90919063ffffffff16565b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004018260038110612f4e57612f4d613a3c565b5b0181905550601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150612fc2565b612fd5565b8080612fcd90613a9a565b915050612e54565b50505b600073ffffffffffffffffffffffffffffffffffffffff168260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146133165760008260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b600381101561331357600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146132fb5760006130d76127106130c9600385600381106130b8576130b7613a3c565b5b015489612a2a90919063ffffffff16565b612aa590919063ffffffff16565b905061312e81601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701546129cc90919063ffffffff16565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701819055506131c981601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600901546129cc90919063ffffffff16565b601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206009018190555061322481600d546129cc90919063ffffffff16565b600d81905550818973ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fd41f7e766eebcc7ff42b11ac8691bdf864db4afc0c55e71d629d54edce460d988460405161328891906134ea565b60405180910390a4601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925050613300565b613313565b808061330b90613a9a565b91505061305c565b50505b60008260000180549050141561338c5761333c6001600f546129cc90919063ffffffff16565b600f819055504282600101819055504282600201819055507f9fd565cd14c3c391679eb0cad12a14dcf7534e9d3462bcb9b67a098a9bbbc24a8660405161338391906135db565b60405180910390a15b600080600061339b8787611d2e565b925092509250846000016040518060c001604052808960ff16815260200185815260200188815260200184815260200142815260200183815250908060018154018082558091505060019003906000526020600020906006020160009091909190915060008201518160000160006101000a81548160ff021916908360ff1602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015560a08201518160050155505061346886600b546129cc90919063ffffffff16565b600b819055508873ffffffffffffffffffffffffffffffffffffffff167f84e02daa69bdb087c9fe8d3041abca495512cb14e723070f6d1d4efface82e5d8885898642876040516134be9695949392919061384e565b60405180910390a2505050505050505050565b6000819050919050565b6134e4816134d1565b82525050565b60006020820190506134ff60008301846134db565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135358261350a565b9050919050565b6135458161352a565b811461355057600080fd5b50565b6000813590506135628161353c565b92915050565b60006020828403121561357e5761357d613505565b5b600061358c84828501613553565b91505092915050565b60006060820190506135aa60008301866134db565b6135b760208301856134db565b6135c460408301846134db565b949350505050565b6135d58161352a565b82525050565b60006020820190506135f060008301846135cc565b92915050565b6135ff816134d1565b811461360a57600080fd5b50565b60008135905061361c816135f6565b92915050565b60006020828403121561363857613637613505565b5b60006136468482850161360d565b91505092915050565b600060ff82169050919050565b6136658161364f565b811461367057600080fd5b50565b6000813590506136828161365c565b92915050565b6000806040838503121561369f5761369e613505565b5b60006136ad85828601613553565b92505060206136be85828601613673565b9150509250929050565b600080604083850312156136df576136de613505565b5b60006136ed85828601613673565b92505060206136fe8582860161360d565b9150509250929050565b60006137138261350a565b9050919050565b61372381613708565b811461372e57600080fd5b50565b6000813590506137408161371a565b92915050565b60006020828403121561375c5761375b613505565b5b600061376a84828501613731565b91505092915050565b6000806040838503121561378a57613789613505565b5b600061379885828601613553565b92505060206137a98582860161360d565b9150509250929050565b60008115159050919050565b6137c8816137b3565b82525050565b60006020820190506137e360008301846137bf565b92915050565b6000602082840312156137ff576137fe613505565b5b600061380d84828501613673565b91505092915050565b600060408201905061382b60008301856134db565b61383860208301846134db565b9392505050565b6138488161364f565b82525050565b600060c082019050613863600083018961383f565b61387060208301886134db565b61387d60408301876134db565b61388a60608301866134db565b61389760808301856134db565b6138a460a08301846134db565b979650505050505050565b6138b881613708565b82525050565b60006020820190506138d360008301846138af565b92915050565b6000819050919050565b60006138fe6138f96138f48461350a565b6138d9565b61350a565b9050919050565b6000613910826138e3565b9050919050565b600061392282613905565b9050919050565b61393281613917565b82525050565b600060208201905061394d6000830184613929565b92915050565b600082825260208201905092915050565b7f4e4f5420414e204f574e45520000000000000000000000000000000000000000600082015250565b600061399a600c83613953565b91506139a582613964565b602082019050919050565b600060208201905081810360008301526139c98161398d565b9050919050565b7f416c7265616479206c61756e6368656400000000000000000000000000000000600082015250565b6000613a06601083613953565b9150613a11826139d0565b602082019050919050565b60006020820190508181036000830152613a35816139f9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613aa5826134d1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613ad857613ad7613a6b565b5b600182019050919050565b7f7761697420666f72206e65787420776974686472617700000000000000000000600082015250565b6000613b19601683613953565b9150613b2482613ae3565b602082019050919050565b60006020820190508181036000830152613b4881613b0c565b9050919050565b7f5573657220686173206e6f206469766964656e64730000000000000000000000600082015250565b6000613b85601583613953565b9150613b9082613b4f565b602082019050919050565b60006020820190508181036000830152613bb481613b78565b9050919050565b7f6f696e766c616964207061636b61676500000000000000000000000000000000600082015250565b6000613bf1601083613953565b9150613bfc82613bbb565b602082019050919050565b60006020820190508181036000830152613c2081613be4565b9050919050565b7f6465706f736974206e6f74206163746976650000000000000000000000000000600082015250565b6000613c5d601283613953565b9150613c6882613c27565b602082019050919050565b60006020820190508181036000830152613c8c81613c50565b9050919050565b6000613c9e826134d1565b9150613ca9836134d1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ce257613ce1613a6b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613d27826134d1565b9150613d32836134d1565b925082613d4257613d41613ced565b5b828204905092915050565b6000613d58826134d1565b9150613d63836134d1565b925082821015613d7657613d75613a6b565b5b828203905092915050565b6000613d8c826134d1565b9150613d97836134d1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613dcc57613dcb613a6b565b5b828201905092915050565b7f7761697420666f7220746865206c61756e636800000000000000000000000000600082015250565b6000613e0d601383613953565b9150613e1882613dd7565b602082019050919050565b60006020820190508181036000830152613e3c81613e00565b9050919050565b7f6c657373207468616e206d696e204c696d697400000000000000000000000000600082015250565b6000613e79601383613953565b9150613e8482613e43565b602082019050919050565b60006020820190508181036000830152613ea881613e6c565b9050919050565b7f43616e2774206265206120636f6e747261637400000000000000000000000000600082015250565b6000613ee5601383613953565b9150613ef082613eaf565b602082019050919050565b60006020820190508181036000830152613f1481613ed8565b9050919050565b600069ffffffffffffffffffff82169050919050565b613f3a81613f1b565b8114613f4557600080fd5b50565b600081519050613f5781613f31565b92915050565b6000819050919050565b613f7081613f5d565b8114613f7b57600080fd5b50565b600081519050613f8d81613f67565b92915050565b600081519050613fa2816135f6565b92915050565b600080600080600060a08688031215613fc457613fc3613505565b5b6000613fd288828901613f48565b9550506020613fe388828901613f7e565b9450506040613ff488828901613f93565b935050606061400588828901613f93565b925050608061401688828901613f48565b9150509295509295909350565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614059601b83613953565b915061406482614023565b602082019050919050565b600060208201905081810360008301526140888161404c565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006140eb602183613953565b91506140f68261408f565b604082019050919050565b6000602082019050818103600083015261411a816140de565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000614157601a83613953565b915061416282614121565b602082019050919050565b600060208201905081810360008301526141868161414a565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b60006141c3601e83613953565b91506141ce8261418d565b602082019050919050565b600060208201905081810360008301526141f2816141b6565b9050919050565b7f496e76616c696420706c616e0000000000000000000000000000000000000000600082015250565b600061422f600c83613953565b915061423a826141f9565b602082019050919050565b6000602082019050818103600083015261425e81614222565b905091905056fea2646970667358221220f84c4b10901cafc54c5406714b96d24182c12fbeb14fc84d5952b860c41cd06464736f6c634300080a0033

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

0000000000000000000000003140bd294b5977cb04cda3a7ca546cc21a9e5a9900000000000000000000000000000000000000000000000000000000628f87e0

-----Decoded View---------------
Arg [0] : _platform (address): 0x3140Bd294B5977cB04CDa3a7Ca546cc21a9e5A99
Arg [1] : _time (uint256): 1653573600

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000003140bd294b5977cb04cda3a7ca546cc21a9e5a99
Arg [1] : 00000000000000000000000000000000000000000000000000000000628f87e0


Deployed Bytecode Sourcemap

858:17476:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10408:163;;;;;;;;;;;;;:::i;:::-;;1687:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15228:354;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;12693:1464;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16281:282;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1742:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15059:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7005:2218;;;;;;;;;;;;;:::i;:::-;;1106:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1617:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15761:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1848:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9231:1169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1356:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4134:286;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11657:814;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;1919:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1884:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15942:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10928:107;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10750:170;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2645:55;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1784:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16755:288;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17875:258;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1998:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1815:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1288:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1428:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11250:399;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16571:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1516:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11043:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;14165:522;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1964:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17051:635;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;1013:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12518:167;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14868:183;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14695:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1053:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1222:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10579:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16152:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15590:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;919:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;968:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1165:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17694:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10408:163;2766:8;;;;;;;;;;;2752:22;;:10;:22;;;2744:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10470:8:::1;;;;;;;;;;;10469:9;10461:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;10521:4;10510:8;;:15;;;;;;;;;;;;;;;;;;10548;10536:9;:27;;;;10408:163::o:0;1687:48::-;1730:5;1687:48;:::o;15228:354::-;15341:14;15370;15399;15450:5;:18;15456:11;15450:18;;;;;;;;;;;;;;;:25;;15476:1;15450:28;;;;;;;:::i;:::-;;;;15441:37;;15498:5;:18;15504:11;15498:18;;;;;;;;;;;;;;;:25;;15524:1;15498:28;;;;;;;:::i;:::-;;;;15489:37;;15546:5;:18;15552:11;15546:18;;;;;;;;;;;;;;;:25;;15572:1;15546:28;;;;;;;:::i;:::-;;;;15537:37;;15228:354;;;;;:::o;12693:1464::-;12788:7;12813:17;12833:5;:18;12839:11;12833:18;;;;;;;;;;;;;;;12813:38;;12864:19;12894:17;12914:36;12938:11;12914:23;:36::i;:::-;12894:56;;12968:9;12963:1156;12987:4;:13;;:20;;;;12983:1;:24;12963:1156;;;13051:4;:13;;13065:1;13051:16;;;;;;;;:::i;:::-;;;;;;;;;;;;:23;;;13033:4;:15;;;:41;13029:1079;;;13123:1;13099:4;:13;;13113:1;13099:16;;;;;;;;:::i;:::-;;;;;;;;;;;;:21;;;;;;;;;;;;:25;;;13095:998;;;13149:13;13165:194;1730:5;13165:146;13271:39;13300:9;13271:4;:13;;13285:1;13271:16;;;;;;;;:::i;:::-;;;;;;;;;;;;:24;;;:28;;:39;;;;:::i;:::-;13165:4;:39;;13205:1;13165:42;;;;;;;;:::i;:::-;;;;;;;;;;;;:75;;;:105;;:146;;;;:::i;:::-;:176;;:194;;;;:::i;:::-;13149:210;;13382:12;13422:4;:15;;;13397:4;:13;;13411:1;13397:16;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;;;:40;:133;;13515:4;:15;;;13397:133;;;13465:4;:13;;13479:1;13465:16;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;;;13397:133;13382:148;;13553:10;13592:15;13566:4;:13;;13580:1;13566:16;;;;;;;;:::i;:::-;;;;;;;;;;;;:23;;;:41;:135;;13686:15;13566:135;;;13635:4;:13;;13649:1;13635:16;;;;;;;;:::i;:::-;;;;;;;;;;;;:23;;;13566:135;13553:148;;13735:2;13728:4;:9;13724:191;;;13780:111;13826:38;13854:9;;13826:23;13836:12;13843:4;13836:2;:6;;:12;;;;:::i;:::-;13826:5;:9;;:23;;;;:::i;:::-;:27;;:38;;;;:::i;:::-;13780:11;:15;;:111;;;;:::i;:::-;13766:125;;13724:191;13126:808;;;13095:998;;;13962:4;:13;;13976:1;13962:16;;;;;;;;:::i;:::-;;;;;;;;;;;;:23;;;13944:15;:41;13940:153;;;14024:49;14040:32;14068:3;14040:4;:13;;14054:1;14040:16;;;;;;;;:::i;:::-;;;;;;;;;;;;:23;;;:27;;:32;;;;:::i;:::-;14024:11;:15;;:49;;;;:::i;:::-;14010:63;;13940:153;13095:998;13029:1079;13009:3;;;;;:::i;:::-;;;;12963:1156;;;;14138:11;14131:18;;;;;12693:1464;;;:::o;16281:282::-;16376:7;16421:134;16530:24;16542:11;16530;:24::i;:::-;16421:86;16477:29;16494:11;16477:16;:29::i;:::-;16421:33;16442:11;16421:20;:33::i;:::-;:55;;:86;;;;:::i;:::-;:108;;:134;;;;:::i;:::-;16401:154;;16281:282;;;:::o;1742:33::-;;;;:::o;15059:161::-;15153:7;15185:5;:18;15191:11;15185:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;15178:34;;15059:161;;;:::o;7005:2218::-;7043:17;7063:5;:17;7069:10;7063:17;;;;;;;;;;;;;;;7043:37;;7132:30;7152:9;;7132:4;:15;;;:19;;:30;;;;:::i;:::-;7113:15;:49;;7091:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;7225:19;7247:28;7264:10;7247:16;:28::i;:::-;7225:50;;7286:21;7310:32;7331:10;7310:20;:32::i;:::-;7286:56;;7373:1;7357:13;:17;7353:123;;;7404:1;7391:4;:10;;:14;;;;7434:30;7450:13;7434:11;:15;;:30;;;;:::i;:::-;7420:44;;7353:123;7502:1;7490:4;:9;;;:13;7486:114;;;7534:26;7550:4;:9;;;7534:11;:15;;:26;;;;:::i;:::-;7520:40;;7587:1;7575:4;:9;;:13;;;;7486:114;7632:1;7618:11;:15;7610:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;7670:11;7684:51;1730:5;7684:29;1327:3;7684:11;:15;;:29;;;;:::i;:::-;:33;;:51;;;;:::i;:::-;7670:65;;7754:15;;;;;;;;;;;7746:33;;:38;7780:3;7746:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7809:20;7825:3;7809:11;:15;;:20;;;;:::i;:::-;7795:34;;7842:23;7868:21;7842:47;;7918:15;7904:11;:29;7900:165;;;7962:47;7976:32;7992:15;7976:11;:15;;:32;;;;:::i;:::-;7962:4;:9;;;:13;;:47;;;;:::i;:::-;7950:4;:9;;:59;;;;8038:15;8024:29;;7900:165;8095:15;8077:4;:15;;:33;;;;8148:15;8121:4;:24;;:42;;;;8196:36;8220:11;8196:4;:19;;;:23;;:36;;;;:::i;:::-;8174:4;:19;;:58;;;;8260:31;8279:11;8260:14;;:18;;:31;;;;:::i;:::-;8243:14;:48;;;;8312:10;8304:28;;:41;8333:11;8304:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8387:1;8362:27;;:4;:13;;;;;;;;;;;;:27;;;8358:806;;8406:14;8423:4;:13;;;;;;;;;;;;8406:30;;8456:9;8451:702;8475:23;8471:1;:27;8451:702;;;8546:1;8528:20;;:6;:20;;;8524:613;;8573:17;8593:106;1730:5;8593:36;8609:16;8626:1;8609:19;;;;;;;:::i;:::-;;;;8593:11;:15;;:36;;;;:::i;:::-;:40;;:106;;;;:::i;:::-;8573:126;;8744:34;8768:9;8744:5;:13;8750:6;8744:13;;;;;;;;;;;;;;;:19;;;:23;;:34;;;;:::i;:::-;8722:5;:13;8728:6;8722:13;;;;;;;;;;;;;;;:19;;:56;;;;8828:87;8883:9;8828:5;:13;8834:6;8828:13;;;;;;;;;;;;;;;:24;;;:28;;:87;;;;:::i;:::-;8801:5;:13;8807:6;8801:13;;;;;;;;;;;;;;;:24;;:114;;;;8954:28;8972:9;8954:13;;:17;;:28;;;;:::i;:::-;8938:13;:44;;;;9039:1;9027:10;9010:42;;9019:6;9010:42;;;9042:9;9010:42;;;;;;:::i;:::-;;;;;;;;9084:5;:13;9090:6;9084:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;9075:31;;8550:576;8524:613;;;9132:5;;8524:613;8500:3;;;;;:::i;:::-;;;;8451:702;;;;8391:773;8358:806;9191:10;9181:34;;;9203:11;9181:34;;;;;;:::i;:::-;;;;;;;;7032:2191;;;;;7005:2218::o;1106:52::-;;;;;;;;;;;;;;;;;;;;:::o;1617:46::-;1660:3;1617:46;:::o;15761:173::-;15865:7;15897:5;:18;15903:11;15897:18;;;;;;;;;;;;;;;:29;;;15890:36;;15761:173;;;:::o;1848:29::-;;;;:::o;9231:1169::-;9291:17;9311:5;:17;9317:10;9311:17;;;;;;;;;;;;;;;9291:37;;9339:10;9352:4;:13;;9366:5;9352:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:25;;;;;;;;;;;;9339:38;;9404:1;9396:4;:9;;;:22;;;;9417:1;9409:4;:9;;;9396:22;9388:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;9458:34;9474:10;9486:5;9458:15;:34::i;:::-;9450:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;9526:21;9550:4;:13;;9564:5;9550:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:27;;;9526:51;;9588:24;1730:5;1475:4;9616:13;:36;;;;:::i;:::-;9615:70;;;;:::i;:::-;9588:97;;9696:21;1730:5;1566:4;9721:13;:39;;;;:::i;:::-;9720:73;;;;:::i;:::-;9696:97;;9804:15;;;;;;;;;;;:24;;:39;9829:13;9804:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9856:19;9894:16;9878:13;:32;;;;:::i;:::-;9856:54;;9923:23;9949:21;9923:47;;9999:15;9985:11;:29;9981:165;;;10043:47;10057:32;10073:15;10057:11;:15;;:32;;;;:::i;:::-;10043:4;:9;;;:13;;:47;;;;:::i;:::-;10031:4;:9;;:59;;;;10119:15;10105:29;;9981:165;10179:11;10156:4;:19;;;:34;;;;;;;:::i;:::-;;;;;;;;10231:15;10201:4;:13;;10215:5;10201:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:27;;:45;;;;10275:11;10257:14;;:29;;;;;;;:::i;:::-;;;;;;;;10307:10;10299:28;;:41;10328:11;10299:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10368:10;10358:34;;;10380:11;10358:34;;;;;;:::i;:::-;;;;;;;;9280:1120;;;;;;;9231:1169;:::o;1356:41::-;1395:2;1356:41;:::o;4134:286::-;4214:8;;;;;;;;;;;4206:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;4266:22;4277:10;4266;:22::i;:::-;4265:23;4257:32;;;;;;1090:9;4308;:23;;4300:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;4366:46;4374:10;4386:8;4396:4;4402:9;4366:7;:46::i;:::-;4134:286;;:::o;11657:814::-;11766:15;11796:14;11825;11877:16;11888:4;11877:10;:16::i;:::-;11867:26;;11917:1;11910:4;:8;;;11906:484;;;11944:82;12008:3;11944:41;11968:5;11974:4;11968:11;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:16;;;11944:19;11955:7;11944:6;:10;;:19;;;;:::i;:::-;:23;;:41;;;;:::i;:::-;:45;;:82;;;;:::i;:::-;11935:91;;11906:484;;;12055:1;12048:4;:8;;;12044:346;;;12082:19;12093:7;12082:6;:10;;:19;;;;:::i;:::-;12073:28;;12121:9;12133:1;12121:13;;12116:224;12140:5;12146:4;12140:11;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:16;;;12136:1;:20;12116:224;;;12182:17;12202:73;1730:5;12202:19;12213:7;12202:6;:10;;:19;;;;:::i;:::-;:23;;:73;;;;:::i;:::-;12182:93;;12303:21;12314:9;12303:6;:10;;:21;;;;:::i;:::-;12294:30;;12163:177;12158:3;;;;;:::i;:::-;;;;12116:224;;;;12363:15;12374:3;12363:6;:10;;:15;;;;:::i;:::-;12354:24;;12044:346;11906:484;12411:52;12431:31;12452:9;;12431:5;12437:4;12431:11;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:16;;;:20;;:31;;;;:::i;:::-;12411:15;:19;;:52;;;;:::i;:::-;12402:61;;11657:814;;;;;:::o;1919:38::-;;;;:::o;1884:28::-;;;;:::o;15942:202::-;16045:7;16077:59;16111:5;:18;16117:11;16111:18;;;;;;;;;;;;;;;:24;;;16077:5;:18;16083:11;16077:18;;;;;;;;;;;;;;;:29;;;:33;;:59;;;;:::i;:::-;16070:66;;15942:202;;;:::o;10928:107::-;10979:7;11006:21;10999:28;;10928:107;:::o;10750:170::-;2766:8;;;;;;;;;;;2752:22;;:10;:22;;;2744:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10840:16:::1;10851:4;10840:10;:16::i;:::-;10839:17;10831:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10908:4;10890:15;;:22;;;;;;;;;;;;;;;;;;10750:170:::0;:::o;2645:55::-;;;;;;;;;;;;;;;;;:::o;1784:24::-;;;;:::o;16755:288::-;16854:14;16891:9;16903:1;16891:13;;16886:150;16910:5;:18;16916:11;16910:18;;;;;;;;;;;;;;;:27;;:34;;;;16906:1;:38;16886:150;;;16975:49;16986:5;:18;16992:11;16986:18;;;;;;;;;;;;;;;:27;;17014:1;16986:30;;;;;;;;:::i;:::-;;;;;;;;;;;;:37;;;16975:6;:10;;:49;;;;:::i;:::-;16966:58;;16946:3;;;;;:::i;:::-;;;;16886:150;;;;16755:288;;;:::o;17875:258::-;17984:4;18006:17;18026:5;:18;18032:11;18026:18;;;;;;;;;;;;;;;18006:38;;18095:5;:18;18101:11;18095:18;;;;;;;;;;;;;;;:29;;;18065:4;:13;;18079:5;18065:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:27;;;:59;18057:68;;;17875:258;;;;:::o;1998:20::-;;;;;;;;;;;;;:::o;1815:26::-;;;;:::o;1288:42::-;1327:3;1288:42;:::o;1428:51::-;1475:4;1428:51;:::o;11250:399::-;11303:7;11345:9;;11327:15;:27;11323:319;;;11395:176;11441:111;11520:9;;11441:48;11458:30;11478:9;;11458:15;:19;;:30;;;;:::i;:::-;1395:2;11441:16;;:48;;;;:::i;:::-;:52;;:111;;;;:::i;:::-;11395:5;11401:4;11395:11;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;;:23;;:176;;;;:::i;:::-;11371:200;;;;11323:319;11611:5;11617:4;11611:11;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;;11604:26;;11250:399;;;;:::o;16571:176::-;16673:7;16705:5;:18;16711:11;16705:18;;;;;;;;;;;;;;;:27;;:34;;;;16698:41;;16571:176;;;:::o;1516:54::-;1566:4;1516:54;:::o;11043:199::-;11124:12;11138:15;11178:5;11184:4;11178:11;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:16;;;11171:23;;11215:5;11221:4;11215:11;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;;11205:29;;11043:199;;;:::o;14165:522::-;14267:7;14292:17;14312:5;:18;14318:11;14312:18;;;;;;;;;;;;;;;14292:38;;14343:22;14368:102;14460:9;;14368:73;14416:4;:24;;;14368:29;:47;;:73;;;;:::i;:::-;:91;;:102;;;;:::i;:::-;14343:127;;14498:22;14517:2;14498:14;:18;;:22;;;;:::i;:::-;14481:39;;1660:3;14553:14;:33;14549:99;;;1660:3;14603:33;;14549:99;14665:14;14658:21;;;;14165:522;;;:::o;1964:25::-;;;;:::o;17051:635::-;17177:10;17202:15;17232:14;17261;17290:13;17318:14;17360:17;17380:5;:18;17386:11;17380:18;;;;;;;;;;;;;;;17360:38;;17418:4;:13;;17432:5;17418:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:25;;;;;;;;;;;;17411:32;;17464:4;:13;;17478:5;17464:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:28;;;17454:38;;17512:4;:13;;17526:5;17512:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:27;;;17503:36;;17559:4;:13;;17573:5;17559:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:27;;;17550:36;;17605:4;:13;;17619:5;17605:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:26;;;17597:34;;17651:4;:13;;17665:5;17651:20;;;;;;;;:::i;:::-;;;;;;;;;;;;:27;;;17642:36;;17349:337;17051:635;;;;;;;;:::o;1013:31::-;;;;;;;;;;;;;:::o;12518:167::-;12569:7;12592:12;12614:13;;;;;;;;;;:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12589:56;;;;;;12671:5;12656:21;;;12518:167;:::o;14868:183::-;14973:7;15005:5;:18;15011:11;15005:18;;;;;;;;;;;;;;;:38;;;14998:45;;14868:183;;;:::o;14695:165::-;14791:7;14823:5;:18;14829:11;14823:18;;;;;;;;;;;;;;;:29;;;14816:36;;14695:165;;;:::o;1053:46::-;1090:9;1053:46;:::o;1222:41::-;1260:3;1222:41;:::o;10579:163::-;2766:8;;;;;;;;;;;2752:22;;:10;:22;;;2744:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10669:16:::1;10680:4;10669:10;:16::i;:::-;10668:17;10660:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10730:4;10719:8;;:15;;;;;;;;;;;;;;;;;;10579:163:::0;:::o;16152:121::-;16215:7;16242:5;:18;16248:11;16242:18;;;;;;;;;;;;;;;:23;;;16235:30;;16152:121;;;:::o;15590:163::-;15689:7;15721:5;:18;15727:11;15721:18;;;;;;;;;;;;;;;:24;;;15714:31;;15590:163;;;:::o;919:42::-;;;;;;;;;;;;:::o;968:38::-;;;;;;;;;;;;;:::o;1165:50::-;;;;;;;;;;;;;;;;;;;;:::o;17694:173::-;17794:7;17826:5;:18;17832:11;17826:18;;;;;;;;;;;;;;;:33;;;17819:40;;17694:173;;;:::o;18362:181::-;18420:7;18440:9;18456:1;18452;:5;;;;:::i;:::-;18440:17;;18481:1;18476;:6;;18468:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;18534:1;18527:8;;;18362:181;;;;:::o;18743:250::-;18801:7;18830:1;18825;:6;18821:47;;;18855:1;18848:8;;;;18821:47;18880:9;18896:1;18892;:5;;;;:::i;:::-;18880:17;;18925:1;18920;18916;:5;;;;:::i;:::-;:10;18908:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;18984:1;18977:8;;;18743:250;;;;;:::o;19001:179::-;19059:7;19091:1;19087;:5;19079:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;19134:9;19150:1;19146;:5;;;;:::i;:::-;19134:17;;19171:1;19164:8;;;19001:179;;;;:::o;18551:184::-;18609:7;18642:1;18637;:6;;18629:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;18689:9;18705:1;18701;:5;;;;:::i;:::-;18689:17;;18726:1;18719:8;;;18551:184;;;;:::o;18141:190::-;18198:4;18215:12;18282:4;18270:17;18262:25;;18322:1;18315:4;:8;18308:15;;;18141:190;;;:::o;4428:2569::-;4590:1;4583:4;:8;;;4575:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;4619:17;4639:5;:18;4645:11;4639:18;;;;;;;;;;;;;;;4619:38;;4670:11;4684:45;1730:5;4684:23;1260:3;4684:6;:10;;:23;;;;:::i;:::-;:27;;:45;;;;:::i;:::-;4670:59;;4740:15;;;;;;;;;;;:24;;:29;4765:3;4740:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4794:11;4785:26;;;4807:3;4785:26;;;;;;:::i;:::-;;;;;;;;4853:1;4828:27;;:4;:13;;;;;;;;;;;;:27;;;4824:618;;;4930:1;4895:5;:15;4901:8;4895:15;;;;;;;;;;;;;;;:24;;:31;;;;:36;:84;;;;4968:11;4956:23;;:8;:23;;;4895:84;4872:178;;;5026:8;;;;;;;;;;;5015:19;;4872:178;5082:8;5066:4;:13;;;:24;;;;;;;;;;;;;;;;;;5107:14;5124:4;:13;;;;;;;;;;;;5107:30;;5157:9;5152:279;5176:23;5172:1;:27;5152:279;;;5247:1;5229:20;;:6;:20;;;5225:190;;5300:30;5328:1;5300:5;:13;5306:6;5300:13;;;;;;;;;;;;;;;:20;;5321:1;5300:23;;;;;;;:::i;:::-;;;;:27;;:30;;;;:::i;:::-;5274:5;:13;5280:6;5274:13;;;;;;;;;;;;;;;:20;;5295:1;5274:23;;;;;;;:::i;:::-;;;:56;;;;5362:5;:13;5368:6;5362:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;5353:31;;5225:190;;;5410:5;;5225:190;5201:3;;;;;:::i;:::-;;;;5152:279;;;;4857:585;4824:618;5483:1;5458:27;;:4;:13;;;;;;;;;;;;:27;;;5454:802;;5502:14;5519:4;:13;;;;;;;;;;;;5502:30;;5552:9;5547:698;5571:23;5567:1;:27;5547:698;;;5642:1;5624:20;;:6;:20;;;5620:609;;5669:17;5689:101;1730:5;5689:31;5700:16;5717:1;5700:19;;;;;;;:::i;:::-;;;;5689:6;:10;;:31;;;;:::i;:::-;:35;;:101;;;;:::i;:::-;5669:121;;5835:34;5859:9;5835:5;:13;5841:6;5835:13;;;;;;;;;;;;;;;:19;;;:23;;:34;;;;:::i;:::-;5813:5;:13;5819:6;5813:13;;;;;;;;;;;;;;;:19;;:56;;;;5919:87;5974:9;5919:5;:13;5925:6;5919:13;;;;;;;;;;;;;;;:24;;;:28;;:87;;;;:::i;:::-;5892:5;:13;5898:6;5892:13;;;;;;;;;;;;;;;:24;;:114;;;;6045:28;6063:9;6045:13;;:17;;:28;;;;:::i;:::-;6029:13;:44;;;;6131:1;6118:11;6101:43;;6110:6;6101:43;;;6134:9;6101:43;;;;;;:::i;:::-;;;;;;;;6176:5;:13;6182:6;6176:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;6167:31;;5646:572;5620:609;;;6224:5;;5620:609;5596:3;;;;;:::i;:::-;;;;5547:698;;;;5487:769;5454:802;6296:1;6272:4;:13;;:20;;;;:25;6268:232;;;6327:17;6342:1;6327:10;;:14;;:17;;;;:::i;:::-;6314:10;:30;;;;6377:15;6359:4;:15;;:33;;;;6434:15;6407:4;:24;;:42;;;;6469:19;6476:11;6469:19;;;;;;:::i;:::-;;;;;;;;6268:232;6513:15;6530:14;6546;6564:60;6588:4;6607:6;6564:9;:60::i;:::-;6512:112;;;;;;6635:4;:13;;6668:63;;;;;;;;6676:4;6668:63;;;;;;6682:7;6668:63;;;;6691:6;6668:63;;;;6699:6;6668:63;;;;6707:15;6668:63;;;;6724:6;6668:63;;;6635:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6769:23;6785:6;6769:11;;:15;;:23;;;;:::i;:::-;6755:11;:37;;;;6833:11;6808:181;;;6859:4;6878:7;6900:6;6921;6942:15;6972:6;6808:181;;;;;;;;;;;:::i;:::-;;;;;;;;4564:2433;;;;;4428:2569;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:126;806:7;846:42;839:5;835:54;824:65;;769:126;;;:::o;901:96::-;938:7;967:24;985:5;967:24;:::i;:::-;956:35;;901:96;;;:::o;1003:122::-;1076:24;1094:5;1076:24;:::i;:::-;1069:5;1066:35;1056:63;;1115:1;1112;1105:12;1056:63;1003:122;:::o;1131:139::-;1177:5;1215:6;1202:20;1193:29;;1231:33;1258:5;1231:33;:::i;:::-;1131:139;;;;:::o;1276:329::-;1335:6;1384:2;1372:9;1363:7;1359:23;1355:32;1352:119;;;1390:79;;:::i;:::-;1352:119;1510:1;1535:53;1580:7;1571:6;1560:9;1556:22;1535:53;:::i;:::-;1525:63;;1481:117;1276:329;;;;:::o;1611:442::-;1760:4;1798:2;1787:9;1783:18;1775:26;;1811:71;1879:1;1868:9;1864:17;1855:6;1811:71;:::i;:::-;1892:72;1960:2;1949:9;1945:18;1936:6;1892:72;:::i;:::-;1974;2042:2;2031:9;2027:18;2018:6;1974:72;:::i;:::-;1611:442;;;;;;:::o;2059:118::-;2146:24;2164:5;2146:24;:::i;:::-;2141:3;2134:37;2059:118;;:::o;2183:222::-;2276:4;2314:2;2303:9;2299:18;2291:26;;2327:71;2395:1;2384:9;2380:17;2371:6;2327:71;:::i;:::-;2183:222;;;;:::o;2411:122::-;2484:24;2502:5;2484:24;:::i;:::-;2477:5;2474:35;2464:63;;2523:1;2520;2513:12;2464:63;2411:122;:::o;2539:139::-;2585:5;2623:6;2610:20;2601:29;;2639:33;2666:5;2639:33;:::i;:::-;2539:139;;;;:::o;2684:329::-;2743:6;2792:2;2780:9;2771:7;2767:23;2763:32;2760:119;;;2798:79;;:::i;:::-;2760:119;2918:1;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2889:117;2684:329;;;;:::o;3019:86::-;3054:7;3094:4;3087:5;3083:16;3072:27;;3019:86;;;:::o;3111:118::-;3182:22;3198:5;3182:22;:::i;:::-;3175:5;3172:33;3162:61;;3219:1;3216;3209:12;3162:61;3111:118;:::o;3235:135::-;3279:5;3317:6;3304:20;3295:29;;3333:31;3358:5;3333:31;:::i;:::-;3235:135;;;;:::o;3376:470::-;3442:6;3450;3499:2;3487:9;3478:7;3474:23;3470:32;3467:119;;;3505:79;;:::i;:::-;3467:119;3625:1;3650:53;3695:7;3686:6;3675:9;3671:22;3650:53;:::i;:::-;3640:63;;3596:117;3752:2;3778:51;3821:7;3812:6;3801:9;3797:22;3778:51;:::i;:::-;3768:61;;3723:116;3376:470;;;;;:::o;3852:::-;3918:6;3926;3975:2;3963:9;3954:7;3950:23;3946:32;3943:119;;;3981:79;;:::i;:::-;3943:119;4101:1;4126:51;4169:7;4160:6;4149:9;4145:22;4126:51;:::i;:::-;4116:61;;4072:115;4226:2;4252:53;4297:7;4288:6;4277:9;4273:22;4252:53;:::i;:::-;4242:63;;4197:118;3852:470;;;;;:::o;4328:104::-;4373:7;4402:24;4420:5;4402:24;:::i;:::-;4391:35;;4328:104;;;:::o;4438:138::-;4519:32;4545:5;4519:32;:::i;:::-;4512:5;4509:43;4499:71;;4566:1;4563;4556:12;4499:71;4438:138;:::o;4582:155::-;4636:5;4674:6;4661:20;4652:29;;4690:41;4725:5;4690:41;:::i;:::-;4582:155;;;;:::o;4743:345::-;4810:6;4859:2;4847:9;4838:7;4834:23;4830:32;4827:119;;;4865:79;;:::i;:::-;4827:119;4985:1;5010:61;5063:7;5054:6;5043:9;5039:22;5010:61;:::i;:::-;5000:71;;4956:125;4743:345;;;;:::o;5094:474::-;5162:6;5170;5219:2;5207:9;5198:7;5194:23;5190:32;5187:119;;;5225:79;;:::i;:::-;5187:119;5345:1;5370:53;5415:7;5406:6;5395:9;5391:22;5370:53;:::i;:::-;5360:63;;5316:117;5472:2;5498:53;5543:7;5534:6;5523:9;5519:22;5498:53;:::i;:::-;5488:63;;5443:118;5094:474;;;;;:::o;5574:90::-;5608:7;5651:5;5644:13;5637:21;5626:32;;5574:90;;;:::o;5670:109::-;5751:21;5766:5;5751:21;:::i;:::-;5746:3;5739:34;5670:109;;:::o;5785:210::-;5872:4;5910:2;5899:9;5895:18;5887:26;;5923:65;5985:1;5974:9;5970:17;5961:6;5923:65;:::i;:::-;5785:210;;;;:::o;6001:325::-;6058:6;6107:2;6095:9;6086:7;6082:23;6078:32;6075:119;;;6113:79;;:::i;:::-;6075:119;6233:1;6258:51;6301:7;6292:6;6281:9;6277:22;6258:51;:::i;:::-;6248:61;;6204:115;6001:325;;;;:::o;6332:332::-;6453:4;6491:2;6480:9;6476:18;6468:26;;6504:71;6572:1;6561:9;6557:17;6548:6;6504:71;:::i;:::-;6585:72;6653:2;6642:9;6638:18;6629:6;6585:72;:::i;:::-;6332:332;;;;;:::o;6670:112::-;6753:22;6769:5;6753:22;:::i;:::-;6748:3;6741:35;6670:112;;:::o;6788:767::-;7017:4;7055:3;7044:9;7040:19;7032:27;;7069:67;7133:1;7122:9;7118:17;7109:6;7069:67;:::i;:::-;7146:72;7214:2;7203:9;7199:18;7190:6;7146:72;:::i;:::-;7228;7296:2;7285:9;7281:18;7272:6;7228:72;:::i;:::-;7310;7378:2;7367:9;7363:18;7354:6;7310:72;:::i;:::-;7392:73;7460:3;7449:9;7445:19;7436:6;7392:73;:::i;:::-;7475;7543:3;7532:9;7528:19;7519:6;7475:73;:::i;:::-;6788:767;;;;;;;;;:::o;7561:142::-;7664:32;7690:5;7664:32;:::i;:::-;7659:3;7652:45;7561:142;;:::o;7709:254::-;7818:4;7856:2;7845:9;7841:18;7833:26;;7869:87;7953:1;7942:9;7938:17;7929:6;7869:87;:::i;:::-;7709:254;;;;:::o;7969:60::-;7997:3;8018:5;8011:12;;7969:60;;;:::o;8035:142::-;8085:9;8118:53;8136:34;8145:24;8163:5;8145:24;:::i;:::-;8136:34;:::i;:::-;8118:53;:::i;:::-;8105:66;;8035:142;;;:::o;8183:126::-;8233:9;8266:37;8297:5;8266:37;:::i;:::-;8253:50;;8183:126;;;:::o;8315:154::-;8393:9;8426:37;8457:5;8426:37;:::i;:::-;8413:50;;8315:154;;;:::o;8475:187::-;8590:65;8649:5;8590:65;:::i;:::-;8585:3;8578:78;8475:187;;:::o;8668:278::-;8789:4;8827:2;8816:9;8812:18;8804:26;;8840:99;8936:1;8925:9;8921:17;8912:6;8840:99;:::i;:::-;8668:278;;;;:::o;8952:169::-;9036:11;9070:6;9065:3;9058:19;9110:4;9105:3;9101:14;9086:29;;8952:169;;;;:::o;9127:162::-;9267:14;9263:1;9255:6;9251:14;9244:38;9127:162;:::o;9295:366::-;9437:3;9458:67;9522:2;9517:3;9458:67;:::i;:::-;9451:74;;9534:93;9623:3;9534:93;:::i;:::-;9652:2;9647:3;9643:12;9636:19;;9295:366;;;:::o;9667:419::-;9833:4;9871:2;9860:9;9856:18;9848:26;;9920:9;9914:4;9910:20;9906:1;9895:9;9891:17;9884:47;9948:131;10074:4;9948:131;:::i;:::-;9940:139;;9667:419;;;:::o;10092:166::-;10232:18;10228:1;10220:6;10216:14;10209:42;10092:166;:::o;10264:366::-;10406:3;10427:67;10491:2;10486:3;10427:67;:::i;:::-;10420:74;;10503:93;10592:3;10503:93;:::i;:::-;10621:2;10616:3;10612:12;10605:19;;10264:366;;;:::o;10636:419::-;10802:4;10840:2;10829:9;10825:18;10817:26;;10889:9;10883:4;10879:20;10875:1;10864:9;10860:17;10853:47;10917:131;11043:4;10917:131;:::i;:::-;10909:139;;10636:419;;;:::o;11061:180::-;11109:77;11106:1;11099:88;11206:4;11203:1;11196:15;11230:4;11227:1;11220:15;11247:180;11295:77;11292:1;11285:88;11392:4;11389:1;11382:15;11416:4;11413:1;11406:15;11433:233;11472:3;11495:24;11513:5;11495:24;:::i;:::-;11486:33;;11541:66;11534:5;11531:77;11528:103;;;11611:18;;:::i;:::-;11528:103;11658:1;11651:5;11647:13;11640:20;;11433:233;;;:::o;11672:172::-;11812:24;11808:1;11800:6;11796:14;11789:48;11672:172;:::o;11850:366::-;11992:3;12013:67;12077:2;12072:3;12013:67;:::i;:::-;12006:74;;12089:93;12178:3;12089:93;:::i;:::-;12207:2;12202:3;12198:12;12191:19;;11850:366;;;:::o;12222:419::-;12388:4;12426:2;12415:9;12411:18;12403:26;;12475:9;12469:4;12465:20;12461:1;12450:9;12446:17;12439:47;12503:131;12629:4;12503:131;:::i;:::-;12495:139;;12222:419;;;:::o;12647:171::-;12787:23;12783:1;12775:6;12771:14;12764:47;12647:171;:::o;12824:366::-;12966:3;12987:67;13051:2;13046:3;12987:67;:::i;:::-;12980:74;;13063:93;13152:3;13063:93;:::i;:::-;13181:2;13176:3;13172:12;13165:19;;12824:366;;;:::o;13196:419::-;13362:4;13400:2;13389:9;13385:18;13377:26;;13449:9;13443:4;13439:20;13435:1;13424:9;13420:17;13413:47;13477:131;13603:4;13477:131;:::i;:::-;13469:139;;13196:419;;;:::o;13621:166::-;13761:18;13757:1;13749:6;13745:14;13738:42;13621:166;:::o;13793:366::-;13935:3;13956:67;14020:2;14015:3;13956:67;:::i;:::-;13949:74;;14032:93;14121:3;14032:93;:::i;:::-;14150:2;14145:3;14141:12;14134:19;;13793:366;;;:::o;14165:419::-;14331:4;14369:2;14358:9;14354:18;14346:26;;14418:9;14412:4;14408:20;14404:1;14393:9;14389:17;14382:47;14446:131;14572:4;14446:131;:::i;:::-;14438:139;;14165:419;;;:::o;14590:168::-;14730:20;14726:1;14718:6;14714:14;14707:44;14590:168;:::o;14764:366::-;14906:3;14927:67;14991:2;14986:3;14927:67;:::i;:::-;14920:74;;15003:93;15092:3;15003:93;:::i;:::-;15121:2;15116:3;15112:12;15105:19;;14764:366;;;:::o;15136:419::-;15302:4;15340:2;15329:9;15325:18;15317:26;;15389:9;15383:4;15379:20;15375:1;15364:9;15360:17;15353:47;15417:131;15543:4;15417:131;:::i;:::-;15409:139;;15136:419;;;:::o;15561:348::-;15601:7;15624:20;15642:1;15624:20;:::i;:::-;15619:25;;15658:20;15676:1;15658:20;:::i;:::-;15653:25;;15846:1;15778:66;15774:74;15771:1;15768:81;15763:1;15756:9;15749:17;15745:105;15742:131;;;15853:18;;:::i;:::-;15742:131;15901:1;15898;15894:9;15883:20;;15561:348;;;;:::o;15915:180::-;15963:77;15960:1;15953:88;16060:4;16057:1;16050:15;16084:4;16081:1;16074:15;16101:185;16141:1;16158:20;16176:1;16158:20;:::i;:::-;16153:25;;16192:20;16210:1;16192:20;:::i;:::-;16187:25;;16231:1;16221:35;;16236:18;;:::i;:::-;16221:35;16278:1;16275;16271:9;16266:14;;16101:185;;;;:::o;16292:191::-;16332:4;16352:20;16370:1;16352:20;:::i;:::-;16347:25;;16386:20;16404:1;16386:20;:::i;:::-;16381:25;;16425:1;16422;16419:8;16416:34;;;16430:18;;:::i;:::-;16416:34;16475:1;16472;16468:9;16460:17;;16292:191;;;;:::o;16489:305::-;16529:3;16548:20;16566:1;16548:20;:::i;:::-;16543:25;;16582:20;16600:1;16582:20;:::i;:::-;16577:25;;16736:1;16668:66;16664:74;16661:1;16658:81;16655:107;;;16742:18;;:::i;:::-;16655:107;16786:1;16783;16779:9;16772:16;;16489:305;;;;:::o;16800:169::-;16940:21;16936:1;16928:6;16924:14;16917:45;16800:169;:::o;16975:366::-;17117:3;17138:67;17202:2;17197:3;17138:67;:::i;:::-;17131:74;;17214:93;17303:3;17214:93;:::i;:::-;17332:2;17327:3;17323:12;17316:19;;16975:366;;;:::o;17347:419::-;17513:4;17551:2;17540:9;17536:18;17528:26;;17600:9;17594:4;17590:20;17586:1;17575:9;17571:17;17564:47;17628:131;17754:4;17628:131;:::i;:::-;17620:139;;17347:419;;;:::o;17772:169::-;17912:21;17908:1;17900:6;17896:14;17889:45;17772:169;:::o;17947:366::-;18089:3;18110:67;18174:2;18169:3;18110:67;:::i;:::-;18103:74;;18186:93;18275:3;18186:93;:::i;:::-;18304:2;18299:3;18295:12;18288:19;;17947:366;;;:::o;18319:419::-;18485:4;18523:2;18512:9;18508:18;18500:26;;18572:9;18566:4;18562:20;18558:1;18547:9;18543:17;18536:47;18600:131;18726:4;18600:131;:::i;:::-;18592:139;;18319:419;;;:::o;18744:169::-;18884:21;18880:1;18872:6;18868:14;18861:45;18744:169;:::o;18919:366::-;19061:3;19082:67;19146:2;19141:3;19082:67;:::i;:::-;19075:74;;19158:93;19247:3;19158:93;:::i;:::-;19276:2;19271:3;19267:12;19260:19;;18919:366;;;:::o;19291:419::-;19457:4;19495:2;19484:9;19480:18;19472:26;;19544:9;19538:4;19534:20;19530:1;19519:9;19515:17;19508:47;19572:131;19698:4;19572:131;:::i;:::-;19564:139;;19291:419;;;:::o;19716:105::-;19752:7;19792:22;19785:5;19781:34;19770:45;;19716:105;;;:::o;19827:120::-;19899:23;19916:5;19899:23;:::i;:::-;19892:5;19889:34;19879:62;;19937:1;19934;19927:12;19879:62;19827:120;:::o;19953:141::-;20009:5;20040:6;20034:13;20025:22;;20056:32;20082:5;20056:32;:::i;:::-;19953:141;;;;:::o;20100:76::-;20136:7;20165:5;20154:16;;20100:76;;;:::o;20182:120::-;20254:23;20271:5;20254:23;:::i;:::-;20247:5;20244:34;20234:62;;20292:1;20289;20282:12;20234:62;20182:120;:::o;20308:141::-;20364:5;20395:6;20389:13;20380:22;;20411:32;20437:5;20411:32;:::i;:::-;20308:141;;;;:::o;20455:143::-;20512:5;20543:6;20537:13;20528:22;;20559:33;20586:5;20559:33;:::i;:::-;20455:143;;;;:::o;20604:971::-;20707:6;20715;20723;20731;20739;20788:3;20776:9;20767:7;20763:23;20759:33;20756:120;;;20795:79;;:::i;:::-;20756:120;20915:1;20940:63;20995:7;20986:6;20975:9;20971:22;20940:63;:::i;:::-;20930:73;;20886:127;21052:2;21078:63;21133:7;21124:6;21113:9;21109:22;21078:63;:::i;:::-;21068:73;;21023:128;21190:2;21216:64;21272:7;21263:6;21252:9;21248:22;21216:64;:::i;:::-;21206:74;;21161:129;21329:2;21355:64;21411:7;21402:6;21391:9;21387:22;21355:64;:::i;:::-;21345:74;;21300:129;21468:3;21495:63;21550:7;21541:6;21530:9;21526:22;21495:63;:::i;:::-;21485:73;;21439:129;20604:971;;;;;;;;:::o;21581:177::-;21721:29;21717:1;21709:6;21705:14;21698:53;21581:177;:::o;21764:366::-;21906:3;21927:67;21991:2;21986:3;21927:67;:::i;:::-;21920:74;;22003:93;22092:3;22003:93;:::i;:::-;22121:2;22116:3;22112:12;22105:19;;21764:366;;;:::o;22136:419::-;22302:4;22340:2;22329:9;22325:18;22317:26;;22389:9;22383:4;22379:20;22375:1;22364:9;22360:17;22353:47;22417:131;22543:4;22417:131;:::i;:::-;22409:139;;22136:419;;;:::o;22561:220::-;22701:34;22697:1;22689:6;22685:14;22678:58;22770:3;22765:2;22757:6;22753:15;22746:28;22561:220;:::o;22787:366::-;22929:3;22950:67;23014:2;23009:3;22950:67;:::i;:::-;22943:74;;23026:93;23115:3;23026:93;:::i;:::-;23144:2;23139:3;23135:12;23128:19;;22787:366;;;:::o;23159:419::-;23325:4;23363:2;23352:9;23348:18;23340:26;;23412:9;23406:4;23402:20;23398:1;23387:9;23383:17;23376:47;23440:131;23566:4;23440:131;:::i;:::-;23432:139;;23159:419;;;:::o;23584:176::-;23724:28;23720:1;23712:6;23708:14;23701:52;23584:176;:::o;23766:366::-;23908:3;23929:67;23993:2;23988:3;23929:67;:::i;:::-;23922:74;;24005:93;24094:3;24005:93;:::i;:::-;24123:2;24118:3;24114:12;24107:19;;23766:366;;;:::o;24138:419::-;24304:4;24342:2;24331:9;24327:18;24319:26;;24391:9;24385:4;24381:20;24377:1;24366:9;24362:17;24355:47;24419:131;24545:4;24419:131;:::i;:::-;24411:139;;24138:419;;;:::o;24563:180::-;24703:32;24699:1;24691:6;24687:14;24680:56;24563:180;:::o;24749:366::-;24891:3;24912:67;24976:2;24971:3;24912:67;:::i;:::-;24905:74;;24988:93;25077:3;24988:93;:::i;:::-;25106:2;25101:3;25097:12;25090:19;;24749:366;;;:::o;25121:419::-;25287:4;25325:2;25314:9;25310:18;25302:26;;25374:9;25368:4;25364:20;25360:1;25349:9;25345:17;25338:47;25402:131;25528:4;25402:131;:::i;:::-;25394:139;;25121:419;;;:::o;25546:162::-;25686:14;25682:1;25674:6;25670:14;25663:38;25546:162;:::o;25714:366::-;25856:3;25877:67;25941:2;25936:3;25877:67;:::i;:::-;25870:74;;25953:93;26042:3;25953:93;:::i;:::-;26071:2;26066:3;26062:12;26055:19;;25714:366;;;:::o;26086:419::-;26252:4;26290:2;26279:9;26275:18;26267:26;;26339:9;26333:4;26329:20;26325:1;26314:9;26310:17;26303:47;26367:131;26493:4;26367:131;:::i;:::-;26359:139;;26086:419;;;:::o

Swarm Source

ipfs://f84c4b10901cafc54c5406714b96d24182c12fbeb14fc84d5952b860c41cd064

Block Transaction Gas Used Reward
view all blocks ##produced##

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

Validator Index Block Amount
View All Withdrawals

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

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