ETH Price: $3,100.59 (-0.68%)

Token

Raptor (BIBLE)
 

Overview

Max Total Supply

7,000,000,000 BIBLE

Holders

892

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 BIBLE

Value
$0.00
0xaae9279974ec3e5212299d0e231b5b40e2f5d9ed
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Raptor

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 500 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-19
*/

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0 <0.9.0;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address lpPair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address lpPair);
    function createPair(address tokenA, address tokenB) external returns (address lpPair);
}

interface IV2Pair {
    function factory() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function sync() external;
}

interface IRouter01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IRouter02 is IRouter01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

interface Initializer {
    function setLaunch(address _initialLpPair, uint32 _liqAddBlock, uint64 _liqAddStamp, uint8 dec) external;
    function getConfig() external returns (address, address);
    function setLpPair(address pair, bool enabled) external;
    function checkUser(address from, address to, uint256 amt) external returns (bool);
    function setProtections(bool _as, bool _ab) external;
    function removeSniper(address account) external;
}

contract Raptor is IERC20 {
    mapping (address => uint256) private _tOwned;
    mapping (address => bool) lpPairs;
    uint256 private timeSinceLastPair = 0;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _liquidityHolders;
    mapping (address => bool) private _isExcludedFromProtection;
    bool private allowedPresaleExclusion = true;
   
    uint256 constant private startingSupply = 7_000_000_000;
    string constant private _name = "Raptor";
    string constant private _symbol = "BIBLE";
    uint8 constant private _decimals = 18;
    uint256 constant private _tTotal = startingSupply * 10**_decimals;

    bool public taxesAreLocked;
    IRouter02 public dexRouter;
    address public lpPair;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;
    bool public tradingEnabled = false;
    bool public _hasLiqBeenAdded = false;
    Initializer initializer;

    constructor () payable {
        // Set the owner.
        _owner = msg.sender;
        
        _liquidityHolders[_owner] = true;
        _tOwned[_owner] = _tTotal;
        emit Transfer(address(0), _owner, _tTotal);
    }

    receive() external payable {}

//===============================================================================================================
//===============================================================================================================
//===============================================================================================================
    // Ownable removed as a lib and added here to allow for custom transfers and renouncements.
    // This allows for removal of ownership privileges from the owner once renounced or transferred.

    address private _owner;

    modifier onlyOwner() { require(_owner == msg.sender, "Caller =/= owner."); _; }
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    function transferOwner(address newOwner) external onlyOwner {
        require(newOwner != address(0), "Call renounceOwnership to transfer owner to the zero address.");
        require(newOwner != DEAD, "Call renounceOwnership to transfer owner to the zero address.");
        if (balanceOf(_owner) > 0) {
            finalizeTransfer(_owner, newOwner, balanceOf(_owner), true);
        }
        
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
        
    }

    function renounceOwnership() external onlyOwner {
        require(tradingEnabled, "Cannot renounce until trading has been enabled.");
        address oldOwner = _owner;
        _owner = address(0);
        emit OwnershipTransferred(oldOwner, address(0));
    }

//===============================================================================================================
//===============================================================================================================
//===============================================================================================================

    function totalSupply() external pure override returns (uint256) { if (_tTotal == 0) { revert(); } return _tTotal; }
    function decimals() external pure override returns (uint8) { if (_tTotal == 0) { revert(); } return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return _owner; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    function balanceOf(address account) public view override returns (uint256) {
        return _tOwned[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");

        _allowances[sender][spender] = amount;
        emit Approval(sender, spender, amount);
    }

    function approveContractContingency() external onlyOwner returns (bool) {
        _approve(address(this), address(dexRouter), type(uint256).max);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }

    function setInitializer(address _initializer) public onlyOwner {
        require(!tradingEnabled);
        require(_initializer != address(this), "Can't be self.");
        initializer = Initializer(_initializer);
        try initializer.getConfig() returns (address router, address constructorLP) {
            dexRouter = IRouter02(router); lpPair = constructorLP; lpPairs[constructorLP] = true;
            _approve(_owner, address(dexRouter), type(uint256).max);
            _approve(address(this), address(dexRouter), type(uint256).max);
        } catch { revert(); }
    }

    function isExcludedFromProtection(address account) external view returns (bool) {
        return _isExcludedFromProtection[account];
    }

    function setExcludedFromProtection(address account, bool enabled) external onlyOwner {
        _isExcludedFromProtection[account] = enabled;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return (_tTotal - (balanceOf(DEAD) + balanceOf(address(0))));
    }

    function removeSniper(address account) external onlyOwner {
        initializer.removeSniper(account);
    }

    function setProtectionSettings(bool _antiSnipe, bool _antiBlock) external onlyOwner {
        initializer.setProtections(_antiSnipe, _antiBlock);
    }

    function excludePresaleAddresses(address router, address presale) external onlyOwner {
        require(allowedPresaleExclusion);
        require(router != address(this) 
                && presale != address(this) 
                && lpPair != router 
                && lpPair != presale, "Just don't.");
        if (router == presale) {
            _liquidityHolders[presale] = true;
        } else {
            _liquidityHolders[router] = true;
            _liquidityHolders[presale] = true;
        }
    }

    function _hasLimits(address from, address to) internal view returns (bool) {
        return from != _owner
            && to != _owner
            && tx.origin != _owner
            && !_liquidityHolders[to]
            && !_liquidityHolders[from]
            && to != DEAD
            && to != address(0)
            && from != address(this)
            && from != address(initializer)
            && to != address(initializer);
    }

    function _transfer(address from, address to, uint256 amount) internal returns (bool) {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        bool buy = false;
        bool sell = false;
        bool other = false;
        if (lpPairs[from]) {
            buy = true;
        } else if (lpPairs[to]) {
            sell = true;
        } else {
            other = true;
        }
        if (_hasLimits(from, to)) {
            if(!tradingEnabled) {
                if (!other) {
                    revert("Trading not yet enabled!");
                } else if (!_isExcludedFromProtection[from] && !_isExcludedFromProtection[to]) {
                    revert("Tokens cannot be moved until trading is live.");
                }
            }
        }

        return finalizeTransfer(from, to, amount, other);
    }

    function _checkLiquidityAdd(address from, address to) internal {
        require(!_hasLiqBeenAdded, "Liquidity already added and marked.");
        if (!_hasLimits(from, to) && to == lpPair) {
            if (address(initializer) == address(0)){
                initializer = Initializer(address(this));
            } else {
                _liquidityHolders[from] = true;
                _hasLiqBeenAdded = true;
            }
        }
    }

    function enableTrading() public onlyOwner {
        require(!tradingEnabled, "Trading already enabled!");
        require(_hasLiqBeenAdded, "Liquidity must be added.");
        if (address(initializer) == address(0)){
            initializer = Initializer(address(this));
        }
        try initializer.setLaunch(lpPair, uint32(block.number), uint64(block.timestamp), _decimals) {} catch {}
        tradingEnabled = true;
        allowedPresaleExclusion = false;
    }

    function sweepBalance() external onlyOwner {
        payable(_owner).transfer(address(this).balance);
    }
    
    function sweepExternalTokens(address token) external onlyOwner {
        IERC20 TOKEN = IERC20(token);
        TOKEN.transfer(_owner, TOKEN.balanceOf(address(this)));
    }

    function multiSendTokens(address[] memory accounts, uint256[] memory amounts) external onlyOwner {
        require(accounts.length == amounts.length, "Lengths do not match.");
        for (uint16 i = 0; i < accounts.length; i++) {
            require(balanceOf(msg.sender) >= amounts[i]*10**_decimals, "Not enough tokens.");
            finalizeTransfer(msg.sender, accounts[i], amounts[i]*10**_decimals, true);
        }
    }

    function finalizeTransfer(address from, address to, uint256 amount, bool other) internal returns (bool) {
        if (_hasLimits(from, to)) { bool checked;
            try initializer.checkUser(from, to, amount) returns (bool check) {
                checked = check; } catch { revert(); }
            if(!checked) { revert(); }
        }
        _tOwned[from] -= amount;
        _tOwned[to] += amount;
        emit Transfer(from, to, amount);
        if (!_hasLiqBeenAdded) {
            _checkLiquidityAdd(from, to);
            if (!_hasLiqBeenAdded && _hasLimits(from, to) && !_isExcludedFromProtection[from] && !_isExcludedFromProtection[to] && !other) {
                revert("Pre-liquidity transfer protection.");
            }
        }

        return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_hasLiqBeenAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"approveContractContingency","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address","name":"presale","type":"address"}],"name":"excludePresaleAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromProtection","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"multiSendTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setExcludedFromProtection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_initializer","type":"address"}],"name":"setInitializer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_antiSnipe","type":"bool"},{"internalType":"bool","name":"_antiBlock","type":"bool"}],"name":"setProtectionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sweepBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"sweepExternalTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxesAreLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040908152600060028190556006805460ff1990811660019081179092556007805461ffff60a01b19169055600980546001600160a01b0319163390811790915583526004602052929091208054909216179055620000636012600a62000205565b62000074906401a13b86006200021d565b600980546001600160a01b03908116600090815260208190526040812093909355905416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620000c86012600a62000205565b620000d9906401a13b86006200021d565b60405190815260200160405180910390a362000237565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620001475781600019048211156200012b576200012b620000f0565b808516156200013957918102915b93841c93908002906200010b565b509250929050565b6000826200016057506001620001ff565b816200016f57506000620001ff565b81600181146200018857600281146200019357620001b3565b6001915050620001ff565b60ff841115620001a757620001a7620000f0565b50506001821b620001ff565b5060208310610133831016604e8410600b8410161715620001d8575081810a620001ff565b620001e4838362000106565b8060001904821115620001fb57620001fb620000f0565b0290505b92915050565b60006200021660ff8416836200014f565b9392505050565b8082028115828204841417620001ff57620001ff620000f0565b6122b380620002476000396000f3fe6080604052600436106101d15760003560e01c80634ada218b116100f75780638a63bd9b11610095578063ab558e4d11610064578063ab558e4d1461057a578063c3513f6d1461059a578063dd62ed3e146105af578063feadde9c146105f557600080fd5b80638a63bd9b146105025780638a8c523c1461051757806395d89b411461052c578063a9059cbb1461055a57600080fd5b80635c24b074116100d15780635c24b0741461047957806370a0823114610499578063715018a6146104cf578063893d20e8146104e457600080fd5b80634ada218b146104175780634fb2e45d1461043857806350a8e0161461045857600080fd5b806313b4a7f41161016f5780632b112e491161013e5780632b112e491461039b578063313ce567146103b057806333251a0b146103d7578063452ed4f1146103f757600080fd5b806313b4a7f41461031857806318160ddd1461033857806323b872dd1461035b5780632610eaca1461037b57600080fd5b80630758d924116101ab5780630758d9241461026a57806307dd79e014610290578063095ea7b3146102bf5780630dcbcf1c146102df57600080fd5b806303fd2a45146101dd578063044df7261461021057806306fdde031461023257600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561021c57600080fd5b5061023061022b366004611d91565b610615565b005b34801561023e57600080fd5b506040805180820190915260068152652930b83a37b960d11b60208201525b6040516102079190611dca565b34801561027657600080fd5b506006546101f3906201000090046001600160a01b031681565b34801561029c57600080fd5b506006546102af90610100900460ff1681565b6040519015158152602001610207565b3480156102cb57600080fd5b506102af6102da366004611e2d565b6106d3565b3480156102eb57600080fd5b506102af6102fa366004611e59565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561032457600080fd5b50610230610333366004611e76565b6106ea565b34801561034457600080fd5b5061034d610854565b604051908152602001610207565b34801561036757600080fd5b506102af610376366004611ea4565b61089d565b34801561038757600080fd5b50610230610396366004611fbb565b610915565b3480156103a757600080fd5b5061034d610acd565b3480156103bc57600080fd5b506103c5610b4c565b60405160ff9091168152602001610207565b3480156103e357600080fd5b506102306103f2366004611e59565b610b7b565b34801561040357600080fd5b506007546101f3906001600160a01b031681565b34801561042357600080fd5b506007546102af90600160a01b900460ff1681565b34801561044457600080fd5b50610230610453366004611e59565b610c2b565b34801561046457600080fd5b506007546102af90600160a81b900460ff1681565b34801561048557600080fd5b50610230610494366004611e59565b610e11565b3480156104a557600080fd5b5061034d6104b4366004611e59565b6001600160a01b031660009081526020819052604090205490565b3480156104db57600080fd5b50610230610fed565b3480156104f057600080fd5b506009546001600160a01b03166101f3565b34801561050e57600080fd5b506102af611108565b34801561052357600080fd5b5061023061117f565b34801561053857600080fd5b506040805180820190915260058152644249424c4560d81b602082015261025d565b34801561056657600080fd5b506102af610575366004611e2d565b611340565b34801561058657600080fd5b50610230610595366004611e59565b611357565b3480156105a657600080fd5b506102306114a7565b3480156105bb57600080fd5b5061034d6105ca366004611e76565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561060157600080fd5b5061023061061036600461207d565b61152e565b6009546001600160a01b031633146106685760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b60448201526064015b60405180910390fd5b60085460405163efbdbabd60e01b8152831515600482015282151560248201526001600160a01b039091169063efbdbabd90604401600060405180830381600087803b1580156106b757600080fd5b505af11580156106cb573d6000803e3d6000fd5b505050505050565b60006106e03384846115a7565b5060015b92915050565b6009546001600160a01b031633146107385760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b60065460ff1661074757600080fd5b6001600160a01b038216301480159061076957506001600160a01b0381163014155b801561078357506007546001600160a01b03838116911614155b801561079d57506007546001600160a01b03828116911614155b6107d75760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba103237b713ba1760a91b604482015260640161065f565b806001600160a01b0316826001600160a01b031603610817576001600160a01b0381166000908152600460205260409020805460ff191660011790555050565b6001600160a01b038281166000908152600460205260408082208054600160ff1991821681179092559385168352912080549092161790555b5050565b60006108626012600a612195565b610871906401a13b86006121a4565b60000361087d57600080fd5b6108896012600a612195565b610898906401a13b86006121a4565b905090565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610902576001600160a01b0384166000908152600360209081526040808320338452909152812080548492906108fc9084906121bb565b90915550505b61090d8484846116a0565b949350505050565b6009546001600160a01b031633146109635760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b80518251146109b45760405162461bcd60e51b815260206004820152601560248201527f4c656e6774687320646f206e6f74206d617463682e0000000000000000000000604482015260640161065f565b60005b82518161ffff161015610ac8576109d06012600a612195565b828261ffff16815181106109e6576109e66121ce565b60200260200101516109f891906121a4565b336000908152602081905260409020541015610a565760405162461bcd60e51b815260206004820152601260248201527f4e6f7420656e6f75676820746f6b656e732e0000000000000000000000000000604482015260640161065f565b610ab533848361ffff1681518110610a7057610a706121ce565b60200260200101516012600a610a869190612195565b858561ffff1681518110610a9c57610a9c6121ce565b6020026020010151610aae91906121a4565b600161194f565b5080610ac0816121e4565b9150506109b7565b505050565b600060208190527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461dead82527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf8354610b279190612205565b610b336012600a612195565b610b42906401a13b86006121a4565b61089891906121bb565b6000610b5a6012600a612195565b610b69906401a13b86006121a4565b600003610b7557600080fd5b50601290565b6009546001600160a01b03163314610bc95760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b6008546040516333251a0b60e01b81526001600160a01b038381166004830152909116906333251a0b90602401600060405180830381600087803b158015610c1057600080fd5b505af1158015610c24573d6000803e3d6000fd5b5050505050565b6009546001600160a01b03163314610c795760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b6001600160a01b038116610cf55760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e000000606482015260840161065f565b61deac196001600160a01b03821601610d765760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e000000606482015260840161065f565b6009546001600160a01b031660009081526020819052604090205415610dbf576009546001600160a01b0316600081815260208190526040902054610dbd91908390610aae565b505b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6009546001600160a01b03163314610e5f5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b600754600160a01b900460ff1615610e7657600080fd5b306001600160a01b03821603610ece5760405162461bcd60e51b815260206004820152600e60248201527f43616e27742062652073656c662e000000000000000000000000000000000000604482015260640161065f565b600880546001600160a01b0319166001600160a01b038316908117909155604080516330fe427560e21b8152815163c3f909d49260048084019391929182900301816000875af1925050508015610f42575060408051601f3d908101601f19168201909252610f3f91810190612218565b60015b610f4b57600080fd5b6006805475ffffffffffffffffffffffffffffffffffffffff00001916620100006001600160a01b038581168202929092178355600780546001600160a01b0319168584169081179091556000908152600160208190526040909120805460ff191690911790556009549254610fca93831692919004166000196115a7565b600654610ac89030906201000090046001600160a01b03166000196115a7565b50565b6009546001600160a01b0316331461103b5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b600754600160a01b900460ff166110ba5760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f742072656e6f756e636520756e74696c2074726164696e6720686160448201527f73206265656e20656e61626c65642e0000000000000000000000000000000000606482015260840161065f565b600980546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6009546000906001600160a01b031633146111595760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b6006546111799030906201000090046001600160a01b03166000196115a7565b50600190565b6009546001600160a01b031633146111cd5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b600754600160a01b900460ff16156112275760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c6564210000000000000000604482015260640161065f565b600754600160a81b900460ff166112805760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e0000000000000000604482015260640161065f565b6008546001600160a01b03166112a357600880546001600160a01b031916301790555b600854600754604051631b04570d60e21b81526001600160a01b03918216600482015263ffffffff4316602482015267ffffffffffffffff4216604482015260126064820152911690636c115c3490608401600060405180830381600087803b15801561130f57600080fd5b505af1925050508015611320575060015b506007805460ff60a01b1916600160a01b1790556006805460ff19169055565b600061134d3384846116a0565b5060019392505050565b6009546001600160a01b031633146113a55760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b6009546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa1580156113fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114209190612247565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611483573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac89190612260565b6009546001600160a01b031633146114f55760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b6009546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610fea573d6000803e3d6000fd5b6009546001600160a01b0316331461157c5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6001600160a01b0383166115f35760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161065f565b6001600160a01b03821661163f5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161065f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166117065760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161065f565b6001600160a01b0383166117685760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161065f565b600082116117ca5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161065f565b6001600160a01b0384166000908152600160205260408120548190819060ff16156117f85760019250611826565b6001600160a01b03861660009081526001602052604090205460ff16156118225760019150611826565b5060015b6118308787611b89565b1561193857600754600160a01b900460ff1661193857806118935760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161065f565b6001600160a01b03871660009081526005602052604090205460ff161580156118d557506001600160a01b03861660009081526005602052604090205460ff16155b156119385760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b606482015260840161065f565b6119448787878461194f565b979650505050505050565b600061195b8585611b89565b156119ef5760085460405163ecd07a5360e01b81526001600160a01b038781166004830152868116602483015260448201869052600092169063ecd07a53906064016020604051808303816000875af19250505080156119d8575060408051601f3d908101601f191682019092526119d591810190612260565b60015b6119e157600080fd5b9050806119ed57600080fd5b505b6001600160a01b03851660009081526020819052604081208054859290611a179084906121bb565b90915550506001600160a01b03841660009081526020819052604081208054859290611a44908490612205565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a9091815260200190565b60405180910390a3600754600160a81b900460ff16611b7e57611ab38585611c94565b600754600160a81b900460ff16158015611ad25750611ad28585611b89565b8015611af757506001600160a01b03851660009081526005602052604090205460ff16155b8015611b1c57506001600160a01b03841660009081526005602052604090205460ff16155b8015611b26575081155b15611b7e5760405162461bcd60e51b815260206004820152602260248201527f5072652d6c6971756964697479207472616e736665722070726f74656374696f604482015261371760f11b606482015260840161065f565b506001949350505050565b6009546000906001600160a01b03848116911614801590611bb857506009546001600160a01b03838116911614155b8015611bcf57506009546001600160a01b03163214155b8015611bf457506001600160a01b03821660009081526004602052604090205460ff16155b8015611c1957506001600160a01b03831660009081526004602052604090205460ff16155b8015611c3057506001600160a01b03821661dead14155b8015611c4457506001600160a01b03821615155b8015611c5957506001600160a01b0383163014155b8015611c7357506008546001600160a01b03848116911614155b8015611c8d57506008546001600160a01b03838116911614155b9392505050565b600754600160a81b900460ff1615611cfa5760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b606482015260840161065f565b611d048282611b89565b158015611d1e57506007546001600160a01b038281169116145b15610850576008546001600160a01b0316611d4957600880546001600160a01b031916301790555050565b6001600160a01b0382166000908152600460205260409020805460ff191660011790556007805460ff60a81b1916600160a81b1790555050565b8015158114610fea57600080fd5b60008060408385031215611da457600080fd5b8235611daf81611d83565b91506020830135611dbf81611d83565b809150509250929050565b600060208083528351808285015260005b81811015611df757858101830151858201604001528201611ddb565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610fea57600080fd5b60008060408385031215611e4057600080fd5b8235611e4b81611e18565b946020939093013593505050565b600060208284031215611e6b57600080fd5b8135611c8d81611e18565b60008060408385031215611e8957600080fd5b8235611e9481611e18565b91506020830135611dbf81611e18565b600080600060608486031215611eb957600080fd5b8335611ec481611e18565b92506020840135611ed481611e18565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611f2457611f24611ee5565b604052919050565b600067ffffffffffffffff821115611f4657611f46611ee5565b5060051b60200190565b600082601f830112611f6157600080fd5b81356020611f76611f7183611f2c565b611efb565b82815260059290921b84018101918181019086841115611f9557600080fd5b8286015b84811015611fb05780358352918301918301611f99565b509695505050505050565b60008060408385031215611fce57600080fd5b823567ffffffffffffffff80821115611fe657600080fd5b818501915085601f830112611ffa57600080fd5b8135602061200a611f7183611f2c565b82815260059290921b8401810191818101908984111561202957600080fd5b948201945b8386101561205057853561204181611e18565b8252948201949082019061202e565b9650508601359250508082111561206657600080fd5b5061207385828601611f50565b9150509250929050565b6000806040838503121561209057600080fd5b8235611daf81611e18565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156120ec5781600019048211156120d2576120d261209b565b808516156120df57918102915b93841c93908002906120b6565b509250929050565b600082612103575060016106e4565b81612110575060006106e4565b816001811461212657600281146121305761214c565b60019150506106e4565b60ff8411156121415761214161209b565b50506001821b6106e4565b5060208310610133831016604e8410600b841016171561216f575081810a6106e4565b61217983836120b1565b806000190482111561218d5761218d61209b565b029392505050565b6000611c8d60ff8416836120f4565b80820281158282048414176106e4576106e461209b565b818103818111156106e4576106e461209b565b634e487b7160e01b600052603260045260246000fd5b600061ffff8083168181036121fb576121fb61209b565b6001019392505050565b808201808211156106e4576106e461209b565b6000806040838503121561222b57600080fd5b825161223681611e18565b6020840151909250611dbf81611e18565b60006020828403121561225957600080fd5b5051919050565b60006020828403121561227257600080fd5b8151611c8d81611d8356fea26469706673582212206cbb368d3a60b426a2f76872ca2f77b51c6c37e66011005003d6dffda16a82b864736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c80634ada218b116100f75780638a63bd9b11610095578063ab558e4d11610064578063ab558e4d1461057a578063c3513f6d1461059a578063dd62ed3e146105af578063feadde9c146105f557600080fd5b80638a63bd9b146105025780638a8c523c1461051757806395d89b411461052c578063a9059cbb1461055a57600080fd5b80635c24b074116100d15780635c24b0741461047957806370a0823114610499578063715018a6146104cf578063893d20e8146104e457600080fd5b80634ada218b146104175780634fb2e45d1461043857806350a8e0161461045857600080fd5b806313b4a7f41161016f5780632b112e491161013e5780632b112e491461039b578063313ce567146103b057806333251a0b146103d7578063452ed4f1146103f757600080fd5b806313b4a7f41461031857806318160ddd1461033857806323b872dd1461035b5780632610eaca1461037b57600080fd5b80630758d924116101ab5780630758d9241461026a57806307dd79e014610290578063095ea7b3146102bf5780630dcbcf1c146102df57600080fd5b806303fd2a45146101dd578063044df7261461021057806306fdde031461023257600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561021c57600080fd5b5061023061022b366004611d91565b610615565b005b34801561023e57600080fd5b506040805180820190915260068152652930b83a37b960d11b60208201525b6040516102079190611dca565b34801561027657600080fd5b506006546101f3906201000090046001600160a01b031681565b34801561029c57600080fd5b506006546102af90610100900460ff1681565b6040519015158152602001610207565b3480156102cb57600080fd5b506102af6102da366004611e2d565b6106d3565b3480156102eb57600080fd5b506102af6102fa366004611e59565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561032457600080fd5b50610230610333366004611e76565b6106ea565b34801561034457600080fd5b5061034d610854565b604051908152602001610207565b34801561036757600080fd5b506102af610376366004611ea4565b61089d565b34801561038757600080fd5b50610230610396366004611fbb565b610915565b3480156103a757600080fd5b5061034d610acd565b3480156103bc57600080fd5b506103c5610b4c565b60405160ff9091168152602001610207565b3480156103e357600080fd5b506102306103f2366004611e59565b610b7b565b34801561040357600080fd5b506007546101f3906001600160a01b031681565b34801561042357600080fd5b506007546102af90600160a01b900460ff1681565b34801561044457600080fd5b50610230610453366004611e59565b610c2b565b34801561046457600080fd5b506007546102af90600160a81b900460ff1681565b34801561048557600080fd5b50610230610494366004611e59565b610e11565b3480156104a557600080fd5b5061034d6104b4366004611e59565b6001600160a01b031660009081526020819052604090205490565b3480156104db57600080fd5b50610230610fed565b3480156104f057600080fd5b506009546001600160a01b03166101f3565b34801561050e57600080fd5b506102af611108565b34801561052357600080fd5b5061023061117f565b34801561053857600080fd5b506040805180820190915260058152644249424c4560d81b602082015261025d565b34801561056657600080fd5b506102af610575366004611e2d565b611340565b34801561058657600080fd5b50610230610595366004611e59565b611357565b3480156105a657600080fd5b506102306114a7565b3480156105bb57600080fd5b5061034d6105ca366004611e76565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561060157600080fd5b5061023061061036600461207d565b61152e565b6009546001600160a01b031633146106685760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b60448201526064015b60405180910390fd5b60085460405163efbdbabd60e01b8152831515600482015282151560248201526001600160a01b039091169063efbdbabd90604401600060405180830381600087803b1580156106b757600080fd5b505af11580156106cb573d6000803e3d6000fd5b505050505050565b60006106e03384846115a7565b5060015b92915050565b6009546001600160a01b031633146107385760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b60065460ff1661074757600080fd5b6001600160a01b038216301480159061076957506001600160a01b0381163014155b801561078357506007546001600160a01b03838116911614155b801561079d57506007546001600160a01b03828116911614155b6107d75760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba103237b713ba1760a91b604482015260640161065f565b806001600160a01b0316826001600160a01b031603610817576001600160a01b0381166000908152600460205260409020805460ff191660011790555050565b6001600160a01b038281166000908152600460205260408082208054600160ff1991821681179092559385168352912080549092161790555b5050565b60006108626012600a612195565b610871906401a13b86006121a4565b60000361087d57600080fd5b6108896012600a612195565b610898906401a13b86006121a4565b905090565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610902576001600160a01b0384166000908152600360209081526040808320338452909152812080548492906108fc9084906121bb565b90915550505b61090d8484846116a0565b949350505050565b6009546001600160a01b031633146109635760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b80518251146109b45760405162461bcd60e51b815260206004820152601560248201527f4c656e6774687320646f206e6f74206d617463682e0000000000000000000000604482015260640161065f565b60005b82518161ffff161015610ac8576109d06012600a612195565b828261ffff16815181106109e6576109e66121ce565b60200260200101516109f891906121a4565b336000908152602081905260409020541015610a565760405162461bcd60e51b815260206004820152601260248201527f4e6f7420656e6f75676820746f6b656e732e0000000000000000000000000000604482015260640161065f565b610ab533848361ffff1681518110610a7057610a706121ce565b60200260200101516012600a610a869190612195565b858561ffff1681518110610a9c57610a9c6121ce565b6020026020010151610aae91906121a4565b600161194f565b5080610ac0816121e4565b9150506109b7565b505050565b600060208190527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461dead82527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf8354610b279190612205565b610b336012600a612195565b610b42906401a13b86006121a4565b61089891906121bb565b6000610b5a6012600a612195565b610b69906401a13b86006121a4565b600003610b7557600080fd5b50601290565b6009546001600160a01b03163314610bc95760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b6008546040516333251a0b60e01b81526001600160a01b038381166004830152909116906333251a0b90602401600060405180830381600087803b158015610c1057600080fd5b505af1158015610c24573d6000803e3d6000fd5b5050505050565b6009546001600160a01b03163314610c795760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b6001600160a01b038116610cf55760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e000000606482015260840161065f565b61deac196001600160a01b03821601610d765760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e000000606482015260840161065f565b6009546001600160a01b031660009081526020819052604090205415610dbf576009546001600160a01b0316600081815260208190526040902054610dbd91908390610aae565b505b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6009546001600160a01b03163314610e5f5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b600754600160a01b900460ff1615610e7657600080fd5b306001600160a01b03821603610ece5760405162461bcd60e51b815260206004820152600e60248201527f43616e27742062652073656c662e000000000000000000000000000000000000604482015260640161065f565b600880546001600160a01b0319166001600160a01b038316908117909155604080516330fe427560e21b8152815163c3f909d49260048084019391929182900301816000875af1925050508015610f42575060408051601f3d908101601f19168201909252610f3f91810190612218565b60015b610f4b57600080fd5b6006805475ffffffffffffffffffffffffffffffffffffffff00001916620100006001600160a01b038581168202929092178355600780546001600160a01b0319168584169081179091556000908152600160208190526040909120805460ff191690911790556009549254610fca93831692919004166000196115a7565b600654610ac89030906201000090046001600160a01b03166000196115a7565b50565b6009546001600160a01b0316331461103b5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b600754600160a01b900460ff166110ba5760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f742072656e6f756e636520756e74696c2074726164696e6720686160448201527f73206265656e20656e61626c65642e0000000000000000000000000000000000606482015260840161065f565b600980546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6009546000906001600160a01b031633146111595760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b6006546111799030906201000090046001600160a01b03166000196115a7565b50600190565b6009546001600160a01b031633146111cd5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b600754600160a01b900460ff16156112275760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c6564210000000000000000604482015260640161065f565b600754600160a81b900460ff166112805760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e0000000000000000604482015260640161065f565b6008546001600160a01b03166112a357600880546001600160a01b031916301790555b600854600754604051631b04570d60e21b81526001600160a01b03918216600482015263ffffffff4316602482015267ffffffffffffffff4216604482015260126064820152911690636c115c3490608401600060405180830381600087803b15801561130f57600080fd5b505af1925050508015611320575060015b506007805460ff60a01b1916600160a01b1790556006805460ff19169055565b600061134d3384846116a0565b5060019392505050565b6009546001600160a01b031633146113a55760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b6009546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa1580156113fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114209190612247565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611483573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac89190612260565b6009546001600160a01b031633146114f55760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b6009546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610fea573d6000803e3d6000fd5b6009546001600160a01b0316331461157c5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161065f565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6001600160a01b0383166115f35760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161065f565b6001600160a01b03821661163f5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161065f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166117065760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161065f565b6001600160a01b0383166117685760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161065f565b600082116117ca5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161065f565b6001600160a01b0384166000908152600160205260408120548190819060ff16156117f85760019250611826565b6001600160a01b03861660009081526001602052604090205460ff16156118225760019150611826565b5060015b6118308787611b89565b1561193857600754600160a01b900460ff1661193857806118935760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161065f565b6001600160a01b03871660009081526005602052604090205460ff161580156118d557506001600160a01b03861660009081526005602052604090205460ff16155b156119385760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b606482015260840161065f565b6119448787878461194f565b979650505050505050565b600061195b8585611b89565b156119ef5760085460405163ecd07a5360e01b81526001600160a01b038781166004830152868116602483015260448201869052600092169063ecd07a53906064016020604051808303816000875af19250505080156119d8575060408051601f3d908101601f191682019092526119d591810190612260565b60015b6119e157600080fd5b9050806119ed57600080fd5b505b6001600160a01b03851660009081526020819052604081208054859290611a179084906121bb565b90915550506001600160a01b03841660009081526020819052604081208054859290611a44908490612205565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a9091815260200190565b60405180910390a3600754600160a81b900460ff16611b7e57611ab38585611c94565b600754600160a81b900460ff16158015611ad25750611ad28585611b89565b8015611af757506001600160a01b03851660009081526005602052604090205460ff16155b8015611b1c57506001600160a01b03841660009081526005602052604090205460ff16155b8015611b26575081155b15611b7e5760405162461bcd60e51b815260206004820152602260248201527f5072652d6c6971756964697479207472616e736665722070726f74656374696f604482015261371760f11b606482015260840161065f565b506001949350505050565b6009546000906001600160a01b03848116911614801590611bb857506009546001600160a01b03838116911614155b8015611bcf57506009546001600160a01b03163214155b8015611bf457506001600160a01b03821660009081526004602052604090205460ff16155b8015611c1957506001600160a01b03831660009081526004602052604090205460ff16155b8015611c3057506001600160a01b03821661dead14155b8015611c4457506001600160a01b03821615155b8015611c5957506001600160a01b0383163014155b8015611c7357506008546001600160a01b03848116911614155b8015611c8d57506008546001600160a01b03838116911614155b9392505050565b600754600160a81b900460ff1615611cfa5760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b606482015260840161065f565b611d048282611b89565b158015611d1e57506007546001600160a01b038281169116145b15610850576008546001600160a01b0316611d4957600880546001600160a01b031916301790555050565b6001600160a01b0382166000908152600460205260409020805460ff191660011790556007805460ff60a81b1916600160a81b1790555050565b8015158114610fea57600080fd5b60008060408385031215611da457600080fd5b8235611daf81611d83565b91506020830135611dbf81611d83565b809150509250929050565b600060208083528351808285015260005b81811015611df757858101830151858201604001528201611ddb565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610fea57600080fd5b60008060408385031215611e4057600080fd5b8235611e4b81611e18565b946020939093013593505050565b600060208284031215611e6b57600080fd5b8135611c8d81611e18565b60008060408385031215611e8957600080fd5b8235611e9481611e18565b91506020830135611dbf81611e18565b600080600060608486031215611eb957600080fd5b8335611ec481611e18565b92506020840135611ed481611e18565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611f2457611f24611ee5565b604052919050565b600067ffffffffffffffff821115611f4657611f46611ee5565b5060051b60200190565b600082601f830112611f6157600080fd5b81356020611f76611f7183611f2c565b611efb565b82815260059290921b84018101918181019086841115611f9557600080fd5b8286015b84811015611fb05780358352918301918301611f99565b509695505050505050565b60008060408385031215611fce57600080fd5b823567ffffffffffffffff80821115611fe657600080fd5b818501915085601f830112611ffa57600080fd5b8135602061200a611f7183611f2c565b82815260059290921b8401810191818101908984111561202957600080fd5b948201945b8386101561205057853561204181611e18565b8252948201949082019061202e565b9650508601359250508082111561206657600080fd5b5061207385828601611f50565b9150509250929050565b6000806040838503121561209057600080fd5b8235611daf81611e18565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156120ec5781600019048211156120d2576120d261209b565b808516156120df57918102915b93841c93908002906120b6565b509250929050565b600082612103575060016106e4565b81612110575060006106e4565b816001811461212657600281146121305761214c565b60019150506106e4565b60ff8411156121415761214161209b565b50506001821b6106e4565b5060208310610133831016604e8410600b841016171561216f575081810a6106e4565b61217983836120b1565b806000190482111561218d5761218d61209b565b029392505050565b6000611c8d60ff8416836120f4565b80820281158282048414176106e4576106e461209b565b818103818111156106e4576106e461209b565b634e487b7160e01b600052603260045260246000fd5b600061ffff8083168181036121fb576121fb61209b565b6001019392505050565b808201808211156106e4576106e461209b565b6000806040838503121561222b57600080fd5b825161223681611e18565b6020840151909250611dbf81611e18565b60006020828403121561225957600080fd5b5051919050565b60006020828403121561227257600080fd5b8151611c8d81611d8356fea26469706673582212206cbb368d3a60b426a2f76872ca2f77b51c6c37e66011005003d6dffda16a82b864736f6c63430008130033

Deployed Bytecode Sourcemap

4014:10932:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4806:73;;;;;;;;;;;;4837:42;4806:73;;;;;-1:-1:-1;;;;;178:55:1;;;160:74;;148:2;133:18;4806:73:0;;;;;;;;10285:153;;;;;;;;;;-1:-1:-1;10285:153:0;;;;;:::i;:::-;;:::i;:::-;;7527:80;;;;;;;;;;-1:-1:-1;7599:5:0;;;;;;;;;;;;-1:-1:-1;;;7599:5:0;;;;7527:80;;;;;;;:::i;4745:26::-;;;;;;;;;;-1:-1:-1;4745:26:0;;;;;;;-1:-1:-1;;;;;4745:26:0;;;4712;;;;;;;;;;-1:-1:-1;4712:26:0;;;;;;;;;;;;;;1715:14:1;;1708:22;1690:41;;1678:2;1663:18;4712:26:0;1550:187:1;8135:161:0;;;;;;;;;;-1:-1:-1;8135:161:0;;;;;:::i;:::-;;:::i;9714:140::-;;;;;;;;;;-1:-1:-1;9714:140:0;;;;;:::i;:::-;-1:-1:-1;;;;;9812:34:0;9788:4;9812:34;;;:25;:34;;;;;;;;;9714:140;10446:523;;;;;;;;;;-1:-1:-1;10446:523:0;;;;;:::i;:::-;;:::i;7198:115::-;;;;;;;;;;;;;:::i;:::-;;;3012:25:1;;;3000:2;2985:18;7198:115:0;2866:177:1;8805:306:0;;;;;;;;;;-1:-1:-1;8805:306:0;;;;;:::i;:::-;;:::i;13712:433::-;;;;;;;;;;-1:-1:-1;13712:433:0;;;;;:::i;:::-;;:::i;10018:141::-;;;;;;;;;;;;;:::i;7319:112::-;;;;;;;;;;;;;:::i;:::-;;;6168:4:1;6156:17;;;6138:36;;6126:2;6111:18;7319:112:0;5996:184:1;10167:110:0;;;;;;;;;;-1:-1:-1;10167:110:0;;;;;:::i;:::-;;:::i;4778:21::-;;;;;;;;;;-1:-1:-1;4778:21:0;;;;-1:-1:-1;;;;;4778:21:0;;;4886:34;;;;;;;;;;-1:-1:-1;4886:34:0;;;;-1:-1:-1;;;4886:34:0;;;;;;6031:539;;;;;;;;;;-1:-1:-1;6031:539:0;;;;;:::i;:::-;;:::i;4927:36::-;;;;;;;;;;-1:-1:-1;4927:36:0;;;;-1:-1:-1;;;4927:36:0;;;;;;9119:587;;;;;;;;;;-1:-1:-1;9119:587:0;;;;;:::i;:::-;;:::i;7837:117::-;;;;;;;;;;-1:-1:-1;7837:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;7930:16:0;7903:7;7930:16;;;;;;;;;;;;7837:117;6578:265;;;;;;;;;;;;;:::i;7613:79::-;;;;;;;;;;-1:-1:-1;7683:6:0;;-1:-1:-1;;;;;7683:6:0;7613:79;;8622:175;;;;;;;;;;;;;:::i;12920:480::-;;;;;;;;;;;;;:::i;7437:84::-;;;;;;;;;;-1:-1:-1;7511:7:0;;;;;;;;;;;;-1:-1:-1;;;7511:7:0;;;;7437:84;;7962:165;;;;;;;;;;-1:-1:-1;7962:165:0;;;;;:::i;:::-;;:::i;13529:175::-;;;;;;;;;;-1:-1:-1;13529:175:0;;;;;:::i;:::-;;:::i;13408:109::-;;;;;;;;;;;;;:::i;7698:133::-;;;;;;;;;;-1:-1:-1;7698:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7800:19:0;;;7782:7;7800:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7698:133;9862:148;;;;;;;;;;-1:-1:-1;9862:148:0;;;;;:::i;:::-;;:::i;10285:153::-;5885:6;;-1:-1:-1;;;;;5885:6:0;5895:10;5885:20;5877:50;;;;-1:-1:-1;;;5877:50:0;;6774:2:1;5877:50:0;;;6756:21:1;6813:2;6793:18;;;6786:30;-1:-1:-1;;;6832:18:1;;;6825:47;6889:18;;5877:50:0;;;;;;;;;10380:11:::1;::::0;:50:::1;::::0;-1:-1:-1;;;10380:50:0;;7105:14:1;;7098:22;10380:50:0::1;::::0;::::1;7080:41:1::0;7164:14;;7157:22;7137:18;;;7130:50;-1:-1:-1;;;;;10380:11:0;;::::1;::::0;:26:::1;::::0;7053:18:1;;10380:50:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10285:153:::0;;:::o;8135:161::-;8212:4;8229:37;8238:10;8250:7;8259:6;8229:8;:37::i;:::-;-1:-1:-1;8284:4:0;8135:161;;;;;:::o;10446:523::-;5885:6;;-1:-1:-1;;;;;5885:6:0;5895:10;5885:20;5877:50;;;;-1:-1:-1;;;5877:50:0;;6774:2:1;5877:50:0;;;6756:21:1;6813:2;6793:18;;;6786:30;-1:-1:-1;;;6832:18:1;;;6825:47;6889:18;;5877:50:0;6572:341:1;5877:50:0;10550:23:::1;::::0;::::1;;10542:32;;;::::0;::::1;;-1:-1:-1::0;;;;;10593:23:0;::::1;10611:4;10593:23;::::0;::::1;::::0;:69:::1;;-1:-1:-1::0;;;;;;10638:24:0;::::1;10657:4;10638:24;;10593:69;:107;;;;-1:-1:-1::0;10684:6:0::1;::::0;-1:-1:-1;;;;;10684:16:0;;::::1;:6:::0;::::1;:16;;10593:107;:146;;;;-1:-1:-1::0;10722:6:0::1;::::0;-1:-1:-1;;;;;10722:17:0;;::::1;:6:::0;::::1;:17;;10593:146;10585:170;;;::::0;-1:-1:-1;;;10585:170:0;;7393:2:1;10585:170:0::1;::::0;::::1;7375:21:1::0;7432:2;7412:18;;;7405:30;-1:-1:-1;;;7451:18:1;;;7444:41;7502:18;;10585:170:0::1;7191:335:1::0;10585:170:0::1;10780:7;-1:-1:-1::0;;;;;10770:17:0::1;:6;-1:-1:-1::0;;;;;10770:17:0::1;::::0;10766:196:::1;;-1:-1:-1::0;;;;;10804:26:0;::::1;;::::0;;;:17:::1;:26;::::0;;;;:33;;-1:-1:-1;;10804:33:0::1;10833:4;10804:33;::::0;;10446:523;;:::o;10766:196::-:1;-1:-1:-1::0;;;;;10870:25:0;;::::1;;::::0;;;:17:::1;:25;::::0;;;;;:32;;10898:4:::1;-1:-1:-1::0;;10870:32:0;;::::1;::::0;::::1;::::0;;;10917:26;;::::1;::::0;;;;:33;;;;::::1;;::::0;;10766:196:::1;10446:523:::0;;:::o;7198:115::-;7253:7;4690:13;4629:2;4690;:13;:::i;:::-;4673:30;;4479:13;4673:30;:::i;:::-;7279:1;7268:12;7264:31;;7284:8;;;7264:31;4690:13;4629:2;4690;:13;:::i;:::-;4673:30;;4479:13;4673:30;:::i;:::-;7296:14;;7198:115;:::o;8805:306::-;-1:-1:-1;;;;;8926:19:0;;8905:4;8926:19;;;:11;:19;;;;;;;;8946:10;8926:31;;;;;;;;-1:-1:-1;;8926:52:0;8922:126;;-1:-1:-1;;;;;8995:19:0;;;;;;:11;:19;;;;;;;;9015:10;8995:31;;;;;;;:41;;9030:6;;8995:19;:41;;9030:6;;8995:41;:::i;:::-;;;;-1:-1:-1;;8922:126:0;9067:36;9077:6;9085:9;9096:6;9067:9;:36::i;:::-;9060:43;8805:306;-1:-1:-1;;;;8805:306:0:o;13712:433::-;5885:6;;-1:-1:-1;;;;;5885:6:0;5895:10;5885:20;5877:50;;;;-1:-1:-1;;;5877:50:0;;6774:2:1;5877:50:0;;;6756:21:1;6813:2;6793:18;;;6786:30;-1:-1:-1;;;6832:18:1;;;6825:47;6889:18;;5877:50:0;6572:341:1;5877:50:0;13847:7:::1;:14;13828:8;:15;:33;13820:67;;;::::0;-1:-1:-1;;;13820:67:0;;9554:2:1;13820:67:0::1;::::0;::::1;9536:21:1::0;9593:2;9573:18;;;9566:30;9632:23;9612:18;;;9605:51;9673:18;;13820:67:0::1;9352:345:1::0;13820:67:0::1;13903:8;13898:240;13921:8;:15;13917:1;:19;;;13898:240;;;14002:13;4629:2;14002;:13;:::i;:::-;13991:7;13999:1;13991:10;;;;;;;;;;:::i;:::-;;;;;;;:24;;;;:::i;:::-;13976:10;7903:7:::0;7930:16;;;;;;;;;;;13966:49:::1;;13958:80;;;::::0;-1:-1:-1;;;13958:80:0;;10036:2:1;13958:80:0::1;::::0;::::1;10018:21:1::0;10075:2;10055:18;;;10048:30;10114:20;10094:18;;;10087:48;10152:18;;13958:80:0::1;9834:342:1::0;13958:80:0::1;14053:73;14070:10;14082:8;14091:1;14082:11;;;;;;;;;;:::i;:::-;;;;;;;4629:2;14106;:13;;;;:::i;:::-;14095:7;14103:1;14095:10;;;;;;;;;;:::i;:::-;;;;;;;:24;;;;:::i;:::-;14121:4;14053:16;:73::i;:::-;-1:-1:-1::0;13938:3:0;::::1;::::0;::::1;:::i;:::-;;;;13898:240;;;;13712:433:::0;;:::o;10018:141::-;10071:7;7930:16;;;;;;4837:42;7930:16;;;;10110:39;;7930:16;10110:39;:::i;:::-;4690:13;4629:2;4690;:13;:::i;:::-;4673:30;;4479:13;4673:30;:::i;:::-;10099:51;;;;:::i;7319:112::-;7371:5;4690:13;4629:2;4690;:13;:::i;:::-;4673:30;;4479:13;4673:30;:::i;:::-;7395:1;7384:12;7380:31;;7400:8;;;7380:31;-1:-1:-1;4629:2:0;;7319:112::o;10167:110::-;5885:6;;-1:-1:-1;;;;;5885:6:0;5895:10;5885:20;5877:50;;;;-1:-1:-1;;;5877:50:0;;6774:2:1;5877:50:0;;;6756:21:1;6813:2;6793:18;;;6786:30;-1:-1:-1;;;6832:18:1;;;6825:47;6889:18;;5877:50:0;6572:341:1;5877:50:0;10236:11:::1;::::0;:33:::1;::::0;-1:-1:-1;;;10236:33:0;;-1:-1:-1;;;;;178:55:1;;;10236:33:0::1;::::0;::::1;160:74:1::0;10236:11:0;;::::1;::::0;:24:::1;::::0;133:18:1;;10236:33:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10167:110:::0;:::o;6031:539::-;5885:6;;-1:-1:-1;;;;;5885:6:0;5895:10;5885:20;5877:50;;;;-1:-1:-1;;;5877:50:0;;6774:2:1;5877:50:0;;;6756:21:1;6813:2;6793:18;;;6786:30;-1:-1:-1;;;6832:18:1;;;6825:47;6889:18;;5877:50:0;6572:341:1;5877:50:0;-1:-1:-1;;;;;6110:22:0;::::1;6102:96;;;::::0;-1:-1:-1;;;6102:96:0;;10715:2:1;6102:96:0::1;::::0;::::1;10697:21:1::0;10754:2;10734:18;;;10727:30;10793:34;10773:18;;;10766:62;10864:31;10844:18;;;10837:59;10913:19;;6102:96:0::1;10513:425:1::0;6102:96:0::1;-1:-1:-1::0;;;;;;;6217:16:0;::::1;::::0;6209:90:::1;;;::::0;-1:-1:-1;;;6209:90:0;;10715:2:1;6209:90:0::1;::::0;::::1;10697:21:1::0;10754:2;10734:18;;;10727:30;10793:34;10773:18;;;10766:62;10864:31;10844:18;;;10837:59;10913:19;;6209:90:0::1;10513:425:1::0;6209:90:0::1;6324:6;::::0;-1:-1:-1;;;;;6324:6:0::1;6334:1;7930:16:::0;;;;;;;;;;;6314:21;6310:113:::1;;6369:6;::::0;-1:-1:-1;;;;;6369:6:0::1;7903:7:::0;7930:16;;;;;;;;;;;6352:59:::1;::::0;6369:6;6377:8;;6387:17:::1;7837:117:::0;6352:59:::1;;6310:113;6462:6;::::0;;-1:-1:-1;;;;;6479:17:0;;::::1;-1:-1:-1::0;;;;;;6479:17:0;::::1;::::0;::::1;::::0;;;6512:40:::1;::::0;6462:6;::::1;::::0;6479:17;6462:6;;6512:40:::1;::::0;6443:16:::1;::::0;6512:40:::1;6091:479;6031:539:::0;:::o;9119:587::-;5885:6;;-1:-1:-1;;;;;5885:6:0;5895:10;5885:20;5877:50;;;;-1:-1:-1;;;5877:50:0;;6774:2:1;5877:50:0;;;6756:21:1;6813:2;6793:18;;;6786:30;-1:-1:-1;;;6832:18:1;;;6825:47;6889:18;;5877:50:0;6572:341:1;5877:50:0;9202:14:::1;::::0;-1:-1:-1;;;9202:14:0;::::1;;;9201:15;9193:24;;;::::0;::::1;;9260:4;-1:-1:-1::0;;;;;9236:29:0;::::1;::::0;9228:56:::1;;;::::0;-1:-1:-1;;;9228:56:0;;11145:2:1;9228:56:0::1;::::0;::::1;11127:21:1::0;11184:2;11164:18;;;11157:30;11223:16;11203:18;;;11196:44;11257:18;;9228:56:0::1;10943:338:1::0;9228:56:0::1;9295:11;:39:::0;;-1:-1:-1;;;;;;9295:39:0::1;-1:-1:-1::0;;;;;9295:39:0;::::1;::::0;;::::1;::::0;;;9349:23:::1;::::0;;-1:-1:-1;;;9349:23:0;;;;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;;;;;;;;;-1:-1:-1;9295:39:0;9349:23:::1;;;;;;;;;;-1:-1:-1::0;9349:23:0::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;9349:23:0::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;9345:354;;9688:8;::::0;::::1;9345:354;9436:9;:29:::0;;-1:-1:-1;;9436:29:0::1;::::0;-1:-1:-1;;;;;9436:29:0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;9467:6:::1;:22:::0;;-1:-1:-1;;;;;;9467:22:0::1;::::0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;9491:22:0;;;-1:-1:-1;9491:22:0::1;::::0;;;;;;;:29;;-1:-1:-1;;9491:29:0::1;::::0;;::::1;::::0;;9544:6:::1;::::0;9560:9;;9535:55:::1;::::0;9544:6;::::1;::::0;9560:9;;::::1;;-1:-1:-1::0;;9535:8:0::1;:55::i;:::-;9637:9;::::0;9605:62:::1;::::0;9622:4:::1;::::0;9637:9;;::::1;-1:-1:-1::0;;;;;9637:9:0::1;-1:-1:-1::0;;9605:8:0::1;:62::i;9345:354::-;9119:587:::0;:::o;6578:265::-;5885:6;;-1:-1:-1;;;;;5885:6:0;5895:10;5885:20;5877:50;;;;-1:-1:-1;;;5877:50:0;;6774:2:1;5877:50:0;;;6756:21:1;6813:2;6793:18;;;6786:30;-1:-1:-1;;;6832:18:1;;;6825:47;6889:18;;5877:50:0;6572:341:1;5877:50:0;6645:14:::1;::::0;-1:-1:-1;;;6645:14:0;::::1;;;6637:74;;;::::0;-1:-1:-1;;;6637:74:0;;11878:2:1;6637:74:0::1;::::0;::::1;11860:21:1::0;11917:2;11897:18;;;11890:30;11956:34;11936:18;;;11929:62;12027:17;12007:18;;;12000:45;12062:19;;6637:74:0::1;11676:411:1::0;6637:74:0::1;6741:6;::::0;;-1:-1:-1;;;;;;6758:19:0;::::1;::::0;;;6793:42:::1;::::0;-1:-1:-1;;;;;6741:6:0;;::::1;::::0;6722:16:::1;::::0;6741:6;;6793:42:::1;::::0;6722:16;;6793:42:::1;6626:217;6578:265::o:0;8622:175::-;5885:6;;8688:4;;-1:-1:-1;;;;;5885:6:0;5895:10;5885:20;5877:50;;;;-1:-1:-1;;;5877:50:0;;6774:2:1;5877:50:0;;;6756:21:1;6813:2;6793:18;;;6786:30;-1:-1:-1;;;6832:18:1;;;6825:47;6889:18;;5877:50:0;6572:341:1;5877:50:0;8737:9:::1;::::0;8705:62:::1;::::0;8722:4:::1;::::0;8737:9;;::::1;-1:-1:-1::0;;;;;8737:9:0::1;-1:-1:-1::0;;8705:8:0::1;:62::i;:::-;-1:-1:-1::0;8785:4:0::1;8622:175:::0;:::o;12920:480::-;5885:6;;-1:-1:-1;;;;;5885:6:0;5895:10;5885:20;5877:50;;;;-1:-1:-1;;;5877:50:0;;6774:2:1;5877:50:0;;;6756:21:1;6813:2;6793:18;;;6786:30;-1:-1:-1;;;6832:18:1;;;6825:47;6889:18;;5877:50:0;6572:341:1;5877:50:0;12982:14:::1;::::0;-1:-1:-1;;;12982:14:0;::::1;;;12981:15;12973:52;;;::::0;-1:-1:-1;;;12973:52:0;;12294:2:1;12973:52:0::1;::::0;::::1;12276:21:1::0;12333:2;12313:18;;;12306:30;12372:26;12352:18;;;12345:54;12416:18;;12973:52:0::1;12092:348:1::0;12973:52:0::1;13044:16;::::0;-1:-1:-1;;;13044:16:0;::::1;;;13036:53;;;::::0;-1:-1:-1;;;13036:53:0;;12647:2:1;13036:53:0::1;::::0;::::1;12629:21:1::0;12686:2;12666:18;;;12659:30;12725:26;12705:18;;;12698:54;12769:18;;13036:53:0::1;12445:348:1::0;13036:53:0::1;13112:11;::::0;-1:-1:-1;;;;;13112:11:0::1;13100:106;;13154:11;:40:::0;;-1:-1:-1;;;;;;13154:40:0::1;13188:4;13154:40;::::0;;13100:106:::1;13220:11;::::0;13242:6:::1;::::0;13220:87:::1;::::0;-1:-1:-1;;;13220:87:0;;-1:-1:-1;;;;;13242:6:0;;::::1;13220:87;::::0;::::1;13021:74:1::0;13143:10;13257:12:0::1;13131:23:1::0;13111:18;;;13104:51;13203:18;13279:15:0::1;13191:31:1::0;13171:18;;;13164:59;4629:2:0::1;13239:18:1::0;;;13232:45;13220:11:0;::::1;::::0;:21:::1;::::0;12993:19:1;;13220:87:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;13216:103:::0;13329:14:::1;:21:::0;;-1:-1:-1;;;;13329:21:0::1;-1:-1:-1::0;;;13329:21:0::1;::::0;;13361:23:::1;:31:::0;;-1:-1:-1;;13361:31:0::1;::::0;;12920:480::o;7962:165::-;8040:4;8057:40;8067:10;8079:9;8090:6;8057:9;:40::i;:::-;-1:-1:-1;8115:4:0;;7962:165;-1:-1:-1;;;7962:165:0:o;13529:175::-;5885:6;;-1:-1:-1;;;;;5885:6:0;5895:10;5885:20;5877:50;;;;-1:-1:-1;;;5877:50:0;;6774:2:1;5877:50:0;;;6756:21:1;6813:2;6793:18;;;6786:30;-1:-1:-1;;;6832:18:1;;;6825:47;6889:18;;5877:50:0;6572:341:1;5877:50:0;13657:6:::1;::::0;13665:30:::1;::::0;-1:-1:-1;;;13665:30:0;;13689:4:::1;13665:30;::::0;::::1;160:74:1::0;13625:5:0;;-1:-1:-1;;;;;13642:14:0;;::::1;::::0;::::1;::::0;13657:6;;;::::1;::::0;13642:14;;13665:15:::1;::::0;133:18:1;;13665:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13642:54;::::0;;::::1;::::0;;;;;;-1:-1:-1;;;;;13669:55:1;;;13642:54:0::1;::::0;::::1;13651:74:1::0;13741:18;;;13734:34;13624:18;;13642:54:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13408:109::-:0;5885:6;;-1:-1:-1;;;;;5885:6:0;5895:10;5885:20;5877:50;;;;-1:-1:-1;;;5877:50:0;;6774:2:1;5877:50:0;;;6756:21:1;6813:2;6793:18;;;6786:30;-1:-1:-1;;;6832:18:1;;;6825:47;6889:18;;5877:50:0;6572:341:1;5877:50:0;13470:6:::1;::::0;13462:47:::1;::::0;-1:-1:-1;;;;;13470:6:0;;::::1;::::0;13487:21:::1;13462:47:::0;::::1;;;::::0;13470:6:::1;13462:47:::0;13470:6;13462:47;13487:21;13470:6;13462:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;9862:148:::0;5885:6;;-1:-1:-1;;;;;5885:6:0;5895:10;5885:20;5877:50;;;;-1:-1:-1;;;5877:50:0;;6774:2:1;5877:50:0;;;6756:21:1;6813:2;6793:18;;;6786:30;-1:-1:-1;;;6832:18:1;;;6825:47;6889:18;;5877:50:0;6572:341:1;5877:50:0;-1:-1:-1;;;;;9958:34:0;;;::::1;;::::0;;;:25:::1;:34;::::0;;;;:44;;-1:-1:-1;;9958:44:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9862:148::o;8304:310::-;-1:-1:-1;;;;;8399:20:0;;8391:52;;;;-1:-1:-1;;;8391:52:0;;14231:2:1;8391:52:0;;;14213:21:1;14270:2;14250:18;;;14243:30;-1:-1:-1;;;14289:18:1;;;14282:49;14348:18;;8391:52:0;14029:343:1;8391:52:0;-1:-1:-1;;;;;8462:21:0;;8454:53;;;;-1:-1:-1;;;8454:53:0;;14231:2:1;8454:53:0;;;14213:21:1;14270:2;14250:18;;;14243:30;-1:-1:-1;;;14289:18:1;;;14282:49;14348:18;;8454:53:0;14029:343:1;8454:53:0;-1:-1:-1;;;;;8520:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;8573:33;;3012:25:1;;;8573:33:0;;2985:18:1;8573:33:0;;;;;;;8304:310;;;:::o;11431:1020::-;11510:4;-1:-1:-1;;;;;11535:18:0;;11527:68;;;;-1:-1:-1;;;11527:68:0;;14579:2:1;11527:68:0;;;14561:21:1;14618:2;14598:18;;;14591:30;14657:34;14637:18;;;14630:62;-1:-1:-1;;;14708:18:1;;;14701:35;14753:19;;11527:68:0;14377:401:1;11527:68:0;-1:-1:-1;;;;;11614:16:0;;11606:64;;;;-1:-1:-1;;;11606:64:0;;14985:2:1;11606:64:0;;;14967:21:1;15024:2;15004:18;;;14997:30;15063:34;15043:18;;;15036:62;-1:-1:-1;;;15114:18:1;;;15107:33;15157:19;;11606:64:0;14783:399:1;11606:64:0;11698:1;11689:6;:10;11681:64;;;;-1:-1:-1;;;11681:64:0;;15389:2:1;11681:64:0;;;15371:21:1;15428:2;15408:18;;;15401:30;15467:34;15447:18;;;15440:62;-1:-1:-1;;;15518:18:1;;;15511:39;15567:19;;11681:64:0;15187:405:1;11681:64:0;-1:-1:-1;;;;;11844:13:0;;11756:8;11844:13;;;:7;:13;;;;;;11756:8;;;;11844:13;;11840:162;;;11880:4;11874:10;;11840:162;;;-1:-1:-1;;;;;11906:11:0;;;;;;:7;:11;;;;;;;;11902:100;;;11941:4;11934:11;;11902:100;;;-1:-1:-1;11986:4:0;11902:100;12016:20;12027:4;12033:2;12016:10;:20::i;:::-;12012:371;;;12057:14;;-1:-1:-1;;;12057:14:0;;;;12053:319;;12097:5;12092:265;;12127:34;;-1:-1:-1;;;12127:34:0;;15799:2:1;12127:34:0;;;15781:21:1;15838:2;15818:18;;;15811:30;15877:26;15857:18;;;15850:54;15921:18;;12127:34:0;15597:348:1;12092:265:0;-1:-1:-1;;;;;12192:31:0;;;;;;:25;:31;;;;;;;;12191:32;:66;;;;-1:-1:-1;;;;;;12228:29:0;;;;;;:25;:29;;;;;;;;12227:30;12191:66;12187:170;;;12282:55;;-1:-1:-1;;;12282:55:0;;16152:2:1;12282:55:0;;;16134:21:1;16191:2;16171:18;;;16164:30;16230:34;16210:18;;;16203:62;-1:-1:-1;;;16281:18:1;;;16274:43;16334:19;;12282:55:0;15950:409:1;12187:170:0;12402:41;12419:4;12425:2;12429:6;12437:5;12402:16;:41::i;:::-;12395:48;11431:1020;-1:-1:-1;;;;;;;11431:1020:0:o;14153:790::-;14251:4;14272:20;14283:4;14289:2;14272:10;:20::i;:::-;14268:228;;;14327:11;;:39;;-1:-1:-1;;;14327:39:0;;-1:-1:-1;;;;;16645:15:1;;;14327:39:0;;;16627:34:1;16697:15;;;16677:18;;;16670:43;16729:18;;;16722:34;;;14296:12:0;;14327:11;;:21;;16539:18:1;;14327:39:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;14327:39:0;;;;;;;;-1:-1:-1;;14327:39:0;;;;;;;;;;;;:::i;:::-;;;14323:122;;14434:8;;;14323:122;14417:5;-1:-1:-1;14463:7:0;14459:26;;14474:8;;;14459:26;14294:202;14268:228;-1:-1:-1;;;;;14506:13:0;;:7;:13;;;;;;;;;;:23;;14523:6;;14506:7;:23;;14523:6;;14506:23;:::i;:::-;;;;-1:-1:-1;;;;;;;14540:11:0;;:7;:11;;;;;;;;;;:21;;14555:6;;14540:7;:21;;14555:6;;14540:21;:::i;:::-;;;;;;;;14592:2;-1:-1:-1;;;;;14577:26:0;14586:4;-1:-1:-1;;;;;14577:26:0;;14596:6;14577:26;;;;3012:25:1;;3000:2;2985:18;;2866:177;14577:26:0;;;;;;;;14619:16;;-1:-1:-1;;;14619:16:0;;;;14614:298;;14652:28;14671:4;14677:2;14652:18;:28::i;:::-;14700:16;;-1:-1:-1;;;14700:16:0;;;;14699:17;:41;;;;;14720:20;14731:4;14737:2;14720:10;:20::i;:::-;14699:77;;;;-1:-1:-1;;;;;;14745:31:0;;;;;;:25;:31;;;;;;;;14744:32;14699:77;:111;;;;-1:-1:-1;;;;;;14781:29:0;;;;;;:25;:29;;;;;;;;14780:30;14699:111;:121;;;;;14815:5;14814:6;14699:121;14695:206;;;14841:44;;-1:-1:-1;;;14841:44:0;;16969:2:1;14841:44:0;;;16951:21:1;17008:2;16988:18;;;16981:30;17047:34;17027:18;;;17020:62;-1:-1:-1;;;17098:18:1;;;17091:32;17140:19;;14841:44:0;16767:398:1;14695:206:0;-1:-1:-1;14931:4:0;14153:790;;;;;;:::o;10977:446::-;11078:6;;11046:4;;-1:-1:-1;;;;;11070:14:0;;;11078:6;;11070:14;;;;:43;;-1:-1:-1;11107:6:0;;-1:-1:-1;;;;;11101:12:0;;;11107:6;;11101:12;;11070:43;:79;;;;-1:-1:-1;11143:6:0;;-1:-1:-1;;;;;11143:6:0;11130:9;:19;;11070:79;:118;;;;-1:-1:-1;;;;;;11167:21:0;;;;;;:17;:21;;;;;;;;11166:22;11070:118;:159;;;;-1:-1:-1;;;;;;11206:23:0;;;;;;:17;:23;;;;;;;;11205:24;11070:159;:186;;;;-1:-1:-1;;;;;;11246:10:0;;4837:42;11246:10;;11070:186;:219;;;;-1:-1:-1;;;;;;11273:16:0;;;;11070:219;:257;;;;-1:-1:-1;;;;;;11306:21:0;;11322:4;11306:21;;11070:257;:302;;;;-1:-1:-1;11360:11:0;;-1:-1:-1;;;;;11344:28:0;;;11360:11;;11344:28;;11070:302;:345;;;;-1:-1:-1;11403:11:0;;-1:-1:-1;;;;;11389:26:0;;;11403:11;;11389:26;;11070:345;11063:352;10977:446;-1:-1:-1;;;10977:446:0:o;12459:453::-;12542:16;;-1:-1:-1;;;12542:16:0;;;;12541:17;12533:65;;;;-1:-1:-1;;;12533:65:0;;17372:2:1;12533:65:0;;;17354:21:1;17411:2;17391:18;;;17384:30;17450:34;17430:18;;;17423:62;-1:-1:-1;;;17501:18:1;;;17494:33;17544:19;;12533:65:0;17170:399:1;12533:65:0;12614:20;12625:4;12631:2;12614:10;:20::i;:::-;12613:21;:37;;;;-1:-1:-1;12644:6:0;;-1:-1:-1;;;;;12638:12:0;;;12644:6;;12638:12;12613:37;12609:296;;;12679:11;;-1:-1:-1;;;;;12679:11:0;12667:227;;12725:11;:40;;-1:-1:-1;;;;;;12725:40:0;12759:4;12725:40;;;10446:523;;:::o;12667:227::-;-1:-1:-1;;;;;12806:23:0;;;;;;:17;:23;;;;;:30;;-1:-1:-1;;12806:30:0;12832:4;12806:30;;;12855:16;:23;;-1:-1:-1;;;;12855:23:0;-1:-1:-1;;;12855:23:0;;;12459:453;;:::o;245:118:1:-;331:5;324:13;317:21;310:5;307:32;297:60;;353:1;350;343:12;368:376;430:6;438;491:2;479:9;470:7;466:23;462:32;459:52;;;507:1;504;497:12;459:52;546:9;533:23;565:28;587:5;565:28;:::i;:::-;612:5;-1:-1:-1;669:2:1;654:18;;641:32;682:30;641:32;682:30;:::i;:::-;731:7;721:17;;;368:376;;;;;:::o;749:548::-;861:4;890:2;919;908:9;901:21;951:6;945:13;994:6;989:2;978:9;974:18;967:34;1019:1;1029:140;1043:6;1040:1;1037:13;1029:140;;;1138:14;;;1134:23;;1128:30;1104:17;;;1123:2;1100:26;1093:66;1058:10;;1029:140;;;1033:3;1218:1;1213:2;1204:6;1193:9;1189:22;1185:31;1178:42;1288:2;1281;1277:7;1272:2;1264:6;1260:15;1256:29;1245:9;1241:45;1237:54;1229:62;;;;749:548;;;;:::o;1742:154::-;-1:-1:-1;;;;;1821:5:1;1817:54;1810:5;1807:65;1797:93;;1886:1;1883;1876:12;1901:315;1969:6;1977;2030:2;2018:9;2009:7;2005:23;2001:32;1998:52;;;2046:1;2043;2036:12;1998:52;2085:9;2072:23;2104:31;2129:5;2104:31;:::i;:::-;2154:5;2206:2;2191:18;;;;2178:32;;-1:-1:-1;;;1901:315:1:o;2221:247::-;2280:6;2333:2;2321:9;2312:7;2308:23;2304:32;2301:52;;;2349:1;2346;2339:12;2301:52;2388:9;2375:23;2407:31;2432:5;2407:31;:::i;2473:388::-;2541:6;2549;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;2657:9;2644:23;2676:31;2701:5;2676:31;:::i;:::-;2726:5;-1:-1:-1;2783:2:1;2768:18;;2755:32;2796:33;2755:32;2796:33;:::i;3048:456::-;3125:6;3133;3141;3194:2;3182:9;3173:7;3169:23;3165:32;3162:52;;;3210:1;3207;3200:12;3162:52;3249:9;3236:23;3268:31;3293:5;3268:31;:::i;:::-;3318:5;-1:-1:-1;3375:2:1;3360:18;;3347:32;3388:33;3347:32;3388:33;:::i;:::-;3048:456;;3440:7;;-1:-1:-1;;;3494:2:1;3479:18;;;;3466:32;;3048:456::o;3509:127::-;3570:10;3565:3;3561:20;3558:1;3551:31;3601:4;3598:1;3591:15;3625:4;3622:1;3615:15;3641:275;3712:2;3706:9;3777:2;3758:13;;-1:-1:-1;;3754:27:1;3742:40;;3812:18;3797:34;;3833:22;;;3794:62;3791:88;;;3859:18;;:::i;:::-;3895:2;3888:22;3641:275;;-1:-1:-1;3641:275:1:o;3921:183::-;3981:4;4014:18;4006:6;4003:30;4000:56;;;4036:18;;:::i;:::-;-1:-1:-1;4081:1:1;4077:14;4093:4;4073:25;;3921:183::o;4109:662::-;4163:5;4216:3;4209:4;4201:6;4197:17;4193:27;4183:55;;4234:1;4231;4224:12;4183:55;4270:6;4257:20;4296:4;4320:60;4336:43;4376:2;4336:43;:::i;:::-;4320:60;:::i;:::-;4414:15;;;4500:1;4496:10;;;;4484:23;;4480:32;;;4445:12;;;;4524:15;;;4521:35;;;4552:1;4549;4542:12;4521:35;4588:2;4580:6;4576:15;4600:142;4616:6;4611:3;4608:15;4600:142;;;4682:17;;4670:30;;4720:12;;;;4633;;4600:142;;;-1:-1:-1;4760:5:1;4109:662;-1:-1:-1;;;;;;4109:662:1:o;4776:1215::-;4894:6;4902;4955:2;4943:9;4934:7;4930:23;4926:32;4923:52;;;4971:1;4968;4961:12;4923:52;5011:9;4998:23;5040:18;5081:2;5073:6;5070:14;5067:34;;;5097:1;5094;5087:12;5067:34;5135:6;5124:9;5120:22;5110:32;;5180:7;5173:4;5169:2;5165:13;5161:27;5151:55;;5202:1;5199;5192:12;5151:55;5238:2;5225:16;5260:4;5284:60;5300:43;5340:2;5300:43;:::i;5284:60::-;5378:15;;;5460:1;5456:10;;;;5448:19;;5444:28;;;5409:12;;;;5484:19;;;5481:39;;;5516:1;5513;5506:12;5481:39;5540:11;;;;5560:217;5576:6;5571:3;5568:15;5560:217;;;5656:3;5643:17;5673:31;5698:5;5673:31;:::i;:::-;5717:18;;5593:12;;;;5755;;;;5560:217;;;5796:5;-1:-1:-1;;5839:18:1;;5826:32;;-1:-1:-1;;5870:16:1;;;5867:36;;;5899:1;5896;5889:12;5867:36;;5922:63;5977:7;5966:8;5955:9;5951:24;5922:63;:::i;:::-;5912:73;;;4776:1215;;;;;:::o;6185:382::-;6250:6;6258;6311:2;6299:9;6290:7;6286:23;6282:32;6279:52;;;6327:1;6324;6317:12;6279:52;6366:9;6353:23;6385:31;6410:5;6385:31;:::i;7531:127::-;7592:10;7587:3;7583:20;7580:1;7573:31;7623:4;7620:1;7613:15;7647:4;7644:1;7637:15;7663:422;7752:1;7795:5;7752:1;7809:270;7830:7;7820:8;7817:21;7809:270;;;7889:4;7885:1;7881:6;7877:17;7871:4;7868:27;7865:53;;;7898:18;;:::i;:::-;7948:7;7938:8;7934:22;7931:55;;;7968:16;;;;7931:55;8047:22;;;;8007:15;;;;7809:270;;;7813:3;7663:422;;;;;:::o;8090:806::-;8139:5;8169:8;8159:80;;-1:-1:-1;8210:1:1;8224:5;;8159:80;8258:4;8248:76;;-1:-1:-1;8295:1:1;8309:5;;8248:76;8340:4;8358:1;8353:59;;;;8426:1;8421:130;;;;8333:218;;8353:59;8383:1;8374:10;;8397:5;;;8421:130;8458:3;8448:8;8445:17;8442:43;;;8465:18;;:::i;:::-;-1:-1:-1;;8521:1:1;8507:16;;8536:5;;8333:218;;8635:2;8625:8;8622:16;8616:3;8610:4;8607:13;8603:36;8597:2;8587:8;8584:16;8579:2;8573:4;8570:12;8566:35;8563:77;8560:159;;;-1:-1:-1;8672:19:1;;;8704:5;;8560:159;8751:34;8776:8;8770:4;8751:34;:::i;:::-;8821:6;8817:1;8813:6;8809:19;8800:7;8797:32;8794:58;;;8832:18;;:::i;:::-;8870:20;;8090:806;-1:-1:-1;;;8090:806:1:o;8901:140::-;8959:5;8988:47;9029:4;9019:8;9015:19;9009:4;8988:47;:::i;9046:168::-;9119:9;;;9150;;9167:15;;;9161:22;;9147:37;9137:71;;9188:18;;:::i;9219:128::-;9286:9;;;9307:11;;;9304:37;;;9321:18;;:::i;9702:127::-;9763:10;9758:3;9754:20;9751:1;9744:31;9794:4;9791:1;9784:15;9818:4;9815:1;9808:15;10181:197;10219:3;10247:6;10288:2;10281:5;10277:14;10315:2;10306:7;10303:15;10300:41;;10321:18;;:::i;:::-;10370:1;10357:15;;10181:197;-1:-1:-1;;;10181:197:1:o;10383:125::-;10448:9;;;10469:10;;;10466:36;;;10482:18;;:::i;11286:385::-;11365:6;11373;11426:2;11414:9;11405:7;11401:23;11397:32;11394:52;;;11442:1;11439;11432:12;11394:52;11474:9;11468:16;11493:31;11518:5;11493:31;:::i;:::-;11593:2;11578:18;;11572:25;11543:5;;-1:-1:-1;11606:33:1;11572:25;11606:33;:::i;13288:184::-;13358:6;13411:2;13399:9;13390:7;13386:23;13382:32;13379:52;;;13427:1;13424;13417:12;13379:52;-1:-1:-1;13450:16:1;;13288:184;-1:-1:-1;13288:184:1:o;13779:245::-;13846:6;13899:2;13887:9;13878:7;13874:23;13870:32;13867:52;;;13915:1;13912;13905:12;13867:52;13947:9;13941:16;13966:28;13988:5;13966:28;:::i

Swarm Source

ipfs://6cbb368d3a60b426a2f76872ca2f77b51c6c37e66011005003d6dffda16a82b8
Loading...
Loading
Loading...
Loading
[ 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.