AVAX Price: $52.45 (+1.63%)
 

Overview

Max Total Supply

250,000,000 BAG

Holders

2,573 ( 4.197%)

Market

Price

$0.0005 @ 0.000009 AVAX (+0.97%)

Onchain Market Cap

$115,655.00

Circulating Supply Market Cap

$31,267.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,500 BAG

Value
$1.16 ( ~0.0221177722028426 AVAX) [0.0010%]
0x7b40d5c17aab371a6ed5ac622ea232b590f2a31b
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Baguette is an Avalanche based DEX allowing users to instantly swap tokens from a friendly user interface. It brings common features like swapping, liquidity pools, farming pools, along with cool other features such as single-token staking and auto-compounding.

Contract Source Code Verified (Exact Match)

Contract Name:
Bag

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at snowscan.xyz on 2022-05-04
*/

pragma solidity ^0.5.16;

contract Bag {
    /// @notice EIP-20 token name for this token
    string public constant name = "Baguette";

    /// @notice EIP-20 token symbol for this token
    string public constant symbol = "BAG";

    /// @notice EIP-20 token decimals for this token
    uint8 public constant decimals = 18;

    /// @notice Total number of tokens in circulation
    uint public constant totalSupply = 250_000_000e18; // 250 million BAG

    /// @notice Allowance amounts on behalf of others
    mapping (address => mapping (address => uint96)) internal allowances;

    /// @notice Official record of token balances for each account
    mapping (address => uint96) internal balances;

    /// @notice The EIP-172 domain separator
    bytes32 public DOMAIN_SEPARATOR;

    /// @notice A record of each accounts delegate
    mapping (address => address) public delegates;

    /// @notice A checkpoint for marking number of votes from a given block
    struct Checkpoint {
        uint32 fromBlock;
        uint96 votes;
    }

    /// @notice A record of votes checkpoints for each account, by index
    mapping (address => mapping (uint32 => Checkpoint)) public checkpoints;

    /// @notice The number of checkpoints for each account
    mapping (address => uint32) public numCheckpoints;

    /// @notice The EIP-712 typehash for the contract's domain
    bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)");

    /// @notice The EIP-712 typehash for the delegation struct used by the contract
    bytes32 public constant DELEGATION_TYPEHASH = keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)");

    /// @notice The EIP-712 typehash for the permit struct used by the contract
    bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");

    /// @notice A record of states for signing / validating signatures
    mapping (address => uint) public nonces;

    /// @notice An event thats emitted when an account changes its delegate
    event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);

    /// @notice An event thats emitted when a delegate account's vote balance changes
    event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance);

    /// @notice The standard EIP-20 transfer event
    event Transfer(address indexed from, address indexed to, uint256 amount);

    /// @notice The standard EIP-20 approval event
    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /**
     * @notice Construct a new BAG token
     * @param account The initial account to grant all the tokens
     */
    constructor(address account) public {
        uint chainId;
        assembly {
            chainId := chainid
        }
        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                DOMAIN_TYPEHASH,
                keccak256(bytes(name)),
                keccak256(bytes('1')),
                chainId,
                address(this)
            )
        );
        balances[account] = uint96(totalSupply);
        emit Transfer(address(0), account, totalSupply);
    }

    /**
     * @notice Get the number of tokens `spender` is approved to spend on behalf of `account`
     * @param account The address of the account holding the funds
     * @param spender The address of the account spending the funds
     * @return The number of tokens approved
     */
    function allowance(address account, address spender) external view returns (uint) {
        return allowances[account][spender];
    }

    /**
     * @notice Approve `spender` to transfer up to `amount` from `src`
     * @dev This will overwrite the approval amount for `spender`
     *  and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve)
     * @param spender The address of the account which may transfer tokens
     * @param rawAmount The number of tokens that are approved (2^256-1 means infinite)
     * @return Whether or not the approval succeeded
     */
    function approve(address spender, uint rawAmount) external returns (bool) {
        uint96 amount;
        if (rawAmount == uint(-1)) {
            amount = uint96(-1);
        } else {
            amount = safe96(rawAmount, "Bag::approve: amount exceeds 96 bits");
        }

        allowances[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);
        return true;
    }

    /**
     * @notice Triggers an approval from owner to spends
     * @param owner The address to approve from
     * @param spender The address to be approved
     * @param rawAmount The number of tokens that are approved (2^256-1 means infinite)
     * @param deadline The time at which to expire the signature
     * @param v The recovery byte of the signature
     * @param r Half of the ECDSA signature pair
     * @param s Half of the ECDSA signature pair
     */
    function permit(address owner, address spender, uint rawAmount, uint deadline, uint8 v, bytes32 r, bytes32 s) external {
        uint96 amount;
        if (rawAmount == uint(-1)) {
            amount = uint96(-1);
        } else {
            amount = safe96(rawAmount, "Bag::permit: amount exceeds 96 bits");
        }

        bytes32 digest = keccak256(
          abi.encodePacked(
            "\x19\x01",
            DOMAIN_SEPARATOR,
            keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, rawAmount, nonces[owner]++, deadline))
          )
        );

        address signatory = ecrecover(digest, v, r, s);
        require(signatory != address(0), "Bag::permit: invalid signature");
        require(signatory == owner, "Bag::permit: unauthorized");
        require(now <= deadline, "Bag::permit: signature expired");

        allowances[owner][spender] = amount;

        emit Approval(owner, spender, amount);
    }

    /**
     * @notice Get the number of tokens held by the `account`
     * @param account The address of the account to get the balance of
     * @return The number of tokens held
     */
    function balanceOf(address account) external view returns (uint) {
        return balances[account];
    }

    /**
     * @notice Transfer `amount` tokens from `msg.sender` to `dst`
     * @param dst The address of the destination account
     * @param rawAmount The number of tokens to transfer
     * @return Whether or not the transfer succeeded
     */
    function transfer(address dst, uint rawAmount) external returns (bool) {
        uint96 amount = safe96(rawAmount, "Bag::transfer: amount exceeds 96 bits");
        _transferTokens(msg.sender, dst, amount);
        return true;
    }

    /**
     * @notice Transfer `amount` tokens from `src` to `dst`
     * @param src The address of the source account
     * @param dst The address of the destination account
     * @param rawAmount The number of tokens to transfer
     * @return Whether or not the transfer succeeded
     */
    function transferFrom(address src, address dst, uint rawAmount) external returns (bool) {
        address spender = msg.sender;
        uint96 spenderAllowance = allowances[src][spender];
        uint96 amount = safe96(rawAmount, "Bag::approve: amount exceeds 96 bits");

        if (spender != src && spenderAllowance != uint96(-1)) {
            uint96 newAllowance = sub96(spenderAllowance, amount, "Bag::transferFrom: transfer amount exceeds spender allowance");
            allowances[src][spender] = newAllowance;

            emit Approval(src, spender, newAllowance);
        }

        _transferTokens(src, dst, amount);
        return true;
    }

    /**
     * @notice Delegate votes from `msg.sender` to `delegatee`
     * @param delegatee The address to delegate votes to
     */
    function delegate(address delegatee) public {
        return _delegate(msg.sender, delegatee);
    }

    /**
     * @notice Delegates votes from signatory to `delegatee`
     * @param delegatee The address to delegate votes to
     * @param nonce The contract state required to match the signature
     * @param expiry The time at which to expire the signature
     * @param v The recovery byte of the signature
     * @param r Half of the ECDSA signature pair
     * @param s Half of the ECDSA signature pair
     */
    function delegateBySig(address delegatee, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) public {
        bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this)));
        bytes32 structHash = keccak256(abi.encode(DELEGATION_TYPEHASH, delegatee, nonce, expiry));
        bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));
        address signatory = ecrecover(digest, v, r, s);
        require(signatory != address(0), "Bag::delegateBySig: invalid signature");
        require(nonce == nonces[signatory]++, "Bag::delegateBySig: invalid nonce");
        require(now <= expiry, "Bag::delegateBySig: signature expired");
        return _delegate(signatory, delegatee);
    }

    /**
     * @notice Gets the current votes balance for `account`
     * @param account The address to get votes balance
     * @return The number of current votes for `account`
     */
    function getCurrentVotes(address account) external view returns (uint96) {
        uint32 nCheckpoints = numCheckpoints[account];
        return nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0;
    }

    /**
     * @notice Determine the prior number of votes for an account as of a block number
     * @dev Block number must be a finalized block or else this function will revert to prevent misinformation.
     * @param account The address of the account to check
     * @param blockNumber The block number to get the vote balance at
     * @return The number of votes the account had as of the given block
     */
    function getPriorVotes(address account, uint blockNumber) public view returns (uint96) {
        require(blockNumber < block.number, "Bag::getPriorVotes: not yet determined");

        uint32 nCheckpoints = numCheckpoints[account];
        if (nCheckpoints == 0) {
            return 0;
        }

        // First check most recent balance
        if (checkpoints[account][nCheckpoints - 1].fromBlock <= blockNumber) {
            return checkpoints[account][nCheckpoints - 1].votes;
        }

        // Next check implicit zero balance
        if (checkpoints[account][0].fromBlock > blockNumber) {
            return 0;
        }

        uint32 lower = 0;
        uint32 upper = nCheckpoints - 1;
        while (upper > lower) {
            uint32 center = upper - (upper - lower) / 2; // ceil, avoiding overflow
            Checkpoint memory cp = checkpoints[account][center];
            if (cp.fromBlock == blockNumber) {
                return cp.votes;
            } else if (cp.fromBlock < blockNumber) {
                lower = center;
            } else {
                upper = center - 1;
            }
        }
        return checkpoints[account][lower].votes;
    }

    function _delegate(address delegator, address delegatee) internal {
        address currentDelegate = delegates[delegator];
        uint96 delegatorBalance = balances[delegator];
        delegates[delegator] = delegatee;

        emit DelegateChanged(delegator, currentDelegate, delegatee);

        _moveDelegates(currentDelegate, delegatee, delegatorBalance);
    }

    function _transferTokens(address src, address dst, uint96 amount) internal {
        require(src != address(0), "Bag::_transferTokens: cannot transfer from the zero address");
        require(dst != address(0), "Bag::_transferTokens: cannot transfer to the zero address");

        balances[src] = sub96(balances[src], amount, "Bag::_transferTokens: transfer amount exceeds balance");
        balances[dst] = add96(balances[dst], amount, "Bag::_transferTokens: transfer amount overflows");
        emit Transfer(src, dst, amount);

        _moveDelegates(delegates[src], delegates[dst], amount);
    }

    function _moveDelegates(address srcRep, address dstRep, uint96 amount) internal {
        if (srcRep != dstRep && amount > 0) {
            if (srcRep != address(0)) {
                uint32 srcRepNum = numCheckpoints[srcRep];
                uint96 srcRepOld = srcRepNum > 0 ? checkpoints[srcRep][srcRepNum - 1].votes : 0;
                uint96 srcRepNew = sub96(srcRepOld, amount, "Bag::_moveVotes: vote amount underflows");
                _writeCheckpoint(srcRep, srcRepNum, srcRepOld, srcRepNew);
            }

            if (dstRep != address(0)) {
                uint32 dstRepNum = numCheckpoints[dstRep];
                uint96 dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0;
                uint96 dstRepNew = add96(dstRepOld, amount, "Bag::_moveVotes: vote amount overflows");
                _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew);
            }
        }
    }

    function _writeCheckpoint(address delegatee, uint32 nCheckpoints, uint96 oldVotes, uint96 newVotes) internal {
      uint32 blockNumber = safe32(block.number, "Bag::_writeCheckpoint: block number exceeds 32 bits");

      if (nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber) {
          checkpoints[delegatee][nCheckpoints - 1].votes = newVotes;
      } else {
          checkpoints[delegatee][nCheckpoints] = Checkpoint(blockNumber, newVotes);
          numCheckpoints[delegatee] = nCheckpoints + 1;
      }

      emit DelegateVotesChanged(delegatee, oldVotes, newVotes);
    }

    function safe32(uint n, string memory errorMessage) internal pure returns (uint32) {
        require(n < 2**32, errorMessage);
        return uint32(n);
    }

    function safe96(uint n, string memory errorMessage) internal pure returns (uint96) {
        require(n < 2**96, errorMessage);
        return uint96(n);
    }

    function add96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) {
        uint96 c = a + b;
        require(c >= a, errorMessage);
        return c;
    }

    function sub96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) {
        require(b <= a, errorMessage);
        return a - b;
    }

    function getChainId() internal pure returns (uint) {
        uint256 chainId;
        assembly { chainId := chainid() }
        return chainId;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint96","name":"votes","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506040516134213803806134218339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600046905060405180806133cf60529139605201905060405180910390206040518060400160405280600881526020017f4261677565747465000000000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001208330604051602001808681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200195505050505050604051602081830303815290604052805190602001206002819055506acecb8f27f4200f3a000000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6acecb8f27f4200f3a0000006040518082815260200191505060405180910390a350506131828061024d6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b8578063b4b5ea571161007c578063b4b5ea5714610695578063c3cda52014610709578063d505accf14610782578063dd62ed3e1461081b578063e7a324dc14610893578063f1127ed8146108b157610142565b806370a082311461047e578063782d6fe1146104d65780637ecebe001461055457806395d89b41146105ac578063a9059cbb1461062f57610142565b806330adf81f1161010a57806330adf81f146102f2578063313ce567146103105780633644e51514610334578063587cde1e146103525780635c19a95c146103d65780636fcfff451461041a57610142565b806306fdde0314610147578063095ea7b3146101ca57806318160ddd1461023057806320606b701461024e57806323b872dd1461026c575b600080fd5b61014f610948565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610216600480360360408110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610981565b604051808215151515815260200191505060405180910390f35b610238610b21565b6040518082815260200191505060405180910390f35b610256610b30565b6040518082815260200191505060405180910390f35b6102d86004803603606081101561028257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b4c565b604051808215151515815260200191505060405180910390f35b6102fa610dec565b6040518082815260200191505060405180910390f35b610318610e08565b604051808260ff1660ff16815260200191505060405180910390f35b61033c610e0d565b6040518082815260200191505060405180910390f35b6103946004803603602081101561036857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e13565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610418600480360360208110156103ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e46565b005b61045c6004803603602081101561043057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e53565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b6104c06004803603602081101561049457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e76565b6040518082815260200191505060405180910390f35b610522600480360360408110156104ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ee5565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b6105966004803603602081101561056a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061130e565b6040518082815260200191505060405180910390f35b6105b4611326565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105f45780820151818401526020810190506105d9565b50505050905090810190601f1680156106215780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61067b6004803603604081101561064557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061135f565b604051808215151515815260200191505060405180910390f35b6106d7600480360360208110156106ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061139c565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b610780600480360360c081101561071f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff169060200190929190803590602001909291908035906020019092919050505061148a565b005b610819600480360360e081101561079857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff169060200190929190803590602001909291908035906020019092919050505061183b565b005b61087d6004803603604081101561083157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d68565b6040518082815260200191505060405180910390f35b61089b611e14565b6040518082815260200191505060405180910390f35b610903600480360360408110156108c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190505050611e30565b604051808363ffffffff1663ffffffff168152602001826bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020019250505060405180910390f35b6040518060400160405280600881526020017f426167756574746500000000000000000000000000000000000000000000000081525081565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8314156109d4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90506109f9565b6109f683604051806060016040528060248152602001612fdd60249139611e89565b90505b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3600191505092915050565b6acecb8f27f4200f3a00000081565b6040518080613001605291396052019050604051809103902081565b60008033905060008060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1690506000610c0e85604051806060016040528060248152602001612fdd60249139611e89565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610c8857507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6bffffffffffffffffffffffff16826bffffffffffffffffffffffff1614155b15610dd3576000610cb283836040518060600160405280603c81526020016130b3603c9139611f4c565b9050806000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3505b610dde878783612022565b600193505050509392505050565b6040518080612f5c605291396052019050604051809103902081565b601281565b60025481565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e50338261243d565b50565b60056020528060005260406000206000915054906101000a900463ffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b6000438210610f3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612e066026913960400191505060405180910390fd5b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161415610fac576000915050611308565b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16116110ae57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff16915050611308565b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16111561112f576000915050611308565b600080905060006001830390505b8163ffffffff168163ffffffff16111561128a576000600283830363ffffffff168161116557fe5b0482039050611172612db0565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086816000015163ffffffff16141561126257806020015195505050505050611308565b86816000015163ffffffff16101561127c57819350611283565b6001820392505b505061113d565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1693505050505b92915050565b60066020528060005260406000206000915090505481565b6040518060400160405280600381526020017f424147000000000000000000000000000000000000000000000000000000000081525081565b600080611384836040518060600160405280602581526020016130ef60259139611e89565b9050611391338583612022565b600191505092915050565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff1611611406576000611482565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b915050919050565b6000604051808061300160529139605201905060405180910390206040518060400160405280600881526020017f4261677565747465000000000000000000000000000000000000000000000000815250805190602001206114ea6125fd565b30604051602001808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405160208183030381529060405280519060200120905060006040518080613114603a9139603a0190506040518091039020888888604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019450505050506040516020818303038152906040528051906020012090506000828260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611695573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611727576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612eee6025913960400191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505589146117cc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e946021913960400191505060405180910390fd5b87421115611825576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806130536025913960400191505060405180910390fd5b61182f818b61243d565b50505050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff86141561188d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90506118b2565b6118af86604051806060016040528060238152602001612f3960239139611e89565b90505b60006002546040518080612f5c60529139605201905060405180910390208a8a8a600660008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018287878760405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611a79573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b28576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4261673a3a7065726d69743a20696e76616c6964207369676e6174757265000081525060200191505060405180910390fd5b8973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611bc9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4261673a3a7065726d69743a20756e617574686f72697a65640000000000000081525060200191505060405180910390fd5b86421115611c3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4261673a3a7065726d69743a207369676e61747572652065787069726564000081525060200191505060405180910390fd5b826000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258560405180826bffffffffffffffffffffffff16815260200191505060405180910390a350505050505050505050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b6040518080613114603a9139603a019050604051809103902081565b6004602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046bffffffffffffffffffffffff16905082565b60006c0100000000000000000000000083108290611f42576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f07578082015181840152602081019050611eec565b50505050905090810190601f168015611f345780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290612015576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611fda578082015181840152602081019050611fbf565b50505050905090810190601f1680156120075780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156120a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180613078603b913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561212e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526039815260200180612eb56039913960400191505060405180910390fd5b6121a8600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1682604051806060016040528060358152602001612e2c60359139611f4c565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555061228f600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16826040518060600160405280602f8152602001612fae602f913961260a565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3612438600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836126e5565b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46125f78284836126e5565b50505050565b6000804690508091505090565b6000808385019050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff16101583906126d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561269e578082015181840152602081019050612683565b50505050905090810190601f1680156126cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561272f57506000816bffffffffffffffffffffffff16115b156129db57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612887576000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116127d257600061284e565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b905060006128758285604051806060016040528060278152602001612ddf60279139611f4c565b9050612883868484846129e0565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146129da576000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116129255760006129a1565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b905060006129c88285604051806060016040528060268152602001612f136026913961260a565b90506129d6858484846129e0565b5050505b5b505050565b6000612a0443604051806060016040528060338152602001612e6160339139612cf5565b905060008463ffffffff16118015612a9957508063ffffffff16600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16145b15612b345781600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550612c7c565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff16815250600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060018401600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405180836bffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff1681526020019250505060405180910390a25050505050565b600064010000000083108290612da6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d6b578082015181840152602081019050612d50565b50505050905090810190601f168015612d985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6040518060400160405280600063ffffffff16815260200160006bffffffffffffffffffffffff168152509056fe4261673a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f77734261673a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e65644261673a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e63654261673a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d626572206578636565647320333220626974734261673a3a64656c656761746542795369673a20696e76616c6964206e6f6e63654261673a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e7366657220746f20746865207a65726f20616464726573734261673a3a64656c656761746542795369673a20696e76616c6964207369676e61747572654261673a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f77734261673a3a7065726d69743a20616d6f756e74206578636565647320393620626974735065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e65294261673a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f77734261673a3a617070726f76653a20616d6f756e7420657863656564732039362062697473454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e7472616374294261673a3a64656c656761746542795369673a207369676e617475726520657870697265644261673a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e736665722066726f6d20746865207a65726f20616464726573734261673a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e63654261673a3a7472616e736665723a20616d6f756e742065786365656473203936206269747344656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e743235362065787069727929a265627a7a72315820add11ab4c129ef7da2cc637878789f3232df9d5b062aa682e294f1b234897a4a64736f6c63430005100032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429000000000000000000000000d453ae03887e0b65281f31eff546df196318c6e0

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b8578063b4b5ea571161007c578063b4b5ea5714610695578063c3cda52014610709578063d505accf14610782578063dd62ed3e1461081b578063e7a324dc14610893578063f1127ed8146108b157610142565b806370a082311461047e578063782d6fe1146104d65780637ecebe001461055457806395d89b41146105ac578063a9059cbb1461062f57610142565b806330adf81f1161010a57806330adf81f146102f2578063313ce567146103105780633644e51514610334578063587cde1e146103525780635c19a95c146103d65780636fcfff451461041a57610142565b806306fdde0314610147578063095ea7b3146101ca57806318160ddd1461023057806320606b701461024e57806323b872dd1461026c575b600080fd5b61014f610948565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610216600480360360408110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610981565b604051808215151515815260200191505060405180910390f35b610238610b21565b6040518082815260200191505060405180910390f35b610256610b30565b6040518082815260200191505060405180910390f35b6102d86004803603606081101561028257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b4c565b604051808215151515815260200191505060405180910390f35b6102fa610dec565b6040518082815260200191505060405180910390f35b610318610e08565b604051808260ff1660ff16815260200191505060405180910390f35b61033c610e0d565b6040518082815260200191505060405180910390f35b6103946004803603602081101561036857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e13565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610418600480360360208110156103ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e46565b005b61045c6004803603602081101561043057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e53565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b6104c06004803603602081101561049457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e76565b6040518082815260200191505060405180910390f35b610522600480360360408110156104ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ee5565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b6105966004803603602081101561056a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061130e565b6040518082815260200191505060405180910390f35b6105b4611326565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105f45780820151818401526020810190506105d9565b50505050905090810190601f1680156106215780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61067b6004803603604081101561064557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061135f565b604051808215151515815260200191505060405180910390f35b6106d7600480360360208110156106ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061139c565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b610780600480360360c081101561071f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff169060200190929190803590602001909291908035906020019092919050505061148a565b005b610819600480360360e081101561079857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff169060200190929190803590602001909291908035906020019092919050505061183b565b005b61087d6004803603604081101561083157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d68565b6040518082815260200191505060405180910390f35b61089b611e14565b6040518082815260200191505060405180910390f35b610903600480360360408110156108c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190505050611e30565b604051808363ffffffff1663ffffffff168152602001826bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020019250505060405180910390f35b6040518060400160405280600881526020017f426167756574746500000000000000000000000000000000000000000000000081525081565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8314156109d4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90506109f9565b6109f683604051806060016040528060248152602001612fdd60249139611e89565b90505b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3600191505092915050565b6acecb8f27f4200f3a00000081565b6040518080613001605291396052019050604051809103902081565b60008033905060008060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1690506000610c0e85604051806060016040528060248152602001612fdd60249139611e89565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610c8857507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6bffffffffffffffffffffffff16826bffffffffffffffffffffffff1614155b15610dd3576000610cb283836040518060600160405280603c81526020016130b3603c9139611f4c565b9050806000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3505b610dde878783612022565b600193505050509392505050565b6040518080612f5c605291396052019050604051809103902081565b601281565b60025481565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e50338261243d565b50565b60056020528060005260406000206000915054906101000a900463ffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b6000438210610f3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612e066026913960400191505060405180910390fd5b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161415610fac576000915050611308565b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16116110ae57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff16915050611308565b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16111561112f576000915050611308565b600080905060006001830390505b8163ffffffff168163ffffffff16111561128a576000600283830363ffffffff168161116557fe5b0482039050611172612db0565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086816000015163ffffffff16141561126257806020015195505050505050611308565b86816000015163ffffffff16101561127c57819350611283565b6001820392505b505061113d565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1693505050505b92915050565b60066020528060005260406000206000915090505481565b6040518060400160405280600381526020017f424147000000000000000000000000000000000000000000000000000000000081525081565b600080611384836040518060600160405280602581526020016130ef60259139611e89565b9050611391338583612022565b600191505092915050565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff1611611406576000611482565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b915050919050565b6000604051808061300160529139605201905060405180910390206040518060400160405280600881526020017f4261677565747465000000000000000000000000000000000000000000000000815250805190602001206114ea6125fd565b30604051602001808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405160208183030381529060405280519060200120905060006040518080613114603a9139603a0190506040518091039020888888604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019450505050506040516020818303038152906040528051906020012090506000828260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611695573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611727576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612eee6025913960400191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505589146117cc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e946021913960400191505060405180910390fd5b87421115611825576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806130536025913960400191505060405180910390fd5b61182f818b61243d565b50505050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff86141561188d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90506118b2565b6118af86604051806060016040528060238152602001612f3960239139611e89565b90505b60006002546040518080612f5c60529139605201905060405180910390208a8a8a600660008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018287878760405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611a79573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b28576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4261673a3a7065726d69743a20696e76616c6964207369676e6174757265000081525060200191505060405180910390fd5b8973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611bc9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4261673a3a7065726d69743a20756e617574686f72697a65640000000000000081525060200191505060405180910390fd5b86421115611c3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4261673a3a7065726d69743a207369676e61747572652065787069726564000081525060200191505060405180910390fd5b826000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258560405180826bffffffffffffffffffffffff16815260200191505060405180910390a350505050505050505050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b6040518080613114603a9139603a019050604051809103902081565b6004602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046bffffffffffffffffffffffff16905082565b60006c0100000000000000000000000083108290611f42576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f07578082015181840152602081019050611eec565b50505050905090810190601f168015611f345780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290612015576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611fda578082015181840152602081019050611fbf565b50505050905090810190601f1680156120075780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156120a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180613078603b913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561212e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526039815260200180612eb56039913960400191505060405180910390fd5b6121a8600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1682604051806060016040528060358152602001612e2c60359139611f4c565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555061228f600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16826040518060600160405280602f8152602001612fae602f913961260a565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3612438600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836126e5565b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46125f78284836126e5565b50505050565b6000804690508091505090565b6000808385019050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff16101583906126d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561269e578082015181840152602081019050612683565b50505050905090810190601f1680156126cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561272f57506000816bffffffffffffffffffffffff16115b156129db57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612887576000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116127d257600061284e565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b905060006128758285604051806060016040528060278152602001612ddf60279139611f4c565b9050612883868484846129e0565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146129da576000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116129255760006129a1565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b905060006129c88285604051806060016040528060268152602001612f136026913961260a565b90506129d6858484846129e0565b5050505b5b505050565b6000612a0443604051806060016040528060338152602001612e6160339139612cf5565b905060008463ffffffff16118015612a9957508063ffffffff16600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16145b15612b345781600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550612c7c565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff16815250600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060018401600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405180836bffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff1681526020019250505060405180910390a25050505050565b600064010000000083108290612da6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d6b578082015181840152602081019050612d50565b50505050905090810190601f168015612d985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6040518060400160405280600063ffffffff16815260200160006bffffffffffffffffffffffff168152509056fe4261673a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f77734261673a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e65644261673a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e63654261673a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d626572206578636565647320333220626974734261673a3a64656c656761746542795369673a20696e76616c6964206e6f6e63654261673a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e7366657220746f20746865207a65726f20616464726573734261673a3a64656c656761746542795369673a20696e76616c6964207369676e61747572654261673a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f77734261673a3a7065726d69743a20616d6f756e74206578636565647320393620626974735065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e65294261673a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f77734261673a3a617070726f76653a20616d6f756e7420657863656564732039362062697473454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e7472616374294261673a3a64656c656761746542795369673a207369676e617475726520657870697265644261673a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e736665722066726f6d20746865207a65726f20616464726573734261673a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e63654261673a3a7472616e736665723a20616d6f756e742065786365656473203936206269747344656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e743235362065787069727929a265627a7a72315820add11ab4c129ef7da2cc637878789f3232df9d5b062aa682e294f1b234897a4a64736f6c63430005100032

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

000000000000000000000000d453ae03887e0b65281f31eff546df196318c6e0

-----Decoded View---------------
Arg [0] : account (address): 0xD453aE03887E0b65281f31EFF546df196318C6e0

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d453ae03887e0b65281f31eff546df196318c6e0


Deployed Bytecode Sourcemap

28:14941:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28:14941:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;98:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;98:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4318:418;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4318:418:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;398:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1417:137;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7305:670;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7305:670:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1855:137;;;:::i;:::-;;;;;;;;;;;;;;;;;;;299:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;775:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;867:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;867:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8123:102;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8123:102:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1295:49;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1295:49:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6386:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6386:108:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10299:1217;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10299:1217:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2073:39;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2073:39:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;199:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;199:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6758:237;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6758:237:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9646:222;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9646:222:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8659:786;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8659:786:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5226:957;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;5226:957:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3704:136;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3704:136:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1648:117;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1156:70;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1156:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;98:40;;;;;;;;;;;;;;;;;;;:::o;4318:418::-;4386:4;4403:13;4449:2;4431:9;:21;4427:172;;;4485:2;4469:19;;4427:172;;;4530:57;4537:9;4530:57;;;;;;;;;;;;;;;;;:6;:57::i;:::-;4521:66;;4427:172;4645:6;4611:10;:22;4622:10;4611:22;;;;;;;;;;;;;;;:31;4634:7;4611:31;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;4690:7;4669:37;;4678:10;4669:37;;;4699:6;4669:37;;;;;;;;;;;;;;;;;;;;4724:4;4717:11;;;4318:418;;;;:::o;398:49::-;433:14;398:49;:::o;1417:137::-;1459:95;;;;;;;;;;;;;;;;;;;1417:137;:::o;7305:670::-;7387:4;7404:15;7422:10;7404:28;;7443:23;7469:10;:15;7480:3;7469:15;;;;;;;;;;;;;;;:24;7485:7;7469:24;;;;;;;;;;;;;;;;;;;;;;;;;7443:50;;7504:13;7520:57;7527:9;7520:57;;;;;;;;;;;;;;;;;:6;:57::i;:::-;7504:73;;7605:3;7594:14;;:7;:14;;;;:48;;;;;7639:2;7612:30;;:16;:30;;;;7594:48;7590:310;;;7659:19;7681:95;7687:16;7705:6;7681:95;;;;;;;;;;;;;;;;;:5;:95::i;:::-;7659:117;;7818:12;7791:10;:15;7802:3;7791:15;;;;;;;;;;;;;;;:24;7807:7;7791:24;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;7866:7;7852:36;;7861:3;7852:36;;;7875:12;7852:36;;;;;;;;;;;;;;;;;;;;7590:310;;7912:33;7928:3;7933;7938:6;7912:15;:33::i;:::-;7963:4;7956:11;;;;;7305:670;;;;;:::o;1855:137::-;1897:95;;;;;;;;;;;;;;;;;;;1855:137;:::o;299:35::-;332:2;299:35;:::o;775:31::-;;;;:::o;867:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;8123:102::-;8185:32;8195:10;8207:9;8185;:32::i;:::-;8123:102;:::o;1295:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;6386:108::-;6445:4;6469:8;:17;6478:7;6469:17;;;;;;;;;;;;;;;;;;;;;;;;;6462:24;;;;6386:108;;;:::o;10299:1217::-;10378:6;10419:12;10405:11;:26;10397:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10487:19;10509:14;:23;10524:7;10509:23;;;;;;;;;;;;;;;;;;;;;;;;;10487:45;;10563:1;10547:12;:17;;;10543:58;;;10588:1;10581:8;;;;;10543:58;10713:11;10661;:20;10673:7;10661:20;;;;;;;;;;;;;;;:38;10697:1;10682:12;:16;10661:38;;;;;;;;;;;;;;;:48;;;;;;;;;;;;:63;;;10657:147;;10748:11;:20;10760:7;10748:20;;;;;;;;;;;;;;;:38;10784:1;10769:12;:16;10748:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;10741:51;;;;;10657:147;10901:11;10865;:20;10877:7;10865:20;;;;;;;;;;;;;;;:23;10886:1;10865:23;;;;;;;;;;;;;:33;;;;;;;;;;;;:47;;;10861:88;;;10936:1;10929:8;;;;;10861:88;10961:12;10976:1;10961:16;;10988:12;11018:1;11003:12;:16;10988:31;;11030:428;11045:5;11037:13;;:5;:13;;;11030:428;;;11067:13;11109:1;11100:5;11092;:13;11091:19;;;;;;;;11083:5;:27;11067:43;;11152:20;;:::i;:::-;11175:11;:20;11187:7;11175:20;;;;;;;;;;;;;;;:28;11196:6;11175:28;;;;;;;;;;;;;;;11152:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11238:11;11222:2;:12;;;:27;;;11218:229;;;11277:2;:8;;;11270:15;;;;;;;;;11218:229;11326:11;11311:2;:12;;;:26;;;11307:140;;;11366:6;11358:14;;11307:140;;;11430:1;11421:6;:10;11413:18;;11307:140;11030:428;;;;;11475:11;:20;11487:7;11475:20;;;;;;;;;;;;;;;:27;11496:5;11475:27;;;;;;;;;;;;;;;:33;;;;;;;;;;;;11468:40;;;;;10299:1217;;;;;:::o;2073:39::-;;;;;;;;;;;;;;;;;:::o;199:37::-;;;;;;;;;;;;;;;;;;;:::o;6758:237::-;6823:4;6840:13;6856:58;6863:9;6856:58;;;;;;;;;;;;;;;;;:6;:58::i;:::-;6840:74;;6925:40;6941:10;6953:3;6958:6;6925:15;:40::i;:::-;6983:4;6976:11;;;6758:237;;;;:::o;9646:222::-;9711:6;9730:19;9752:14;:23;9767:7;9752:23;;;;;;;;;;;;;;;;;;;;;;;;;9730:45;;9808:1;9793:12;:16;;;:67;;9859:1;9793:67;;;9812:11;:20;9824:7;9812:20;;;;;;;;;;;;;;;:38;9848:1;9833:12;:16;9812:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;9793:67;9786:74;;;9646:222;;;:::o;8659:786::-;8775:23;1459:95;;;;;;;;;;;;;;;;;;;8855:4;;;;;;;;;;;;;;;;;8839:22;;;;;;8863:12;:10;:12::i;:::-;8885:4;8811:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8811:80:0;;;8801:91;;;;;;8775:117;;8903:18;1694:71;;;;;;;;;;;;;;;;;;;8966:9;8977:5;8984:6;8934:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8934:57:0;;;8924:68;;;;;;8903:89;;9003:14;9059:15;9076:10;9030:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;9030:57:0;;;9020:68;;;;;;9003:85;;9099:17;9119:26;9129:6;9137:1;9140;9143;9119:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9119:26:0;;;;;;;;9099:46;;9185:1;9164:23;;:9;:23;;;;9156:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9257:6;:17;9264:9;9257:17;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;9248:5;:28;9240:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9340:6;9333:3;:13;;9325:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9406:31;9416:9;9427;9406;:31::i;:::-;9399:38;;;;8659:786;;;;;;:::o;5226:957::-;5356:13;5402:2;5384:9;:21;5380:171;;;5438:2;5422:19;;5380:171;;;5483:56;5490:9;5483:56;;;;;;;;;;;;;;;;;:6;:56::i;:::-;5474:65;;5380:171;5563:14;5658:16;;1897:95;;;;;;;;;;;;;;;;;;;5727:5;5734:7;5743:9;5754:6;:13;5761:5;5754:13;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;5771:8;5699:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5699:81:0;;;5689:92;;;;;;5602:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5602:192:0;;;5580:225;;;;;;5563:242;;5818:17;5838:26;5848:6;5856:1;5859;5862;5838:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5838:26:0;;;;;;;;5818:46;;5904:1;5883:23;;:9;:23;;;;5875:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5973:5;5960:18;;:9;:18;;;5952:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6034:8;6027:3;:15;;6019:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6119:6;6090:10;:17;6101:5;6090:17;;;;;;;;;;;;;;;:26;6108:7;6090:26;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;6159:7;6143:32;;6152:5;6143:32;;;6168:6;6143:32;;;;;;;;;;;;;;;;;;;;5226:957;;;;;;;;;;:::o;3704:136::-;3780:4;3804:10;:19;3815:7;3804:19;;;;;;;;;;;;;;;:28;3824:7;3804:28;;;;;;;;;;;;;;;;;;;;;;;;;3797:35;;;;3704:136;;;;:::o;1648:117::-;1694:71;;;;;;;;;;;;;;;;;;;1648:117;:::o;1156:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14275:161::-;14350:6;14381:5;14377:1;:9;14388:12;14369:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14369:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14426:1;14412:16;;14275:161;;;;:::o;14640:165::-;14726:6;14758:1;14753:6;;:1;:6;;;;14761:12;14745:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14745:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14796:1;14792;:5;14785:12;;14640:165;;;;;:::o;11907:610::-;12016:1;12001:17;;:3;:17;;;;11993:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12116:1;12101:17;;:3;:17;;;;12093:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12209:85;12215:8;:13;12224:3;12215:13;;;;;;;;;;;;;;;;;;;;;;;;;12230:6;12209:85;;;;;;;;;;;;;;;;;:5;:85::i;:::-;12193:8;:13;12202:3;12193:13;;;;;;;;;;;;;;;;:101;;;;;;;;;;;;;;;;;;12321:79;12327:8;:13;12336:3;12327:13;;;;;;;;;;;;;;;;;;;;;;;;;12342:6;12321:79;;;;;;;;;;;;;;;;;:5;:79::i;:::-;12305:8;:13;12314:3;12305:13;;;;;;;;;;;;;;;;:95;;;;;;;;;;;;;;;;;;12430:3;12416:26;;12425:3;12416:26;;;12435:6;12416:26;;;;;;;;;;;;;;;;;;;;12455:54;12470:9;:14;12480:3;12470:14;;;;;;;;;;;;;;;;;;;;;;;;;12486:9;:14;12496:3;12486:14;;;;;;;;;;;;;;;;;;;;;;;;;12502:6;12455:14;:54::i;:::-;11907:610;;;:::o;11524:375::-;11601:23;11627:9;:20;11637:9;11627:20;;;;;;;;;;;;;;;;;;;;;;;;;11601:46;;11658:23;11684:8;:19;11693:9;11684:19;;;;;;;;;;;;;;;;;;;;;;;;;11658:45;;11737:9;11714;:20;11724:9;11714:20;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;11808:9;11764:54;;11791:15;11764:54;;11780:9;11764:54;;;;;;;;;;;;11831:60;11846:15;11863:9;11874:16;11831:14;:60::i;:::-;11524:375;;;;:::o;14813:153::-;14858:4;14875:15;14923:9;14912:20;;14951:7;14944:14;;;14813:153;:::o;14444:188::-;14530:6;14549:8;14564:1;14560;:5;14549:16;;14589:1;14584:6;;:1;:6;;;;14592:12;14576:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14576:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14623:1;14616:8;;;14444:188;;;;;:::o;12525:937::-;12630:6;12620:16;;:6;:16;;;;:30;;;;;12649:1;12640:6;:10;;;12620:30;12616:839;;;12689:1;12671:20;;:6;:20;;;12667:381;;12712:16;12731:14;:22;12746:6;12731:22;;;;;;;;;;;;;;;;;;;;;;;;;12712:41;;12772:16;12803:1;12791:9;:13;;;:60;;12850:1;12791:60;;;12807:11;:19;12819:6;12807:19;;;;;;;;;;;;;;;:34;12839:1;12827:9;:13;12807:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;12791:60;12772:79;;12870:16;12889:67;12895:9;12906:6;12889:67;;;;;;;;;;;;;;;;;:5;:67::i;:::-;12870:86;;12975:57;12992:6;13000:9;13011;13022;12975:16;:57::i;:::-;12667:381;;;;13086:1;13068:20;;:6;:20;;;13064:380;;13109:16;13128:14;:22;13143:6;13128:22;;;;;;;;;;;;;;;;;;;;;;;;;13109:41;;13169:16;13200:1;13188:9;:13;;;:60;;13247:1;13188:60;;;13204:11;:19;13216:6;13204:19;;;;;;;;;;;;;;;:34;13236:1;13224:9;:13;13204:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;13188:60;13169:79;;13267:16;13286:66;13292:9;13303:6;13286:66;;;;;;;;;;;;;;;;;:5;:66::i;:::-;13267:85;;13371:57;13388:6;13396:9;13407;13418;13371:16;:57::i;:::-;13064:380;;;;12616:839;12525:937;;;:::o;13470:628::-;13588:18;13609:75;13616:12;13609:75;;;;;;;;;;;;;;;;;:6;:75::i;:::-;13588:96;;13714:1;13699:12;:16;;;:85;;;;;13773:11;13719:65;;:11;:22;13731:9;13719:22;;;;;;;;;;;;;;;:40;13757:1;13742:12;:16;13719:40;;;;;;;;;;;;;;;:50;;;;;;;;;;;;:65;;;13699:85;13695:329;;;13848:8;13799:11;:22;13811:9;13799:22;;;;;;;;;;;;;;;:40;13837:1;13822:12;:16;13799:40;;;;;;;;;;;;;;;:46;;;:57;;;;;;;;;;;;;;;;;;13695:329;;;13924:33;;;;;;;;13935:11;13924:33;;;;;;13948:8;13924:33;;;;;13885:11;:22;13897:9;13885:22;;;;;;;;;;;;;;;:36;13908:12;13885:36;;;;;;;;;;;;;;;:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14013:1;13998:12;:16;13970:14;:25;13985:9;13970:25;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;13695:329;14060:9;14039:51;;;14071:8;14081;14039:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;13470:628;;;;;:::o;14106:161::-;14181:6;14212:5;14208:1;:9;14219:12;14200:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14200:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14257:1;14243:16;;14106:161;;;;:::o;28:14941::-;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://add11ab4c129ef7da2cc637878789f3232df9d5b062aa682e294f1b234897a4a
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.