S Price: $0.910265 (+6.15%)

Contract

0x33C8E8436077196002D51Ea6B93435E2CA607Cf8

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Submit Predictio...75615782025-02-12 17:12:059 days ago1739380325IN
0x33C8E843...2CA607Cf8
0 S0.009236555.01
Submit Predictio...75613662025-02-12 17:10:339 days ago1739380233IN
0x33C8E843...2CA607Cf8
0 S0.0033986855.01
Submit Predictio...75612872025-02-12 17:09:599 days ago1739380199IN
0x33C8E843...2CA607Cf8
0 S0.0021024255.01
Close Event75611862025-02-12 17:09:189 days ago1739380158IN
0x33C8E843...2CA607Cf8
0 S0.0013910955.01
Submit Predictio...75558222025-02-12 16:30:429 days ago1739377842IN
0x33C8E843...2CA607Cf8
0 S0.0106748455
Create Event75554382025-02-12 16:28:199 days ago1739377699IN
0x33C8E843...2CA607Cf8
0 S0.0079362855

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FootballPrediction

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at SonicScan.org on 2025-02-12
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface IERC20 {
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
}
contract FootballPrediction {
    address public owner;
    IERC20 public token;

    struct Prediction {
        address user;
        string predictionCode; // The prediction code like 24167
        uint256 amountPaid;
    }

    struct Event {
        uint256 eventId;
        string eventName;
        bool isActive;
        uint256 number;
        uint256 k;
        mapping(address => bool) hasParticipated; // Track whether a user has participated
        Prediction[] predictions; // All predictions for this event
    }

    uint256 public nextEventId = 1;
    mapping(uint256 => Event) public events;

    event PredictionSubmitted(address indexed user, uint256 eventId, string predictionCode, uint256 amountPaid);
    event EventCreated(uint256 eventId, string eventName);
    event EventClosed(uint256 eventId);

    constructor(IERC20 _token) {
        owner = msg.sender;
        token = _token; // Set the token contract address
    }

    // Create a new event (e.g., weekly or daily matches)
    function createEvent(string memory eventName,uint256 k,uint256 number) public onlyOwner {
        Event storage newEvent = events[nextEventId];
        newEvent.eventId = nextEventId;
        newEvent.eventName = eventName;
        newEvent.k = k;
        newEvent.number = number;
        newEvent.isActive = true;

        emit EventCreated(nextEventId, eventName);
        nextEventId++;
    }

    // Close an event (when the event has ended)
    function closeEvent(uint256 eventId) public onlyOwner {
        events[eventId].isActive = false;
        emit EventClosed(eventId);
    }

    // Submit prediction for a specific event
    function submitPrediction(uint256 eventId, string memory predictionCode, uint256 amount) public {
        Event storage predictionEvent = events[eventId];
        require(predictionEvent.isActive, "Event is not active");
        require(!predictionEvent.hasParticipated[msg.sender], "User already participated in this event");
        require(bytes(predictionCode).length == predictionEvent.number, "mismatch number of games");
        uint256 cost = calculateCost(predictionCode, predictionEvent.number)*predictionEvent.k*10**18;
        require(amount*10**18 >= cost, "Insufficient token amount");

        // Transfer the token from the user to the contract
        require(token.transferFrom(msg.sender, address(this), cost), "Token transfer failed");

        // Record the user's prediction
        predictionEvent.predictions.push(Prediction(msg.sender, predictionCode, cost));
        predictionEvent.hasParticipated[msg.sender] = true; // Mark as participated

        emit PredictionSubmitted(msg.sender, eventId, predictionCode, cost);
    }

    // Calculate the cost based on the prediction code
    
    function calculateCost(string memory predictionCode, uint256 num) public pure returns (uint256) {
        uint256 total = 1;
        uint256 numTripleSelections = 0;

        for (uint256 i = 0; i < num; i++) {
            uint256 digit = uint256(uint8(bytes(predictionCode)[i]) - 48); // Convert character to number

            require(digit >= 1 && digit <= 7, "Invalid digit in prediction");

            if (digit == 7) {
                numTripleSelections++;
                require(numTripleSelections <= 1, "You can only select triple prediction for one match");
            }

            // Multiply the cost based on each match prediction
            total *= getPredictionMultiplier(digit);
        }

        return total;
    }

    // Multiplier for each prediction option
    function getPredictionMultiplier(uint256 predictionDigit) internal pure returns (uint256) {
        if (predictionDigit == 1) return 1; // Home win
        if (predictionDigit == 2) return 1; // Draw
        if (predictionDigit == 3) return 1; // Away win
        if (predictionDigit == 4) return 2; // Home win or draw
        if (predictionDigit == 5) return 2; // Away win or draw
        if (predictionDigit == 6) return 2; // Home or away win
        if (predictionDigit == 7) return 3; // Home win, away win, or draw (triple selection)
        return 1; // Default (should never reach here)
    }

    // Allow the owner to withdraw tokens from the contract
    function withdraw() public onlyOwner {
        uint256 balance = token.balanceOf(address(this));
        require(token.transfer(owner, balance), "Withdrawal failed");
    }

    function getEventParticipants(uint256 eventId) public view returns (address[] memory, string[] memory, uint256[] memory) {
    Event storage predictionEvent = events[eventId];
    uint256 numParticipants = predictionEvent.predictions.length;

    // Create arrays to store the participants' details
    address[] memory participants = new address[](numParticipants);
    string[] memory predictionCodes = new string[](numParticipants);
    uint256[] memory amountsPaid = new uint256[](numParticipants);

    // Fill the arrays with data from the predictions
    for (uint256 i = 0; i < numParticipants; i++) {
        Prediction storage p = predictionEvent.predictions[i];
        participants[i] = p.user;
        predictionCodes[i] = p.predictionCode;
        amountsPaid[i] = p.amountPaid;
    }

    return (participants, predictionCodes, amountsPaid);
}

    modifier onlyOwner() {
        require(msg.sender == owner, "Only owner can call this function");
        _;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"eventId","type":"uint256"}],"name":"EventClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"eventId","type":"uint256"},{"indexed":false,"internalType":"string","name":"eventName","type":"string"}],"name":"EventCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"eventId","type":"uint256"},{"indexed":false,"internalType":"string","name":"predictionCode","type":"string"},{"indexed":false,"internalType":"uint256","name":"amountPaid","type":"uint256"}],"name":"PredictionSubmitted","type":"event"},{"inputs":[{"internalType":"string","name":"predictionCode","type":"string"},{"internalType":"uint256","name":"num","type":"uint256"}],"name":"calculateCost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"eventId","type":"uint256"}],"name":"closeEvent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"eventName","type":"string"},{"internalType":"uint256","name":"k","type":"uint256"},{"internalType":"uint256","name":"number","type":"uint256"}],"name":"createEvent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"events","outputs":[{"internalType":"uint256","name":"eventId","type":"uint256"},{"internalType":"string","name":"eventName","type":"string"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"k","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"eventId","type":"uint256"}],"name":"getEventParticipants","outputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"string[]","name":"","type":"string[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextEventId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"eventId","type":"uint256"},{"internalType":"string","name":"predictionCode","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"submitPrediction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526001600255348015610014575f5ffd5b506040516122073803806122078339818101604052810190610036919061012a565b335f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610155565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100e8826100bf565b9050919050565b5f6100f9826100de565b9050919050565b610109816100ef565b8114610113575f5ffd5b50565b5f8151905061012481610100565b92915050565b5f6020828403121561013f5761013e6100bb565b5b5f61014c84828501610116565b91505092915050565b6120a5806101625f395ff3fe608060405234801561000f575f5ffd5b506004361061009c575f3560e01c80639e9580f6116100645780639e9580f6146101485780639f9d903a14610164578063b50e018214610182578063cf01f43f146101b4578063fc0c546a146101d05761009c565b80630b791430146100a05780632ee07c00146100d45780633b88f36b146100f05780633ccfd60b146101205780638da5cb5b1461012a575b5f5ffd5b6100ba60048036038101906100b59190610ffc565b6101ee565b6040516100cb9594939291906110c0565b60405180910390f35b6100ee60048036038101906100e99190610ffc565b6102b2565b005b61010a60048036038101906101059190611244565b6103a5565b604051610117919061129e565b60405180910390f35b6101286104cb565b005b6101326106f3565b60405161013f91906112f6565b60405180910390f35b610162600480360381019061015d919061130f565b610717565b005b61016c61085d565b604051610179919061129e565b60405180910390f35b61019c60048036038101906101979190610ffc565b610863565b6040516101ab939291906115ec565b60405180910390f35b6101ce60048036038101906101c99190611636565b610b03565b005b6101d8610f11565b6040516101e591906116fd565b60405180910390f35b6003602052805f5260405f205f91509050805f01549080600101805461021390611743565b80601f016020809104026020016040519081016040528092919081815260200182805461023f90611743565b801561028a5780601f106102615761010080835404028352916020019161028a565b820191905f5260205f20905b81548152906001019060200180831161026d57829003601f168201915b505050505090806002015f9054906101000a900460ff16908060030154908060040154905085565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610340576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906117e3565b60405180910390fd5b5f60035f8381526020019081526020015f206002015f6101000a81548160ff0219169083151502179055507fe3ac82dc75b50536ff2bf2861de7d76422590831b9e557b52b35b4c99df25ff98160405161039a919061129e565b60405180910390a150565b5f5f600190505f5f90505f5f90505b848110156104bf575f60308783815181106103d2576103d1611801565b5b602001015160f81c60f81b60f81c6103ea9190611867565b60ff16905060018110158015610401575060078111155b610440576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610437906118e5565b60405180910390fd5b6007810361049b57828061045390611903565b935050600183111561049a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610491906119ba565b60405180910390fd5b5b6104a481610f36565b846104af91906119d8565b93505080806001019150506103b4565b50819250505092915050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610559576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610550906117e3565b60405180910390fd5b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105b491906112f6565b602060405180830381865afa1580156105cf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f39190611a2d565b905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610671929190611a58565b6020604051808303815f875af115801561068d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b19190611aa9565b6106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e790611b1e565b60405180910390fd5b50565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079c906117e3565b60405180910390fd5b5f60035f60025481526020019081526020015f209050600254815f0181905550838160010190816107d69190611cd3565b508281600401819055508181600301819055506001816002015f6101000a81548160ff0219169083151502179055507f9ce3d6db707bca4ba0eabed8fba1e2c013a1c0bc1132a764170a7854d198c73d60025485604051610838929190611da2565b60405180910390a160025f81548092919061085290611903565b919050555050505050565b60025481565b60608060605f60035f8681526020019081526020015f2090505f816006018054905090505f8167ffffffffffffffff8111156108a2576108a1611120565b5b6040519080825280602002602001820160405280156108d05781602001602082028036833780820191505090505b5090505f8267ffffffffffffffff8111156108ee576108ed611120565b5b60405190808252806020026020018201604052801561092157816020015b606081526020019060019003908161090c5790505b5090505f8367ffffffffffffffff81111561093f5761093e611120565b5b60405190808252806020026020018201604052801561096d5781602001602082028036833780820191505090505b5090505f5f90505b84811015610aed575f86600601828154811061099457610993611801565b5b905f5260205f2090600302019050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168583815181106109d8576109d7611801565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050806001018054610a2190611743565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4d90611743565b8015610a985780601f10610a6f57610100808354040283529160200191610a98565b820191905f5260205f20905b815481529060010190602001808311610a7b57829003601f168201915b5050505050848381518110610ab057610aaf611801565b5b60200260200101819052508060020154838381518110610ad357610ad2611801565b5b602002602001018181525050508080600101915050610975565b5082828297509750975050505050509193909250565b5f60035f8581526020019081526020015f209050806002015f9054906101000a900460ff16610b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5e90611e1a565b60405180910390fd5b806005015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bea90611ea8565b60405180910390fd5b8060030154835114610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190611f10565b60405180910390fd5b5f670de0b6b3a76400008260040154610c578685600301546103a5565b610c6191906119d8565b610c6b91906119d8565b905080670de0b6b3a764000084610c8291906119d8565b1015610cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cba90611f78565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610d2193929190611f96565b6020604051808303815f875af1158015610d3d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d619190611aa9565b610da0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9790612015565b60405180910390fd5b8160060160405180606001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200186815260200183815250908060018154018082558091505060019003905f5260205f2090600302015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081610e549190611cd3565b506040820151816002015550506001826005015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167fb3b2c915ac73da96b11db43fe2f088262166eb89f9cdfe3dbaa476067fd5390b868684604051610f0293929190612033565b60405180910390a25050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60018203610f485760019050610fb3565b60028203610f595760019050610fb3565b60038203610f6a5760019050610fb3565b60048203610f7b5760029050610fb3565b60058203610f8c5760029050610fb3565b60068203610f9d5760029050610fb3565b60078203610fae5760039050610fb3565b600190505b919050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b610fdb81610fc9565b8114610fe5575f5ffd5b50565b5f81359050610ff681610fd2565b92915050565b5f6020828403121561101157611010610fc1565b5b5f61101e84828501610fe8565b91505092915050565b61103081610fc9565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61107882611036565b6110828185611040565b9350611092818560208601611050565b61109b8161105e565b840191505092915050565b5f8115159050919050565b6110ba816110a6565b82525050565b5f60a0820190506110d35f830188611027565b81810360208301526110e5818761106e565b90506110f460408301866110b1565b6111016060830185611027565b61110e6080830184611027565b9695505050505050565b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6111568261105e565b810181811067ffffffffffffffff8211171561117557611174611120565b5b80604052505050565b5f611187610fb8565b9050611193828261114d565b919050565b5f67ffffffffffffffff8211156111b2576111b1611120565b5b6111bb8261105e565b9050602081019050919050565b828183375f83830152505050565b5f6111e86111e384611198565b61117e565b9050828152602081018484840111156112045761120361111c565b5b61120f8482856111c8565b509392505050565b5f82601f83011261122b5761122a611118565b5b813561123b8482602086016111d6565b91505092915050565b5f5f6040838503121561125a57611259610fc1565b5b5f83013567ffffffffffffffff81111561127757611276610fc5565b5b61128385828601611217565b925050602061129485828601610fe8565b9150509250929050565b5f6020820190506112b15f830184611027565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112e0826112b7565b9050919050565b6112f0816112d6565b82525050565b5f6020820190506113095f8301846112e7565b92915050565b5f5f5f6060848603121561132657611325610fc1565b5b5f84013567ffffffffffffffff81111561134357611342610fc5565b5b61134f86828701611217565b935050602061136086828701610fe8565b925050604061137186828701610fe8565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6113ad816112d6565b82525050565b5f6113be83836113a4565b60208301905092915050565b5f602082019050919050565b5f6113e08261137b565b6113ea8185611385565b93506113f583611395565b805f5b8381101561142557815161140c88826113b3565b9750611417836113ca565b9250506001810190506113f8565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f82825260208201905092915050565b5f61147582611036565b61147f818561145b565b935061148f818560208601611050565b6114988161105e565b840191505092915050565b5f6114ae838361146b565b905092915050565b5f602082019050919050565b5f6114cc82611432565b6114d6818561143c565b9350836020820285016114e88561144c565b805f5b85811015611523578484038952815161150485826114a3565b945061150f836114b6565b925060208a019950506001810190506114eb565b50829750879550505050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61156781610fc9565b82525050565b5f611578838361155e565b60208301905092915050565b5f602082019050919050565b5f61159a82611535565b6115a4818561153f565b93506115af8361154f565b805f5b838110156115df5781516115c6888261156d565b97506115d183611584565b9250506001810190506115b2565b5085935050505092915050565b5f6060820190508181035f83015261160481866113d6565b9050818103602083015261161881856114c2565b9050818103604083015261162c8184611590565b9050949350505050565b5f5f5f6060848603121561164d5761164c610fc1565b5b5f61165a86828701610fe8565b935050602084013567ffffffffffffffff81111561167b5761167a610fc5565b5b61168786828701611217565b925050604061169886828701610fe8565b9150509250925092565b5f819050919050565b5f6116c56116c06116bb846112b7565b6116a2565b6112b7565b9050919050565b5f6116d6826116ab565b9050919050565b5f6116e7826116cc565b9050919050565b6116f7816116dd565b82525050565b5f6020820190506117105f8301846116ee565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061175a57607f821691505b60208210810361176d5761176c611716565b5b50919050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f5f8201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f6117cd602183611040565b91506117d882611773565b604082019050919050565b5f6020820190508181035f8301526117fa816117c1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60ff82169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6118718261182e565b915061187c8361182e565b9250828203905060ff8111156118955761189461183a565b5b92915050565b7f496e76616c696420646967697420696e2070726564696374696f6e00000000005f82015250565b5f6118cf601b83611040565b91506118da8261189b565b602082019050919050565b5f6020820190508181035f8301526118fc816118c3565b9050919050565b5f61190d82610fc9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361193f5761193e61183a565b5b600182019050919050565b7f596f752063616e206f6e6c792073656c65637420747269706c652070726564695f8201527f6374696f6e20666f72206f6e65206d6174636800000000000000000000000000602082015250565b5f6119a4603383611040565b91506119af8261194a565b604082019050919050565b5f6020820190508181035f8301526119d181611998565b9050919050565b5f6119e282610fc9565b91506119ed83610fc9565b92508282026119fb81610fc9565b91508282048414831517611a1257611a1161183a565b5b5092915050565b5f81519050611a2781610fd2565b92915050565b5f60208284031215611a4257611a41610fc1565b5b5f611a4f84828501611a19565b91505092915050565b5f604082019050611a6b5f8301856112e7565b611a786020830184611027565b9392505050565b611a88816110a6565b8114611a92575f5ffd5b50565b5f81519050611aa381611a7f565b92915050565b5f60208284031215611abe57611abd610fc1565b5b5f611acb84828501611a95565b91505092915050565b7f5769746864726177616c206661696c65640000000000000000000000000000005f82015250565b5f611b08601183611040565b9150611b1382611ad4565b602082019050919050565b5f6020820190508181035f830152611b3581611afc565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302611b987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611b5d565b611ba28683611b5d565b95508019841693508086168417925050509392505050565b5f611bd4611bcf611bca84610fc9565b6116a2565b610fc9565b9050919050565b5f819050919050565b611bed83611bba565b611c01611bf982611bdb565b848454611b69565b825550505050565b5f5f905090565b611c18611c09565b611c23818484611be4565b505050565b5b81811015611c4657611c3b5f82611c10565b600181019050611c29565b5050565b601f821115611c8b57611c5c81611b3c565b611c6584611b4e565b81016020851015611c74578190505b611c88611c8085611b4e565b830182611c28565b50505b505050565b5f82821c905092915050565b5f611cab5f1984600802611c90565b1980831691505092915050565b5f611cc38383611c9c565b9150826002028217905092915050565b611cdc82611036565b67ffffffffffffffff811115611cf557611cf4611120565b5b611cff8254611743565b611d0a828285611c4a565b5f60209050601f831160018114611d3b575f8415611d29578287015190505b611d338582611cb8565b865550611d9a565b601f198416611d4986611b3c565b5f5b82811015611d7057848901518255600182019150602085019450602081019050611d4b565b86831015611d8d5784890151611d89601f891682611c9c565b8355505b6001600288020188555050505b505050505050565b5f604082019050611db55f830185611027565b8181036020830152611dc7818461106e565b90509392505050565b7f4576656e74206973206e6f7420616374697665000000000000000000000000005f82015250565b5f611e04601383611040565b9150611e0f82611dd0565b602082019050919050565b5f6020820190508181035f830152611e3181611df8565b9050919050565b7f5573657220616c72656164792070617274696369706174656420696e207468695f8201527f73206576656e7400000000000000000000000000000000000000000000000000602082015250565b5f611e92602783611040565b9150611e9d82611e38565b604082019050919050565b5f6020820190508181035f830152611ebf81611e86565b9050919050565b7f6d69736d61746368206e756d626572206f662067616d657300000000000000005f82015250565b5f611efa601883611040565b9150611f0582611ec6565b602082019050919050565b5f6020820190508181035f830152611f2781611eee565b9050919050565b7f496e73756666696369656e7420746f6b656e20616d6f756e74000000000000005f82015250565b5f611f62601983611040565b9150611f6d82611f2e565b602082019050919050565b5f6020820190508181035f830152611f8f81611f56565b9050919050565b5f606082019050611fa95f8301866112e7565b611fb660208301856112e7565b611fc36040830184611027565b949350505050565b7f546f6b656e207472616e73666572206661696c656400000000000000000000005f82015250565b5f611fff601583611040565b915061200a82611fcb565b602082019050919050565b5f6020820190508181035f83015261202c81611ff3565b9050919050565b5f6060820190506120465f830186611027565b8181036020830152612058818561106e565b90506120676040830184611027565b94935050505056fea26469706673582212202eda2deda0831d76c63e24b8842ce1fb7fcdf5408cddd799eb7f4608651defaa64736f6c634300081c00330000000000000000000000002fb6c49bb8d9cae282ec63181d10ed2473f75d36

Deployed Bytecode

0x608060405234801561000f575f5ffd5b506004361061009c575f3560e01c80639e9580f6116100645780639e9580f6146101485780639f9d903a14610164578063b50e018214610182578063cf01f43f146101b4578063fc0c546a146101d05761009c565b80630b791430146100a05780632ee07c00146100d45780633b88f36b146100f05780633ccfd60b146101205780638da5cb5b1461012a575b5f5ffd5b6100ba60048036038101906100b59190610ffc565b6101ee565b6040516100cb9594939291906110c0565b60405180910390f35b6100ee60048036038101906100e99190610ffc565b6102b2565b005b61010a60048036038101906101059190611244565b6103a5565b604051610117919061129e565b60405180910390f35b6101286104cb565b005b6101326106f3565b60405161013f91906112f6565b60405180910390f35b610162600480360381019061015d919061130f565b610717565b005b61016c61085d565b604051610179919061129e565b60405180910390f35b61019c60048036038101906101979190610ffc565b610863565b6040516101ab939291906115ec565b60405180910390f35b6101ce60048036038101906101c99190611636565b610b03565b005b6101d8610f11565b6040516101e591906116fd565b60405180910390f35b6003602052805f5260405f205f91509050805f01549080600101805461021390611743565b80601f016020809104026020016040519081016040528092919081815260200182805461023f90611743565b801561028a5780601f106102615761010080835404028352916020019161028a565b820191905f5260205f20905b81548152906001019060200180831161026d57829003601f168201915b505050505090806002015f9054906101000a900460ff16908060030154908060040154905085565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610340576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610337906117e3565b60405180910390fd5b5f60035f8381526020019081526020015f206002015f6101000a81548160ff0219169083151502179055507fe3ac82dc75b50536ff2bf2861de7d76422590831b9e557b52b35b4c99df25ff98160405161039a919061129e565b60405180910390a150565b5f5f600190505f5f90505f5f90505b848110156104bf575f60308783815181106103d2576103d1611801565b5b602001015160f81c60f81b60f81c6103ea9190611867565b60ff16905060018110158015610401575060078111155b610440576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610437906118e5565b60405180910390fd5b6007810361049b57828061045390611903565b935050600183111561049a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610491906119ba565b60405180910390fd5b5b6104a481610f36565b846104af91906119d8565b93505080806001019150506103b4565b50819250505092915050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610559576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610550906117e3565b60405180910390fd5b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105b491906112f6565b602060405180830381865afa1580156105cf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f39190611a2d565b905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610671929190611a58565b6020604051808303815f875af115801561068d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b19190611aa9565b6106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e790611b1e565b60405180910390fd5b50565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079c906117e3565b60405180910390fd5b5f60035f60025481526020019081526020015f209050600254815f0181905550838160010190816107d69190611cd3565b508281600401819055508181600301819055506001816002015f6101000a81548160ff0219169083151502179055507f9ce3d6db707bca4ba0eabed8fba1e2c013a1c0bc1132a764170a7854d198c73d60025485604051610838929190611da2565b60405180910390a160025f81548092919061085290611903565b919050555050505050565b60025481565b60608060605f60035f8681526020019081526020015f2090505f816006018054905090505f8167ffffffffffffffff8111156108a2576108a1611120565b5b6040519080825280602002602001820160405280156108d05781602001602082028036833780820191505090505b5090505f8267ffffffffffffffff8111156108ee576108ed611120565b5b60405190808252806020026020018201604052801561092157816020015b606081526020019060019003908161090c5790505b5090505f8367ffffffffffffffff81111561093f5761093e611120565b5b60405190808252806020026020018201604052801561096d5781602001602082028036833780820191505090505b5090505f5f90505b84811015610aed575f86600601828154811061099457610993611801565b5b905f5260205f2090600302019050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168583815181106109d8576109d7611801565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050806001018054610a2190611743565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4d90611743565b8015610a985780601f10610a6f57610100808354040283529160200191610a98565b820191905f5260205f20905b815481529060010190602001808311610a7b57829003601f168201915b5050505050848381518110610ab057610aaf611801565b5b60200260200101819052508060020154838381518110610ad357610ad2611801565b5b602002602001018181525050508080600101915050610975565b5082828297509750975050505050509193909250565b5f60035f8581526020019081526020015f209050806002015f9054906101000a900460ff16610b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5e90611e1a565b60405180910390fd5b806005015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bea90611ea8565b60405180910390fd5b8060030154835114610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190611f10565b60405180910390fd5b5f670de0b6b3a76400008260040154610c578685600301546103a5565b610c6191906119d8565b610c6b91906119d8565b905080670de0b6b3a764000084610c8291906119d8565b1015610cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cba90611f78565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610d2193929190611f96565b6020604051808303815f875af1158015610d3d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d619190611aa9565b610da0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9790612015565b60405180910390fd5b8160060160405180606001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200186815260200183815250908060018154018082558091505060019003905f5260205f2090600302015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081610e549190611cd3565b506040820151816002015550506001826005015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167fb3b2c915ac73da96b11db43fe2f088262166eb89f9cdfe3dbaa476067fd5390b868684604051610f0293929190612033565b60405180910390a25050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60018203610f485760019050610fb3565b60028203610f595760019050610fb3565b60038203610f6a5760019050610fb3565b60048203610f7b5760029050610fb3565b60058203610f8c5760029050610fb3565b60068203610f9d5760029050610fb3565b60078203610fae5760039050610fb3565b600190505b919050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b610fdb81610fc9565b8114610fe5575f5ffd5b50565b5f81359050610ff681610fd2565b92915050565b5f6020828403121561101157611010610fc1565b5b5f61101e84828501610fe8565b91505092915050565b61103081610fc9565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61107882611036565b6110828185611040565b9350611092818560208601611050565b61109b8161105e565b840191505092915050565b5f8115159050919050565b6110ba816110a6565b82525050565b5f60a0820190506110d35f830188611027565b81810360208301526110e5818761106e565b90506110f460408301866110b1565b6111016060830185611027565b61110e6080830184611027565b9695505050505050565b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6111568261105e565b810181811067ffffffffffffffff8211171561117557611174611120565b5b80604052505050565b5f611187610fb8565b9050611193828261114d565b919050565b5f67ffffffffffffffff8211156111b2576111b1611120565b5b6111bb8261105e565b9050602081019050919050565b828183375f83830152505050565b5f6111e86111e384611198565b61117e565b9050828152602081018484840111156112045761120361111c565b5b61120f8482856111c8565b509392505050565b5f82601f83011261122b5761122a611118565b5b813561123b8482602086016111d6565b91505092915050565b5f5f6040838503121561125a57611259610fc1565b5b5f83013567ffffffffffffffff81111561127757611276610fc5565b5b61128385828601611217565b925050602061129485828601610fe8565b9150509250929050565b5f6020820190506112b15f830184611027565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112e0826112b7565b9050919050565b6112f0816112d6565b82525050565b5f6020820190506113095f8301846112e7565b92915050565b5f5f5f6060848603121561132657611325610fc1565b5b5f84013567ffffffffffffffff81111561134357611342610fc5565b5b61134f86828701611217565b935050602061136086828701610fe8565b925050604061137186828701610fe8565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6113ad816112d6565b82525050565b5f6113be83836113a4565b60208301905092915050565b5f602082019050919050565b5f6113e08261137b565b6113ea8185611385565b93506113f583611395565b805f5b8381101561142557815161140c88826113b3565b9750611417836113ca565b9250506001810190506113f8565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f82825260208201905092915050565b5f61147582611036565b61147f818561145b565b935061148f818560208601611050565b6114988161105e565b840191505092915050565b5f6114ae838361146b565b905092915050565b5f602082019050919050565b5f6114cc82611432565b6114d6818561143c565b9350836020820285016114e88561144c565b805f5b85811015611523578484038952815161150485826114a3565b945061150f836114b6565b925060208a019950506001810190506114eb565b50829750879550505050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61156781610fc9565b82525050565b5f611578838361155e565b60208301905092915050565b5f602082019050919050565b5f61159a82611535565b6115a4818561153f565b93506115af8361154f565b805f5b838110156115df5781516115c6888261156d565b97506115d183611584565b9250506001810190506115b2565b5085935050505092915050565b5f6060820190508181035f83015261160481866113d6565b9050818103602083015261161881856114c2565b9050818103604083015261162c8184611590565b9050949350505050565b5f5f5f6060848603121561164d5761164c610fc1565b5b5f61165a86828701610fe8565b935050602084013567ffffffffffffffff81111561167b5761167a610fc5565b5b61168786828701611217565b925050604061169886828701610fe8565b9150509250925092565b5f819050919050565b5f6116c56116c06116bb846112b7565b6116a2565b6112b7565b9050919050565b5f6116d6826116ab565b9050919050565b5f6116e7826116cc565b9050919050565b6116f7816116dd565b82525050565b5f6020820190506117105f8301846116ee565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061175a57607f821691505b60208210810361176d5761176c611716565b5b50919050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f5f8201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f6117cd602183611040565b91506117d882611773565b604082019050919050565b5f6020820190508181035f8301526117fa816117c1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60ff82169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6118718261182e565b915061187c8361182e565b9250828203905060ff8111156118955761189461183a565b5b92915050565b7f496e76616c696420646967697420696e2070726564696374696f6e00000000005f82015250565b5f6118cf601b83611040565b91506118da8261189b565b602082019050919050565b5f6020820190508181035f8301526118fc816118c3565b9050919050565b5f61190d82610fc9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361193f5761193e61183a565b5b600182019050919050565b7f596f752063616e206f6e6c792073656c65637420747269706c652070726564695f8201527f6374696f6e20666f72206f6e65206d6174636800000000000000000000000000602082015250565b5f6119a4603383611040565b91506119af8261194a565b604082019050919050565b5f6020820190508181035f8301526119d181611998565b9050919050565b5f6119e282610fc9565b91506119ed83610fc9565b92508282026119fb81610fc9565b91508282048414831517611a1257611a1161183a565b5b5092915050565b5f81519050611a2781610fd2565b92915050565b5f60208284031215611a4257611a41610fc1565b5b5f611a4f84828501611a19565b91505092915050565b5f604082019050611a6b5f8301856112e7565b611a786020830184611027565b9392505050565b611a88816110a6565b8114611a92575f5ffd5b50565b5f81519050611aa381611a7f565b92915050565b5f60208284031215611abe57611abd610fc1565b5b5f611acb84828501611a95565b91505092915050565b7f5769746864726177616c206661696c65640000000000000000000000000000005f82015250565b5f611b08601183611040565b9150611b1382611ad4565b602082019050919050565b5f6020820190508181035f830152611b3581611afc565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302611b987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611b5d565b611ba28683611b5d565b95508019841693508086168417925050509392505050565b5f611bd4611bcf611bca84610fc9565b6116a2565b610fc9565b9050919050565b5f819050919050565b611bed83611bba565b611c01611bf982611bdb565b848454611b69565b825550505050565b5f5f905090565b611c18611c09565b611c23818484611be4565b505050565b5b81811015611c4657611c3b5f82611c10565b600181019050611c29565b5050565b601f821115611c8b57611c5c81611b3c565b611c6584611b4e565b81016020851015611c74578190505b611c88611c8085611b4e565b830182611c28565b50505b505050565b5f82821c905092915050565b5f611cab5f1984600802611c90565b1980831691505092915050565b5f611cc38383611c9c565b9150826002028217905092915050565b611cdc82611036565b67ffffffffffffffff811115611cf557611cf4611120565b5b611cff8254611743565b611d0a828285611c4a565b5f60209050601f831160018114611d3b575f8415611d29578287015190505b611d338582611cb8565b865550611d9a565b601f198416611d4986611b3c565b5f5b82811015611d7057848901518255600182019150602085019450602081019050611d4b565b86831015611d8d5784890151611d89601f891682611c9c565b8355505b6001600288020188555050505b505050505050565b5f604082019050611db55f830185611027565b8181036020830152611dc7818461106e565b90509392505050565b7f4576656e74206973206e6f7420616374697665000000000000000000000000005f82015250565b5f611e04601383611040565b9150611e0f82611dd0565b602082019050919050565b5f6020820190508181035f830152611e3181611df8565b9050919050565b7f5573657220616c72656164792070617274696369706174656420696e207468695f8201527f73206576656e7400000000000000000000000000000000000000000000000000602082015250565b5f611e92602783611040565b9150611e9d82611e38565b604082019050919050565b5f6020820190508181035f830152611ebf81611e86565b9050919050565b7f6d69736d61746368206e756d626572206f662067616d657300000000000000005f82015250565b5f611efa601883611040565b9150611f0582611ec6565b602082019050919050565b5f6020820190508181035f830152611f2781611eee565b9050919050565b7f496e73756666696369656e7420746f6b656e20616d6f756e74000000000000005f82015250565b5f611f62601983611040565b9150611f6d82611f2e565b602082019050919050565b5f6020820190508181035f830152611f8f81611f56565b9050919050565b5f606082019050611fa95f8301866112e7565b611fb660208301856112e7565b611fc36040830184611027565b949350505050565b7f546f6b656e207472616e73666572206661696c656400000000000000000000005f82015250565b5f611fff601583611040565b915061200a82611fcb565b602082019050919050565b5f6020820190508181035f83015261202c81611ff3565b9050919050565b5f6060820190506120465f830186611027565b8181036020830152612058818561106e565b90506120676040830184611027565b94935050505056fea26469706673582212202eda2deda0831d76c63e24b8842ce1fb7fcdf5408cddd799eb7f4608651defaa64736f6c634300081c0033

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

0000000000000000000000002fb6c49bb8d9cae282ec63181d10ed2473f75d36

-----Decoded View---------------
Arg [0] : _token (address): 0x2fb6c49bB8d9Cae282ec63181D10eD2473f75D36

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000002fb6c49bb8d9cae282ec63181d10ed2473f75d36


Deployed Bytecode Sourcemap

343:5526:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;934:39;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;1853:141;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3187:761;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4682:175;;;:::i;:::-;;378:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1389:406;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;897:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4865:876;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;2049:1068;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;405:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;934:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1853:141::-;5803:5;;;;;;;;;;;5789:19;;:10;:19;;;5781:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;1945:5:::1;1918:6;:15;1925:7;1918:15;;;;;;;;;;;:24;;;:32;;;;;;;;;;;;;;;;;;1966:20;1978:7;1966:20;;;;;;:::i;:::-;;;;;;;;1853:141:::0;:::o;3187:761::-;3274:7;3294:13;3310:1;3294:17;;3322:27;3352:1;3322:31;;3371:9;3383:1;3371:13;;3366:550;3390:3;3386:1;:7;3366:550;;;3415:13;3473:2;3451:14;3467:1;3445:24;;;;;;;;:::i;:::-;;;;;;;;;;3439:31;;:36;;;;:::i;:::-;3431:45;;3415:61;;3541:1;3532:5;:10;;:24;;;;;3555:1;3546:5;:10;;3532:24;3524:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;3618:1;3609:5;:10;3605:179;;3640:21;;;;;:::i;:::-;;;;3711:1;3688:19;:24;;3680:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;3605:179;3874:30;3898:5;3874:23;:30::i;:::-;3865:39;;;;;:::i;:::-;;;3400:516;3395:3;;;;;;;3366:550;;;;3935:5;3928:12;;;;3187:761;;;;:::o;4682:175::-;5803:5;;;;;;;;;;;5789:19;;:10;:19;;;5781:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;4730:15:::1;4748:5;;;;;;;;;;;:15;;;4772:4;4748:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4730:48;;4797:5;;;;;;;;;;;:14;;;4812:5;;;;;;;;;;;4819:7;4797:30;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4789:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;4719:138;4682:175::o:0;378:20::-;;;;;;;;;;;;;:::o;1389:406::-;5803:5;;;;;;;;;;;5789:19;;:10;:19;;;5781:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;1488:22:::1;1513:6;:19;1520:11;;1513:19;;;;;;;;;;;1488:44;;1562:11;;1543:8;:16;;:30;;;;1605:9;1584:8;:18;;:30;;;;;;:::i;:::-;;1638:1;1625:8;:10;;:14;;;;1668:6;1650:8;:15;;:24;;;;1705:4;1685:8;:17;;;:24;;;;;;;;;;;;;;;;;;1727:36;1740:11;;1753:9;1727:36;;;;;;;:::i;:::-;;;;;;;;1774:11;;:13;;;;;;;;;:::i;:::-;;;;;;1477:318;1389:406:::0;;;:::o;897:30::-;;;;:::o;4865:876::-;4933:16;4951:15;4968:16;4993:29;5025:6;:15;5032:7;5025:15;;;;;;;;;;;4993:47;;5047:23;5073:15;:27;;:34;;;;5047:60;;5173:29;5219:15;5205:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5173:62;;5242:31;5289:15;5276:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5242:63;;5312:28;5357:15;5343:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5312:61;;5442:9;5454:1;5442:13;;5437:241;5461:15;5457:1;:19;5437:241;;;5494:20;5517:15;:27;;5545:1;5517:30;;;;;;;;:::i;:::-;;;;;;;;;;;;5494:53;;5576:1;:6;;;;;;;;;;;;5558:12;5571:1;5558:15;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;5614:1;:16;;5593:37;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:15;5609:1;5593:18;;;;;;;;:::i;:::-;;;;;;;:37;;;;5658:1;:12;;;5641:11;5653:1;5641:14;;;;;;;;:::i;:::-;;;;;;;:29;;;;;5483:195;5478:3;;;;;;;5437:241;;;;5694:12;5708:15;5725:11;5686:51;;;;;;;;;;;4865:876;;;;;:::o;2049:1068::-;2156:29;2188:6;:15;2195:7;2188:15;;;;;;;;;;;2156:47;;2222:15;:24;;;;;;;;;;;;2214:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2290:15;:31;;:43;2322:10;2290:43;;;;;;;;;;;;;;;;;;;;;;;;;2289:44;2281:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;2428:15;:22;;;2402:14;2396:28;:54;2388:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;2490:12;2577:6;2559:15;:17;;;2505:53;2519:14;2535:15;:22;;;2505:13;:53::i;:::-;:71;;;;:::i;:::-;:78;;;;:::i;:::-;2490:93;;2619:4;2609:6;2602;:13;;;;:::i;:::-;:21;;2594:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;2735:5;;;;;;;;;;;:18;;;2754:10;2774:4;2781;2735:51;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2727:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;2866:15;:27;;2899:44;;;;;;;;2910:10;2899:44;;;;;;2922:14;2899:44;;;;2938:4;2899:44;;;2866:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;3001:4;2955:15;:31;;:43;2987:10;2955:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;3067:10;3047:62;;;3079:7;3088:14;3104:4;3047:62;;;;;;;;:::i;:::-;;;;;;;;2145:972;;2049:1068;;;:::o;405:19::-;;;;;;;;;;;;;:::o;4002:611::-;4083:7;4126:1;4107:15;:20;4103:34;;4136:1;4129:8;;;;4103:34;4183:1;4164:15;:20;4160:34;;4193:1;4186:8;;;;4160:34;4236:1;4217:15;:20;4213:34;;4246:1;4239:8;;;;4213:34;4293:1;4274:15;:20;4270:34;;4303:1;4296:8;;;;4270:34;4358:1;4339:15;:20;4335:34;;4368:1;4361:8;;;;4335:34;4423:1;4404:15;:20;4400:34;;4433:1;4426:8;;;;4400:34;4488:1;4469:15;:20;4465:34;;4498:1;4491:8;;;;4465:34;4567:1;4560:8;;4002:611;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:99::-;1201:6;1235:5;1229:12;1219:22;;1149:99;;;:::o;1254:169::-;1338:11;1372:6;1367:3;1360:19;1412:4;1407:3;1403:14;1388:29;;1254:169;;;;:::o;1429:139::-;1518:6;1513:3;1508;1502:23;1559:1;1550:6;1545:3;1541:16;1534:27;1429:139;;;:::o;1574:102::-;1615:6;1666:2;1662:7;1657:2;1650:5;1646:14;1642:28;1632:38;;1574:102;;;:::o;1682:377::-;1770:3;1798:39;1831:5;1798:39;:::i;:::-;1853:71;1917:6;1912:3;1853:71;:::i;:::-;1846:78;;1933:65;1991:6;1986:3;1979:4;1972:5;1968:16;1933:65;:::i;:::-;2023:29;2045:6;2023:29;:::i;:::-;2018:3;2014:39;2007:46;;1774:285;1682:377;;;;:::o;2065:90::-;2099:7;2142:5;2135:13;2128:21;2117:32;;2065:90;;;:::o;2161:109::-;2242:21;2257:5;2242:21;:::i;:::-;2237:3;2230:34;2161:109;;:::o;2276:743::-;2495:4;2533:3;2522:9;2518:19;2510:27;;2547:71;2615:1;2604:9;2600:17;2591:6;2547:71;:::i;:::-;2665:9;2659:4;2655:20;2650:2;2639:9;2635:18;2628:48;2693:78;2766:4;2757:6;2693:78;:::i;:::-;2685:86;;2781:66;2843:2;2832:9;2828:18;2819:6;2781:66;:::i;:::-;2857:72;2925:2;2914:9;2910:18;2901:6;2857:72;:::i;:::-;2939:73;3007:3;2996:9;2992:19;2983:6;2939:73;:::i;:::-;2276:743;;;;;;;;:::o;3025:117::-;3134:1;3131;3124:12;3148:117;3257:1;3254;3247:12;3271:180;3319:77;3316:1;3309:88;3416:4;3413:1;3406:15;3440:4;3437:1;3430:15;3457:281;3540:27;3562:4;3540:27;:::i;:::-;3532:6;3528:40;3670:6;3658:10;3655:22;3634:18;3622:10;3619:34;3616:62;3613:88;;;3681:18;;:::i;:::-;3613:88;3721:10;3717:2;3710:22;3500:238;3457:281;;:::o;3744:129::-;3778:6;3805:20;;:::i;:::-;3795:30;;3834:33;3862:4;3854:6;3834:33;:::i;:::-;3744:129;;;:::o;3879:308::-;3941:4;4031:18;4023:6;4020:30;4017:56;;;4053:18;;:::i;:::-;4017:56;4091:29;4113:6;4091:29;:::i;:::-;4083:37;;4175:4;4169;4165:15;4157:23;;3879:308;;;:::o;4193:148::-;4291:6;4286:3;4281;4268:30;4332:1;4323:6;4318:3;4314:16;4307:27;4193:148;;;:::o;4347:425::-;4425:5;4450:66;4466:49;4508:6;4466:49;:::i;:::-;4450:66;:::i;:::-;4441:75;;4539:6;4532:5;4525:21;4577:4;4570:5;4566:16;4615:3;4606:6;4601:3;4597:16;4594:25;4591:112;;;4622:79;;:::i;:::-;4591:112;4712:54;4759:6;4754:3;4749;4712:54;:::i;:::-;4431:341;4347:425;;;;;:::o;4792:340::-;4848:5;4897:3;4890:4;4882:6;4878:17;4874:27;4864:122;;4905:79;;:::i;:::-;4864:122;5022:6;5009:20;5047:79;5122:3;5114:6;5107:4;5099:6;5095:17;5047:79;:::i;:::-;5038:88;;4854:278;4792:340;;;;:::o;5138:654::-;5216:6;5224;5273:2;5261:9;5252:7;5248:23;5244:32;5241:119;;;5279:79;;:::i;:::-;5241:119;5427:1;5416:9;5412:17;5399:31;5457:18;5449:6;5446:30;5443:117;;;5479:79;;:::i;:::-;5443:117;5584:63;5639:7;5630:6;5619:9;5615:22;5584:63;:::i;:::-;5574:73;;5370:287;5696:2;5722:53;5767:7;5758:6;5747:9;5743:22;5722:53;:::i;:::-;5712:63;;5667:118;5138:654;;;;;:::o;5798:222::-;5891:4;5929:2;5918:9;5914:18;5906:26;;5942:71;6010:1;5999:9;5995:17;5986:6;5942:71;:::i;:::-;5798:222;;;;:::o;6026:126::-;6063:7;6103:42;6096:5;6092:54;6081:65;;6026:126;;;:::o;6158:96::-;6195:7;6224:24;6242:5;6224:24;:::i;:::-;6213:35;;6158:96;;;:::o;6260:118::-;6347:24;6365:5;6347:24;:::i;:::-;6342:3;6335:37;6260:118;;:::o;6384:222::-;6477:4;6515:2;6504:9;6500:18;6492:26;;6528:71;6596:1;6585:9;6581:17;6572:6;6528:71;:::i;:::-;6384:222;;;;:::o;6612:799::-;6699:6;6707;6715;6764:2;6752:9;6743:7;6739:23;6735:32;6732:119;;;6770:79;;:::i;:::-;6732:119;6918:1;6907:9;6903:17;6890:31;6948:18;6940:6;6937:30;6934:117;;;6970:79;;:::i;:::-;6934:117;7075:63;7130:7;7121:6;7110:9;7106:22;7075:63;:::i;:::-;7065:73;;6861:287;7187:2;7213:53;7258:7;7249:6;7238:9;7234:22;7213:53;:::i;:::-;7203:63;;7158:118;7315:2;7341:53;7386:7;7377:6;7366:9;7362:22;7341:53;:::i;:::-;7331:63;;7286:118;6612:799;;;;;:::o;7417:114::-;7484:6;7518:5;7512:12;7502:22;;7417:114;;;:::o;7537:184::-;7636:11;7670:6;7665:3;7658:19;7710:4;7705:3;7701:14;7686:29;;7537:184;;;;:::o;7727:132::-;7794:4;7817:3;7809:11;;7847:4;7842:3;7838:14;7830:22;;7727:132;;;:::o;7865:108::-;7942:24;7960:5;7942:24;:::i;:::-;7937:3;7930:37;7865:108;;:::o;7979:179::-;8048:10;8069:46;8111:3;8103:6;8069:46;:::i;:::-;8147:4;8142:3;8138:14;8124:28;;7979:179;;;;:::o;8164:113::-;8234:4;8266;8261:3;8257:14;8249:22;;8164:113;;;:::o;8313:732::-;8432:3;8461:54;8509:5;8461:54;:::i;:::-;8531:86;8610:6;8605:3;8531:86;:::i;:::-;8524:93;;8641:56;8691:5;8641:56;:::i;:::-;8720:7;8751:1;8736:284;8761:6;8758:1;8755:13;8736:284;;;8837:6;8831:13;8864:63;8923:3;8908:13;8864:63;:::i;:::-;8857:70;;8950:60;9003:6;8950:60;:::i;:::-;8940:70;;8796:224;8783:1;8780;8776:9;8771:14;;8736:284;;;8740:14;9036:3;9029:10;;8437:608;;;8313:732;;;;:::o;9051:124::-;9128:6;9162:5;9156:12;9146:22;;9051:124;;;:::o;9181:194::-;9290:11;9324:6;9319:3;9312:19;9364:4;9359:3;9355:14;9340:29;;9181:194;;;;:::o;9381:142::-;9458:4;9481:3;9473:11;;9511:4;9506:3;9502:14;9494:22;;9381:142;;;:::o;9529:159::-;9603:11;9637:6;9632:3;9625:19;9677:4;9672:3;9668:14;9653:29;;9529:159;;;;:::o;9694:357::-;9772:3;9800:39;9833:5;9800:39;:::i;:::-;9855:61;9909:6;9904:3;9855:61;:::i;:::-;9848:68;;9925:65;9983:6;9978:3;9971:4;9964:5;9960:16;9925:65;:::i;:::-;10015:29;10037:6;10015:29;:::i;:::-;10010:3;10006:39;9999:46;;9776:275;9694:357;;;;:::o;10057:196::-;10146:10;10181:66;10243:3;10235:6;10181:66;:::i;:::-;10167:80;;10057:196;;;;:::o;10259:123::-;10339:4;10371;10366:3;10362:14;10354:22;;10259:123;;;:::o;10416:991::-;10555:3;10584:64;10642:5;10584:64;:::i;:::-;10664:96;10753:6;10748:3;10664:96;:::i;:::-;10657:103;;10786:3;10831:4;10823:6;10819:17;10814:3;10810:27;10861:66;10921:5;10861:66;:::i;:::-;10950:7;10981:1;10966:396;10991:6;10988:1;10985:13;10966:396;;;11062:9;11056:4;11052:20;11047:3;11040:33;11113:6;11107:13;11141:84;11220:4;11205:13;11141:84;:::i;:::-;11133:92;;11248:70;11311:6;11248:70;:::i;:::-;11238:80;;11347:4;11342:3;11338:14;11331:21;;11026:336;11013:1;11010;11006:9;11001:14;;10966:396;;;10970:14;11378:4;11371:11;;11398:3;11391:10;;10560:847;;;;;10416:991;;;;:::o;11413:114::-;11480:6;11514:5;11508:12;11498:22;;11413:114;;;:::o;11533:184::-;11632:11;11666:6;11661:3;11654:19;11706:4;11701:3;11697:14;11682:29;;11533:184;;;;:::o;11723:132::-;11790:4;11813:3;11805:11;;11843:4;11838:3;11834:14;11826:22;;11723:132;;;:::o;11861:108::-;11938:24;11956:5;11938:24;:::i;:::-;11933:3;11926:37;11861:108;;:::o;11975:179::-;12044:10;12065:46;12107:3;12099:6;12065:46;:::i;:::-;12143:4;12138:3;12134:14;12120:28;;11975:179;;;;:::o;12160:113::-;12230:4;12262;12257:3;12253:14;12245:22;;12160:113;;;:::o;12309:732::-;12428:3;12457:54;12505:5;12457:54;:::i;:::-;12527:86;12606:6;12601:3;12527:86;:::i;:::-;12520:93;;12637:56;12687:5;12637:56;:::i;:::-;12716:7;12747:1;12732:284;12757:6;12754:1;12751:13;12732:284;;;12833:6;12827:13;12860:63;12919:3;12904:13;12860:63;:::i;:::-;12853:70;;12946:60;12999:6;12946:60;:::i;:::-;12936:70;;12792:224;12779:1;12776;12772:9;12767:14;;12732:284;;;12736:14;13032:3;13025:10;;12433:608;;;12309:732;;;;:::o;13047:935::-;13366:4;13404:2;13393:9;13389:18;13381:26;;13453:9;13447:4;13443:20;13439:1;13428:9;13424:17;13417:47;13481:108;13584:4;13575:6;13481:108;:::i;:::-;13473:116;;13636:9;13630:4;13626:20;13621:2;13610:9;13606:18;13599:48;13664:128;13787:4;13778:6;13664:128;:::i;:::-;13656:136;;13839:9;13833:4;13829:20;13824:2;13813:9;13809:18;13802:48;13867:108;13970:4;13961:6;13867:108;:::i;:::-;13859:116;;13047:935;;;;;;:::o;13988:799::-;14075:6;14083;14091;14140:2;14128:9;14119:7;14115:23;14111:32;14108:119;;;14146:79;;:::i;:::-;14108:119;14266:1;14291:53;14336:7;14327:6;14316:9;14312:22;14291:53;:::i;:::-;14281:63;;14237:117;14421:2;14410:9;14406:18;14393:32;14452:18;14444:6;14441:30;14438:117;;;14474:79;;:::i;:::-;14438:117;14579:63;14634:7;14625:6;14614:9;14610:22;14579:63;:::i;:::-;14569:73;;14364:288;14691:2;14717:53;14762:7;14753:6;14742:9;14738:22;14717:53;:::i;:::-;14707:63;;14662:118;13988:799;;;;;:::o;14793:60::-;14821:3;14842:5;14835:12;;14793:60;;;:::o;14859:142::-;14909:9;14942:53;14960:34;14969:24;14987:5;14969:24;:::i;:::-;14960:34;:::i;:::-;14942:53;:::i;:::-;14929:66;;14859:142;;;:::o;15007:126::-;15057:9;15090:37;15121:5;15090:37;:::i;:::-;15077:50;;15007:126;;;:::o;15139:139::-;15202:9;15235:37;15266:5;15235:37;:::i;:::-;15222:50;;15139:139;;;:::o;15284:157::-;15384:50;15428:5;15384:50;:::i;:::-;15379:3;15372:63;15284:157;;:::o;15447:248::-;15553:4;15591:2;15580:9;15576:18;15568:26;;15604:84;15685:1;15674:9;15670:17;15661:6;15604:84;:::i;:::-;15447:248;;;;:::o;15701:180::-;15749:77;15746:1;15739:88;15846:4;15843:1;15836:15;15870:4;15867:1;15860:15;15887:320;15931:6;15968:1;15962:4;15958:12;15948:22;;16015:1;16009:4;16005:12;16036:18;16026:81;;16092:4;16084:6;16080:17;16070:27;;16026:81;16154:2;16146:6;16143:14;16123:18;16120:38;16117:84;;16173:18;;:::i;:::-;16117:84;15938:269;15887:320;;;:::o;16213:220::-;16353:34;16349:1;16341:6;16337:14;16330:58;16422:3;16417:2;16409:6;16405:15;16398:28;16213:220;:::o;16439:366::-;16581:3;16602:67;16666:2;16661:3;16602:67;:::i;:::-;16595:74;;16678:93;16767:3;16678:93;:::i;:::-;16796:2;16791:3;16787:12;16780:19;;16439:366;;;:::o;16811:419::-;16977:4;17015:2;17004:9;17000:18;16992:26;;17064:9;17058:4;17054:20;17050:1;17039:9;17035:17;17028:47;17092:131;17218:4;17092:131;:::i;:::-;17084:139;;16811:419;;;:::o;17236:180::-;17284:77;17281:1;17274:88;17381:4;17378:1;17371:15;17405:4;17402:1;17395:15;17422:86;17457:7;17497:4;17490:5;17486:16;17475:27;;17422:86;;;:::o;17514:180::-;17562:77;17559:1;17552:88;17659:4;17656:1;17649:15;17683:4;17680:1;17673:15;17700:191;17738:4;17758:18;17774:1;17758:18;:::i;:::-;17753:23;;17790:18;17806:1;17790:18;:::i;:::-;17785:23;;17832:1;17829;17825:9;17817:17;;17856:4;17850;17847:14;17844:40;;;17864:18;;:::i;:::-;17844:40;17700:191;;;;:::o;17897:177::-;18037:29;18033:1;18025:6;18021:14;18014:53;17897:177;:::o;18080:366::-;18222:3;18243:67;18307:2;18302:3;18243:67;:::i;:::-;18236:74;;18319:93;18408:3;18319:93;:::i;:::-;18437:2;18432:3;18428:12;18421:19;;18080:366;;;:::o;18452:419::-;18618:4;18656:2;18645:9;18641:18;18633:26;;18705:9;18699:4;18695:20;18691:1;18680:9;18676:17;18669:47;18733:131;18859:4;18733:131;:::i;:::-;18725:139;;18452:419;;;:::o;18877:233::-;18916:3;18939:24;18957:5;18939:24;:::i;:::-;18930:33;;18985:66;18978:5;18975:77;18972:103;;19055:18;;:::i;:::-;18972:103;19102:1;19095:5;19091:13;19084:20;;18877:233;;;:::o;19116:238::-;19256:34;19252:1;19244:6;19240:14;19233:58;19325:21;19320:2;19312:6;19308:15;19301:46;19116:238;:::o;19360:366::-;19502:3;19523:67;19587:2;19582:3;19523:67;:::i;:::-;19516:74;;19599:93;19688:3;19599:93;:::i;:::-;19717:2;19712:3;19708:12;19701:19;;19360:366;;;:::o;19732:419::-;19898:4;19936:2;19925:9;19921:18;19913:26;;19985:9;19979:4;19975:20;19971:1;19960:9;19956:17;19949:47;20013:131;20139:4;20013:131;:::i;:::-;20005:139;;19732:419;;;:::o;20157:410::-;20197:7;20220:20;20238:1;20220:20;:::i;:::-;20215:25;;20254:20;20272:1;20254:20;:::i;:::-;20249:25;;20309:1;20306;20302:9;20331:30;20349:11;20331:30;:::i;:::-;20320:41;;20510:1;20501:7;20497:15;20494:1;20491:22;20471:1;20464:9;20444:83;20421:139;;20540:18;;:::i;:::-;20421:139;20205:362;20157:410;;;;:::o;20573:143::-;20630:5;20661:6;20655:13;20646:22;;20677:33;20704:5;20677:33;:::i;:::-;20573:143;;;;:::o;20722:351::-;20792:6;20841:2;20829:9;20820:7;20816:23;20812:32;20809:119;;;20847:79;;:::i;:::-;20809:119;20967:1;20992:64;21048:7;21039:6;21028:9;21024:22;20992:64;:::i;:::-;20982:74;;20938:128;20722:351;;;;:::o;21079:332::-;21200:4;21238:2;21227:9;21223:18;21215:26;;21251:71;21319:1;21308:9;21304:17;21295:6;21251:71;:::i;:::-;21332:72;21400:2;21389:9;21385:18;21376:6;21332:72;:::i;:::-;21079:332;;;;;:::o;21417:116::-;21487:21;21502:5;21487:21;:::i;:::-;21480:5;21477:32;21467:60;;21523:1;21520;21513:12;21467:60;21417:116;:::o;21539:137::-;21593:5;21624:6;21618:13;21609:22;;21640:30;21664:5;21640:30;:::i;:::-;21539:137;;;;:::o;21682:345::-;21749:6;21798:2;21786:9;21777:7;21773:23;21769:32;21766:119;;;21804:79;;:::i;:::-;21766:119;21924:1;21949:61;22002:7;21993:6;21982:9;21978:22;21949:61;:::i;:::-;21939:71;;21895:125;21682:345;;;;:::o;22033:167::-;22173:19;22169:1;22161:6;22157:14;22150:43;22033:167;:::o;22206:366::-;22348:3;22369:67;22433:2;22428:3;22369:67;:::i;:::-;22362:74;;22445:93;22534:3;22445:93;:::i;:::-;22563:2;22558:3;22554:12;22547:19;;22206:366;;;:::o;22578:419::-;22744:4;22782:2;22771:9;22767:18;22759:26;;22831:9;22825:4;22821:20;22817:1;22806:9;22802:17;22795:47;22859:131;22985:4;22859:131;:::i;:::-;22851:139;;22578:419;;;:::o;23003:141::-;23052:4;23075:3;23067:11;;23098:3;23095:1;23088:14;23132:4;23129:1;23119:18;23111:26;;23003:141;;;:::o;23150:93::-;23187:6;23234:2;23229;23222:5;23218:14;23214:23;23204:33;;23150:93;;;:::o;23249:107::-;23293:8;23343:5;23337:4;23333:16;23312:37;;23249:107;;;;:::o;23362:393::-;23431:6;23481:1;23469:10;23465:18;23504:97;23534:66;23523:9;23504:97;:::i;:::-;23622:39;23652:8;23641:9;23622:39;:::i;:::-;23610:51;;23694:4;23690:9;23683:5;23679:21;23670:30;;23743:4;23733:8;23729:19;23722:5;23719:30;23709:40;;23438:317;;23362:393;;;;;:::o;23761:142::-;23811:9;23844:53;23862:34;23871:24;23889:5;23871:24;:::i;:::-;23862:34;:::i;:::-;23844:53;:::i;:::-;23831:66;;23761:142;;;:::o;23909:75::-;23952:3;23973:5;23966:12;;23909:75;;;:::o;23990:269::-;24100:39;24131:7;24100:39;:::i;:::-;24161:91;24210:41;24234:16;24210:41;:::i;:::-;24202:6;24195:4;24189:11;24161:91;:::i;:::-;24155:4;24148:105;24066:193;23990:269;;;:::o;24265:73::-;24310:3;24331:1;24324:8;;24265:73;:::o;24344:189::-;24421:32;;:::i;:::-;24462:65;24520:6;24512;24506:4;24462:65;:::i;:::-;24397:136;24344:189;;:::o;24539:186::-;24599:120;24616:3;24609:5;24606:14;24599:120;;;24670:39;24707:1;24700:5;24670:39;:::i;:::-;24643:1;24636:5;24632:13;24623:22;;24599:120;;;24539:186;;:::o;24731:543::-;24832:2;24827:3;24824:11;24821:446;;;24866:38;24898:5;24866:38;:::i;:::-;24950:29;24968:10;24950:29;:::i;:::-;24940:8;24936:44;25133:2;25121:10;25118:18;25115:49;;;25154:8;25139:23;;25115:49;25177:80;25233:22;25251:3;25233:22;:::i;:::-;25223:8;25219:37;25206:11;25177:80;:::i;:::-;24836:431;;24821:446;24731:543;;;:::o;25280:117::-;25334:8;25384:5;25378:4;25374:16;25353:37;;25280:117;;;;:::o;25403:169::-;25447:6;25480:51;25528:1;25524:6;25516:5;25513:1;25509:13;25480:51;:::i;:::-;25476:56;25561:4;25555;25551:15;25541:25;;25454:118;25403:169;;;;:::o;25577:295::-;25653:4;25799:29;25824:3;25818:4;25799:29;:::i;:::-;25791:37;;25861:3;25858:1;25854:11;25848:4;25845:21;25837:29;;25577:295;;;;:::o;25877:1395::-;25994:37;26027:3;25994:37;:::i;:::-;26096:18;26088:6;26085:30;26082:56;;;26118:18;;:::i;:::-;26082:56;26162:38;26194:4;26188:11;26162:38;:::i;:::-;26247:67;26307:6;26299;26293:4;26247:67;:::i;:::-;26341:1;26365:4;26352:17;;26397:2;26389:6;26386:14;26414:1;26409:618;;;;27071:1;27088:6;27085:77;;;27137:9;27132:3;27128:19;27122:26;27113:35;;27085:77;27188:67;27248:6;27241:5;27188:67;:::i;:::-;27182:4;27175:81;27044:222;26379:887;;26409:618;26461:4;26457:9;26449:6;26445:22;26495:37;26527:4;26495:37;:::i;:::-;26554:1;26568:208;26582:7;26579:1;26576:14;26568:208;;;26661:9;26656:3;26652:19;26646:26;26638:6;26631:42;26712:1;26704:6;26700:14;26690:24;;26759:2;26748:9;26744:18;26731:31;;26605:4;26602:1;26598:12;26593:17;;26568:208;;;26804:6;26795:7;26792:19;26789:179;;;26862:9;26857:3;26853:19;26847:26;26905:48;26947:4;26939:6;26935:17;26924:9;26905:48;:::i;:::-;26897:6;26890:64;26812:156;26789:179;27014:1;27010;27002:6;26998:14;26994:22;26988:4;26981:36;26416:611;;;26379:887;;25969:1303;;;25877:1395;;:::o;27278:423::-;27419:4;27457:2;27446:9;27442:18;27434:26;;27470:71;27538:1;27527:9;27523:17;27514:6;27470:71;:::i;:::-;27588:9;27582:4;27578:20;27573:2;27562:9;27558:18;27551:48;27616:78;27689:4;27680:6;27616:78;:::i;:::-;27608:86;;27278:423;;;;;:::o;27707:169::-;27847:21;27843:1;27835:6;27831:14;27824:45;27707:169;:::o;27882:366::-;28024:3;28045:67;28109:2;28104:3;28045:67;:::i;:::-;28038:74;;28121:93;28210:3;28121:93;:::i;:::-;28239:2;28234:3;28230:12;28223:19;;27882:366;;;:::o;28254:419::-;28420:4;28458:2;28447:9;28443:18;28435:26;;28507:9;28501:4;28497:20;28493:1;28482:9;28478:17;28471:47;28535:131;28661:4;28535:131;:::i;:::-;28527:139;;28254:419;;;:::o;28679:226::-;28819:34;28815:1;28807:6;28803:14;28796:58;28888:9;28883:2;28875:6;28871:15;28864:34;28679:226;:::o;28911:366::-;29053:3;29074:67;29138:2;29133:3;29074:67;:::i;:::-;29067:74;;29150:93;29239:3;29150:93;:::i;:::-;29268:2;29263:3;29259:12;29252:19;;28911:366;;;:::o;29283:419::-;29449:4;29487:2;29476:9;29472:18;29464:26;;29536:9;29530:4;29526:20;29522:1;29511:9;29507:17;29500:47;29564:131;29690:4;29564:131;:::i;:::-;29556:139;;29283:419;;;:::o;29708:174::-;29848:26;29844:1;29836:6;29832:14;29825:50;29708:174;:::o;29888:366::-;30030:3;30051:67;30115:2;30110:3;30051:67;:::i;:::-;30044:74;;30127:93;30216:3;30127:93;:::i;:::-;30245:2;30240:3;30236:12;30229:19;;29888:366;;;:::o;30260:419::-;30426:4;30464:2;30453:9;30449:18;30441:26;;30513:9;30507:4;30503:20;30499:1;30488:9;30484:17;30477:47;30541:131;30667:4;30541:131;:::i;:::-;30533:139;;30260:419;;;:::o;30685:175::-;30825:27;30821:1;30813:6;30809:14;30802:51;30685:175;:::o;30866:366::-;31008:3;31029:67;31093:2;31088:3;31029:67;:::i;:::-;31022:74;;31105:93;31194:3;31105:93;:::i;:::-;31223:2;31218:3;31214:12;31207:19;;30866:366;;;:::o;31238:419::-;31404:4;31442:2;31431:9;31427:18;31419:26;;31491:9;31485:4;31481:20;31477:1;31466:9;31462:17;31455:47;31519:131;31645:4;31519:131;:::i;:::-;31511:139;;31238:419;;;:::o;31663:442::-;31812:4;31850:2;31839:9;31835:18;31827:26;;31863:71;31931:1;31920:9;31916:17;31907:6;31863:71;:::i;:::-;31944:72;32012:2;32001:9;31997:18;31988:6;31944:72;:::i;:::-;32026;32094:2;32083:9;32079:18;32070:6;32026:72;:::i;:::-;31663:442;;;;;;:::o;32111:171::-;32251:23;32247:1;32239:6;32235:14;32228:47;32111:171;:::o;32288:366::-;32430:3;32451:67;32515:2;32510:3;32451:67;:::i;:::-;32444:74;;32527:93;32616:3;32527:93;:::i;:::-;32645:2;32640:3;32636:12;32629:19;;32288:366;;;:::o;32660:419::-;32826:4;32864:2;32853:9;32849:18;32841:26;;32913:9;32907:4;32903:20;32899:1;32888:9;32884:17;32877:47;32941:131;33067:4;32941:131;:::i;:::-;32933:139;;32660:419;;;:::o;33085:533::-;33254:4;33292:2;33281:9;33277:18;33269:26;;33305:71;33373:1;33362:9;33358:17;33349:6;33305:71;:::i;:::-;33423:9;33417:4;33413:20;33408:2;33397:9;33393:18;33386:48;33451:78;33524:4;33515:6;33451:78;:::i;:::-;33443:86;;33539:72;33607:2;33596:9;33592:18;33583:6;33539:72;:::i;:::-;33085:533;;;;;;:::o

Swarm Source

ipfs://2eda2deda0831d76c63e24b8842ce1fb7fcdf5408cddd799eb7f4608651defaa

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  ]

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.