Contract 0x184072a7aa098bbdef924642f0981bbb7c490baa

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x793e613c23d0233e94d0f9db28339f2fe19cc699a6b24333515ad8ca3e304e10Vote164703662022-06-27 4:47:1043 secs ago0xa463520e33af713a15273abd32e33185d45b3a2f IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0xaa88229e91d6fe685fa24ce738843a8fd35b7fbfeee73f59d446a90cc92fe231Vote164703592022-06-27 4:46:491 min ago0x5458dee630395baff2d6680a2627aa5ff5ab020d IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x264593fd4c1683069dfb4c4be228ff71c5badebf84c3df40066283f92812f6e6Vote164703422022-06-27 4:45:581 min ago0xc9ffe904fee94ebdcfde2cb3721d3a984d3cce7f IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0xf4089744950512bc170149d8355c90536d2b28d9109a0226fbdcb2bc1c83b10bVote164703342022-06-27 4:45:342 mins ago0x088efacac2f29f11a39df11daf1745a41037883e IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x114105993c79600ce8b0200d2aa2f75a318cde9cf1122e20f32c5046ac801dc3Vote164703122022-06-27 4:44:283 mins ago0x07f557b49827a3dc80d6e138fc79e001c7c935eb IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x301d4254cc7e443fe5ad0a81ddc1b238c34b6b19083f87eb4a136c09ace07877Vote164703122022-06-27 4:44:283 mins ago0x96c250268ac3bf662dadf9a3a685523581f7b160 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x124bede6d3cfc525a9c75861f2900c77230cf68bceb5072129b9e0a8cb146379Vote164702922022-06-27 4:43:284 mins ago0x1893cbebb800a5210bf2b97006dbeb94ff88bff9 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0xcbb5f4f27502b56c0c5d6bdf9405a754f7d51ef87a1d8eeecd7e33114b10f462Vote164702862022-06-27 4:43:104 mins ago0x8830ea2d84f27fea416e4c0c06a4bef75d2c8f33 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x44c769d3d0e5ab5a49a125d45074f98a7cda883f88b6aa0d127a05c040e06e6eVote164702652022-06-27 4:42:075 mins ago0x8c4ca74a61b5a150d9723e3f66a37056317cd946 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0xb51d795970fc35e36723ca3ac52734e8e3d79285a95e095260b806f3ab69a635Vote164702502022-06-27 4:41:226 mins ago0x828684149f8644bf0be20af082f43420dfbe32fc IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0xd480ae80bd9aa6630be5c0a20c64d5be2b8fc5302a75ea3d75ee828456a32b21Vote164702432022-06-27 4:41:016 mins ago0x9e0870c83500ca29277197599ff676a4c4390c6b IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x888f7037dac3c783f0c2b926b51959bff642abda8ca644aa4d99040d28389953Vote164702282022-06-27 4:40:167 mins ago0x6120b0731e9713bf9eff05254770bcd17decf038 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x16b4cbd8e33afe791f9911aa3ac128e1b85a318647933b37a0ad5d128c8b63c0Vote164702222022-06-27 4:39:587 mins ago0xd8ae6c8ad6c774f2ee8f1ceb0f866e39f9e33a75 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x06feca685644cdbf2e41a8851251f6b2b97ee384fb4550fdf16b7b0efd8ba6aaVote164702012022-06-27 4:38:558 mins ago0xf19c0b2dc2744633c89faa746e471ba302c4fc25 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0xd5c019708363b64cd3e2963ef96e58ed694182834c8d1f502e139bcadc1f42abVote164701892022-06-27 4:38:199 mins ago0x15f1627800694e390ce0ff816093273b122ebd7e IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x990a9429ba59f8dd2ece6908fb647d4a0d561117caf171c8bffa207ac807f826Vote164701722022-06-27 4:37:2810 mins ago0x0b26480f82cbaf0372a24b305db84c70a6c98222 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x048272f7094d9030384579833c5ab8a0277414cf6320ba37ad7b6ae3168988afVote164701662022-06-27 4:37:1010 mins ago0x63c2e0cef2fa618a57a861903110b9a387da9230 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x10bd30b48643febe282231b964b8882832b44b43bdce354abb5f67def5e942c8Vote164701512022-06-27 4:36:2511 mins ago0xb93d7c10be2f76f6a4174916aa0e3ca615fb15f8 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x01df0486f7d2209e98f6ffafd245003aa7ac09f1c19eaf6d612fabc41c36e12fVote164701432022-06-27 4:36:0111 mins ago0x0a8d1363f411e11b486c26b50d2cba5b477ed283 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x05ae99b45f1c6b1797040426ff40df79c84d360943c93c64330b9866a586c7bfVote164701282022-06-27 4:35:1612 mins ago0x5dddb2dc5a6d6e85944bd5a227631212291b1396 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x9a16e15db52d65aa64f3cfe4df47fa9d9291b017ba0f78c36a13201ccfffb4a0Vote164701002022-06-27 4:33:5214 mins ago0xc513065c2c322555c0a70137965f0b6f508dc5a4 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x2e846dba7e163b6e9e940757738d456d6856414962c1654d18111c6af55901bbVote164700772022-06-27 4:32:4315 mins ago0xd2697199c50893e2a8ba78b3e05dcedd44a28600 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x4aea81cd7849234dc4fc5524d2c687772c29e7fbaf1f202a87a5d9c579eb396eVote164700512022-06-27 4:31:2516 mins ago0x6b9b39109482e9c35cf8e09578f2cb7b5f5bf194 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0007750152.5
0x4afb254129cb0f492dc9686df702ca0cb2e88a2cab4d1565af6078125f154b74Vote164700462022-06-27 4:31:1016 mins ago0x105b94b42eeb369098009f6ac4d4e92dc6dcff8d IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0008605152.5
0xb64d80b8c8da6bb0dd0ea9717e8aaf6e6220f7c3864ad7102c81266adce2c1ffVote164700272022-06-27 4:30:1317 mins ago0x28ad90b12deb4375525ce50f0ee994ea55b986d5 IN 0x184072a7aa098bbdef924642f0981bbb7c490baa0 HT0.0008725152.5
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x7B79Dc4069Eac266Ec9CcfF63766B0208f9880D3

Contract Name:
DVoteApi

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at hecoinfo.com on 2022-05-20
*/

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.8.0 <0.9.0;

struct Poll {
    uint256 pollId;
    address tokenContract;
    uint256 dropAmount;
    uint256 dropNumber;
    uint256 foundationPrizePool;
    uint256 additionalPrizePool;
    uint256 numberOfVote;
    uint256 amountOfVote;
    string title;
    string context;
    string[] url;
    string[] options;
    uint earningsRatio; // denominator 10000
    uint creationTime;
    uint endTime;
    uint level;
    bool isQualified;
    bool isFinished;
    address sender;
}

struct PollSimple {
    uint256 pollId;
    address tokenContract;
    string title;
    string context;
    uint creationTime;
    uint endTime;
    uint level;
    bool isQualified;
    address sender;
}

struct PollVoterRecord {
    uint256 voterId;
    uint256 pollId;
    uint256 optionId;
    uint256 amount;
    uint256 income;
    uint time;
    bool isFinished;
    address sender;
}

contract ERC20 {

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     */
    function decimals() public view virtual returns (uint8) {
        return _decimals;
    }
}

interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library StringHelper {

    function append(string memory _str1, string memory _str2, string memory _str3) internal pure returns (string memory)
    {
        bytes memory _str1ToBytes = bytes(_str1);
        bytes memory _str2ToBytes = bytes(_str2);
        bytes memory _str3ToBytes = bytes(_str3);

        string memory ret = new string(_str1ToBytes.length + _str2ToBytes.length + _str3ToBytes.length);
        bytes memory retTobytes = bytes(ret);

        uint index = 0;
        for (uint i = 0; i < _str1ToBytes.length; i++) 
            retTobytes[index++] = _str1ToBytes[i];

        for (uint i = 0; i < _str2ToBytes.length; i++) 
            retTobytes[index++] = _str2ToBytes[i];

        for (uint i = 0; i < _str3ToBytes.length; i++) 
            retTobytes[index++] = _str3ToBytes[i];

        return string(retTobytes);
    }
}

interface DVote {

    function verifyTokenContract(address __tokenContract, address __sender, uint256 __amount) external returns (bool);

    function createPoll(string memory __title, address __tokenContract, uint256 __dropAmount, uint256 __dropNumber, string memory __context, uint __endTime, string[] memory __options, string[] memory __url, uint __level, uint256 __additionalPrizePool, address __sender) external returns (bool);

    function vote(uint256 __pollId, uint __index, uint256 __amount, address __sender) external returns (bool);

    function receiveVotingProfit(uint256 __voterId, address __sender) external returns (uint256 amount, uint256 income);

    function endPoll(uint256 __pollId) external;

    function shielding(uint256 __pollId) external;

    function setTdexTokenManager(address __tdexTokenManager) external;

    function subTdexToken(uint256 __pollId, address __sender) external;

    /*****************************************/

    function isVerifyTokenContractResults(address __tokenContract) external view returns (bool);

    function getPollsLength() external view returns (uint256);

    function getPoll(uint256 __pollId) external view returns (Poll memory);

    function getPollVotingInfo(uint256 __pollId) external view returns (uint256[] memory numberOfOptions, uint256[] memory amountOfOptions);

    function getPollVotingDetailCount10Desc(uint256 __pollId, uint256 __index) external view returns(uint256[10] memory);

    function getUserVoteStatistical(address __sender) external view returns (uint256 totalAmount, uint256 totalIncome, uint256 totalNumber);

    function getUserVoteIdOfPolls(uint256 __pollId, address __sender) external view returns (uint256);

    function getUserCreatePollRecordsLength(address __sender) external view returns (uint256);

    function getUserCreatePollRecord(address __sender, uint __index) external view returns (uint256);

    function getPollsInTheVoteLength() external view returns (uint);

    function getPollsInTheVote(uint __index) external view returns (uint256);

    function getPollsVotingClosedLength() external view returns (uint256);

    function getPollsVotingClosed(uint __index) external view returns (uint256);

    function getPollVoterRecordsLength() external view returns (uint256);

    function getPollVoterRecord(uint256 __voterId) external view returns (PollVoterRecord memory);

    function getUserVoterRecordsLength(address __sender) external view returns (uint256);

    function getUserVoterRecords(address __sender, uint __index) external view returns (uint256);

    function getDVoteInfo() external view returns (uint256 totalPublisherConsumption, uint256 totalPoolConsumption, uint256 totalVoterConsumption, uint256 balanceOf);
}

contract DVoteApi {

    address private _owner;
    address private _admin;
    address private _body;
    DVote private _dvote;

    mapping(address => bool) private _blackList;

    bool private _running;

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

    modifier onlyAdmin() {
        require(_admin == msg.sender || _owner == msg.sender, "caller is not the admin");
        _;
    }

    function setAdmin(address __admin) external onlyOwner
    {
        _admin = __admin;
    }

    function add(address __sender) external onlyAdmin
    {
        _blackList[__sender] = true;
    }

    function remove(address __sender) external onlyAdmin
    {
        require(_blackList[__sender] == true, "no");
        _blackList[__sender] = false;
        delete _blackList[__sender];
    }

    function setTdexTokenManager(address __tdexTokenManager) external onlyAdmin
    {
        return _dvote.setTdexTokenManager(__tdexTokenManager);
    }

    function setRunning(bool __running) external onlyOwner
    {
        _running = __running;
    }

    constructor (address __dvote) {
        _owner = msg.sender;
        _body = __dvote;
        _dvote = DVote(__dvote);
        _running = true;
    }

    function verifyTokenContract(address __tokenContract, uint256 __amount) external returns (bool)
    {
        return _dvote.verifyTokenContract(__tokenContract, msg.sender, __amount);
    }

    function createTDexPoll(address __tokenContract, uint256 __dropAmount, uint256 __dropNumber, string memory __context, string memory __url) external returns (bool)
    {
        require(_running == true, "Suspended!");
        require(_blackList[msg.sender] == false, "no");
        string memory __title = StringHelper.append("Vote for ", ERC20(__tokenContract).name(), "/USDT on TDEX");
        uint __endTime = block.timestamp + 86400 * 3;
        string[] memory __options = new string[](2);
        __options[0] = "Agree";
        __options[1] = "Disagree";
        string[] memory _url = new string[](1);
        _url[0] = __url;
        return _dvote.createPoll(__title, __tokenContract, __dropAmount, __dropNumber, __context, __endTime, __options, _url, 3, 0, msg.sender);
    }

    function createPoll(string memory __title, string memory __context, uint __endTime, string[] memory __options, string[] memory __url, uint __level, uint256 __additionalPrizePool) external returns (bool)
    {
        require(_running == true, "Suspended!");
        require(_blackList[msg.sender] == false, "no");
        return _dvote.createPoll(__title, address(0), 0, 0, __context, __endTime, __options, __url, __level, __additionalPrizePool, msg.sender);
    }

    function vote(uint256 __pollId, uint __index, uint256 __amount) external returns (bool)
    {
        return _dvote.vote(__pollId, __index, __amount, msg.sender);
    }

    function receiveVotingProfit(uint256 __voterId) external returns (uint256 amount, uint256 income)
    {
        return _dvote.receiveVotingProfit(__voterId, msg.sender);
    }

    function subTdexToken(uint256 __pollId) external
    {
        _dvote.subTdexToken(__pollId, msg.sender);
    }

    function endPoll(uint256 __pollId) external onlyAdmin
    {
        _dvote.endPoll(__pollId);
    }

    function shielding(uint256 __pollId) external onlyAdmin
    {
        _dvote.shielding(__pollId);
    }

    /*****************************************/

    function getDVoteAddress() external view returns (address)
    {
        return _body;
    }

    function getPollsLength() external view returns (uint256)
    {
        return _dvote.getPollsLength();
    }

    function getPollInfo(uint256 __pollId) external view returns (Poll memory poll, uint256[] memory numberOfOptions, uint256[] memory amountOfOptions)
    {
        poll = _dvote.getPoll(__pollId);
        (numberOfOptions, amountOfOptions) = _dvote.getPollVotingInfo(__pollId);
    }

    function getPollVotingDetailCount10Desc(uint256 __pollId, uint256 __index) external view returns(PollVoterRecord[10] memory list)
    {
        uint256[10] memory voterIds = _dvote.getPollVotingDetailCount10Desc(__pollId, __index);
        for (uint i=0; i<10; i++)
        {
            list[i] = _dvote.getPollVoterRecord(voterIds[i]);
        }
    }
    function getUserVoteStatistical(address __sender) external view returns (uint256 totalAmount, uint256 totalIncome, uint256 totalNumber)
    {
        return _dvote.getUserVoteStatistical(__sender);
    }

    function getUserVoteIdOfPolls(uint256 __pollId, address __sender) external view returns (uint256)
    {
        return _dvote.getUserVoteIdOfPolls(__pollId, __sender);
    }

    function getUserCreatePollRecordsLength(address __sender) external view returns (uint256)
    {
        return _dvote.getUserCreatePollRecordsLength(__sender);
    }

    function getPollsInTheVoteLength() external view returns (uint)
    {
        return _dvote.getPollsInTheVoteLength();
    }

    function getPollSimple(uint256 __pollId) internal view returns (PollSimple memory)
    {
        Poll memory _poll = _dvote.getPoll(__pollId);
        return PollSimple({
            pollId:_poll.pollId,
            tokenContract:_poll.tokenContract,
            title:_poll.title,
            context:_poll.context,
            creationTime:_poll.creationTime,
            endTime:_poll.endTime,
            level:_poll.level,
            isQualified:_poll.isQualified,
            sender:_poll.sender
        });
    }

    function getPollsInTheVoteCount10(uint __index) external view returns (PollSimple[10] memory list)
    {
        uint length = _dvote.getPollsInTheVoteLength();
        if (__index < length)
        {
            uint begin = __index;
            uint end = length;
            if (__index + 10 < length)
            {
                end = __index + 10;
            }
            uint i = begin;
            for (uint j=0; j<10; j++)
            {
                uint256 __pollId = _dvote.getPollsInTheVote(i);
                if (__pollId > 0) list[j] = getPollSimple(__pollId);
                i++;
                if (i == length) break;
            }
        }
    }

    function getPollsVotingClosedLength() external view returns (uint256)
    {
        return _dvote.getPollsVotingClosedLength();
    }

    function getPollsVotingClosedCount10Desc(uint256 __index, address __sender) external view returns (PollSimple[10] memory list, PollVoterRecord[10] memory voterList)
    {
        uint256 length = _dvote.getPollsVotingClosedLength();
        if (__index > 0 && __index <= length)
        {
            uint256 begin = __index-1;
            uint256 end = 0;
            if (__index >= 10)
            {
                end = __index-10;
            }
            uint256 j = 0;
            uint256 i = begin;
            while(true)
            {
                list[j] = getPollSimple(_dvote.getPollsVotingClosed(i));
                uint256 __voterId = _dvote.getUserVoteIdOfPolls(list[j].pollId, __sender);
                voterList[j] = _dvote.getPollVoterRecord(__voterId);
                if (i == end) break;
                i--;
                j++;
            }
        }
    }

    function getPollVoterRecord(uint256 __pollId, address __sender) external view returns (PollVoterRecord memory)
    {
        uint256 __voterId = _dvote.getUserVoteIdOfPolls(__pollId, __sender);
        return _dvote.getPollVoterRecord(__voterId);
    }

    function getUserVoterRecordsLength(address __sender) external view returns (uint256)
    {
        return _dvote.getUserVoterRecordsLength(__sender);
    }

    function getUserVoterRecordsCount10Desc(address __sender, uint256 __index) external view returns (PollVoterRecord[10] memory list, Poll[10] memory pollsList)
    {
        uint256 length = _dvote.getUserVoterRecordsLength(__sender);
        if (__index > 0 && __index <= length)
        {
            uint256 begin = __index-1;
            uint256 end = 0;
            if (__index >= 10)
            {
                end = __index-10;
            }
            uint j = 0;
            uint256 i = begin;
            while(true)
            {
                list[j] = _dvote.getPollVoterRecord(_dvote.getUserVoterRecords(__sender, i));
                pollsList[j] = _dvote.getPoll(list[j].pollId);
                if (i == end) break;
                i--;
                j++;
            }
        }
    }

    function getDVoteInfo() external view returns (uint256 totalPublisherConsumption, uint256 totalPoolConsumption, uint256 totalVoterConsumption, uint256 balanceOf)
    {
        return _dvote.getDVoteInfo();
    }

    function isVerifyTokenContractResults(address __tokenContract) external view returns (bool)
    {
        return _dvote.isVerifyTokenContractResults(__tokenContract);
    }

    function getTokenInfo(address __tokenContract) external view returns (
        string memory name,
        string memory symbol,
        uint decimals,
        uint256 totalSupply)
    {
        name = ERC20(__tokenContract).name();
        symbol = ERC20(__tokenContract).symbol();
        decimals = ERC20(__tokenContract).decimals();
        totalSupply = IERC20(__tokenContract).totalSupply();

    }

    function isAdmin(address __sender) external view returns (bool)
    {
        if (__sender == _admin)
            return true;
        return false;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"__dvote","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"__sender","type":"address"}],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"__title","type":"string"},{"internalType":"string","name":"__context","type":"string"},{"internalType":"uint256","name":"__endTime","type":"uint256"},{"internalType":"string[]","name":"__options","type":"string[]"},{"internalType":"string[]","name":"__url","type":"string[]"},{"internalType":"uint256","name":"__level","type":"uint256"},{"internalType":"uint256","name":"__additionalPrizePool","type":"uint256"}],"name":"createPoll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"__tokenContract","type":"address"},{"internalType":"uint256","name":"__dropAmount","type":"uint256"},{"internalType":"uint256","name":"__dropNumber","type":"uint256"},{"internalType":"string","name":"__context","type":"string"},{"internalType":"string","name":"__url","type":"string"}],"name":"createTDexPoll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"__pollId","type":"uint256"}],"name":"endPoll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getDVoteAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDVoteInfo","outputs":[{"internalType":"uint256","name":"totalPublisherConsumption","type":"uint256"},{"internalType":"uint256","name":"totalPoolConsumption","type":"uint256"},{"internalType":"uint256","name":"totalVoterConsumption","type":"uint256"},{"internalType":"uint256","name":"balanceOf","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"__pollId","type":"uint256"}],"name":"getPollInfo","outputs":[{"components":[{"internalType":"uint256","name":"pollId","type":"uint256"},{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"uint256","name":"dropAmount","type":"uint256"},{"internalType":"uint256","name":"dropNumber","type":"uint256"},{"internalType":"uint256","name":"foundationPrizePool","type":"uint256"},{"internalType":"uint256","name":"additionalPrizePool","type":"uint256"},{"internalType":"uint256","name":"numberOfVote","type":"uint256"},{"internalType":"uint256","name":"amountOfVote","type":"uint256"},{"internalType":"string","name":"title","type":"string"},{"internalType":"string","name":"context","type":"string"},{"internalType":"string[]","name":"url","type":"string[]"},{"internalType":"string[]","name":"options","type":"string[]"},{"internalType":"uint256","name":"earningsRatio","type":"uint256"},{"internalType":"uint256","name":"creationTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"bool","name":"isQualified","type":"bool"},{"internalType":"bool","name":"isFinished","type":"bool"},{"internalType":"address","name":"sender","type":"address"}],"internalType":"struct Poll","name":"poll","type":"tuple"},{"internalType":"uint256[]","name":"numberOfOptions","type":"uint256[]"},{"internalType":"uint256[]","name":"amountOfOptions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"__pollId","type":"uint256"},{"internalType":"address","name":"__sender","type":"address"}],"name":"getPollVoterRecord","outputs":[{"components":[{"internalType":"uint256","name":"voterId","type":"uint256"},{"internalType":"uint256","name":"pollId","type":"uint256"},{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"income","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"bool","name":"isFinished","type":"bool"},{"internalType":"address","name":"sender","type":"address"}],"internalType":"struct PollVoterRecord","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"__pollId","type":"uint256"},{"internalType":"uint256","name":"__index","type":"uint256"}],"name":"getPollVotingDetailCount10Desc","outputs":[{"components":[{"internalType":"uint256","name":"voterId","type":"uint256"},{"internalType":"uint256","name":"pollId","type":"uint256"},{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"income","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"bool","name":"isFinished","type":"bool"},{"internalType":"address","name":"sender","type":"address"}],"internalType":"struct PollVoterRecord[10]","name":"list","type":"tuple[10]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"__index","type":"uint256"}],"name":"getPollsInTheVoteCount10","outputs":[{"components":[{"internalType":"uint256","name":"pollId","type":"uint256"},{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"string","name":"title","type":"string"},{"internalType":"string","name":"context","type":"string"},{"internalType":"uint256","name":"creationTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"bool","name":"isQualified","type":"bool"},{"internalType":"address","name":"sender","type":"address"}],"internalType":"struct PollSimple[10]","name":"list","type":"tuple[10]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPollsInTheVoteLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPollsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"__index","type":"uint256"},{"internalType":"address","name":"__sender","type":"address"}],"name":"getPollsVotingClosedCount10Desc","outputs":[{"components":[{"internalType":"uint256","name":"pollId","type":"uint256"},{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"string","name":"title","type":"string"},{"internalType":"string","name":"context","type":"string"},{"internalType":"uint256","name":"creationTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"bool","name":"isQualified","type":"bool"},{"internalType":"address","name":"sender","type":"address"}],"internalType":"struct PollSimple[10]","name":"list","type":"tuple[10]"},{"components":[{"internalType":"uint256","name":"voterId","type":"uint256"},{"internalType":"uint256","name":"pollId","type":"uint256"},{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"income","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"bool","name":"isFinished","type":"bool"},{"internalType":"address","name":"sender","type":"address"}],"internalType":"struct PollVoterRecord[10]","name":"voterList","type":"tuple[10]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPollsVotingClosedLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"__tokenContract","type":"address"}],"name":"getTokenInfo","outputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"__sender","type":"address"}],"name":"getUserCreatePollRecordsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"__pollId","type":"uint256"},{"internalType":"address","name":"__sender","type":"address"}],"name":"getUserVoteIdOfPolls","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"__sender","type":"address"}],"name":"getUserVoteStatistical","outputs":[{"internalType":"uint256","name":"totalAmount","type":"uint256"},{"internalType":"uint256","name":"totalIncome","type":"uint256"},{"internalType":"uint256","name":"totalNumber","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"__sender","type":"address"},{"internalType":"uint256","name":"__index","type":"uint256"}],"name":"getUserVoterRecordsCount10Desc","outputs":[{"components":[{"internalType":"uint256","name":"voterId","type":"uint256"},{"internalType":"uint256","name":"pollId","type":"uint256"},{"internalType":"uint256","name":"optionId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"income","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"bool","name":"isFinished","type":"bool"},{"internalType":"address","name":"sender","type":"address"}],"internalType":"struct PollVoterRecord[10]","name":"list","type":"tuple[10]"},{"components":[{"internalType":"uint256","name":"pollId","type":"uint256"},{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"uint256","name":"dropAmount","type":"uint256"},{"internalType":"uint256","name":"dropNumber","type":"uint256"},{"internalType":"uint256","name":"foundationPrizePool","type":"uint256"},{"internalType":"uint256","name":"additionalPrizePool","type":"uint256"},{"internalType":"uint256","name":"numberOfVote","type":"uint256"},{"internalType":"uint256","name":"amountOfVote","type":"uint256"},{"internalType":"string","name":"title","type":"string"},{"internalType":"string","name":"context","type":"string"},{"internalType":"string[]","name":"url","type":"string[]"},{"internalType":"string[]","name":"options","type":"string[]"},{"internalType":"uint256","name":"earningsRatio","type":"uint256"},{"internalType":"uint256","name":"creationTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"bool","name":"isQualified","type":"bool"},{"internalType":"bool","name":"isFinished","type":"bool"},{"internalType":"address","name":"sender","type":"address"}],"internalType":"struct Poll[10]","name":"pollsList","type":"tuple[10]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"__sender","type":"address"}],"name":"getUserVoterRecordsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"__sender","type":"address"}],"name":"isAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"__tokenContract","type":"address"}],"name":"isVerifyTokenContractResults","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"__voterId","type":"uint256"}],"name":"receiveVotingProfit","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"income","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"__sender","type":"address"}],"name":"remove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"__admin","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"__running","type":"bool"}],"name":"setRunning","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"__tdexTokenManager","type":"address"}],"name":"setTdexTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"__pollId","type":"uint256"}],"name":"shielding","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"__pollId","type":"uint256"}],"name":"subTdexToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"__tokenContract","type":"address"},{"internalType":"uint256","name":"__amount","type":"uint256"}],"name":"verifyTokenContract","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"__pollId","type":"uint256"},{"internalType":"uint256","name":"__index","type":"uint256"},{"internalType":"uint256","name":"__amount","type":"uint256"}],"name":"vote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506040516200576438038062005764833981810160405281019062000037919062000185565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560006101000a81548160ff02191690831515021790555050620001b7565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200014d8262000120565b9050919050565b6200015f8162000140565b81146200016b57600080fd5b50565b6000815190506200017f8162000154565b92915050565b6000602082840312156200019e576200019d6200011b565b5b6000620001ae848285016200016e565b91505092915050565b61559d80620001c76000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c80638e2690af1161010f578063caa8792d116100a2578063dfd200c511610071578063dfd200c514610635578063f277594314610651578063f43b877814610681578063fa4f19df1461069d576101e5565b8063caa8792d146105bf578063d4f0ca1f146105dd578063d6dc9038146105fb578063dcef042714610617576101e5565b8063b51616ed116100de578063b51616ed14610525578063b920e0e014610555578063c05ac92f14610573578063c09e53eb1461058f576101e5565b80638e2690af1461047357806394f800cd146104945780639cd2e11e146104c5578063a9b8e244146104f5576101e5565b806329b8f44a11610187578063770c1eb311610156578063770c1eb3146103b25780638611a96f146103e25780638a6655d6146104125780638a846e2014610442576101e5565b806329b8f44a146103175780633d927b5214610349578063566944bb1461037a578063704b6c0214610396576101e5565b8063221eaa63116101c3578063221eaa631461026b57806322d504d61461029b57806324d7806c146102cb57806329092d0e146102fb576101e5565b806304f2467d146101ea5780630a3b0a4f1461021c5780631f69565f14610238575b600080fd5b61020460048036038101906101ff91906133ab565b6106cd565b604051610213939291906133f1565b60405180910390f35b610236600480360381019061023191906133ab565b61077b565b005b610252600480360381019061024d91906133ab565b6108bc565b60405161026294939291906134c1565b60405180910390f35b6102856004803603810190610280919061375b565b610a9a565b6040516102929190613888565b60405180910390f35b6102b560048036038101906102b091906133ab565b610c46565b6040516102c291906138a3565b60405180910390f35b6102e560048036038101906102e091906133ab565b610ceb565b6040516102f29190613888565b60405180910390f35b610315600480360381019061031091906133ab565b610d55565b005b610331600480360381019061032c91906138be565b610f78565b60405161034093929190613c7f565b60405180910390f35b610363600480360381019061035e9190613ccb565b6110d6565b6040516103719291906140ac565b60405180910390f35b610394600480360381019061038f91906133ab565b611436565b005b6103b060048036038101906103ab91906133ab565b6115ac565b005b6103cc60048036038101906103c791906140de565b61167e565b6040516103d991906141c0565b60405180910390f35b6103fc60048036038101906103f791906140de565b6117ce565b60405161040991906138a3565b60405180910390f35b61042c600480360381019061042791906141dc565b611876565b6040516104399190613888565b60405180910390f35b61045c600480360381019061045791906140de565b611925565b60405161046a9291906143b1565b60405180910390f35b61047b611c88565b60405161048b94939291906143e2565b60405180910390f35b6104ae60048036038101906104a991906138be565b611d2d565b6040516104bc929190614427565b60405180910390f35b6104df60048036038101906104da91906138be565b611dd8565b6040516104ec9190614450565b60405180910390f35b61050f600480360381019061050a91906133ab565b611fc4565b60405161051c91906138a3565b60405180910390f35b61053f600480360381019061053a9190614472565b612069565b60405161054c91906144b2565b60405180910390f35b61055d61220a565b60405161056a91906138a3565b60405180910390f35b61058d600480360381019061058891906138be565b6122a2565b005b6105a960048036038101906105a491906144ce565b612418565b6040516105b69190613888565b60405180910390f35b6105c7612835565b6040516105d491906138a3565b60405180910390f35b6105e56128cd565b6040516105f291906138a3565b60405180910390f35b610615600480360381019061061091906138be565b612965565b005b61061f6129f7565b60405161062c9190614590565b60405180910390f35b61064f600480360381019061064a91906145d7565b612a21565b005b61066b60048036038101906106669190613ccb565b612acc565b6040516106789190613888565b60405180910390f35b61069b600480360381019061069691906138be565b612b78565b005b6106b760048036038101906106b291906133ab565b612cee565b6040516106c49190613888565b60405180910390f35b6000806000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166304f2467d856040518263ffffffff1660e01b815260040161072d9190614590565b606060405180830381865afa15801561074a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076e9190614619565b9250925092509193909250565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061082257503373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610861576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610858906146b8565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6060806000808473ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561090d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906109369190614748565b93508473ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015610983573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906109ac9190614748565b92508473ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1d91906147ca565b60ff1691508473ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9191906147f7565b90509193509193565b600060011515600560009054906101000a900460ff16151514610af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae990614870565b60405180910390fd5b60001515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610b85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7c906148dc565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638a2894258960008060008c8c8c8c8c8c336040518c63ffffffff1660e01b8152600401610bf69b9a999897969594939291906149c7565b6020604051808303816000875af1158015610c15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c399190614aa3565b9050979650505050505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166322d504d6836040518263ffffffff1660e01b8152600401610ca39190614590565b602060405180830381865afa158015610cc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce491906147f7565b9050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d4b5760019050610d50565b600090505b919050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610dfc57503373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e32906146b8565b60405180910390fd5b60011515600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610ece576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec5906148dc565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff021916905550565b610f80613116565b606080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631a8cbcaa856040518263ffffffff1660e01b8152600401610fde91906138a3565b600060405180830381865afa158015610ffb573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906110249190614dd0565b9250600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468e1e72856040518263ffffffff1660e01b815260040161108191906138a3565b600060405180830381865afa15801561109e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906110c79190614edc565b80925081935050509193909250565b6110de6131d8565b6110e6613206565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166322d504d6866040518263ffffffff1660e01b81526004016111439190614590565b602060405180830381865afa158015611160573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118491906147f7565b90506000841180156111965750808411155b1561142e5760006001856111aa9190614f83565b90506000600a86106111c657600a866111c39190614f83565b90505b6000808390505b60011561142957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633e01a6b7600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e986c71e8c856040518363ffffffff1660e01b815260040161126f929190614fb7565b602060405180830381865afa15801561128c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b091906147f7565b6040518263ffffffff1660e01b81526004016112cc91906138a3565b61010060405180830381865afa1580156112ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130e91906150aa565b8783600a8110611321576113206150d8565b5b6020020181905250600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631a8cbcaa8884600a811061137a576113796150d8565b5b6020020151602001516040518263ffffffff1660e01b815260040161139f91906138a3565b600060405180830381865afa1580156113bc573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906113e59190614dd0565b8683600a81106113f8576113f76150d8565b5b60200201819052508281031561142957808061141390615107565b915050818061142190615130565b9250506111cd565b505050505b509250929050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806114dd57503373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61151c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611513906146b8565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663566944bb826040518263ffffffff1660e01b81526004016115779190614590565b600060405180830381600087803b15801561159157600080fd5b505af11580156115a5573d6000803e3d6000fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461163a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611631906151c4565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611686613234565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638611a96f85856040518363ffffffff1660e01b81526004016116e59291906151e4565b602060405180830381865afa158015611702573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172691906147f7565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633e01a6b7826040518263ffffffff1660e01b815260040161178391906138a3565b61010060405180830381865afa1580156117a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c591906150aa565b91505092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638611a96f84846040518363ffffffff1660e01b815260040161182d9291906151e4565b602060405180830381865afa15801561184a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186e91906147f7565b905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638a917c87858585336040518563ffffffff1660e01b81526004016118d9949392919061520d565b6020604051808303816000875af11580156118f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191c9190614aa3565b90509392505050565b61192d613291565b6119356131d8565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b920e0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c891906147f7565b90506000851180156119da5750808511155b15611c805760006001866119ee9190614f83565b90506000600a8710611a0a57600a87611a079190614f83565b90505b6000808390505b600115611c7b57611abc600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce96d6bb836040518263ffffffff1660e01b8152600401611a7691906138a3565b602060405180830381865afa158015611a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab791906147f7565b612d93565b8783600a8110611acf57611ace6150d8565b5b60200201819052506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638611a96f8985600a8110611b2a57611b296150d8565b5b6020020151600001518b6040518363ffffffff1660e01b8152600401611b519291906151e4565b602060405180830381865afa158015611b6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9291906147f7565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633e01a6b7826040518263ffffffff1660e01b8152600401611bef91906138a3565b61010060405180830381865afa158015611c0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3191906150aa565b8784600a8110611c4457611c436150d8565b5b6020020181905250838203611c595750611c7b565b8180611c6490615107565b9250508280611c7290615130565b93505050611a11565b505050505b509250929050565b600080600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638e2690af6040518163ffffffff1660e01b8152600401608060405180830381865afa158015611cfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1f9190615252565b935093509350935090919293565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f404ef284336040518363ffffffff1660e01b8152600401611d8d9291906151e4565b60408051808303816000875af1158015611dab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dcf91906152b9565b91509150915091565b611de0613291565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663caa8792d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7391906147f7565b905080831015611fbe576000839050600082905082600a86611e9591906152f9565b1015611eab57600a85611ea891906152f9565b90505b600082905060005b600a811015611fb9576000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffcae59d846040518263ffffffff1660e01b8152600401611f1991906138a3565b602060405180830381865afa158015611f36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5a91906147f7565b90506000811115611f8a57611f6e81612d93565b8783600a8110611f8157611f806150d8565b5b60200201819052505b8280611f9590615130565b935050858303611fa55750611fb9565b508080611fb190615130565b915050611eb3565b505050505b50919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9b8e244836040518263ffffffff1660e01b81526004016120219190614590565b602060405180830381865afa15801561203e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206291906147f7565b9050919050565b6120716131d8565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b51616ed85856040518363ffffffff1660e01b81526004016120d0929190614427565b61014060405180830381865afa1580156120ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121129190615400565b905060005b600a81101561220257600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633e01a6b78383600a8110612171576121706150d8565b5b60200201516040518263ffffffff1660e01b815260040161219291906138a3565b61010060405180830381865afa1580156121b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d491906150aa565b8382600a81106121e7576121e66150d8565b5b602002018190525080806121fa90615130565b915050612117565b505092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b920e0e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612279573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229d91906147f7565b905090565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061234957503373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b612388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237f906146b8565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c05ac92f826040518263ffffffff1660e01b81526004016123e391906138a3565b600060405180830381600087803b1580156123fd57600080fd5b505af1158015612411573d6000803e3d6000fd5b5050505050565b600060011515600560009054906101000a900460ff16151514612470576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246790614870565b60405180910390fd5b60001515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612503576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124fa906148dc565b60405180910390fd5b60006125ed6040518060400160405280600981526020017f566f746520666f722000000000000000000000000000000000000000000000008152508873ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015612589573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906125b29190614748565b6040518060400160405280600d81526020017f2f55534454206f6e205444455800000000000000000000000000000000000000815250612ee1565b905060006203f4804261260091906152f9565b90506000600267ffffffffffffffff81111561261f5761261e61351e565b5b60405190808252806020026020018201604052801561265257816020015b606081526020019060019003908161263d5790505b5090506040518060400160405280600581526020017f41677265650000000000000000000000000000000000000000000000000000008152508160008151811061269f5761269e6150d8565b5b60200260200101819052506040518060400160405280600881526020017f4469736167726565000000000000000000000000000000000000000000000000815250816001815181106126f4576126f36150d8565b5b60200260200101819052506000600167ffffffffffffffff81111561271c5761271b61351e565b5b60405190808252806020026020018201604052801561274f57816020015b606081526020019060019003908161273a5790505b5090508581600081518110612767576127666150d8565b5b6020026020010181905250600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638a289425858c8c8c8c89898960036000336040518c63ffffffff1660e01b81526004016127e39b9a99989796959493929190615469565b6020604051808303816000875af1158015612802573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128269190614aa3565b94505050505095945050505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663caa8792d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c891906147f7565b905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d4f0ca1f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561293c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296091906147f7565b905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638251e44e82336040518363ffffffff1660e01b81526004016129c29291906151e4565b600060405180830381600087803b1580156129dc57600080fd5b505af11580156129f0573d6000803e3d6000fd5b5050505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa6906151c4565b60405180910390fd5b80600560006101000a81548160ff02191690831515021790555050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380984c7f8433856040518463ffffffff1660e01b8152600401612b2d93929190615530565b6020604051808303816000875af1158015612b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b709190614aa3565b905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480612c1f57503373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b612c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c55906146b8565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f43b8778826040518263ffffffff1660e01b8152600401612cb991906138a3565b600060405180830381600087803b158015612cd357600080fd5b505af1158015612ce7573d6000803e3d6000fd5b5050505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fa4f19df836040518263ffffffff1660e01b8152600401612d4b9190614590565b602060405180830381865afa158015612d68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d8c9190614aa3565b9050919050565b612d9b6132bf565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631a8cbcaa846040518263ffffffff1660e01b8152600401612df891906138a3565b600060405180830381865afa158015612e15573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190612e3e9190614dd0565b905060405180610120016040528082600001518152602001826020015173ffffffffffffffffffffffffffffffffffffffff16815260200182610100015181526020018261012001518152602001826101a001518152602001826101c001518152602001826101e0015181526020018261020001511515815260200182610240015173ffffffffffffffffffffffffffffffffffffffff16815250915050919050565b60606000849050600084905060008490506000815183518551612f0491906152f9565b612f0e91906152f9565b67ffffffffffffffff811115612f2757612f2661351e565b5b6040519080825280601f01601f191660200182016040528015612f595781602001600182028036833780820191505090505b50905060008190506000805b8651811015612fed57868181518110612f8157612f806150d8565b5b602001015160f81c60f81b838380612f9890615130565b945081518110612fab57612faa6150d8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080612fe590615130565b915050612f65565b5060005b85518110156130795785818151811061300d5761300c6150d8565b5b602001015160f81c60f81b83838061302490615130565b945081518110613037576130366150d8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808061307190615130565b915050612ff1565b5060005b845181101561310557848181518110613099576130986150d8565b5b602001015160f81c60f81b8383806130b090615130565b9450815181106130c3576130c26150d8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806130fd90615130565b91505061307d565b508196505050505050509392505050565b60405180610260016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016060815260200160608152602001606081526020016060815260200160008152602001600081526020016000815260200160008152602001600015158152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b604051806101400160405280600a905b6131f0613234565b8152602001906001900390816131e85790505090565b604051806101400160405280600a905b61321e613116565b8152602001906001900390816132165790505090565b604051806101000160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b604051806101400160405280600a905b6132a96132bf565b8152602001906001900390816132a15790505090565b60405180610120016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001600081526020016000815260200160008152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133788261334d565b9050919050565b6133888161336d565b811461339357600080fd5b50565b6000813590506133a58161337f565b92915050565b6000602082840312156133c1576133c0613343565b5b60006133cf84828501613396565b91505092915050565b6000819050919050565b6133eb816133d8565b82525050565b600060608201905061340660008301866133e2565b61341360208301856133e2565b61342060408301846133e2565b949350505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613462578082015181840152602081019050613447565b83811115613471576000848401525b50505050565b6000601f19601f8301169050919050565b600061349382613428565b61349d8185613433565b93506134ad818560208601613444565b6134b681613477565b840191505092915050565b600060808201905081810360008301526134db8187613488565b905081810360208301526134ef8186613488565b90506134fe60408301856133e2565b61350b60608301846133e2565b95945050505050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61355682613477565b810181811067ffffffffffffffff821117156135755761357461351e565b5b80604052505050565b6000613588613339565b9050613594828261354d565b919050565b600067ffffffffffffffff8211156135b4576135b361351e565b5b6135bd82613477565b9050602081019050919050565b82818337600083830152505050565b60006135ec6135e784613599565b61357e565b90508281526020810184848401111561360857613607613519565b5b6136138482856135ca565b509392505050565b600082601f8301126136305761362f613514565b5b81356136408482602086016135d9565b91505092915050565b613652816133d8565b811461365d57600080fd5b50565b60008135905061366f81613649565b92915050565b600067ffffffffffffffff8211156136905761368f61351e565b5b602082029050602081019050919050565b600080fd5b60006136b96136b484613675565b61357e565b905080838252602082019050602084028301858111156136dc576136db6136a1565b5b835b8181101561372357803567ffffffffffffffff81111561370157613700613514565b5b80860161370e898261361b565b855260208501945050506020810190506136de565b5050509392505050565b600082601f83011261374257613741613514565b5b81356137528482602086016136a6565b91505092915050565b600080600080600080600060e0888a03121561377a57613779613343565b5b600088013567ffffffffffffffff81111561379857613797613348565b5b6137a48a828b0161361b565b975050602088013567ffffffffffffffff8111156137c5576137c4613348565b5b6137d18a828b0161361b565b96505060406137e28a828b01613660565b955050606088013567ffffffffffffffff81111561380357613802613348565b5b61380f8a828b0161372d565b945050608088013567ffffffffffffffff8111156138305761382f613348565b5b61383c8a828b0161372d565b93505060a061384d8a828b01613660565b92505060c061385e8a828b01613660565b91505092959891949750929550565b60008115159050919050565b6138828161386d565b82525050565b600060208201905061389d6000830184613879565b92915050565b60006020820190506138b860008301846133e2565b92915050565b6000602082840312156138d4576138d3613343565b5b60006138e284828501613660565b91505092915050565b6138f4816133d8565b82525050565b6139038161336d565b82525050565b600082825260208201905092915050565b600061392582613428565b61392f8185613909565b935061393f818560208601613444565b61394881613477565b840191505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600061398b838361391a565b905092915050565b6000602082019050919050565b60006139ab82613953565b6139b5818561395e565b9350836020820285016139c78561396f565b8060005b85811015613a0357848403895281516139e4858261397f565b94506139ef83613993565b925060208a019950506001810190506139cb565b50829750879550505050505092915050565b613a1e8161386d565b82525050565b600061026083016000830151613a3d60008601826138eb565b506020830151613a5060208601826138fa565b506040830151613a6360408601826138eb565b506060830151613a7660608601826138eb565b506080830151613a8960808601826138eb565b5060a0830151613a9c60a08601826138eb565b5060c0830151613aaf60c08601826138eb565b5060e0830151613ac260e08601826138eb565b50610100830151848203610100860152613adc828261391a565b915050610120830151848203610120860152613af8828261391a565b915050610140830151848203610140860152613b1482826139a0565b915050610160830151848203610160860152613b3082826139a0565b915050610180830151613b476101808601826138eb565b506101a0830151613b5c6101a08601826138eb565b506101c0830151613b716101c08601826138eb565b506101e0830151613b866101e08601826138eb565b50610200830151613b9b610200860182613a15565b50610220830151613bb0610220860182613a15565b50610240830151613bc56102408601826138fa565b508091505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000613c0883836138eb565b60208301905092915050565b6000602082019050919050565b6000613c2c82613bd0565b613c368185613bdb565b9350613c4183613bec565b8060005b83811015613c72578151613c598882613bfc565b9750613c6483613c14565b925050600181019050613c45565b5085935050505092915050565b60006060820190508181036000830152613c998186613a24565b90508181036020830152613cad8185613c21565b90508181036040830152613cc18184613c21565b9050949350505050565b60008060408385031215613ce257613ce1613343565b5b6000613cf085828601613396565b9250506020613d0185828601613660565b9150509250929050565b6000600a9050919050565b600081905092915050565b6000819050919050565b61010082016000820151613d4260008501826138eb565b506020820151613d5560208501826138eb565b506040820151613d6860408501826138eb565b506060820151613d7b60608501826138eb565b506080820151613d8e60808501826138eb565b5060a0820151613da160a08501826138eb565b5060c0820151613db460c0850182613a15565b5060e0820151613dc760e08501826138fa565b50505050565b6000613dd98383613d2b565b6101008301905092915050565b6000602082019050919050565b613dfc81613d0b565b613e068184613d16565b9250613e1182613d21565b8060005b83811015613e42578151613e298782613dcd565b9650613e3483613de6565b925050600181019050613e15565b505050505050565b6000600a9050919050565b600081905092915050565b6000819050919050565b600061026083016000830151613e8360008601826138eb565b506020830151613e9660208601826138fa565b506040830151613ea960408601826138eb565b506060830151613ebc60608601826138eb565b506080830151613ecf60808601826138eb565b5060a0830151613ee260a08601826138eb565b5060c0830151613ef560c08601826138eb565b5060e0830151613f0860e08601826138eb565b50610100830151848203610100860152613f22828261391a565b915050610120830151848203610120860152613f3e828261391a565b915050610140830151848203610140860152613f5a82826139a0565b915050610160830151848203610160860152613f7682826139a0565b915050610180830151613f8d6101808601826138eb565b506101a0830151613fa26101a08601826138eb565b506101c0830151613fb76101c08601826138eb565b506101e0830151613fcc6101e08601826138eb565b50610200830151613fe1610200860182613a15565b50610220830151613ff6610220860182613a15565b5061024083015161400b6102408601826138fa565b508091505092915050565b60006140228383613e6a565b905092915050565b6000602082019050919050565b600061404282613e4a565b61404c8185613e55565b93508360208202850161405e85613e60565b8060005b8581101561409a578484038952815161407b8582614016565b94506140868361402a565b925060208a01995050600181019050614062565b50829750879550505050505092915050565b6000610a20820190506140c26000830185613df3565b818103610a008301526140d58184614037565b90509392505050565b600080604083850312156140f5576140f4613343565b5b600061410385828601613660565b925050602061411485828601613396565b9150509250929050565b6101008201600082015161413560008501826138eb565b50602082015161414860208501826138eb565b50604082015161415b60408501826138eb565b50606082015161416e60608501826138eb565b50608082015161418160808501826138eb565b5060a082015161419460a08501826138eb565b5060c08201516141a760c0850182613a15565b5060e08201516141ba60e08501826138fa565b50505050565b6000610100820190506141d6600083018461411e565b92915050565b6000806000606084860312156141f5576141f4613343565b5b600061420386828701613660565b935050602061421486828701613660565b925050604061422586828701613660565b9150509250925092565b6000600a9050919050565b600081905092915050565b6000819050919050565b60006101208301600083015161426860008601826138eb565b50602083015161427b60208601826138fa565b5060408301518482036040860152614293828261391a565b915050606083015184820360608601526142ad828261391a565b91505060808301516142c260808601826138eb565b5060a08301516142d560a08601826138eb565b5060c08301516142e860c08601826138eb565b5060e08301516142fb60e0860182613a15565b506101008301516143106101008601826138fa565b508091505092915050565b6000614327838361424f565b905092915050565b6000602082019050919050565b60006143478261422f565b614351818561423a565b93508360208202850161436385614245565b8060005b8581101561439f5784840389528151614380858261431b565b945061438b8361432f565b925060208a01995050600181019050614367565b50829750879550505050505092915050565b6000610a208201905081810360008301526143cc818561433c565b90506143db6020830184613df3565b9392505050565b60006080820190506143f760008301876133e2565b61440460208301866133e2565b61441160408301856133e2565b61441e60608301846133e2565b95945050505050565b600060408201905061443c60008301856133e2565b61444960208301846133e2565b9392505050565b6000602082019050818103600083015261446a818461433c565b905092915050565b6000806040838503121561448957614488613343565b5b600061449785828601613660565b92505060206144a885828601613660565b9150509250929050565b6000610a00820190506144c86000830184613df3565b92915050565b600080600080600060a086880312156144ea576144e9613343565b5b60006144f888828901613396565b955050602061450988828901613660565b945050604061451a88828901613660565b935050606086013567ffffffffffffffff81111561453b5761453a613348565b5b6145478882890161361b565b925050608086013567ffffffffffffffff81111561456857614567613348565b5b6145748882890161361b565b9150509295509295909350565b61458a8161336d565b82525050565b60006020820190506145a56000830184614581565b92915050565b6145b48161386d565b81146145bf57600080fd5b50565b6000813590506145d1816145ab565b92915050565b6000602082840312156145ed576145ec613343565b5b60006145fb848285016145c2565b91505092915050565b60008151905061461381613649565b92915050565b60008060006060848603121561463257614631613343565b5b600061464086828701614604565b935050602061465186828701614604565b925050604061466286828701614604565b9150509250925092565b7f63616c6c6572206973206e6f74207468652061646d696e000000000000000000600082015250565b60006146a2601783613433565b91506146ad8261466c565b602082019050919050565b600060208201905081810360008301526146d181614695565b9050919050565b60006146eb6146e684613599565b61357e565b90508281526020810184848401111561470757614706613519565b5b614712848285613444565b509392505050565b600082601f83011261472f5761472e613514565b5b815161473f8482602086016146d8565b91505092915050565b60006020828403121561475e5761475d613343565b5b600082015167ffffffffffffffff81111561477c5761477b613348565b5b6147888482850161471a565b91505092915050565b600060ff82169050919050565b6147a781614791565b81146147b257600080fd5b50565b6000815190506147c48161479e565b92915050565b6000602082840312156147e0576147df613343565b5b60006147ee848285016147b5565b91505092915050565b60006020828403121561480d5761480c613343565b5b600061481b84828501614604565b91505092915050565b7f53757370656e6465642100000000000000000000000000000000000000000000600082015250565b600061485a600a83613433565b915061486582614824565b602082019050919050565b600060208201905081810360008301526148898161484d565b9050919050565b7f6e6f000000000000000000000000000000000000000000000000000000000000600082015250565b60006148c6600283613433565b91506148d182614890565b602082019050919050565b600060208201905081810360008301526148f5816148b9565b9050919050565b6000819050919050565b6000819050919050565b600061492b614926614921846148fc565b614906565b6133d8565b9050919050565b61493b81614910565b82525050565b600082825260208201905092915050565b600061495d82613953565b6149678185614941565b9350836020820285016149798561396f565b8060005b858110156149b55784840389528151614996858261397f565b94506149a183613993565b925060208a0199505060018101905061497d565b50829750879550505050505092915050565b60006101608201905081810360008301526149e2818e613488565b90506149f1602083018d614581565b6149fe604083018c614932565b614a0b606083018b614932565b8181036080830152614a1d818a613488565b9050614a2c60a08301896133e2565b81810360c0830152614a3e8188614952565b905081810360e0830152614a528187614952565b9050614a626101008301866133e2565b614a706101208301856133e2565b614a7e610140830184614581565b9c9b505050505050505050505050565b600081519050614a9d816145ab565b92915050565b600060208284031215614ab957614ab8613343565b5b6000614ac784828501614a8e565b91505092915050565b600080fd5b600080fd5b600081519050614ae98161337f565b92915050565b6000614b02614afd84613675565b61357e565b90508083825260208201905060208402830185811115614b2557614b246136a1565b5b835b81811015614b6c57805167ffffffffffffffff811115614b4a57614b49613514565b5b808601614b57898261471a565b85526020850194505050602081019050614b27565b5050509392505050565b600082601f830112614b8b57614b8a613514565b5b8151614b9b848260208601614aef565b91505092915050565b60006102608284031215614bbb57614bba614ad0565b5b614bc661026061357e565b90506000614bd684828501614604565b6000830152506020614bea84828501614ada565b6020830152506040614bfe84828501614604565b6040830152506060614c1284828501614604565b6060830152506080614c2684828501614604565b60808301525060a0614c3a84828501614604565b60a08301525060c0614c4e84828501614604565b60c08301525060e0614c6284828501614604565b60e08301525061010082015167ffffffffffffffff811115614c8757614c86614ad5565b5b614c938482850161471a565b6101008301525061012082015167ffffffffffffffff811115614cb957614cb8614ad5565b5b614cc58482850161471a565b6101208301525061014082015167ffffffffffffffff811115614ceb57614cea614ad5565b5b614cf784828501614b76565b6101408301525061016082015167ffffffffffffffff811115614d1d57614d1c614ad5565b5b614d2984828501614b76565b61016083015250610180614d3f84828501614604565b610180830152506101a0614d5584828501614604565b6101a0830152506101c0614d6b84828501614604565b6101c0830152506101e0614d8184828501614604565b6101e083015250610200614d9784828501614a8e565b61020083015250610220614dad84828501614a8e565b61022083015250610240614dc384828501614ada565b6102408301525092915050565b600060208284031215614de657614de5613343565b5b600082015167ffffffffffffffff811115614e0457614e03613348565b5b614e1084828501614ba4565b91505092915050565b600067ffffffffffffffff821115614e3457614e3361351e565b5b602082029050602081019050919050565b6000614e58614e5384614e19565b61357e565b90508083825260208201905060208402830185811115614e7b57614e7a6136a1565b5b835b81811015614ea45780614e908882614604565b845260208401935050602081019050614e7d565b5050509392505050565b600082601f830112614ec357614ec2613514565b5b8151614ed3848260208601614e45565b91505092915050565b60008060408385031215614ef357614ef2613343565b5b600083015167ffffffffffffffff811115614f1157614f10613348565b5b614f1d85828601614eae565b925050602083015167ffffffffffffffff811115614f3e57614f3d613348565b5b614f4a85828601614eae565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614f8e826133d8565b9150614f99836133d8565b925082821015614fac57614fab614f54565b5b828203905092915050565b6000604082019050614fcc6000830185614581565b614fd960208301846133e2565b9392505050565b60006101008284031215614ff757614ff6614ad0565b5b61500261010061357e565b9050600061501284828501614604565b600083015250602061502684828501614604565b602083015250604061503a84828501614604565b604083015250606061504e84828501614604565b606083015250608061506284828501614604565b60808301525060a061507684828501614604565b60a08301525060c061508a84828501614a8e565b60c08301525060e061509e84828501614ada565b60e08301525092915050565b600061010082840312156150c1576150c0613343565b5b60006150cf84828501614fe0565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000615112826133d8565b91506000820361512557615124614f54565b5b600182039050919050565b600061513b826133d8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361516d5761516c614f54565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006151ae602083613433565b91506151b982615178565b602082019050919050565b600060208201905081810360008301526151dd816151a1565b9050919050565b60006040820190506151f960008301856133e2565b6152066020830184614581565b9392505050565b600060808201905061522260008301876133e2565b61522f60208301866133e2565b61523c60408301856133e2565b6152496060830184614581565b95945050505050565b6000806000806080858703121561526c5761526b613343565b5b600061527a87828801614604565b945050602061528b87828801614604565b935050604061529c87828801614604565b92505060606152ad87828801614604565b91505092959194509250565b600080604083850312156152d0576152cf613343565b5b60006152de85828601614604565b92505060206152ef85828601614604565b9150509250929050565b6000615304826133d8565b915061530f836133d8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561534457615343614f54565b5b828201905092915050565b600067ffffffffffffffff82111561536a5761536961351e565b5b602082029050919050565b60006153886153838461534f565b61357e565b905080602084028301858111156153a2576153a16136a1565b5b835b818110156153cb57806153b78882614604565b8452602084019350506020810190506153a4565b5050509392505050565b600082601f8301126153ea576153e9613514565b5b600a6153f7848285615375565b91505092915050565b6000610140828403121561541757615416613343565b5b6000615425848285016153d5565b91505092915050565b6000819050919050565b600061545361544e6154498461542e565b614906565b6133d8565b9050919050565b61546381615438565b82525050565b6000610160820190508181036000830152615484818e613488565b9050615493602083018d614581565b6154a0604083018c6133e2565b6154ad606083018b6133e2565b81810360808301526154bf818a613488565b90506154ce60a08301896133e2565b81810360c08301526154e08188614952565b905081810360e08301526154f48187614952565b905061550461010083018661545a565b615512610120830185614932565b615520610140830184614581565b9c9b505050505050505050505050565b60006060820190506155456000830186614581565b6155526020830185614581565b61555f60408301846133e2565b94935050505056fea2646970667358221220300635fa104ec3d0ba6d2348ab5d521429e475440b94c00c892d9ab8ff940c0e64736f6c634300080d0033000000000000000000000000d921d2a560feaeb5e3cf8c38e6c25c3670864b54

Deployed ByteCode Sourcemap

8133:9732:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12594:206;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;8724:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17280:415;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;10473:469;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15871:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17703:159;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8833:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11935:285;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;16037:830;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;9038:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8622:94;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15607:256;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12808:176;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10950:171;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14689:910;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;16875:214;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;11129:178;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;13845:692;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12992:168;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12228:360;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14545:136;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11547:106;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9668:797;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13168:127;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11815:112;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11315:114;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11712:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9199:99;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9468:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11437:102;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17097:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12594:206;12667:19;12688;12709;12753:6;;;;;;;;;;;:29;;;12783:8;12753:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12746:46;;;;;;12594:206;;;;;:::o;8724:101::-;8532:10;8522:20;;:6;;;;;;;;;;;:20;;;:44;;;;8556:10;8546:20;;:6;;;;;;;;;;:20;;;8522:44;8514:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;8813:4:::1;8790:10;:20;8801:8;8790:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;8724:101:::0;:::o;17280:415::-;17360:18;17389:20;17420:13;17444:19;17494:15;17488:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17481:36;;17543:15;17537:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17528:40;;17596:15;17590:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17579:44;;;;17655:15;17648:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17634:51;;17280:415;;;;;:::o;10473:469::-;10670:4;10712;10700:16;;:8;;;;;;;;;;;:16;;;10692:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;10776:5;10750:31;;:10;:22;10761:10;10750:22;;;;;;;;;;;;;;;;;;;;;;;;;:31;;;10742:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;10806:6;;;;;;;;;;;:17;;;10824:7;10841:1;10845;10848;10851:9;10862;10873;10884:5;10891:7;10900:21;10923:10;10806:128;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10799:135;;10473:469;;;;;;;;;:::o;15871:158::-;15947:7;15979:6;;;;;;;;;;;:32;;;16012:8;15979:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15972:49;;15871:158;;;:::o;17703:159::-;17761:4;17799:6;;;;;;;;;;;17787:18;;:8;:18;;;17783:48;;17827:4;17820:11;;;;17783:48;17849:5;17842:12;;17703:159;;;;:::o;8833:197::-;8532:10;8522:20;;:6;;;;;;;;;;;:20;;;:44;;;;8556:10;8546:20;;:6;;;;;;;;;;:20;;;8522:44;8514:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;8934:4:::1;8910:28;;:10;:20;8921:8;8910:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;8902:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;8979:5;8956:10;:20;8967:8;8956:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;9002:10;:20;9013:8;9002:20;;;;;;;;;;;;;;;;8995:27;;;;;;;;;;;8833:197:::0;:::o;11935:285::-;11997:16;;:::i;:::-;12015:32;12049;12106:6;;;;;;;;;;;:14;;;12121:8;12106:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12099:31;;12178:6;;;;;;;;;;;:24;;;12203:8;12178:34;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12141:71;;;;;;;;11935:285;;;;;:::o;16037:830::-;16135:31;;:::i;:::-;16168:25;;:::i;:::-;16211:14;16228:6;;;;;;;;;;;:32;;;16261:8;16228:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16211:59;;16295:1;16285:7;:11;:32;;;;;16311:6;16300:7;:17;;16285:32;16281:579;;;16343:13;16367:1;16359:7;:9;;;;:::i;:::-;16343:25;;16383:11;16428:2;16417:7;:13;16413:83;;16478:2;16470:7;:10;;;;:::i;:::-;16464:16;;16413:83;16510:6;16535:9;16547:5;16535:17;;16567:282;16573:4;16567:282;;;16621:6;;;;;;;;;;;:25;;;16647:6;;;;;;;;;;;:26;;;16674:8;16684:1;16647:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16621:66;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16611:4;16616:1;16611:7;;;;;;;:::i;:::-;;;;;:76;;;;16721:6;;;;;;;;;;;:14;;;16736:4;16741:1;16736:7;;;;;;;:::i;:::-;;;;;;:14;;;16721:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16706:9;16716:1;16706:12;;;;;;;:::i;:::-;;;;;:45;;;;16779:3;16774:1;:8;16770:19;16784:5;16770:19;16808:3;;;;;:::i;:::-;;;;16830;;;;;:::i;:::-;;;;16567:282;;;16328:532;;;;16281:579;16200:667;16037:830;;;;;:::o;9038:153::-;8532:10;8522:20;;:6;;;;;;;;;;;:20;;;:44;;;;8556:10;8546:20;;:6;;;;;;;;;;:20;;;8522:44;8514:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;9137:6:::1;;;;;;;;;;;:26;;;9164:18;9137:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9038:153:::0;:::o;8622:94::-;8407:10;8397:20;;:6;;;;;;;;;;:20;;;8389:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8701:7:::1;8692:6;;:16;;;;;;;;;;;;;;;;;;8622:94:::0;:::o;15607:256::-;15694:22;;:::i;:::-;15734:17;15754:6;;;;;;;;;;;:27;;;15782:8;15792;15754:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15734:67;;15819:6;;;;;;;;;;;:25;;;15845:9;15819:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15812:43;;;15607:256;;;;:::o;12808:176::-;12897:7;12929:6;;;;;;;;;;;:27;;;12957:8;12967;12929:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12922:54;;12808:176;;;;:::o;10950:171::-;11032:4;11061:6;;;;;;;;;;;:11;;;11073:8;11083:7;11092:8;11102:10;11061:52;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11054:59;;10950:171;;;;;:::o;14689:910::-;14788:26;;:::i;:::-;14816:36;;:::i;:::-;14870:14;14887:6;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14870:52;;14947:1;14937:7;:11;:32;;;;;14963:6;14952:7;:17;;14937:32;14933:659;;;14995:13;15019:1;15011:7;:9;;;;:::i;:::-;14995:25;;15035:11;15080:2;15069:7;:13;15065:83;;15130:2;15122:7;:10;;;;:::i;:::-;15116:16;;15065:83;15162:9;15190;15202:5;15190:17;;15222:359;15228:4;15222:359;;;15276:45;15290:6;;;;;;;;;;;:27;;;15318:1;15290:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15276:13;:45::i;:::-;15266:4;15271:1;15266:7;;;;;;;:::i;:::-;;;;;:55;;;;15340:17;15360:6;;;;;;;;;;;:27;;;15388:4;15393:1;15388:7;;;;;;;:::i;:::-;;;;;;:14;;;15404:8;15360:53;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15340:73;;15447:6;;;;;;;;;;;:25;;;15473:9;15447:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15432:9;15442:1;15432:12;;;;;;;:::i;:::-;;;;;:51;;;;15511:3;15506:1;:8;15502:19;;15516:5;;;15502:19;15540:3;;;;;:::i;:::-;;;;15562;;;;;:::i;:::-;;;;15247:334;15222:359;;;14980:612;;;;14933:659;14859:740;14689:910;;;;;:::o;16875:214::-;16922:33;16957:28;16987:29;17018:17;17060:6;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17053:28;;;;;;;;16875:214;;;;:::o;11129:178::-;11195:14;11211;11250:6;;;;;;;;;;;:26;;;11277:9;11288:10;11250:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11243:56;;;;11129:178;;;:::o;13845:692::-;13916:26;;:::i;:::-;13960:11;13974:6;;;;;;;;;;;:30;;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13960:46;;14031:6;14021:7;:16;14017:513;;;14063:10;14076:7;14063:20;;14098:8;14109:6;14098:17;;14149:6;14144:2;14134:7;:12;;;;:::i;:::-;:21;14130:93;;;14205:2;14195:7;:12;;;;:::i;:::-;14189:18;;14130:93;14237:6;14246:5;14237:14;;14271:6;14266:253;14283:2;14281:1;:4;14266:253;;;14324:16;14343:6;;;;;;;;;;;:24;;;14368:1;14343:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14324:46;;14404:1;14393:8;:12;14389:51;;;14417:23;14431:8;14417:13;:23::i;:::-;14407:4;14412:1;14407:7;;;;;;;:::i;:::-;;;;;:33;;;;14389:51;14459:3;;;;;:::i;:::-;;;;14490:6;14485:1;:11;14481:22;;14498:5;;;14481:22;14305:214;14287:3;;;;;:::i;:::-;;;;14266:253;;;;14048:482;;;14017:513;13949:588;13845:692;;;:::o;12992:168::-;13073:7;13105:6;;;;;;;;;;;:37;;;13143:8;13105:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13098:54;;12992:168;;;:::o;12228:360::-;12325:31;;:::i;:::-;12374:27;12404:6;;;;;;;;;;;:37;;;12442:8;12452:7;12404:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12374:86;;12476:6;12471:110;12488:2;12486:1;:4;12471:110;;;12531:6;;;;;;;;;;;:25;;;12557:8;12566:1;12557:11;;;;;;;:::i;:::-;;;;;;12531:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12521:4;12526:1;12521:7;;;;;;;:::i;:::-;;;;;:48;;;;12492:3;;;;;:::i;:::-;;;;12471:110;;;;12363:225;12228:360;;;;:::o;14545:136::-;14606:7;14638:6;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14631:42;;14545:136;:::o;11547:106::-;8532:10;8522:20;;:6;;;;;;;;;;;:20;;;:44;;;;8556:10;8546:20;;:6;;;;;;;;;;:20;;;8522:44;8514:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;11619:6:::1;;;;;;;;;;;:16;;;11636:8;11619:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11547:106:::0;:::o;9668:797::-;9825:4;9867;9855:16;;:8;;;;;;;;;;;:16;;;9847:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;9931:5;9905:31;;:10;:22;9916:10;9905:22;;;;;;;;;;;;;;;;;;;;;;;;;:31;;;9897:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;9954:21;9978:80;;;;;;;;;;;;;;;;;;10017:15;10011:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9978:80;;;;;;;;;;;;;;;;;:19;:80::i;:::-;9954:104;;10069:14;10104:9;10086:15;:27;;;;:::i;:::-;10069:44;;10124:25;10165:1;10152:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10124:43;;10178:22;;;;;;;;;;;;;;;;;:9;10188:1;10178:12;;;;;;;;:::i;:::-;;;;;;;:22;;;;10211:25;;;;;;;;;;;;;;;;;:9;10221:1;10211:12;;;;;;;;:::i;:::-;;;;;;;:25;;;;10247:20;10283:1;10270:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10247:38;;10306:5;10296:4;10301:1;10296:7;;;;;;;;:::i;:::-;;;;;;;:15;;;;10329:6;;;;;;;;;;;:17;;;10347:7;10356:15;10373:12;10387;10401:9;10412;10423;10434:4;10440:1;10443;10446:10;10329:128;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10322:135;;;;;;9668:797;;;;;;;:::o;13168:127::-;13226:4;13255:6;;;;;;;;;;;:30;;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13248:39;;13168:127;:::o;11815:112::-;11864:7;11896:6;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11889:30;;11815:112;:::o;11315:114::-;11380:6;;;;;;;;;;;:19;;;11400:8;11410:10;11380:41;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11315:114;:::o;11712:95::-;11762:7;11794:5;;;;;;;;;;;11787:12;;11712:95;:::o;9199:99::-;8407:10;8397:20;;:6;;;;;;;;;;:20;;;8389:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;9281:9:::1;9270:8;;:20;;;;;;;;;;;;;;;;;;9199:99:::0;:::o;9468:192::-;9558:4;9587:6;;;;;;;;;;;:26;;;9614:15;9631:10;9643:8;9587:65;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9580:72;;9468:192;;;;:::o;11437:102::-;8532:10;8522:20;;:6;;;;;;;;;;;:20;;;:44;;;;8556:10;8546:20;;:6;;;;;;;;;;:20;;;8522:44;8514:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;11507:6:::1;;;;;;;;;;;:14;;;11522:8;11507:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11437:102:::0;:::o;17097:175::-;17183:4;17212:6;;;;;;;;;;;:35;;;17248:15;17212:52;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17205:59;;17097:175;;;:::o;13303:534::-;13367:17;;:::i;:::-;13402;13422:6;;;;;;;;;;;:14;;;13437:8;13422:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13402:44;;13464:365;;;;;;;;13497:5;:12;;;13464:365;;;;13538:5;:19;;;13464:365;;;;;;13578:5;:11;;;13464:365;;;;13612:5;:13;;;13464:365;;;;13653:5;:18;;;13464:365;;;;13694:5;:13;;;13464:365;;;;13728:5;:11;;;13464:365;;;;13766:5;:17;;;13464:365;;;;;;13805:5;:12;;;13464:365;;;;;13457:372;;;13303:534;;;:::o;4479:834::-;4581:13;4612:25;4646:5;4612:40;;4663:25;4697:5;4663:40;;4714:25;4748:5;4714:40;;4767:17;4842:12;:19;4820:12;:19;4798:12;:19;:41;;;;:::i;:::-;:63;;;;:::i;:::-;4787:75;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4767:95;;4873:23;4905:3;4873:36;;4922:10;4952:6;4947:98;4968:12;:19;4964:1;:23;4947:98;;;5030:12;5043:1;5030:15;;;;;;;;:::i;:::-;;;;;;;;;;5008:10;5019:7;;;;;:::i;:::-;;;5008:19;;;;;;;;:::i;:::-;;;;;:37;;;;;;;;;;;4989:3;;;;;:::i;:::-;;;;4947:98;;;;5063:6;5058:98;5079:12;:19;5075:1;:23;5058:98;;;5141:12;5154:1;5141:15;;;;;;;;:::i;:::-;;;;;;;;;;5119:10;5130:7;;;;;:::i;:::-;;;5119:19;;;;;;;;:::i;:::-;;;;;:37;;;;;;;;;;;5100:3;;;;;:::i;:::-;;;;5058:98;;;;5174:6;5169:98;5190:12;:19;5186:1;:23;5169:98;;;5252:12;5265:1;5252:15;;;;;;;;:::i;:::-;;;;;;;;;;5230:10;5241:7;;;;;:::i;:::-;;;5230:19;;;;;;;;:::i;:::-;;;;;:37;;;;;;;;;;;5211:3;;;;;:::i;:::-;;;;5169:98;;;;5294:10;5280:25;;;;;;;;4479:834;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:442::-;1532:4;1570:2;1559:9;1555:18;1547:26;;1583:71;1651:1;1640:9;1636:17;1627:6;1583:71;:::i;:::-;1664:72;1732:2;1721:9;1717:18;1708:6;1664:72;:::i;:::-;1746;1814:2;1803:9;1799:18;1790:6;1746:72;:::i;:::-;1383:442;;;;;;:::o;1831:99::-;1883:6;1917:5;1911:12;1901:22;;1831:99;;;:::o;1936:169::-;2020:11;2054:6;2049:3;2042:19;2094:4;2089:3;2085:14;2070:29;;1936:169;;;;:::o;2111:307::-;2179:1;2189:113;2203:6;2200:1;2197:13;2189:113;;;2288:1;2283:3;2279:11;2273:18;2269:1;2264:3;2260:11;2253:39;2225:2;2222:1;2218:10;2213:15;;2189:113;;;2320:6;2317:1;2314:13;2311:101;;;2400:1;2391:6;2386:3;2382:16;2375:27;2311:101;2160:258;2111:307;;;:::o;2424:102::-;2465:6;2516:2;2512:7;2507:2;2500:5;2496:14;2492:28;2482:38;;2424:102;;;:::o;2532:364::-;2620:3;2648:39;2681:5;2648:39;:::i;:::-;2703:71;2767:6;2762:3;2703:71;:::i;:::-;2696:78;;2783:52;2828:6;2823:3;2816:4;2809:5;2805:16;2783:52;:::i;:::-;2860:29;2882:6;2860:29;:::i;:::-;2855:3;2851:39;2844:46;;2624:272;2532:364;;;;:::o;2902:735::-;3119:4;3157:3;3146:9;3142:19;3134:27;;3207:9;3201:4;3197:20;3193:1;3182:9;3178:17;3171:47;3235:78;3308:4;3299:6;3235:78;:::i;:::-;3227:86;;3360:9;3354:4;3350:20;3345:2;3334:9;3330:18;3323:48;3388:78;3461:4;3452:6;3388:78;:::i;:::-;3380:86;;3476:72;3544:2;3533:9;3529:18;3520:6;3476:72;:::i;:::-;3558;3626:2;3615:9;3611:18;3602:6;3558:72;:::i;:::-;2902:735;;;;;;;:::o;3643:117::-;3752:1;3749;3742:12;3766:117;3875:1;3872;3865:12;3889:180;3937:77;3934:1;3927:88;4034:4;4031:1;4024:15;4058:4;4055:1;4048:15;4075:281;4158:27;4180:4;4158:27;:::i;:::-;4150:6;4146:40;4288:6;4276:10;4273:22;4252:18;4240:10;4237:34;4234:62;4231:88;;;4299:18;;:::i;:::-;4231:88;4339:10;4335:2;4328:22;4118:238;4075:281;;:::o;4362:129::-;4396:6;4423:20;;:::i;:::-;4413:30;;4452:33;4480:4;4472:6;4452:33;:::i;:::-;4362:129;;;:::o;4497:308::-;4559:4;4649:18;4641:6;4638:30;4635:56;;;4671:18;;:::i;:::-;4635:56;4709:29;4731:6;4709:29;:::i;:::-;4701:37;;4793:4;4787;4783:15;4775:23;;4497:308;;;:::o;4811:154::-;4895:6;4890:3;4885;4872:30;4957:1;4948:6;4943:3;4939:16;4932:27;4811:154;;;:::o;4971:412::-;5049:5;5074:66;5090:49;5132:6;5090:49;:::i;:::-;5074:66;:::i;:::-;5065:75;;5163:6;5156:5;5149:21;5201:4;5194:5;5190:16;5239:3;5230:6;5225:3;5221:16;5218:25;5215:112;;;5246:79;;:::i;:::-;5215:112;5336:41;5370:6;5365:3;5360;5336:41;:::i;:::-;5055:328;4971:412;;;;;:::o;5403:340::-;5459:5;5508:3;5501:4;5493:6;5489:17;5485:27;5475:122;;5516:79;;:::i;:::-;5475:122;5633:6;5620:20;5658:79;5733:3;5725:6;5718:4;5710:6;5706:17;5658:79;:::i;:::-;5649:88;;5465:278;5403:340;;;;:::o;5749:122::-;5822:24;5840:5;5822:24;:::i;:::-;5815:5;5812:35;5802:63;;5861:1;5858;5851:12;5802:63;5749:122;:::o;5877:139::-;5923:5;5961:6;5948:20;5939:29;;5977:33;6004:5;5977:33;:::i;:::-;5877:139;;;;:::o;6022:321::-;6109:4;6199:18;6191:6;6188:30;6185:56;;;6221:18;;:::i;:::-;6185:56;6271:4;6263:6;6259:17;6251:25;;6331:4;6325;6321:15;6313:23;;6022:321;;;:::o;6349:117::-;6458:1;6455;6448:12;6488:945;6594:5;6619:91;6635:74;6702:6;6635:74;:::i;:::-;6619:91;:::i;:::-;6610:100;;6730:5;6759:6;6752:5;6745:21;6793:4;6786:5;6782:16;6775:23;;6846:4;6838:6;6834:17;6826:6;6822:30;6875:3;6867:6;6864:15;6861:122;;;6894:79;;:::i;:::-;6861:122;7009:6;6992:435;7026:6;7021:3;7018:15;6992:435;;;7115:3;7102:17;7151:18;7138:11;7135:35;7132:122;;;7173:79;;:::i;:::-;7132:122;7297:11;7289:6;7285:24;7335:47;7378:3;7366:10;7335:47;:::i;:::-;7330:3;7323:60;7412:4;7407:3;7403:14;7396:21;;7068:359;;7052:4;7047:3;7043:14;7036:21;;6992:435;;;6996:21;6600:833;;6488:945;;;;;:::o;7455:390::-;7536:5;7585:3;7578:4;7570:6;7566:17;7562:27;7552:122;;7593:79;;:::i;:::-;7552:122;7710:6;7697:20;7735:104;7835:3;7827:6;7820:4;7812:6;7808:17;7735:104;:::i;:::-;7726:113;;7542:303;7455:390;;;;:::o;7851:2023::-;8054:6;8062;8070;8078;8086;8094;8102;8151:3;8139:9;8130:7;8126:23;8122:33;8119:120;;;8158:79;;:::i;:::-;8119:120;8306:1;8295:9;8291:17;8278:31;8336:18;8328:6;8325:30;8322:117;;;8358:79;;:::i;:::-;8322:117;8463:63;8518:7;8509:6;8498:9;8494:22;8463:63;:::i;:::-;8453:73;;8249:287;8603:2;8592:9;8588:18;8575:32;8634:18;8626:6;8623:30;8620:117;;;8656:79;;:::i;:::-;8620:117;8761:63;8816:7;8807:6;8796:9;8792:22;8761:63;:::i;:::-;8751:73;;8546:288;8873:2;8899:53;8944:7;8935:6;8924:9;8920:22;8899:53;:::i;:::-;8889:63;;8844:118;9029:2;9018:9;9014:18;9001:32;9060:18;9052:6;9049:30;9046:117;;;9082:79;;:::i;:::-;9046:117;9187:88;9267:7;9258:6;9247:9;9243:22;9187:88;:::i;:::-;9177:98;;8972:313;9352:3;9341:9;9337:19;9324:33;9384:18;9376:6;9373:30;9370:117;;;9406:79;;:::i;:::-;9370:117;9511:88;9591:7;9582:6;9571:9;9567:22;9511:88;:::i;:::-;9501:98;;9295:314;9648:3;9675:53;9720:7;9711:6;9700:9;9696:22;9675:53;:::i;:::-;9665:63;;9619:119;9777:3;9804:53;9849:7;9840:6;9829:9;9825:22;9804:53;:::i;:::-;9794:63;;9748:119;7851:2023;;;;;;;;;;:::o;9880:90::-;9914:7;9957:5;9950:13;9943:21;9932:32;;9880:90;;;:::o;9976:109::-;10057:21;10072:5;10057:21;:::i;:::-;10052:3;10045:34;9976:109;;:::o;10091:210::-;10178:4;10216:2;10205:9;10201:18;10193:26;;10229:65;10291:1;10280:9;10276:17;10267:6;10229:65;:::i;:::-;10091:210;;;;:::o;10307:222::-;10400:4;10438:2;10427:9;10423:18;10415:26;;10451:71;10519:1;10508:9;10504:17;10495:6;10451:71;:::i;:::-;10307:222;;;;:::o;10535:329::-;10594:6;10643:2;10631:9;10622:7;10618:23;10614:32;10611:119;;;10649:79;;:::i;:::-;10611:119;10769:1;10794:53;10839:7;10830:6;10819:9;10815:22;10794:53;:::i;:::-;10784:63;;10740:117;10535:329;;;;:::o;10870:108::-;10947:24;10965:5;10947:24;:::i;:::-;10942:3;10935:37;10870:108;;:::o;10984:::-;11061:24;11079:5;11061:24;:::i;:::-;11056:3;11049:37;10984:108;;:::o;11098:159::-;11172:11;11206:6;11201:3;11194:19;11246:4;11241:3;11237:14;11222:29;;11098:159;;;;:::o;11263:344::-;11341:3;11369:39;11402:5;11369:39;:::i;:::-;11424:61;11478:6;11473:3;11424:61;:::i;:::-;11417:68;;11494:52;11539:6;11534:3;11527:4;11520:5;11516:16;11494:52;:::i;:::-;11571:29;11593:6;11571:29;:::i;:::-;11566:3;11562:39;11555:46;;11345:262;11263:344;;;;:::o;11613:124::-;11690:6;11724:5;11718:12;11708:22;;11613:124;;;:::o;11743:184::-;11842:11;11876:6;11871:3;11864:19;11916:4;11911:3;11907:14;11892:29;;11743:184;;;;:::o;11933:142::-;12010:4;12033:3;12025:11;;12063:4;12058:3;12054:14;12046:22;;11933:142;;;:::o;12081:196::-;12170:10;12205:66;12267:3;12259:6;12205:66;:::i;:::-;12191:80;;12081:196;;;;:::o;12283:123::-;12363:4;12395;12390:3;12386:14;12378:22;;12283:123;;;:::o;12440:971::-;12569:3;12598:64;12656:5;12598:64;:::i;:::-;12678:86;12757:6;12752:3;12678:86;:::i;:::-;12671:93;;12790:3;12835:4;12827:6;12823:17;12818:3;12814:27;12865:66;12925:5;12865:66;:::i;:::-;12954:7;12985:1;12970:396;12995:6;12992:1;12989:13;12970:396;;;13066:9;13060:4;13056:20;13051:3;13044:33;13117:6;13111:13;13145:84;13224:4;13209:13;13145:84;:::i;:::-;13137:92;;13252:70;13315:6;13252:70;:::i;:::-;13242:80;;13351:4;13346:3;13342:14;13335:21;;13030:336;13017:1;13014;13010:9;13005:14;;12970:396;;;12974:14;13382:4;13375:11;;13402:3;13395:10;;12574:837;;;;;12440:971;;;;:::o;13417:99::-;13488:21;13503:5;13488:21;:::i;:::-;13483:3;13476:34;13417:99;;:::o;13556:4012::-;13665:3;13701:6;13696:3;13692:16;13792:4;13785:5;13781:16;13775:23;13811:63;13868:4;13863:3;13859:14;13845:12;13811:63;:::i;:::-;13718:166;13975:4;13968:5;13964:16;13958:23;13994:63;14051:4;14046:3;14042:14;14028:12;13994:63;:::i;:::-;13894:173;14155:4;14148:5;14144:16;14138:23;14174:63;14231:4;14226:3;14222:14;14208:12;14174:63;:::i;:::-;14077:170;14335:4;14328:5;14324:16;14318:23;14354:63;14411:4;14406:3;14402:14;14388:12;14354:63;:::i;:::-;14257:170;14524:4;14517:5;14513:16;14507:23;14543:63;14600:4;14595:3;14591:14;14577:12;14543:63;:::i;:::-;14437:179;14713:4;14706:5;14702:16;14696:23;14732:63;14789:4;14784:3;14780:14;14766:12;14732:63;:::i;:::-;14626:179;14895:4;14888:5;14884:16;14878:23;14914:63;14971:4;14966:3;14962:14;14948:12;14914:63;:::i;:::-;14815:172;15077:4;15070:5;15066:16;15060:23;15096:63;15153:4;15148:3;15144:14;15130:12;15096:63;:::i;:::-;14997:172;15252:6;15245:5;15241:18;15235:25;15309:3;15303:4;15299:14;15290:6;15285:3;15281:16;15274:40;15335:73;15403:4;15389:12;15335:73;:::i;:::-;15327:81;;15179:240;15504:6;15497:5;15493:18;15487:25;15561:3;15555:4;15551:14;15542:6;15537:3;15533:16;15526:40;15587:73;15655:4;15641:12;15587:73;:::i;:::-;15579:81;;15429:242;15752:6;15745:5;15741:18;15735:25;15809:3;15803:4;15799:14;15790:6;15785:3;15781:16;15774:40;15835:123;15953:4;15939:12;15835:123;:::i;:::-;15827:131;;15681:288;16054:6;16047:5;16043:18;16037:25;16111:3;16105:4;16101:14;16092:6;16087:3;16083:16;16076:40;16137:123;16255:4;16241:12;16137:123;:::i;:::-;16129:131;;15979:292;16362:6;16355:5;16351:18;16345:25;16383:65;16440:6;16435:3;16431:16;16417:12;16383:65;:::i;:::-;16281:177;16548:6;16541:5;16537:18;16531:25;16569:65;16626:6;16621:3;16617:16;16603:12;16569:65;:::i;:::-;16468:176;16729:6;16722:5;16718:18;16712:25;16750:65;16807:6;16802:3;16798:16;16784:12;16750:65;:::i;:::-;16654:171;16908:6;16901:5;16897:18;16891:25;16929:65;16986:6;16981:3;16977:16;16963:12;16929:65;:::i;:::-;16835:169;17093:6;17086:5;17082:18;17076:25;17114:59;17165:6;17160:3;17156:16;17142:12;17114:59;:::i;:::-;17014:169;17271:6;17264:5;17260:18;17254:25;17292:59;17343:6;17338:3;17334:16;17320:12;17292:59;:::i;:::-;17193:168;17445:6;17438:5;17434:18;17428:25;17466:65;17523:6;17518:3;17514:16;17500:12;17466:65;:::i;:::-;17371:170;17558:4;17551:11;;13670:3898;13556:4012;;;;:::o;17574:114::-;17641:6;17675:5;17669:12;17659:22;;17574:114;;;:::o;17694:184::-;17793:11;17827:6;17822:3;17815:19;17867:4;17862:3;17858:14;17843:29;;17694:184;;;;:::o;17884:132::-;17951:4;17974:3;17966:11;;18004:4;17999:3;17995:14;17987:22;;17884:132;;;:::o;18022:179::-;18091:10;18112:46;18154:3;18146:6;18112:46;:::i;:::-;18190:4;18185:3;18181:14;18167:28;;18022:179;;;;:::o;18207:113::-;18277:4;18309;18304:3;18300:14;18292:22;;18207:113;;;:::o;18356:732::-;18475:3;18504:54;18552:5;18504:54;:::i;:::-;18574:86;18653:6;18648:3;18574:86;:::i;:::-;18567:93;;18684:56;18734:5;18684:56;:::i;:::-;18763:7;18794:1;18779:284;18804:6;18801:1;18798:13;18779:284;;;18880:6;18874:13;18907:63;18966:3;18951:13;18907:63;:::i;:::-;18900:70;;18993:60;19046:6;18993:60;:::i;:::-;18983:70;;18839:224;18826:1;18823;18819:9;18814:14;;18779:284;;;18783:14;19079:3;19072:10;;18480:608;;;18356:732;;;;:::o;19094:875::-;19383:4;19421:2;19410:9;19406:18;19398:26;;19470:9;19464:4;19460:20;19456:1;19445:9;19441:17;19434:47;19498:98;19591:4;19582:6;19498:98;:::i;:::-;19490:106;;19643:9;19637:4;19633:20;19628:2;19617:9;19613:18;19606:48;19671:108;19774:4;19765:6;19671:108;:::i;:::-;19663:116;;19826:9;19820:4;19816:20;19811:2;19800:9;19796:18;19789:48;19854:108;19957:4;19948:6;19854:108;:::i;:::-;19846:116;;19094:875;;;;;;:::o;19975:474::-;20043:6;20051;20100:2;20088:9;20079:7;20075:23;20071:32;20068:119;;;20106:79;;:::i;:::-;20068:119;20226:1;20251:53;20296:7;20287:6;20276:9;20272:22;20251:53;:::i;:::-;20241:63;;20197:117;20353:2;20379:53;20424:7;20415:6;20404:9;20400:22;20379:53;:::i;:::-;20369:63;;20324:118;19975:474;;;;;:::o;20455:136::-;20552:6;20580:4;20570:14;;20455:136;;;:::o;20597:175::-;20726:11;20763:3;20748:18;;20597:175;;;;:::o;20778:130::-;20875:4;20898:3;20890:11;;20778:130;;;:::o;20970:1570::-;21119:6;21114:3;21110:16;21211:4;21204:5;21200:16;21194:23;21230:63;21287:4;21282:3;21278:14;21264:12;21230:63;:::i;:::-;21136:167;21387:4;21380:5;21376:16;21370:23;21406:63;21463:4;21458:3;21454:14;21440:12;21406:63;:::i;:::-;21313:166;21565:4;21558:5;21554:16;21548:23;21584:63;21641:4;21636:3;21632:14;21618:12;21584:63;:::i;:::-;21489:168;21741:4;21734:5;21730:16;21724:23;21760:63;21817:4;21812:3;21808:14;21794:12;21760:63;:::i;:::-;21667:166;21917:4;21910:5;21906:16;21900:23;21936:63;21993:4;21988:3;21984:14;21970:12;21936:63;:::i;:::-;21843:166;22091:4;22084:5;22080:16;22074:23;22110:63;22167:4;22162:3;22158:14;22144:12;22110:63;:::i;:::-;22019:164;22271:4;22264:5;22260:16;22254:23;22290:57;22341:4;22336:3;22332:14;22318:12;22290:57;:::i;:::-;22193:164;22441:4;22434:5;22430:16;22424:23;22460:63;22517:4;22512:3;22508:14;22494:12;22460:63;:::i;:::-;22367:166;21088:1452;20970:1570;;:::o;22546:305::-;22677:10;22698:108;22802:3;22794:6;22698:108;:::i;:::-;22838:6;22833:3;22829:16;22815:30;;22546:305;;;;:::o;22857:143::-;22957:4;22989;22984:3;22980:14;22972:22;;22857:143;;;:::o;23070:948::-;23270:84;23348:5;23270:84;:::i;:::-;23370:116;23479:6;23474:3;23370:116;:::i;:::-;23363:123;;23510:86;23590:5;23510:86;:::i;:::-;23619:7;23650:1;23635:376;23660:6;23657:1;23654:13;23635:376;;;23736:6;23730:13;23763:125;23884:3;23869:13;23763:125;:::i;:::-;23756:132;;23911:90;23994:6;23911:90;:::i;:::-;23901:100;;23695:316;23682:1;23679;23675:9;23670:14;;23635:376;;;23639:14;23246:772;;;23070:948;;:::o;24024:125::-;24110:6;24138:4;24128:14;;24024:125;;;:::o;24155:164::-;24273:11;24310:3;24295:18;;24155:164;;;;:::o;24325:119::-;24411:4;24434:3;24426:11;;24325:119;;;:::o;24484:4002::-;24583:3;24619:6;24614:3;24610:16;24710:4;24703:5;24699:16;24693:23;24729:63;24786:4;24781:3;24777:14;24763:12;24729:63;:::i;:::-;24636:166;24893:4;24886:5;24882:16;24876:23;24912:63;24969:4;24964:3;24960:14;24946:12;24912:63;:::i;:::-;24812:173;25073:4;25066:5;25062:16;25056:23;25092:63;25149:4;25144:3;25140:14;25126:12;25092:63;:::i;:::-;24995:170;25253:4;25246:5;25242:16;25236:23;25272:63;25329:4;25324:3;25320:14;25306:12;25272:63;:::i;:::-;25175:170;25442:4;25435:5;25431:16;25425:23;25461:63;25518:4;25513:3;25509:14;25495:12;25461:63;:::i;:::-;25355:179;25631:4;25624:5;25620:16;25614:23;25650:63;25707:4;25702:3;25698:14;25684:12;25650:63;:::i;:::-;25544:179;25813:4;25806:5;25802:16;25796:23;25832:63;25889:4;25884:3;25880:14;25866:12;25832:63;:::i;:::-;25733:172;25995:4;25988:5;25984:16;25978:23;26014:63;26071:4;26066:3;26062:14;26048:12;26014:63;:::i;:::-;25915:172;26170:6;26163:5;26159:18;26153:25;26227:3;26221:4;26217:14;26208:6;26203:3;26199:16;26192:40;26253:73;26321:4;26307:12;26253:73;:::i;:::-;26245:81;;26097:240;26422:6;26415:5;26411:18;26405:25;26479:3;26473:4;26469:14;26460:6;26455:3;26451:16;26444:40;26505:73;26573:4;26559:12;26505:73;:::i;:::-;26497:81;;26347:242;26670:6;26663:5;26659:18;26653:25;26727:3;26721:4;26717:14;26708:6;26703:3;26699:16;26692:40;26753:123;26871:4;26857:12;26753:123;:::i;:::-;26745:131;;26599:288;26972:6;26965:5;26961:18;26955:25;27029:3;27023:4;27019:14;27010:6;27005:3;27001:16;26994:40;27055:123;27173:4;27159:12;27055:123;:::i;:::-;27047:131;;26897:292;27280:6;27273:5;27269:18;27263:25;27301:65;27358:6;27353:3;27349:16;27335:12;27301:65;:::i;:::-;27199:177;27466:6;27459:5;27455:18;27449:25;27487:65;27544:6;27539:3;27535:16;27521:12;27487:65;:::i;:::-;27386:176;27647:6;27640:5;27636:18;27630:25;27668:65;27725:6;27720:3;27716:16;27702:12;27668:65;:::i;:::-;27572:171;27826:6;27819:5;27815:18;27809:25;27847:65;27904:6;27899:3;27895:16;27881:12;27847:65;:::i;:::-;27753:169;28011:6;28004:5;28000:18;27994:25;28032:59;28083:6;28078:3;28074:16;28060:12;28032:59;:::i;:::-;27932:169;28189:6;28182:5;28178:18;28172:25;28210:59;28261:6;28256:3;28252:16;28238:12;28210:59;:::i;:::-;28111:168;28363:6;28356:5;28352:18;28346:25;28384:65;28441:6;28436:3;28432:16;28418:12;28384:65;:::i;:::-;28289:170;28476:4;28469:11;;24588:3898;24484:4002;;;;:::o;28492:236::-;28601:10;28636:86;28718:3;28710:6;28636:86;:::i;:::-;28622:100;;28492:236;;;;:::o;28734:132::-;28823:4;28855;28850:3;28846:14;28838:22;;28734:132;;;:::o;28914:1065::-;29071:3;29100:73;29167:5;29100:73;:::i;:::-;29189:105;29287:6;29282:3;29189:105;:::i;:::-;29182:112;;29320:3;29365:4;29357:6;29353:17;29348:3;29344:27;29395:75;29464:5;29395:75;:::i;:::-;29493:7;29524:1;29509:425;29534:6;29531:1;29528:13;29509:425;;;29605:9;29599:4;29595:20;29590:3;29583:33;29656:6;29650:13;29684:104;29783:4;29768:13;29684:104;:::i;:::-;29676:112;;29811:79;29883:6;29811:79;:::i;:::-;29801:89;;29919:4;29914:3;29910:14;29903:21;;29569:365;29556:1;29553;29549:9;29544:14;;29509:425;;;29513:14;29950:4;29943:11;;29970:3;29963:10;;29076:903;;;;;28914:1065;;;;:::o;29985:783::-;30304:4;30342;30331:9;30327:20;30319:28;;30357:181;30535:1;30524:9;30520:17;30511:6;30357:181;:::i;:::-;30587:9;30581:4;30577:20;30570:4;30559:9;30555:20;30548:50;30615:146;30756:4;30747:6;30615:146;:::i;:::-;30607:154;;29985:783;;;;;:::o;30774:474::-;30842:6;30850;30899:2;30887:9;30878:7;30874:23;30870:32;30867:119;;;30905:79;;:::i;:::-;30867:119;31025:1;31050:53;31095:7;31086:6;31075:9;31071:22;31050:53;:::i;:::-;31040:63;;30996:117;31152:2;31178:53;31223:7;31214:6;31203:9;31199:22;31178:53;:::i;:::-;31168:63;;31123:118;30774:474;;;;;:::o;31310:1580::-;31469:6;31464:3;31460:16;31561:4;31554:5;31550:16;31544:23;31580:63;31637:4;31632:3;31628:14;31614:12;31580:63;:::i;:::-;31486:167;31737:4;31730:5;31726:16;31720:23;31756:63;31813:4;31808:3;31804:14;31790:12;31756:63;:::i;:::-;31663:166;31915:4;31908:5;31904:16;31898:23;31934:63;31991:4;31986:3;31982:14;31968:12;31934:63;:::i;:::-;31839:168;32091:4;32084:5;32080:16;32074:23;32110:63;32167:4;32162:3;32158:14;32144:12;32110:63;:::i;:::-;32017:166;32267:4;32260:5;32256:16;32250:23;32286:63;32343:4;32338:3;32334:14;32320:12;32286:63;:::i;:::-;32193:166;32441:4;32434:5;32430:16;32424:23;32460:63;32517:4;32512:3;32508:14;32494:12;32460:63;:::i;:::-;32369:164;32621:4;32614:5;32610:16;32604:23;32640:57;32691:4;32686:3;32682:14;32668:12;32640:57;:::i;:::-;32543:164;32791:4;32784:5;32780:16;32774:23;32810:63;32867:4;32862:3;32858:14;32844:12;32810:63;:::i;:::-;32717:166;31438:1452;31310:1580;;:::o;32896:347::-;33051:4;33089:3;33078:9;33074:19;33066:27;;33103:133;33233:1;33222:9;33218:17;33209:6;33103:133;:::i;:::-;32896:347;;;;:::o;33249:619::-;33326:6;33334;33342;33391:2;33379:9;33370:7;33366:23;33362:32;33359:119;;;33397:79;;:::i;:::-;33359:119;33517:1;33542:53;33587:7;33578:6;33567:9;33563:22;33542:53;:::i;:::-;33532:63;;33488:117;33644:2;33670:53;33715:7;33706:6;33695:9;33691:22;33670:53;:::i;:::-;33660:63;;33615:118;33772:2;33798:53;33843:7;33834:6;33823:9;33819:22;33798:53;:::i;:::-;33788:63;;33743:118;33249:619;;;;;:::o;33874:131::-;33966:6;33994:4;33984:14;;33874:131;;;:::o;34011:170::-;34135:11;34172:3;34157:18;;34011:170;;;;:::o;34187:125::-;34279:4;34302:3;34294:11;;34187:125;;;:::o;34364:1923::-;34475:3;34511:6;34506:3;34502:16;34602:4;34595:5;34591:16;34585:23;34621:63;34678:4;34673:3;34669:14;34655:12;34621:63;:::i;:::-;34528:166;34785:4;34778:5;34774:16;34768:23;34804:63;34861:4;34856:3;34852:14;34838:12;34804:63;:::i;:::-;34704:173;34960:4;34953:5;34949:16;34943:23;35013:3;35007:4;35003:14;34996:4;34991:3;34987:14;34980:38;35039:73;35107:4;35093:12;35039:73;:::i;:::-;35031:81;;34887:236;35208:4;35201:5;35197:16;35191:23;35261:3;35255:4;35251:14;35244:4;35239:3;35235:14;35228:38;35287:73;35355:4;35341:12;35287:73;:::i;:::-;35279:81;;35133:238;35461:4;35454:5;35450:16;35444:23;35480:63;35537:4;35532:3;35528:14;35514:12;35480:63;:::i;:::-;35381:172;35638:4;35631:5;35627:16;35621:23;35657:63;35714:4;35709:3;35705:14;35691:12;35657:63;:::i;:::-;35563:167;35813:4;35806:5;35802:16;35796:23;35832:63;35889:4;35884:3;35880:14;35866:12;35832:63;:::i;:::-;35740:165;35994:4;35987:5;35983:16;35977:23;36013:57;36064:4;36059:3;36055:14;36041:12;36013:57;:::i;:::-;35915:165;36164:6;36157:5;36153:18;36147:25;36185:65;36242:6;36237:3;36233:16;36219:12;36185:65;:::i;:::-;36090:170;36277:4;36270:11;;34480:1807;34364:1923;;;;:::o;36293:260::-;36414:10;36449:98;36543:3;36535:6;36449:98;:::i;:::-;36435:112;;36293:260;;;;:::o;36559:138::-;36654:4;36686;36681:3;36677:14;36669:22;;36559:138;;;:::o;36757:1113::-;36926:3;36955:79;37028:5;36955:79;:::i;:::-;37050:111;37154:6;37149:3;37050:111;:::i;:::-;37043:118;;37187:3;37232:4;37224:6;37220:17;37215:3;37211:27;37262:81;37337:5;37262:81;:::i;:::-;37366:7;37397:1;37382:443;37407:6;37404:1;37401:13;37382:443;;;37478:9;37472:4;37468:20;37463:3;37456:33;37529:6;37523:13;37557:116;37668:4;37653:13;37557:116;:::i;:::-;37549:124;;37696:85;37774:6;37696:85;:::i;:::-;37686:95;;37810:4;37805:3;37801:14;37794:21;;37442:383;37429:1;37426;37422:9;37417:14;;37382:443;;;37386:14;37841:4;37834:11;;37861:3;37854:10;;36931:939;;;;;36757:1113;;;;:::o;37876:805::-;38207:4;38245;38234:9;38230:20;38222:28;;38296:9;38290:4;38286:20;38282:1;38271:9;38267:17;38260:47;38324:158;38477:4;38468:6;38324:158;:::i;:::-;38316:166;;38492:182;38670:2;38659:9;38655:18;38646:6;38492:182;:::i;:::-;37876:805;;;;;:::o;38687:553::-;38864:4;38902:3;38891:9;38887:19;38879:27;;38916:71;38984:1;38973:9;38969:17;38960:6;38916:71;:::i;:::-;38997:72;39065:2;39054:9;39050:18;39041:6;38997:72;:::i;:::-;39079;39147:2;39136:9;39132:18;39123:6;39079:72;:::i;:::-;39161;39229:2;39218:9;39214:18;39205:6;39161:72;:::i;:::-;38687:553;;;;;;;:::o;39246:332::-;39367:4;39405:2;39394:9;39390:18;39382:26;;39418:71;39486:1;39475:9;39471:17;39462:6;39418:71;:::i;:::-;39499:72;39567:2;39556:9;39552:18;39543:6;39499:72;:::i;:::-;39246:332;;;;;:::o;39584:473::-;39777:4;39815:2;39804:9;39800:18;39792:26;;39864:9;39858:4;39854:20;39850:1;39839:9;39835:17;39828:47;39892:158;40045:4;40036:6;39892:158;:::i;:::-;39884:166;;39584:473;;;;:::o;40063:474::-;40131:6;40139;40188:2;40176:9;40167:7;40163:23;40159:32;40156:119;;;40194:79;;:::i;:::-;40156:119;40314:1;40339:53;40384:7;40375:6;40364:9;40360:22;40339:53;:::i;:::-;40329:63;;40285:117;40441:2;40467:53;40512:7;40503:6;40492:9;40488:22;40467:53;:::i;:::-;40457:63;;40412:118;40063:474;;;;;:::o;40543:444::-;40746:4;40784;40773:9;40769:20;40761:28;;40799:181;40977:1;40966:9;40962:17;40953:6;40799:181;:::i;:::-;40543:444;;;;:::o;40993:1271::-;41108:6;41116;41124;41132;41140;41189:3;41177:9;41168:7;41164:23;41160:33;41157:120;;;41196:79;;:::i;:::-;41157:120;41316:1;41341:53;41386:7;41377:6;41366:9;41362:22;41341:53;:::i;:::-;41331:63;;41287:117;41443:2;41469:53;41514:7;41505:6;41494:9;41490:22;41469:53;:::i;:::-;41459:63;;41414:118;41571:2;41597:53;41642:7;41633:6;41622:9;41618:22;41597:53;:::i;:::-;41587:63;;41542:118;41727:2;41716:9;41712:18;41699:32;41758:18;41750:6;41747:30;41744:117;;;41780:79;;:::i;:::-;41744:117;41885:63;41940:7;41931:6;41920:9;41916:22;41885:63;:::i;:::-;41875:73;;41670:288;42025:3;42014:9;42010:19;41997:33;42057:18;42049:6;42046:30;42043:117;;;42079:79;;:::i;:::-;42043:117;42184:63;42239:7;42230:6;42219:9;42215:22;42184:63;:::i;:::-;42174:73;;41968:289;40993:1271;;;;;;;;:::o;42270:118::-;42357:24;42375:5;42357:24;:::i;:::-;42352:3;42345:37;42270:118;;:::o;42394:222::-;42487:4;42525:2;42514:9;42510:18;42502:26;;42538:71;42606:1;42595:9;42591:17;42582:6;42538:71;:::i;:::-;42394:222;;;;:::o;42622:116::-;42692:21;42707:5;42692:21;:::i;:::-;42685:5;42682:32;42672:60;;42728:1;42725;42718:12;42672:60;42622:116;:::o;42744:133::-;42787:5;42825:6;42812:20;42803:29;;42841:30;42865:5;42841:30;:::i;:::-;42744:133;;;;:::o;42883:323::-;42939:6;42988:2;42976:9;42967:7;42963:23;42959:32;42956:119;;;42994:79;;:::i;:::-;42956:119;43114:1;43139:50;43181:7;43172:6;43161:9;43157:22;43139:50;:::i;:::-;43129:60;;43085:114;42883:323;;;;:::o;43212:143::-;43269:5;43300:6;43294:13;43285:22;;43316:33;43343:5;43316:33;:::i;:::-;43212:143;;;;:::o;43361:663::-;43449:6;43457;43465;43514:2;43502:9;43493:7;43489:23;43485:32;43482:119;;;43520:79;;:::i;:::-;43482:119;43640:1;43665:64;43721:7;43712:6;43701:9;43697:22;43665:64;:::i;:::-;43655:74;;43611:128;43778:2;43804:64;43860:7;43851:6;43840:9;43836:22;43804:64;:::i;:::-;43794:74;;43749:129;43917:2;43943:64;43999:7;43990:6;43979:9;43975:22;43943:64;:::i;:::-;43933:74;;43888:129;43361:663;;;;;:::o;44030:173::-;44170:25;44166:1;44158:6;44154:14;44147:49;44030:173;:::o;44209:366::-;44351:3;44372:67;44436:2;44431:3;44372:67;:::i;:::-;44365:74;;44448:93;44537:3;44448:93;:::i;:::-;44566:2;44561:3;44557:12;44550:19;;44209:366;;;:::o;44581:419::-;44747:4;44785:2;44774:9;44770:18;44762:26;;44834:9;44828:4;44824:20;44820:1;44809:9;44805:17;44798:47;44862:131;44988:4;44862:131;:::i;:::-;44854:139;;44581:419;;;:::o;45006:421::-;45095:5;45120:66;45136:49;45178:6;45136:49;:::i;:::-;45120:66;:::i;:::-;45111:75;;45209:6;45202:5;45195:21;45247:4;45240:5;45236:16;45285:3;45276:6;45271:3;45267:16;45264:25;45261:112;;;45292:79;;:::i;:::-;45261:112;45382:39;45414:6;45409:3;45404;45382:39;:::i;:::-;45101:326;45006:421;;;;;:::o;45447:355::-;45514:5;45563:3;45556:4;45548:6;45544:17;45540:27;45530:122;;45571:79;;:::i;:::-;45530:122;45681:6;45675:13;45706:90;45792:3;45784:6;45777:4;45769:6;45765:17;45706:90;:::i;:::-;45697:99;;45520:282;45447:355;;;;:::o;45808:524::-;45888:6;45937:2;45925:9;45916:7;45912:23;45908:32;45905:119;;;45943:79;;:::i;:::-;45905:119;46084:1;46073:9;46069:17;46063:24;46114:18;46106:6;46103:30;46100:117;;;46136:79;;:::i;:::-;46100:117;46241:74;46307:7;46298:6;46287:9;46283:22;46241:74;:::i;:::-;46231:84;;46034:291;45808:524;;;;:::o;46338:86::-;46373:7;46413:4;46406:5;46402:16;46391:27;;46338:86;;;:::o;46430:118::-;46501:22;46517:5;46501:22;:::i;:::-;46494:5;46491:33;46481:61;;46538:1;46535;46528:12;46481:61;46430:118;:::o;46554:139::-;46609:5;46640:6;46634:13;46625:22;;46656:31;46681:5;46656:31;:::i;:::-;46554:139;;;;:::o;46699:347::-;46767:6;46816:2;46804:9;46795:7;46791:23;46787:32;46784:119;;;46822:79;;:::i;:::-;46784:119;46942:1;46967:62;47021:7;47012:6;47001:9;46997:22;46967:62;:::i;:::-;46957:72;;46913:126;46699:347;;;;:::o;47052:351::-;47122:6;47171:2;47159:9;47150:7;47146:23;47142:32;47139:119;;;47177:79;;:::i;:::-;47139:119;47297:1;47322:64;47378:7;47369:6;47358:9;47354:22;47322:64;:::i;:::-;47312:74;;47268:128;47052:351;;;;:::o;47409:160::-;47549:12;47545:1;47537:6;47533:14;47526:36;47409:160;:::o;47575:366::-;47717:3;47738:67;47802:2;47797:3;47738:67;:::i;:::-;47731:74;;47814:93;47903:3;47814:93;:::i;:::-;47932:2;47927:3;47923:12;47916:19;;47575:366;;;:::o;47947:419::-;48113:4;48151:2;48140:9;48136:18;48128:26;;48200:9;48194:4;48190:20;48186:1;48175:9;48171:17;48164:47;48228:131;48354:4;48228:131;:::i;:::-;48220:139;;47947:419;;;:::o;48372:152::-;48512:4;48508:1;48500:6;48496:14;48489:28;48372:152;:::o;48530:365::-;48672:3;48693:66;48757:1;48752:3;48693:66;:::i;:::-;48686:73;;48768:93;48857:3;48768:93;:::i;:::-;48886:2;48881:3;48877:12;48870:19;;48530:365;;;:::o;48901:419::-;49067:4;49105:2;49094:9;49090:18;49082:26;;49154:9;49148:4;49144:20;49140:1;49129:9;49125:17;49118:47;49182:131;49308:4;49182:131;:::i;:::-;49174:139;;48901:419;;;:::o;49326:85::-;49371:7;49400:5;49389:16;;49326:85;;;:::o;49417:60::-;49445:3;49466:5;49459:12;;49417:60;;;:::o;49483:158::-;49541:9;49574:61;49592:42;49601:32;49627:5;49601:32;:::i;:::-;49592:42;:::i;:::-;49574:61;:::i;:::-;49561:74;;49483:158;;;:::o;49647:147::-;49742:45;49781:5;49742:45;:::i;:::-;49737:3;49730:58;49647:147;;:::o;49800:194::-;49909:11;49943:6;49938:3;49931:19;49983:4;49978:3;49974:14;49959:29;;49800:194;;;;:::o;50028:991::-;50167:3;50196:64;50254:5;50196:64;:::i;:::-;50276:96;50365:6;50360:3;50276:96;:::i;:::-;50269:103;;50398:3;50443:4;50435:6;50431:17;50426:3;50422:27;50473:66;50533:5;50473:66;:::i;:::-;50562:7;50593:1;50578:396;50603:6;50600:1;50597:13;50578:396;;;50674:9;50668:4;50664:20;50659:3;50652:33;50725:6;50719:13;50753:84;50832:4;50817:13;50753:84;:::i;:::-;50745:92;;50860:70;50923:6;50860:70;:::i;:::-;50850:80;;50959:4;50954:3;50950:14;50943:21;;50638:336;50625:1;50622;50618:9;50613:14;;50578:396;;;50582:14;50990:4;50983:11;;51010:3;51003:10;;50172:847;;;;;50028:991;;;;:::o;51025:1928::-;51595:4;51633:3;51622:9;51618:19;51610:27;;51683:9;51677:4;51673:20;51669:1;51658:9;51654:17;51647:47;51711:78;51784:4;51775:6;51711:78;:::i;:::-;51703:86;;51799:72;51867:2;51856:9;51852:18;51843:6;51799:72;:::i;:::-;51881:80;51957:2;51946:9;51942:18;51933:6;51881:80;:::i;:::-;51971;52047:2;52036:9;52032:18;52023:6;51971:80;:::i;:::-;52099:9;52093:4;52089:20;52083:3;52072:9;52068:19;52061:49;52127:78;52200:4;52191:6;52127:78;:::i;:::-;52119:86;;52215:73;52283:3;52272:9;52268:19;52259:6;52215:73;:::i;:::-;52336:9;52330:4;52326:20;52320:3;52309:9;52305:19;52298:49;52364:128;52487:4;52478:6;52364:128;:::i;:::-;52356:136;;52540:9;52534:4;52530:20;52524:3;52513:9;52509:19;52502:49;52568:128;52691:4;52682:6;52568:128;:::i;:::-;52560:136;;52706:73;52774:3;52763:9;52759:19;52750:6;52706:73;:::i;:::-;52789;52857:3;52846:9;52842:19;52833:6;52789:73;:::i;:::-;52872:74;52941:3;52930:9;52926:19;52916:7;52872:74;:::i;:::-;51025:1928;;;;;;;;;;;;;;:::o;52959:137::-;53013:5;53044:6;53038:13;53029:22;;53060:30;53084:5;53060:30;:::i;:::-;52959:137;;;;:::o;53102:345::-;53169:6;53218:2;53206:9;53197:7;53193:23;53189:32;53186:119;;;53224:79;;:::i;:::-;53186:119;53344:1;53369:61;53422:7;53413:6;53402:9;53398:22;53369:61;:::i;:::-;53359:71;;53315:125;53102:345;;;;:::o;53453:117::-;53562:1;53559;53552:12;53576:117;53685:1;53682;53675:12;53699:143;53756:5;53787:6;53781:13;53772:22;;53803:33;53830:5;53803:33;:::i;:::-;53699:143;;;;:::o;53864:960::-;53981:5;54006:91;54022:74;54089:6;54022:74;:::i;:::-;54006:91;:::i;:::-;53997:100;;54117:5;54146:6;54139:5;54132:21;54180:4;54173:5;54169:16;54162:23;;54233:4;54225:6;54221:17;54213:6;54209:30;54262:3;54254:6;54251:15;54248:122;;;54281:79;;:::i;:::-;54248:122;54396:6;54379:439;54413:6;54408:3;54405:15;54379:439;;;54495:3;54489:10;54531:18;54518:11;54515:35;54512:122;;;54553:79;;:::i;:::-;54512:122;54677:11;54669:6;54665:24;54715:58;54769:3;54757:10;54715:58;:::i;:::-;54710:3;54703:71;54803:4;54798:3;54794:14;54787:21;;54455:363;;54439:4;54434:3;54430:14;54423:21;;54379:439;;;54383:21;53987:837;;53864:960;;;;;:::o;54846:405::-;54938:5;54987:3;54980:4;54972:6;54968:17;54964:27;54954:122;;54995:79;;:::i;:::-;54954:122;55105:6;55099:13;55130:115;55241:3;55233:6;55226:4;55218:6;55214:17;55130:115;:::i;:::-;55121:124;;54944:307;54846:405;;;;:::o;55276:4374::-;55356:5;55400:6;55388:9;55383:3;55379:19;55375:32;55372:119;;;55410:79;;:::i;:::-;55372:119;55509:23;55525:6;55509:23;:::i;:::-;55500:32;;55593:1;55633:60;55689:3;55680:6;55669:9;55665:22;55633:60;:::i;:::-;55626:4;55619:5;55615:16;55608:86;55542:163;55773:2;55814:60;55870:3;55861:6;55850:9;55846:22;55814:60;:::i;:::-;55807:4;55800:5;55796:16;55789:86;55715:171;55951:2;55992:60;56048:3;56039:6;56028:9;56024:22;55992:60;:::i;:::-;55985:4;55978:5;55974:16;55967:86;55896:168;56129:2;56170:60;56226:3;56217:6;56206:9;56202:22;56170:60;:::i;:::-;56163:4;56156:5;56152:16;56145:86;56074:168;56316:3;56358:60;56414:3;56405:6;56394:9;56390:22;56358:60;:::i;:::-;56351:4;56344:5;56340:16;56333:86;56252:178;56504:3;56546:60;56602:3;56593:6;56582:9;56578:22;56546:60;:::i;:::-;56539:4;56532:5;56528:16;56521:86;56440:178;56685:3;56727:60;56783:3;56774:6;56763:9;56759:22;56727:60;:::i;:::-;56720:4;56713:5;56709:16;56702:86;56628:171;56866:3;56908:60;56964:3;56955:6;56944:9;56940:22;56908:60;:::i;:::-;56901:4;56894:5;56890:16;56883:86;56809:171;57061:3;57050:9;57046:19;57040:26;57093:18;57085:6;57082:30;57079:117;;;57115:79;;:::i;:::-;57079:117;57237:70;57303:3;57294:6;57283:9;57279:22;57237:70;:::i;:::-;57228:6;57221:5;57217:18;57210:98;56990:329;57402:3;57391:9;57387:19;57381:26;57434:18;57426:6;57423:30;57420:117;;;57456:79;;:::i;:::-;57420:117;57578:70;57644:3;57635:6;57624:9;57620:22;57578:70;:::i;:::-;57569:6;57562:5;57558:18;57551:98;57329:331;57739:3;57728:9;57724:19;57718:26;57771:18;57763:6;57760:30;57757:117;;;57793:79;;:::i;:::-;57757:117;57915:95;58006:3;57997:6;57986:9;57982:22;57915:95;:::i;:::-;57906:6;57899:5;57895:18;57888:123;57670:352;58105:3;58094:9;58090:19;58084:26;58137:18;58129:6;58126:30;58123:117;;;58159:79;;:::i;:::-;58123:117;58281:95;58372:3;58363:6;58352:9;58348:22;58281:95;:::i;:::-;58272:6;58265:5;58261:18;58254:123;58032:356;58456:3;58500:60;58556:3;58547:6;58536:9;58532:22;58500:60;:::i;:::-;58491:6;58484:5;58480:18;58473:88;58398:174;58639:3;58683:60;58739:3;58730:6;58719:9;58715:22;58683:60;:::i;:::-;58674:6;58667:5;58663:18;58656:88;58582:173;58817:3;58861:60;58917:3;58908:6;58897:9;58893:22;58861:60;:::i;:::-;58852:6;58845:5;58841:18;58834:88;58765:168;58993:3;59037:60;59093:3;59084:6;59073:9;59069:22;59037:60;:::i;:::-;59028:6;59021:5;59017:18;59010:88;58943:166;59175:3;59219:57;59272:3;59263:6;59252:9;59248:22;59219:57;:::i;:::-;59210:6;59203:5;59199:18;59192:85;59119:169;59353:3;59397:57;59450:3;59441:6;59430:9;59426:22;59397:57;:::i;:::-;59388:6;59381:5;59377:18;59370:85;59298:168;59527:3;59571:60;59627:3;59618:6;59607:9;59603:22;59571:60;:::i;:::-;59562:6;59555:5;59551:18;59544:88;59476:167;55276:4374;;;;:::o;59656:544::-;59746:6;59795:2;59783:9;59774:7;59770:23;59766:32;59763:119;;;59801:79;;:::i;:::-;59763:119;59942:1;59931:9;59927:17;59921:24;59972:18;59964:6;59961:30;59958:117;;;59994:79;;:::i;:::-;59958:117;60099:84;60175:7;60166:6;60155:9;60151:22;60099:84;:::i;:::-;60089:94;;59892:301;59656:544;;;;:::o;60206:311::-;60283:4;60373:18;60365:6;60362:30;60359:56;;;60395:18;;:::i;:::-;60359:56;60445:4;60437:6;60433:17;60425:25;;60505:4;60499;60495:15;60487:23;;60206:311;;;:::o;60540:732::-;60647:5;60672:81;60688:64;60745:6;60688:64;:::i;:::-;60672:81;:::i;:::-;60663:90;;60773:5;60802:6;60795:5;60788:21;60836:4;60829:5;60825:16;60818:23;;60889:4;60881:6;60877:17;60869:6;60865:30;60918:3;60910:6;60907:15;60904:122;;;60937:79;;:::i;:::-;60904:122;61052:6;61035:231;61069:6;61064:3;61061:15;61035:231;;;61144:3;61173:48;61217:3;61205:10;61173:48;:::i;:::-;61168:3;61161:61;61251:4;61246:3;61242:14;61235:21;;61111:155;61095:4;61090:3;61086:14;61079:21;;61035:231;;;61039:21;60653:619;;60540:732;;;;;:::o;61295:385::-;61377:5;61426:3;61419:4;61411:6;61407:17;61403:27;61393:122;;61434:79;;:::i;:::-;61393:122;61544:6;61538:13;61569:105;61670:3;61662:6;61655:4;61647:6;61643:17;61569:105;:::i;:::-;61560:114;;61383:297;61295:385;;;;:::o;61686:913::-;61815:6;61823;61872:2;61860:9;61851:7;61847:23;61843:32;61840:119;;;61878:79;;:::i;:::-;61840:119;62019:1;62008:9;62004:17;61998:24;62049:18;62041:6;62038:30;62035:117;;;62071:79;;:::i;:::-;62035:117;62176:89;62257:7;62248:6;62237:9;62233:22;62176:89;:::i;:::-;62166:99;;61969:306;62335:2;62324:9;62320:18;62314:25;62366:18;62358:6;62355:30;62352:117;;;62388:79;;:::i;:::-;62352:117;62493:89;62574:7;62565:6;62554:9;62550:22;62493:89;:::i;:::-;62483:99;;62285:307;61686:913;;;;;:::o;62605:180::-;62653:77;62650:1;62643:88;62750:4;62747:1;62740:15;62774:4;62771:1;62764:15;62791:191;62831:4;62851:20;62869:1;62851:20;:::i;:::-;62846:25;;62885:20;62903:1;62885:20;:::i;:::-;62880:25;;62924:1;62921;62918:8;62915:34;;;62929:18;;:::i;:::-;62915:34;62974:1;62971;62967:9;62959:17;;62791:191;;;;:::o;62988:332::-;63109:4;63147:2;63136:9;63132:18;63124:26;;63160:71;63228:1;63217:9;63213:17;63204:6;63160:71;:::i;:::-;63241:72;63309:2;63298:9;63294:18;63285:6;63241:72;:::i;:::-;62988:332;;;;;:::o;63356:1671::-;63447:5;63491:6;63479:9;63474:3;63470:19;63466:32;63463:119;;;63501:79;;:::i;:::-;63463:119;63600:23;63616:6;63600:23;:::i;:::-;63591:32;;63685:1;63725:60;63781:3;63772:6;63761:9;63757:22;63725:60;:::i;:::-;63718:4;63711:5;63707:16;63700:86;63633:164;63858:2;63899:60;63955:3;63946:6;63935:9;63931:22;63899:60;:::i;:::-;63892:4;63885:5;63881:16;63874:86;63807:164;64034:2;64075:60;64131:3;64122:6;64111:9;64107:22;64075:60;:::i;:::-;64068:4;64061:5;64057:16;64050:86;63981:166;64208:2;64249:60;64305:3;64296:6;64285:9;64281:22;64249:60;:::i;:::-;64242:4;64235:5;64231:16;64224:86;64157:164;64382:3;64424:60;64480:3;64471:6;64460:9;64456:22;64424:60;:::i;:::-;64417:4;64410:5;64406:16;64399:86;64331:165;64555:3;64597:60;64653:3;64644:6;64633:9;64629:22;64597:60;:::i;:::-;64590:4;64583:5;64579:16;64572:86;64506:163;64734:3;64776:57;64829:3;64820:6;64809:9;64805:22;64776:57;:::i;:::-;64769:4;64762:5;64758:16;64751:83;64679:166;64906:3;64948:60;65004:3;64995:6;64984:9;64980:22;64948:60;:::i;:::-;64941:4;64934:5;64930:16;64923:86;64855:165;63356:1671;;;;:::o;65033:414::-;65134:6;65183:3;65171:9;65162:7;65158:23;65154:33;65151:120;;;65190:79;;:::i;:::-;65151:120;65310:1;65335:95;65422:7;65413:6;65402:9;65398:22;65335:95;:::i;:::-;65325:105;;65281:159;65033:414;;;;:::o;65453:180::-;65501:77;65498:1;65491:88;65598:4;65595:1;65588:15;65622:4;65619:1;65612:15;65639:171;65678:3;65701:24;65719:5;65701:24;:::i;:::-;65692:33;;65747:4;65740:5;65737:15;65734:41;;65755:18;;:::i;:::-;65734:41;65802:1;65795:5;65791:13;65784:20;;65639:171;;;:::o;65816:233::-;65855:3;65878:24;65896:5;65878:24;:::i;:::-;65869:33;;65924:66;65917:5;65914:77;65911:103;;65994:18;;:::i;:::-;65911:103;66041:1;66034:5;66030:13;66023:20;;65816:233;;;:::o;66055:182::-;66195:34;66191:1;66183:6;66179:14;66172:58;66055:182;:::o;66243:366::-;66385:3;66406:67;66470:2;66465:3;66406:67;:::i;:::-;66399:74;;66482:93;66571:3;66482:93;:::i;:::-;66600:2;66595:3;66591:12;66584:19;;66243:366;;;:::o;66615:419::-;66781:4;66819:2;66808:9;66804:18;66796:26;;66868:9;66862:4;66858:20;66854:1;66843:9;66839:17;66832:47;66896:131;67022:4;66896:131;:::i;:::-;66888:139;;66615:419;;;:::o;67040:332::-;67161:4;67199:2;67188:9;67184:18;67176:26;;67212:71;67280:1;67269:9;67265:17;67256:6;67212:71;:::i;:::-;67293:72;67361:2;67350:9;67346:18;67337:6;67293:72;:::i;:::-;67040:332;;;;;:::o;67378:553::-;67555:4;67593:3;67582:9;67578:19;67570:27;;67607:71;67675:1;67664:9;67660:17;67651:6;67607:71;:::i;:::-;67688:72;67756:2;67745:9;67741:18;67732:6;67688:72;:::i;:::-;67770;67838:2;67827:9;67823:18;67814:6;67770:72;:::i;:::-;67852;67920:2;67909:9;67905:18;67896:6;67852:72;:::i;:::-;67378:553;;;;;;;:::o;67937:820::-;68034:6;68042;68050;68058;68107:3;68095:9;68086:7;68082:23;68078:33;68075:120;;;68114:79;;:::i;:::-;68075:120;68234:1;68259:64;68315:7;68306:6;68295:9;68291:22;68259:64;:::i;:::-;68249:74;;68205:128;68372:2;68398:64;68454:7;68445:6;68434:9;68430:22;68398:64;:::i;:::-;68388:74;;68343:129;68511:2;68537:64;68593:7;68584:6;68573:9;68569:22;68537:64;:::i;:::-;68527:74;;68482:129;68650:2;68676:64;68732:7;68723:6;68712:9;68708:22;68676:64;:::i;:::-;68666:74;;68621:129;67937:820;;;;;;;:::o;68763:507::-;68842:6;68850;68899:2;68887:9;68878:7;68874:23;68870:32;68867:119;;;68905:79;;:::i;:::-;68867:119;69025:1;69050:64;69106:7;69097:6;69086:9;69082:22;69050:64;:::i;:::-;69040:74;;68996:128;69163:2;69189:64;69245:7;69236:6;69225:9;69221:22;69189:64;:::i;:::-;69179:74;;69134:129;68763:507;;;;;:::o;69276:305::-;69316:3;69335:20;69353:1;69335:20;:::i;:::-;69330:25;;69369:20;69387:1;69369:20;:::i;:::-;69364:25;;69523:1;69455:66;69451:74;69448:1;69445:81;69442:107;;;69529:18;;:::i;:::-;69442:107;69573:1;69570;69566:9;69559:16;;69276:305;;;;:::o;69587:250::-;69663:4;69753:18;69745:6;69742:30;69739:56;;;69775:18;;:::i;:::-;69739:56;69825:4;69817:6;69813:17;69805:25;;69587:250;;;:::o;69862:667::-;69968:5;69993:80;70009:63;70065:6;70009:63;:::i;:::-;69993:80;:::i;:::-;69984:89;;70093:5;70146:4;70138:6;70134:17;70126:6;70122:30;70175:3;70167:6;70164:15;70161:122;;;70194:79;;:::i;:::-;70161:122;70309:6;70292:231;70326:6;70321:3;70318:15;70292:231;;;70401:3;70430:48;70474:3;70462:10;70430:48;:::i;:::-;70425:3;70418:61;70508:4;70503:3;70499:14;70492:21;;70368:155;70352:4;70347:3;70343:14;70336:21;;70292:231;;;70296:21;69974:555;;69862:667;;;;;:::o;70554:363::-;70635:5;70684:3;70677:4;70669:6;70665:17;70661:27;70651:122;;70692:79;;:::i;:::-;70651:122;70796:4;70818:93;70907:3;70899:6;70891;70818:93;:::i;:::-;70809:102;;70641:276;70554:363;;;;:::o;70923:400::-;71017:6;71066:3;71054:9;71045:7;71041:23;71037:33;71034:120;;;71073:79;;:::i;:::-;71034:120;71193:1;71218:88;71298:7;71289:6;71278:9;71274:22;71218:88;:::i;:::-;71208:98;;71164:152;70923:400;;;;:::o;71329:85::-;71374:7;71403:5;71392:16;;71329:85;;;:::o;71420:158::-;71478:9;71511:61;71529:42;71538:32;71564:5;71538:32;:::i;:::-;71529:42;:::i;:::-;71511:61;:::i;:::-;71498:74;;71420:158;;;:::o;71584:147::-;71679:45;71718:5;71679:45;:::i;:::-;71674:3;71667:58;71584:147;;:::o;71737:1928::-;72307:4;72345:3;72334:9;72330:19;72322:27;;72395:9;72389:4;72385:20;72381:1;72370:9;72366:17;72359:47;72423:78;72496:4;72487:6;72423:78;:::i;:::-;72415:86;;72511:72;72579:2;72568:9;72564:18;72555:6;72511:72;:::i;:::-;72593;72661:2;72650:9;72646:18;72637:6;72593:72;:::i;:::-;72675;72743:2;72732:9;72728:18;72719:6;72675:72;:::i;:::-;72795:9;72789:4;72785:20;72779:3;72768:9;72764:19;72757:49;72823:78;72896:4;72887:6;72823:78;:::i;:::-;72815:86;;72911:73;72979:3;72968:9;72964:19;72955:6;72911:73;:::i;:::-;73032:9;73026:4;73022:20;73016:3;73005:9;73001:19;72994:49;73060:128;73183:4;73174:6;73060:128;:::i;:::-;73052:136;;73236:9;73230:4;73226:20;73220:3;73209:9;73205:19;73198:49;73264:128;73387:4;73378:6;73264:128;:::i;:::-;73256:136;;73402:81;73478:3;73467:9;73463:19;73454:6;73402:81;:::i;:::-;73493;73569:3;73558:9;73554:19;73545:6;73493:81;:::i;:::-;73584:74;73653:3;73642:9;73638:19;73628:7;73584:74;:::i;:::-;71737:1928;;;;;;;;;;;;;;:::o;73671:442::-;73820:4;73858:2;73847:9;73843:18;73835:26;;73871:71;73939:1;73928:9;73924:17;73915:6;73871:71;:::i;:::-;73952:72;74020:2;74009:9;74005:18;73996:6;73952:72;:::i;:::-;74034;74102:2;74091:9;74087:18;74078:6;74034:72;:::i;:::-;73671:442;;;;;;:::o

Swarm Source

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