ETH Price: $2,792.82 (+1.89%)

Token

Oracle Chains (OracleChains)
 

Overview

Max Total Supply

10,000,000,000,000 OracleChains

Holders

12

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,885,760,232.069946946 OracleChains

Value
$0.00
0xedd5dbc8454e5c5d4055aaf2c8dd4136f3a8fcba
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:
OracleChains

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-07
*/

/**
🖇INFO LINKS:
👉WWW      https://oraclechains.com
👉MEDIUM   https://oraclechains.medium.com
👉TELEGRAM https://t.me/OracleChains
👉TWITTER  https://twitter.com/OracleChains
👉GITBOOK  https://oraclechains.gitbook.io/oraclechains-1/

*/// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IERC20 {
    
    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);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
   
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

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

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract OracleChains is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcluded;
    address[] private _excluded;
    
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 internal _liquidityFee;

    string private _name = 'Oracle Chains';
    string private _symbol = 'OracleChains';
    uint8 private _decimals = 9;
    
    uint256 public _taxFee = 2;
    bool public swapAndLiquifyEnabled = true;
    bool public buyBackEnabled = true;

    address internal uniV2router;
    address internal uniV2factory;    
    event RewardLiquidityProviders(uint256 tokenAmount);
    event BuyBackEnabledUpdated(bool enabled);
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        );
    
    constructor (address router, address factory) {

    uniV2router = router;
    uniV2factory = factory;

    _rOwned[_msgSender()] = _rTotal;
    emit Transfer(address(0), _msgSender(), _tTotal);
    
    _tOwned[_msgSender()] = tokenFromReflection(_rOwned[_msgSender()]);
    _isExcluded[_msgSender()] = true;
    _excluded.push(_msgSender());
    
    }
 
    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        return tokenFromReflection(_rOwned[account]);
    }

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }
    
    function reflect(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");
        (uint256 rAmount,,,,) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal = _rTotal.sub(rAmount);
        _tFeeTotal = _tFeeTotal.add(tAmount);
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferFee) {
            (uint256 rAmount,,,,) = _getValues(tAmount);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,) = _getValues(tAmount);
            return rTransferAmount;
        }
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function excludeFromReward(address account) external onlyOwner() {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeInReward(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }

    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 _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");
        require(amount > 0, "Transfer amount must be greater than zero");
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
        _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
        _transferToExcluded(sender, recipient, amount);
         } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
        _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
        _transferBothExcluded(sender, recipient, amount);
        } else {_transferStandard(sender, recipient, amount);}
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);       
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);           
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);        
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee);
    }

    function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) {
        uint256 tFee = tAmount.div(1000).mul(2);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
    
      function setTaxFeePercent(uint256 taxFee) external onlyOwner() {
        _taxFee = taxFee;
    }
    
    function setLiquidityFeePercent(uint256 liquidityFee) external onlyOwner() {
        _liquidityFee = liquidityFee;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address","name":"factory","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":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"BuyBackEnabledUpdated","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":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"RewardLiquidityProviders","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"buyBackEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405269021e19e0c9bab24000006000196200001e919062000e1f565b6000196200002d919062000cec565b6006556040518060400160405280600d81526020017f4f7261636c6520436861696e7300000000000000000000000000000000000000815250600990805190602001906200007d92919062000ab4565b506040518060400160405280600c81526020017f4f7261636c65436861696e730000000000000000000000000000000000000000815250600a9080519060200190620000cb92919062000ab4565b506009600b60006101000a81548160ff021916908360ff1602179055506002600c556001600d60006101000a81548160ff0219169083151502179055506001600d60016101000a81548160ff0219169083151502179055503480156200013057600080fd5b5060405162004b5038038062004b50833981810160405281019062000156919062000b7b565b600062000168620004f060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600d60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600160006200029f620004f060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002ed620004f060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69021e19e0c9bab240000060405162000356919062000c7b565b60405180910390a3620003bd6001600062000376620004f060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620004f860201b60201c565b60026000620003d1620004f060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016004600062000425620004f060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600562000488620004f060201b60201c565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062000f5e565b600033905090565b600060065482111562000542576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005399062000c59565b60405180910390fd5b6000620005546200057860201b60201c565b9050620005708184620005b260201b6200189c1790919060201c565b915050919050565b60008060006200058d6200060460201b60201c565b91509150620005ab8183620005b260201b6200189c1790919060201c565b9250505090565b6000620005fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200099160201b60201c565b905092915050565b60008060006006549050600069021e19e0c9bab2400000905060005b6005805490508110156200093b578260016000600584815481106200066e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806200078457508160026000600584815481106200071c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15620007a55760065469021e19e0c9bab2400000945094505050506200098d565b620008636001600060058481548110620007e8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484620009f960201b620018e61790919060201c565b9250620009236002600060058481548110620008a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483620009f960201b620018e61790919060201c565b91508080620009329062000dd1565b91505062000620565b506200096269021e19e0c9bab2400000600654620005b260201b6200189c1790919060201c565b821015620009845760065469021e19e0c9bab24000009350935050506200098d565b81819350935050505b9091565b60008083118290620009db576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009d2919062000c35565b60405180910390fd5b5060008385620009ec919062000cb4565b9050809150509392505050565b600062000a4383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000a4b60201b60201c565b905092915050565b600083831115829062000a96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a8d919062000c35565b60405180910390fd5b506000838562000aa7919062000cec565b9050809150509392505050565b82805462000ac29062000d9b565b90600052602060002090601f01602090048101928262000ae6576000855562000b32565b82601f1062000b0157805160ff191683800117855562000b32565b8280016001018555821562000b32579182015b8281111562000b3157825182559160200191906001019062000b14565b5b50905062000b41919062000b45565b5090565b5b8082111562000b6057600081600090555060010162000b46565b5090565b60008151905062000b758162000f44565b92915050565b6000806040838503121562000b8f57600080fd5b600062000b9f8582860162000b64565b925050602062000bb28582860162000b64565b9150509250929050565b600062000bc98262000c98565b62000bd5818562000ca3565b935062000be781856020860162000d65565b62000bf28162000ee4565b840191505092915050565b600062000c0c602a8362000ca3565b915062000c198262000ef5565b604082019050919050565b62000c2f8162000d5b565b82525050565b6000602082019050818103600083015262000c51818462000bbc565b905092915050565b6000602082019050818103600083015262000c748162000bfd565b9050919050565b600060208201905062000c92600083018462000c24565b92915050565b600081519050919050565b600082825260208201905092915050565b600062000cc18262000d5b565b915062000cce8362000d5b565b92508262000ce15762000ce062000e86565b5b828204905092915050565b600062000cf98262000d5b565b915062000d068362000d5b565b92508282101562000d1c5762000d1b62000e57565b5b828203905092915050565b600062000d348262000d3b565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000d8557808201518184015260208101905062000d68565b8381111562000d95576000848401525b50505050565b6000600282049050600182168062000db457607f821691505b6020821081141562000dcb5762000dca62000eb5565b5b50919050565b600062000dde8262000d5b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000e145762000e1362000e57565b5b600182019050919050565b600062000e2c8262000d5b565b915062000e398362000d5b565b92508262000e4c5762000e4b62000e86565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b62000f4f8162000d27565b811462000f5b57600080fd5b50565b613be28062000f6e6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80634a74bb02116100de5780638da5cb5b11610097578063a457c2d711610071578063a457c2d714610487578063a9059cbb146104b7578063dd62ed3e146104e7578063f2fde38b146105175761018e565b80638da5cb5b1461042f5780638ee88c531461044d57806395d89b41146104695761018e565b80634a74bb021461036d57806352390c021461038b5780636053a0e3146103a757806370a08231146103c5578063715018a6146103f557806388f82020146103ff5761018e565b806323b872dd1161014b5780633685d419116101255780633685d419146102d357806339509351146102ef5780633b124fe71461031f5780634549b0391461033d5761018e565b806323b872dd146102555780632d83811914610285578063313ce567146102b55761018e565b8063053ab18214610193578063061c82d0146101af57806306fdde03146101cb578063095ea7b3146101e957806313114a9d1461021957806318160ddd14610237575b600080fd5b6101ad60048036038101906101a8919061300e565b610533565b005b6101c960048036038101906101c4919061300e565b6106ad565b005b6101d361074c565b6040516101e091906132e5565b60405180910390f35b61020360048036038101906101fe9190612fd2565b6107de565b60405161021091906132ca565b60405180910390f35b6102216107fc565b60405161022e91906134a7565b60405180910390f35b61023f610806565b60405161024c91906134a7565b60405180910390f35b61026f600480360381019061026a9190612f83565b610818565b60405161027c91906132ca565b60405180910390f35b61029f600480360381019061029a919061300e565b6108f1565b6040516102ac91906134a7565b60405180910390f35b6102bd61095f565b6040516102ca91906134c2565b60405180910390f35b6102ed60048036038101906102e89190612f1e565b610976565b005b61030960048036038101906103049190612fd2565b610d5d565b60405161031691906132ca565b60405180910390f35b610327610e10565b60405161033491906134a7565b60405180910390f35b61035760048036038101906103529190613037565b610e16565b60405161036491906134a7565b60405180910390f35b610375610ea0565b60405161038291906132ca565b60405180910390f35b6103a560048036038101906103a09190612f1e565b610eb3565b005b6103af611167565b6040516103bc91906132ca565b60405180910390f35b6103df60048036038101906103da9190612f1e565b61117a565b6040516103ec91906134a7565b60405180910390f35b6103fd611265565b005b61041960048036038101906104149190612f1e565b6113b8565b60405161042691906132ca565b60405180910390f35b61043761140e565b60405161044491906132af565b60405180910390f35b6104676004803603810190610462919061300e565b611437565b005b6104716114d6565b60405161047e91906132e5565b60405180910390f35b6104a1600480360381019061049c9190612fd2565b611568565b6040516104ae91906132ca565b60405180910390f35b6104d160048036038101906104cc9190612fd2565b611635565b6040516104de91906132ca565b60405180910390f35b61050160048036038101906104fc9190612f47565b611653565b60405161050e91906134a7565b60405180910390f35b610531600480360381019061052c9190612f1e565b6116da565b005b600061053d611930565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156105cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c390613487565b60405180910390fd5b60006105d783611938565b50505050905061062f81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610687816006546118e690919063ffffffff16565b6006819055506106a28360075461199090919063ffffffff16565b600781905550505050565b6106b5611930565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073990613407565b60405180910390fd5b80600c8190555050565b60606009805461075b90613696565b80601f016020809104026020016040519081016040528092919081815260200182805461078790613696565b80156107d45780601f106107a9576101008083540402835291602001916107d4565b820191906000526020600020905b8154815290600101906020018083116107b757829003601f168201915b5050505050905090565b60006107f26107eb611930565b84846119ee565b6001905092915050565b6000600754905090565b600069021e19e0c9bab2400000905090565b6000610825848484611bb9565b6108e684610831611930565b6108e185604051806060016040528060288152602001613b6060289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610897611930565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd09092919063ffffffff16565b6119ee565b600190509392505050565b6000600654821115610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f90613327565b60405180910390fd5b6000610942612034565b9050610957818461189c90919063ffffffff16565b915050919050565b6000600b60009054906101000a900460ff16905090565b61097e611930565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0290613407565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8e906133a7565b60405180910390fd5b60005b600580549050811015610d59578173ffffffffffffffffffffffffffffffffffffffff1660058281548110610af8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610d465760056001600580549050610b5391906135da565b81548110610b8a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110610bef577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480610d0c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055610d59565b8080610d51906136c8565b915050610a9a565b5050565b6000610e06610d6a611930565b84610e018560036000610d7b611930565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b6119ee565b6001905092915050565b600c5481565b600069021e19e0c9bab2400000831115610e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5c906133c7565b60405180910390fd5b81610e84576000610e7584611938565b50505050905080915050610e9a565b6000610e8f84611938565b505050915050809150505b92915050565b600d60009054906101000a900460ff1681565b610ebb611930565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3f90613407565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcc906133a7565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156110a957611065600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108f1565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d60019054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561121557600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050611260565b61125d600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108f1565b90505b919050565b61126d611930565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f190613407565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61143f611930565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c390613407565b60405180910390fd5b8060088190555050565b6060600a80546114e590613696565b80601f016020809104026020016040519081016040528092919081815260200182805461151190613696565b801561155e5780601f106115335761010080835404028352916020019161155e565b820191906000526020600020905b81548152906001019060200180831161154157829003601f168201915b5050505050905090565b600061162b611575611930565b8461162685604051806060016040528060258152602001613b88602591396003600061159f611930565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd09092919063ffffffff16565b6119ee565b6001905092915050565b6000611649611642611930565b8484611bb9565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116e2611930565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461176f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176690613407565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d690613347565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006118de83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061205f565b905092915050565b600061192883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fd0565b905092915050565b600033905090565b600080600080600080600061194c886120c2565b91509150600061195a612034565b9050600080600061196c8c8686612115565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b600080828461199f91906134f9565b9050838110156119e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119db90613387565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5590613467565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ace576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac590613367565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611bac91906134a7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2090613447565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9090613307565b60405180910390fd5b60008111611cdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd390613427565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611d7f5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d9457611d8f838383612173565b611fcb565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e375750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e4c57611e478383836123c6565b611fca565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ef05750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f0557611f00838383612619565b611fc9565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611fa75750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611fbc57611fb78383836127d7565b611fc8565b611fc7838383612619565b5b5b5b5b505050565b6000838311158290612018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200f91906132e5565b60405180910390fd5b506000838561202791906135da565b9050809150509392505050565b6000806000612041612abf565b91509150612058818361189c90919063ffffffff16565b9250505090565b600080831182906120a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209d91906132e5565b60405180910390fd5b50600083856120b5919061354f565b9050809150509392505050565b60008060006120ef60026120e16103e88761189c90919063ffffffff16565b612e2a90919063ffffffff16565b9050600061210682866118e690919063ffffffff16565b90508082935093505050915091565b60008060008061212e8588612e2a90919063ffffffff16565b905060006121458688612e2a90919063ffffffff16565b9050600061215c82846118e690919063ffffffff16565b905082818395509550955050505093509350939050565b600080600080600061218486611938565b945094509450945094506121e086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061227585600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061230a84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123578382612ea5565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123b491906134a7565b60405180910390a35050505050505050565b60008060008060006123d786611938565b9450945094509450945061243385600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c882600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061255d84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125aa8382612ea5565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161260791906134a7565b60405180910390a35050505050505050565b600080600080600061262a86611938565b9450945094509450945061268685600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271b84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127688382612ea5565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127c591906134a7565b60405180910390a35050505050505050565b60008060008060006127e886611938565b9450945094509450945061284486600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128d985600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061296e82600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a0384600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a508382612ea5565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612aad91906134a7565b60405180910390a35050505050505050565b60008060006006549050600069021e19e0c9bab2400000905060005b600580549050811015612ddd57826001600060058481548110612b27577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612c3b5750816002600060058481548110612bd3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612c5a5760065469021e19e0c9bab240000094509450505050612e26565b612d106001600060058481548110612c9b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846118e690919063ffffffff16565b9250612dc86002600060058481548110612d53577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118e690919063ffffffff16565b91508080612dd5906136c8565b915050612adb565b50612dfd69021e19e0c9bab240000060065461189c90919063ffffffff16565b821015612e1d5760065469021e19e0c9bab2400000935093505050612e26565b81819350935050505b9091565b600080831415612e3d5760009050612e9f565b60008284612e4b9190613580565b9050828482612e5a919061354f565b14612e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e91906133e7565b60405180910390fd5b809150505b92915050565b612eba826006546118e690919063ffffffff16565b600681905550612ed58160075461199090919063ffffffff16565b6007819055505050565b600081359050612eee81613b1a565b92915050565b600081359050612f0381613b31565b92915050565b600081359050612f1881613b48565b92915050565b600060208284031215612f3057600080fd5b6000612f3e84828501612edf565b91505092915050565b60008060408385031215612f5a57600080fd5b6000612f6885828601612edf565b9250506020612f7985828601612edf565b9150509250929050565b600080600060608486031215612f9857600080fd5b6000612fa686828701612edf565b9350506020612fb786828701612edf565b9250506040612fc886828701612f09565b9150509250925092565b60008060408385031215612fe557600080fd5b6000612ff385828601612edf565b925050602061300485828601612f09565b9150509250929050565b60006020828403121561302057600080fd5b600061302e84828501612f09565b91505092915050565b6000806040838503121561304a57600080fd5b600061305885828601612f09565b925050602061306985828601612ef4565b9150509250929050565b61307c8161360e565b82525050565b61308b81613620565b82525050565b600061309c826134dd565b6130a681856134e8565b93506130b6818560208601613663565b6130bf8161379e565b840191505092915050565b60006130d76023836134e8565b91506130e2826137af565b604082019050919050565b60006130fa602a836134e8565b9150613105826137fe565b604082019050919050565b600061311d6026836134e8565b91506131288261384d565b604082019050919050565b60006131406022836134e8565b915061314b8261389c565b604082019050919050565b6000613163601b836134e8565b915061316e826138eb565b602082019050919050565b6000613186601b836134e8565b915061319182613914565b602082019050919050565b60006131a9601f836134e8565b91506131b48261393d565b602082019050919050565b60006131cc6021836134e8565b91506131d782613966565b604082019050919050565b60006131ef6020836134e8565b91506131fa826139b5565b602082019050919050565b60006132126029836134e8565b915061321d826139de565b604082019050919050565b60006132356025836134e8565b915061324082613a2d565b604082019050919050565b60006132586024836134e8565b915061326382613a7c565b604082019050919050565b600061327b602c836134e8565b915061328682613acb565b604082019050919050565b61329a8161364c565b82525050565b6132a981613656565b82525050565b60006020820190506132c46000830184613073565b92915050565b60006020820190506132df6000830184613082565b92915050565b600060208201905081810360008301526132ff8184613091565b905092915050565b60006020820190508181036000830152613320816130ca565b9050919050565b60006020820190508181036000830152613340816130ed565b9050919050565b6000602082019050818103600083015261336081613110565b9050919050565b6000602082019050818103600083015261338081613133565b9050919050565b600060208201905081810360008301526133a081613156565b9050919050565b600060208201905081810360008301526133c081613179565b9050919050565b600060208201905081810360008301526133e08161319c565b9050919050565b60006020820190508181036000830152613400816131bf565b9050919050565b60006020820190508181036000830152613420816131e2565b9050919050565b6000602082019050818103600083015261344081613205565b9050919050565b6000602082019050818103600083015261346081613228565b9050919050565b600060208201905081810360008301526134808161324b565b9050919050565b600060208201905081810360008301526134a08161326e565b9050919050565b60006020820190506134bc6000830184613291565b92915050565b60006020820190506134d760008301846132a0565b92915050565b600081519050919050565b600082825260208201905092915050565b60006135048261364c565b915061350f8361364c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561354457613543613711565b5b828201905092915050565b600061355a8261364c565b91506135658361364c565b92508261357557613574613740565b5b828204905092915050565b600061358b8261364c565b91506135968361364c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135cf576135ce613711565b5b828202905092915050565b60006135e58261364c565b91506135f08361364c565b92508282101561360357613602613711565b5b828203905092915050565b60006136198261362c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015613681578082015181840152602081019050613666565b83811115613690576000848401525b50505050565b600060028204905060018216806136ae57607f821691505b602082108114156136c2576136c161376f565b5b50919050565b60006136d38261364c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561370657613705613711565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b613b238161360e565b8114613b2e57600080fd5b50565b613b3a81613620565b8114613b4557600080fd5b50565b613b518161364c565b8114613b5c57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b6c99838171b8d6f8a3439fe3bfc9575aa67809c32610c51221224cd0b8bd16764736f6c634300080400330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061018e5760003560e01c80634a74bb02116100de5780638da5cb5b11610097578063a457c2d711610071578063a457c2d714610487578063a9059cbb146104b7578063dd62ed3e146104e7578063f2fde38b146105175761018e565b80638da5cb5b1461042f5780638ee88c531461044d57806395d89b41146104695761018e565b80634a74bb021461036d57806352390c021461038b5780636053a0e3146103a757806370a08231146103c5578063715018a6146103f557806388f82020146103ff5761018e565b806323b872dd1161014b5780633685d419116101255780633685d419146102d357806339509351146102ef5780633b124fe71461031f5780634549b0391461033d5761018e565b806323b872dd146102555780632d83811914610285578063313ce567146102b55761018e565b8063053ab18214610193578063061c82d0146101af57806306fdde03146101cb578063095ea7b3146101e957806313114a9d1461021957806318160ddd14610237575b600080fd5b6101ad60048036038101906101a8919061300e565b610533565b005b6101c960048036038101906101c4919061300e565b6106ad565b005b6101d361074c565b6040516101e091906132e5565b60405180910390f35b61020360048036038101906101fe9190612fd2565b6107de565b60405161021091906132ca565b60405180910390f35b6102216107fc565b60405161022e91906134a7565b60405180910390f35b61023f610806565b60405161024c91906134a7565b60405180910390f35b61026f600480360381019061026a9190612f83565b610818565b60405161027c91906132ca565b60405180910390f35b61029f600480360381019061029a919061300e565b6108f1565b6040516102ac91906134a7565b60405180910390f35b6102bd61095f565b6040516102ca91906134c2565b60405180910390f35b6102ed60048036038101906102e89190612f1e565b610976565b005b61030960048036038101906103049190612fd2565b610d5d565b60405161031691906132ca565b60405180910390f35b610327610e10565b60405161033491906134a7565b60405180910390f35b61035760048036038101906103529190613037565b610e16565b60405161036491906134a7565b60405180910390f35b610375610ea0565b60405161038291906132ca565b60405180910390f35b6103a560048036038101906103a09190612f1e565b610eb3565b005b6103af611167565b6040516103bc91906132ca565b60405180910390f35b6103df60048036038101906103da9190612f1e565b61117a565b6040516103ec91906134a7565b60405180910390f35b6103fd611265565b005b61041960048036038101906104149190612f1e565b6113b8565b60405161042691906132ca565b60405180910390f35b61043761140e565b60405161044491906132af565b60405180910390f35b6104676004803603810190610462919061300e565b611437565b005b6104716114d6565b60405161047e91906132e5565b60405180910390f35b6104a1600480360381019061049c9190612fd2565b611568565b6040516104ae91906132ca565b60405180910390f35b6104d160048036038101906104cc9190612fd2565b611635565b6040516104de91906132ca565b60405180910390f35b61050160048036038101906104fc9190612f47565b611653565b60405161050e91906134a7565b60405180910390f35b610531600480360381019061052c9190612f1e565b6116da565b005b600061053d611930565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156105cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c390613487565b60405180910390fd5b60006105d783611938565b50505050905061062f81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610687816006546118e690919063ffffffff16565b6006819055506106a28360075461199090919063ffffffff16565b600781905550505050565b6106b5611930565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073990613407565b60405180910390fd5b80600c8190555050565b60606009805461075b90613696565b80601f016020809104026020016040519081016040528092919081815260200182805461078790613696565b80156107d45780601f106107a9576101008083540402835291602001916107d4565b820191906000526020600020905b8154815290600101906020018083116107b757829003601f168201915b5050505050905090565b60006107f26107eb611930565b84846119ee565b6001905092915050565b6000600754905090565b600069021e19e0c9bab2400000905090565b6000610825848484611bb9565b6108e684610831611930565b6108e185604051806060016040528060288152602001613b6060289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610897611930565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd09092919063ffffffff16565b6119ee565b600190509392505050565b6000600654821115610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f90613327565b60405180910390fd5b6000610942612034565b9050610957818461189c90919063ffffffff16565b915050919050565b6000600b60009054906101000a900460ff16905090565b61097e611930565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0290613407565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8e906133a7565b60405180910390fd5b60005b600580549050811015610d59578173ffffffffffffffffffffffffffffffffffffffff1660058281548110610af8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610d465760056001600580549050610b5391906135da565b81548110610b8a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110610bef577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480610d0c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055610d59565b8080610d51906136c8565b915050610a9a565b5050565b6000610e06610d6a611930565b84610e018560036000610d7b611930565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b6119ee565b6001905092915050565b600c5481565b600069021e19e0c9bab2400000831115610e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5c906133c7565b60405180910390fd5b81610e84576000610e7584611938565b50505050905080915050610e9a565b6000610e8f84611938565b505050915050809150505b92915050565b600d60009054906101000a900460ff1681565b610ebb611930565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3f90613407565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcc906133a7565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156110a957611065600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108f1565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d60019054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561121557600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050611260565b61125d600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108f1565b90505b919050565b61126d611930565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f190613407565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61143f611930565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c390613407565b60405180910390fd5b8060088190555050565b6060600a80546114e590613696565b80601f016020809104026020016040519081016040528092919081815260200182805461151190613696565b801561155e5780601f106115335761010080835404028352916020019161155e565b820191906000526020600020905b81548152906001019060200180831161154157829003601f168201915b5050505050905090565b600061162b611575611930565b8461162685604051806060016040528060258152602001613b88602591396003600061159f611930565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd09092919063ffffffff16565b6119ee565b6001905092915050565b6000611649611642611930565b8484611bb9565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116e2611930565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461176f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176690613407565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d690613347565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006118de83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061205f565b905092915050565b600061192883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fd0565b905092915050565b600033905090565b600080600080600080600061194c886120c2565b91509150600061195a612034565b9050600080600061196c8c8686612115565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b600080828461199f91906134f9565b9050838110156119e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119db90613387565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5590613467565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ace576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac590613367565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611bac91906134a7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2090613447565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9090613307565b60405180910390fd5b60008111611cdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd390613427565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611d7f5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d9457611d8f838383612173565b611fcb565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e375750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e4c57611e478383836123c6565b611fca565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ef05750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f0557611f00838383612619565b611fc9565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611fa75750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611fbc57611fb78383836127d7565b611fc8565b611fc7838383612619565b5b5b5b5b505050565b6000838311158290612018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200f91906132e5565b60405180910390fd5b506000838561202791906135da565b9050809150509392505050565b6000806000612041612abf565b91509150612058818361189c90919063ffffffff16565b9250505090565b600080831182906120a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209d91906132e5565b60405180910390fd5b50600083856120b5919061354f565b9050809150509392505050565b60008060006120ef60026120e16103e88761189c90919063ffffffff16565b612e2a90919063ffffffff16565b9050600061210682866118e690919063ffffffff16565b90508082935093505050915091565b60008060008061212e8588612e2a90919063ffffffff16565b905060006121458688612e2a90919063ffffffff16565b9050600061215c82846118e690919063ffffffff16565b905082818395509550955050505093509350939050565b600080600080600061218486611938565b945094509450945094506121e086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061227585600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061230a84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123578382612ea5565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123b491906134a7565b60405180910390a35050505050505050565b60008060008060006123d786611938565b9450945094509450945061243385600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c882600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061255d84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125aa8382612ea5565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161260791906134a7565b60405180910390a35050505050505050565b600080600080600061262a86611938565b9450945094509450945061268685600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271b84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127688382612ea5565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127c591906134a7565b60405180910390a35050505050505050565b60008060008060006127e886611938565b9450945094509450945061284486600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128d985600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061296e82600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a0384600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199090919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a508382612ea5565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612aad91906134a7565b60405180910390a35050505050505050565b60008060006006549050600069021e19e0c9bab2400000905060005b600580549050811015612ddd57826001600060058481548110612b27577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612c3b5750816002600060058481548110612bd3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612c5a5760065469021e19e0c9bab240000094509450505050612e26565b612d106001600060058481548110612c9b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846118e690919063ffffffff16565b9250612dc86002600060058481548110612d53577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118e690919063ffffffff16565b91508080612dd5906136c8565b915050612adb565b50612dfd69021e19e0c9bab240000060065461189c90919063ffffffff16565b821015612e1d5760065469021e19e0c9bab2400000935093505050612e26565b81819350935050505b9091565b600080831415612e3d5760009050612e9f565b60008284612e4b9190613580565b9050828482612e5a919061354f565b14612e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e91906133e7565b60405180910390fd5b809150505b92915050565b612eba826006546118e690919063ffffffff16565b600681905550612ed58160075461199090919063ffffffff16565b6007819055505050565b600081359050612eee81613b1a565b92915050565b600081359050612f0381613b31565b92915050565b600081359050612f1881613b48565b92915050565b600060208284031215612f3057600080fd5b6000612f3e84828501612edf565b91505092915050565b60008060408385031215612f5a57600080fd5b6000612f6885828601612edf565b9250506020612f7985828601612edf565b9150509250929050565b600080600060608486031215612f9857600080fd5b6000612fa686828701612edf565b9350506020612fb786828701612edf565b9250506040612fc886828701612f09565b9150509250925092565b60008060408385031215612fe557600080fd5b6000612ff385828601612edf565b925050602061300485828601612f09565b9150509250929050565b60006020828403121561302057600080fd5b600061302e84828501612f09565b91505092915050565b6000806040838503121561304a57600080fd5b600061305885828601612f09565b925050602061306985828601612ef4565b9150509250929050565b61307c8161360e565b82525050565b61308b81613620565b82525050565b600061309c826134dd565b6130a681856134e8565b93506130b6818560208601613663565b6130bf8161379e565b840191505092915050565b60006130d76023836134e8565b91506130e2826137af565b604082019050919050565b60006130fa602a836134e8565b9150613105826137fe565b604082019050919050565b600061311d6026836134e8565b91506131288261384d565b604082019050919050565b60006131406022836134e8565b915061314b8261389c565b604082019050919050565b6000613163601b836134e8565b915061316e826138eb565b602082019050919050565b6000613186601b836134e8565b915061319182613914565b602082019050919050565b60006131a9601f836134e8565b91506131b48261393d565b602082019050919050565b60006131cc6021836134e8565b91506131d782613966565b604082019050919050565b60006131ef6020836134e8565b91506131fa826139b5565b602082019050919050565b60006132126029836134e8565b915061321d826139de565b604082019050919050565b60006132356025836134e8565b915061324082613a2d565b604082019050919050565b60006132586024836134e8565b915061326382613a7c565b604082019050919050565b600061327b602c836134e8565b915061328682613acb565b604082019050919050565b61329a8161364c565b82525050565b6132a981613656565b82525050565b60006020820190506132c46000830184613073565b92915050565b60006020820190506132df6000830184613082565b92915050565b600060208201905081810360008301526132ff8184613091565b905092915050565b60006020820190508181036000830152613320816130ca565b9050919050565b60006020820190508181036000830152613340816130ed565b9050919050565b6000602082019050818103600083015261336081613110565b9050919050565b6000602082019050818103600083015261338081613133565b9050919050565b600060208201905081810360008301526133a081613156565b9050919050565b600060208201905081810360008301526133c081613179565b9050919050565b600060208201905081810360008301526133e08161319c565b9050919050565b60006020820190508181036000830152613400816131bf565b9050919050565b60006020820190508181036000830152613420816131e2565b9050919050565b6000602082019050818103600083015261344081613205565b9050919050565b6000602082019050818103600083015261346081613228565b9050919050565b600060208201905081810360008301526134808161324b565b9050919050565b600060208201905081810360008301526134a08161326e565b9050919050565b60006020820190506134bc6000830184613291565b92915050565b60006020820190506134d760008301846132a0565b92915050565b600081519050919050565b600082825260208201905092915050565b60006135048261364c565b915061350f8361364c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561354457613543613711565b5b828201905092915050565b600061355a8261364c565b91506135658361364c565b92508261357557613574613740565b5b828204905092915050565b600061358b8261364c565b91506135968361364c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135cf576135ce613711565b5b828202905092915050565b60006135e58261364c565b91506135f08361364c565b92508282101561360357613602613711565b5b828203905092915050565b60006136198261362c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015613681578082015181840152602081019050613666565b83811115613690576000848401525b50505050565b600060028204905060018216806136ae57607f821691505b602082108114156136c2576136c161376f565b5b50919050565b60006136d38261364c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561370657613705613711565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b613b238161360e565b8114613b2e57600080fd5b50565b613b3a81613620565b8114613b4557600080fd5b50565b613b518161364c565b8114613b5c57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b6c99838171b8d6f8a3439fe3bfc9575aa67809c32610c51221224cd0b8bd16764736f6c63430008040033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f

-----Decoded View---------------
Arg [0] : router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : factory (address): 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f

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


Deployed Bytecode Sourcemap

6519:11183:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10293:376;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17467:98;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8161:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9073:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10194:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8438:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9242:313;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11119:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8347:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11723:479;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9563:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7285:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10677:434;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7318:40;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11380:335;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7365:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8541:198;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6112:148;;;:::i;:::-;;10066:120;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6025:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17577:122;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8252:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9789:269;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8747:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8922:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6268:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10293:376;10345:14;10362:12;:10;:12::i;:::-;10345:29;;10394:11;:19;10406:6;10394:19;;;;;;;;;;;;;;;;;;;;;;;;;10393:20;10385:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;10474:15;10497:19;10508:7;10497:10;:19::i;:::-;10473:43;;;;;;10545:28;10565:7;10545;:15;10553:6;10545:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10527:7;:15;10535:6;10527:15;;;;;;;;;;;;;;;:46;;;;10594:20;10606:7;10594;;:11;;:20;;;;:::i;:::-;10584:7;:30;;;;10638:23;10653:7;10638:10;;:14;;:23;;;;:::i;:::-;10625:10;:36;;;;10293:376;;;:::o;17467:98::-;5948:12;:10;:12::i;:::-;5938:22;;:6;;;;;;;;;;:22;;;5930:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17551:6:::1;17541:7;:16;;;;17467:98:::0;:::o;8161:83::-;8198:13;8231:5;8224:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8161:83;:::o;9073:161::-;9148:4;9165:39;9174:12;:10;:12::i;:::-;9188:7;9197:6;9165:8;:39::i;:::-;9222:4;9215:11;;9073:161;;;;:::o;10194:87::-;10236:7;10263:10;;10256:17;;10194:87;:::o;8438:95::-;8491:7;6997:22;8511:14;;8438:95;:::o;9242:313::-;9340:4;9357:36;9367:6;9375:9;9386:6;9357:9;:36::i;:::-;9404:121;9413:6;9421:12;:10;:12::i;:::-;9435:89;9473:6;9435:89;;;;;;;;;;;;;;;;;:11;:19;9447:6;9435:19;;;;;;;;;;;;;;;:33;9455:12;:10;:12::i;:::-;9435:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9404:8;:121::i;:::-;9543:4;9536:11;;9242:313;;;;;:::o;11119:253::-;11185:7;11224;;11213;:18;;11205:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;11289:19;11312:10;:8;:10::i;:::-;11289:33;;11340:24;11352:11;11340:7;:11;;:24;;;;:::i;:::-;11333:31;;;11119:253;;;:::o;8347:83::-;8388:5;8413:9;;;;;;;;;;;8406:16;;8347:83;:::o;11723:479::-;5948:12;:10;:12::i;:::-;5938:22;;:6;;;;;;;;;;:22;;;5930:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11805:11:::1;:20;11817:7;11805:20;;;;;;;;;;;;;;;;;;;;;;;;;11797:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;11873:9;11868:327;11892:9;:16;;;;11888:1;:20;11868:327;;;11950:7;11934:23;;:9;11944:1;11934:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;11930:254;;;11993:9;12022:1;12003:9;:16;;;;:20;;;;:::i;:::-;11993:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11978:9;11988:1;11978:12;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;12062:1;12043:7;:16;12051:7;12043:16;;;;;;;;;;;;;;;:20;;;;12105:5;12082:11;:20;12094:7;12082:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;12129:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12163:5;;11930:254;11910:3;;;;;:::i;:::-;;;;11868:327;;;;11723:479:::0;:::o;9563:218::-;9651:4;9668:83;9677:12;:10;:12::i;:::-;9691:7;9700:50;9739:10;9700:11;:25;9712:12;:10;:12::i;:::-;9700:25;;;;;;;;;;;;;;;:34;9726:7;9700:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;9668:8;:83::i;:::-;9769:4;9762:11;;9563:218;;;;:::o;7285:26::-;;;;:::o;10677:434::-;10767:7;6997:22;10795:7;:18;;10787:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;10865:17;10860:244;;10900:15;10923:19;10934:7;10923:10;:19::i;:::-;10899:43;;;;;;10964:7;10957:14;;;;;10860:244;11006:23;11036:19;11047:7;11036:10;:19::i;:::-;11004:51;;;;;;11077:15;11070:22;;;10677:434;;;;;:::o;7318:40::-;;;;;;;;;;;;;:::o;11380:335::-;5948:12;:10;:12::i;:::-;5938:22;;:6;;;;;;;;;;:22;;;5930:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11465:11:::1;:20;11477:7;11465:20;;;;;;;;;;;;;;;;;;;;;;;;;11464:21;11456:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;11550:1;11531:7;:16;11539:7;11531:16;;;;;;;;;;;;;;;;:20;11528:108;;;11587:37;11607:7;:16;11615:7;11607:16;;;;;;;;;;;;;;;;11587:19;:37::i;:::-;11568:7;:16;11576:7;11568:16;;;;;;;;;;;;;;;:56;;;;11528:108;11669:4;11646:11;:20;11658:7;11646:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;11684:9;11699:7;11684:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11380:335:::0;:::o;7365:33::-;;;;;;;;;;;;;:::o;8541:198::-;8607:7;8631:11;:20;8643:7;8631:20;;;;;;;;;;;;;;;;;;;;;;;;;8627:49;;;8660:7;:16;8668:7;8660:16;;;;;;;;;;;;;;;;8653:23;;;;8627:49;8694:37;8714:7;:16;8722:7;8714:16;;;;;;;;;;;;;;;;8694:19;:37::i;:::-;8687:44;;8541:198;;;;:::o;6112:148::-;5948:12;:10;:12::i;:::-;5938:22;;:6;;;;;;;;;;:22;;;5930:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6219:1:::1;6182:40;;6203:6;::::0;::::1;;;;;;;;6182:40;;;;;;;;;;;;6250:1;6233:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6112:148::o:0;10066:120::-;10134:4;10158:11;:20;10170:7;10158:20;;;;;;;;;;;;;;;;;;;;;;;;;10151:27;;10066:120;;;:::o;6025:79::-;6063:7;6090:6;;;;;;;;;;;6083:13;;6025:79;:::o;17577:122::-;5948:12;:10;:12::i;:::-;5938:22;;:6;;;;;;;;;;:22;;;5930:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17679:12:::1;17663:13;:28;;;;17577:122:::0;:::o;8252:87::-;8291:13;8324:7;8317:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8252:87;:::o;9789:269::-;9882:4;9899:129;9908:12;:10;:12::i;:::-;9922:7;9931:96;9970:15;9931:96;;;;;;;;;;;;;;;;;:11;:25;9943:12;:10;:12::i;:::-;9931:25;;;;;;;;;;;;;;;:34;9957:7;9931:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;9899:8;:129::i;:::-;10046:4;10039:11;;9789:269;;;;:::o;8747:167::-;8825:4;8842:42;8852:12;:10;:12::i;:::-;8866:9;8877:6;8842:9;:42::i;:::-;8902:4;8895:11;;8747:167;;;;:::o;8922:143::-;9003:7;9030:11;:18;9042:5;9030:18;;;;;;;;;;;;;;;:27;9049:7;9030:27;;;;;;;;;;;;;;;;9023:34;;8922:143;;;;:::o;6268:244::-;5948:12;:10;:12::i;:::-;5938:22;;:6;;;;;;;;;;:22;;;5930:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6377:1:::1;6357:22;;:8;:22;;;;6349:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6467:8;6438:38;;6459:6;::::0;::::1;;;;;;;;6438:38;;;;;;;;;;;;6496:8;6487:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6268:244:::0;:::o;2221:132::-;2279:7;2306:39;2310:1;2313;2306:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2299:46;;2221:132;;;;:::o;1625:136::-;1683:7;1710:43;1714:1;1717;1710:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1703:50;;1625:136;;;;:::o;362:114::-;415:15;457:10;442:26;;362:114;:::o;15721:411::-;15780:7;15789;15798;15807;15816;15837:23;15862:12;15878:20;15890:7;15878:11;:20::i;:::-;15836:62;;;;15909:19;15932:10;:8;:10::i;:::-;15909:33;;15954:15;15971:23;15996:12;16012:39;16024:7;16033:4;16039:11;16012;:39::i;:::-;15953:98;;;;;;16070:7;16079:15;16096:4;16102:15;16119:4;16062:62;;;;;;;;;;;;;;;;15721:411;;;;;;;:::o;1436:181::-;1494:7;1514:9;1530:1;1526;:5;;;;:::i;:::-;1514:17;;1555:1;1550;:6;;1542:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1608:1;1601:8;;;1436:181;;;;:::o;12210:337::-;12320:1;12303:19;;:5;:19;;;;12295:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12401:1;12382:21;;:7;:21;;;;12374:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12485:6;12455:11;:18;12467:5;12455:18;;;;;;;;;;;;;;;:27;12474:7;12455:27;;;;;;;;;;;;;;;:36;;;;12523:7;12507:32;;12516:5;12507:32;;;12532:6;12507:32;;;;;;:::i;:::-;;;;;;;;12210:337;;;:::o;12559:892::-;12674:1;12656:20;;:6;:20;;;;12648:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12758:1;12737:23;;:9;:23;;;;12729:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12828:1;12819:6;:10;12811:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12890:11;:19;12902:6;12890:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;12914:11;:22;12926:9;12914:22;;;;;;;;;;;;;;;;;;;;;;;;;12913:23;12890:46;12886:558;;;12949:48;12971:6;12979:9;12990:6;12949:21;:48::i;:::-;12886:558;;;13020:11;:19;13032:6;13020:19;;;;;;;;;;;;;;;;;;;;;;;;;13019:20;:46;;;;;13043:11;:22;13055:9;13043:22;;;;;;;;;;;;;;;;;;;;;;;;;13019:46;13015:429;;;13078:46;13098:6;13106:9;13117:6;13078:19;:46::i;:::-;13015:429;;;13148:11;:19;13160:6;13148:19;;;;;;;;;;;;;;;;;;;;;;;;;13147:20;:47;;;;;13172:11;:22;13184:9;13172:22;;;;;;;;;;;;;;;;;;;;;;;;;13171:23;13147:47;13143:301;;;13207:44;13225:6;13233:9;13244:6;13207:17;:44::i;:::-;13143:301;;;13273:11;:19;13285:6;13273:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;13296:11;:22;13308:9;13296:22;;;;;;;;;;;;;;;;;;;;;;;;;13273:45;13269:175;;;13331:48;13353:6;13361:9;13372:6;13331:21;:48::i;:::-;13269:175;;;13398:44;13416:6;13424:9;13435:6;13398:17;:44::i;:::-;13269:175;13143:301;13015:429;12886:558;12559:892;;;:::o;1769:190::-;1855:7;1888:1;1883;:6;;1891:12;1875:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1915:9;1931:1;1927;:5;;;;:::i;:::-;1915:17;;1950:1;1943:8;;;1769:190;;;;;:::o;16721:163::-;16762:7;16783:15;16800;16819:19;:17;:19::i;:::-;16782:56;;;;16856:20;16868:7;16856;:11;;:20;;;;:::i;:::-;16849:27;;;;16721:163;:::o;2361:276::-;2447:7;2479:1;2475;:5;2482:12;2467:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2506:9;2522:1;2518;:5;;;;:::i;:::-;2506:17;;2628:1;2621:8;;;2361:276;;;;;:::o;16140:231::-;16200:7;16209;16229:12;16244:24;16266:1;16244:17;16256:4;16244:7;:11;;:17;;;;:::i;:::-;:21;;:24;;;;:::i;:::-;16229:39;;16279:23;16305:17;16317:4;16305:7;:11;;:17;;;;:::i;:::-;16279:43;;16341:15;16358:4;16333:30;;;;;;16140:231;;;:::o;16379:334::-;16474:7;16483;16492;16512:15;16530:24;16542:11;16530:7;:11;;:24;;;;:::i;:::-;16512:42;;16565:12;16580:21;16589:11;16580:4;:8;;:21;;;;:::i;:::-;16565:36;;16612:23;16638:17;16650:4;16638:7;:11;;:17;;;;:::i;:::-;16612:43;;16674:7;16683:15;16700:4;16666:39;;;;;;;;;16379:334;;;;;;;:::o;14456:509::-;14559:15;14576:23;14601:12;14615:23;14640:12;14656:19;14667:7;14656:10;:19::i;:::-;14558:117;;;;;;;;;;14704:28;14724:7;14704;:15;14712:6;14704:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14686:7;:15;14694:6;14686:15;;;;;;;;;;;;;;;:46;;;;14761:28;14781:7;14761;:15;14769:6;14761:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14743:7;:15;14751:6;14743:15;;;;;;;;;;;;;;;:46;;;;14821:39;14844:15;14821:7;:18;14829:9;14821:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14800:7;:18;14808:9;14800:18;;;;;;;;;;;;;;;:60;;;;14874:23;14886:4;14892;14874:11;:23::i;:::-;14930:9;14913:44;;14922:6;14913:44;;;14941:15;14913:44;;;;;;:::i;:::-;;;;;;;;14456:509;;;;;;;;:::o;13919:529::-;14020:15;14037:23;14062:12;14076:23;14101:12;14117:19;14128:7;14117:10;:19::i;:::-;14019:117;;;;;;;;;;14165:28;14185:7;14165;:15;14173:6;14165:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14147:7;:15;14155:6;14147:15;;;;;;;;;;;;;;;:46;;;;14225:39;14248:15;14225:7;:18;14233:9;14225:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14204:7;:18;14212:9;14204:18;;;;;;;;;;;;;;;:60;;;;14296:39;14319:15;14296:7;:18;14304:9;14296:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14275:7;:18;14283:9;14275:18;;;;;;;;;;;;;;;:60;;;;14357:23;14369:4;14375;14357:11;:23::i;:::-;14413:9;14396:44;;14405:6;14396:44;;;14424:15;14396:44;;;;;;:::i;:::-;;;;;;;;13919:529;;;;;;;;:::o;13459:452::-;13558:15;13575:23;13600:12;13614:23;13639:12;13655:19;13666:7;13655:10;:19::i;:::-;13557:117;;;;;;;;;;13703:28;13723:7;13703;:15;13711:6;13703:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13685:7;:15;13693:6;13685:15;;;;;;;;;;;;;;;:46;;;;13763:39;13786:15;13763:7;:18;13771:9;13763:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13742:7;:18;13750:9;13742:18;;;;;;;;;;;;;;;:60;;;;13820:23;13832:4;13838;13820:11;:23::i;:::-;13876:9;13859:44;;13868:6;13859:44;;;13887:15;13859:44;;;;;;:::i;:::-;;;;;;;;13459:452;;;;;;;;:::o;14973:585::-;15076:15;15093:23;15118:12;15132:23;15157:12;15173:19;15184:7;15173:10;:19::i;:::-;15075:117;;;;;;;;;;15221:28;15241:7;15221;:15;15229:6;15221:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15203:7;:15;15211:6;15203:15;;;;;;;;;;;;;;;:46;;;;15278:28;15298:7;15278;:15;15286:6;15278:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15260:7;:15;15268:6;15260:15;;;;;;;;;;;;;;;:46;;;;15338:39;15361:15;15338:7;:18;15346:9;15338:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15317:7;:18;15325:9;15317:18;;;;;;;;;;;;;;;:60;;;;15409:39;15432:15;15409:7;:18;15417:9;15409:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15388:7;:18;15396:9;15388:18;;;;;;;;;;;;;;;:60;;;;15467:23;15479:4;15485;15467:11;:23::i;:::-;15523:9;15506:44;;15515:6;15506:44;;;15534:15;15506:44;;;;;;:::i;:::-;;;;;;;;14973:585;;;;;;;;:::o;16892:561::-;16942:7;16951;16971:15;16989:7;;16971:25;;17007:15;6997:22;17007:25;;17054:9;17049:289;17073:9;:16;;;;17069:1;:20;17049:289;;;17139:7;17115;:21;17123:9;17133:1;17123:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17115:21;;;;;;;;;;;;;;;;:31;:66;;;;17174:7;17150;:21;17158:9;17168:1;17158:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17150:21;;;;;;;;;;;;;;;;:31;17115:66;17111:97;;;17191:7;;6997:22;17183:25;;;;;;;;;17111:97;17233:34;17245:7;:21;17253:9;17263:1;17253:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17245:21;;;;;;;;;;;;;;;;17233:7;:11;;:34;;;;:::i;:::-;17223:44;;17292:34;17304:7;:21;17312:9;17322:1;17312:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17304:21;;;;;;;;;;;;;;;;17292:7;:11;;:34;;;;:::i;:::-;17282:44;;17091:3;;;;;:::i;:::-;;;;17049:289;;;;17362:20;6997:22;17362:7;;:11;;:20;;;;:::i;:::-;17352:7;:30;17348:61;;;17392:7;;6997:22;17384:25;;;;;;;;17348:61;17428:7;17437;17420:25;;;;;;16892:561;;;:::o;1967:246::-;2025:7;2054:1;2049;:6;2045:47;;;2079:1;2072:8;;;;2045:47;2102:9;2118:1;2114;:5;;;;:::i;:::-;2102:17;;2147:1;2142;2138;:5;;;;:::i;:::-;:10;2130:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2204:1;2197:8;;;1967:246;;;;;:::o;15566:147::-;15644:17;15656:4;15644:7;;:11;;:17;;;;:::i;:::-;15634:7;:27;;;;15685:20;15700:4;15685:10;;:14;;:20;;;;:::i;:::-;15672:10;:33;;;;15566:147;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;195:5;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:139::-;337:5;375:6;362:20;353:29;;391:33;418:5;391:33;:::i;:::-;343:87;;;;:::o;436:262::-;495:6;544:2;532:9;523:7;519:23;515:32;512:2;;;560:1;557;550:12;512:2;603:1;628:53;673:7;664:6;653:9;649:22;628:53;:::i;:::-;618:63;;574:117;502:196;;;;:::o;704:407::-;772:6;780;829:2;817:9;808:7;804:23;800:32;797:2;;;845:1;842;835:12;797:2;888:1;913:53;958:7;949:6;938:9;934:22;913:53;:::i;:::-;903:63;;859:117;1015:2;1041:53;1086:7;1077:6;1066:9;1062:22;1041:53;:::i;:::-;1031:63;;986:118;787:324;;;;;:::o;1117:552::-;1194:6;1202;1210;1259:2;1247:9;1238:7;1234:23;1230:32;1227:2;;;1275:1;1272;1265:12;1227:2;1318:1;1343:53;1388:7;1379:6;1368:9;1364:22;1343:53;:::i;:::-;1333:63;;1289:117;1445:2;1471:53;1516:7;1507:6;1496:9;1492:22;1471:53;:::i;:::-;1461:63;;1416:118;1573:2;1599:53;1644:7;1635:6;1624:9;1620:22;1599:53;:::i;:::-;1589:63;;1544:118;1217:452;;;;;:::o;1675:407::-;1743:6;1751;1800:2;1788:9;1779:7;1775:23;1771:32;1768:2;;;1816:1;1813;1806:12;1768:2;1859:1;1884:53;1929:7;1920:6;1909:9;1905:22;1884:53;:::i;:::-;1874:63;;1830:117;1986:2;2012:53;2057:7;2048:6;2037:9;2033:22;2012:53;:::i;:::-;2002:63;;1957:118;1758:324;;;;;:::o;2088:262::-;2147:6;2196:2;2184:9;2175:7;2171:23;2167:32;2164:2;;;2212:1;2209;2202:12;2164:2;2255:1;2280:53;2325:7;2316:6;2305:9;2301:22;2280:53;:::i;:::-;2270:63;;2226:117;2154:196;;;;:::o;2356:401::-;2421:6;2429;2478:2;2466:9;2457:7;2453:23;2449:32;2446:2;;;2494:1;2491;2484:12;2446:2;2537:1;2562:53;2607:7;2598:6;2587:9;2583:22;2562:53;:::i;:::-;2552:63;;2508:117;2664:2;2690:50;2732:7;2723:6;2712:9;2708:22;2690:50;:::i;:::-;2680:60;;2635:115;2436:321;;;;;:::o;2763:118::-;2850:24;2868:5;2850:24;:::i;:::-;2845:3;2838:37;2828:53;;:::o;2887:109::-;2968:21;2983:5;2968:21;:::i;:::-;2963:3;2956:34;2946:50;;:::o;3002:364::-;3090:3;3118:39;3151:5;3118:39;:::i;:::-;3173:71;3237:6;3232:3;3173:71;:::i;:::-;3166:78;;3253:52;3298:6;3293:3;3286:4;3279:5;3275:16;3253:52;:::i;:::-;3330:29;3352:6;3330:29;:::i;:::-;3325:3;3321:39;3314:46;;3094:272;;;;;:::o;3372:366::-;3514:3;3535:67;3599:2;3594:3;3535:67;:::i;:::-;3528:74;;3611:93;3700:3;3611:93;:::i;:::-;3729:2;3724:3;3720:12;3713:19;;3518:220;;;:::o;3744:366::-;3886:3;3907:67;3971:2;3966:3;3907:67;:::i;:::-;3900:74;;3983:93;4072:3;3983:93;:::i;:::-;4101:2;4096:3;4092:12;4085:19;;3890:220;;;:::o;4116:366::-;4258:3;4279:67;4343:2;4338:3;4279:67;:::i;:::-;4272:74;;4355:93;4444:3;4355:93;:::i;:::-;4473:2;4468:3;4464:12;4457:19;;4262:220;;;:::o;4488:366::-;4630:3;4651:67;4715:2;4710:3;4651:67;:::i;:::-;4644:74;;4727:93;4816:3;4727:93;:::i;:::-;4845:2;4840:3;4836:12;4829:19;;4634:220;;;:::o;4860:366::-;5002:3;5023:67;5087:2;5082:3;5023:67;:::i;:::-;5016:74;;5099:93;5188:3;5099:93;:::i;:::-;5217:2;5212:3;5208:12;5201:19;;5006:220;;;:::o;5232:366::-;5374:3;5395:67;5459:2;5454:3;5395:67;:::i;:::-;5388:74;;5471:93;5560:3;5471:93;:::i;:::-;5589:2;5584:3;5580:12;5573:19;;5378:220;;;:::o;5604:366::-;5746:3;5767:67;5831:2;5826:3;5767:67;:::i;:::-;5760:74;;5843:93;5932:3;5843:93;:::i;:::-;5961:2;5956:3;5952:12;5945:19;;5750:220;;;:::o;5976:366::-;6118:3;6139:67;6203:2;6198:3;6139:67;:::i;:::-;6132:74;;6215:93;6304:3;6215:93;:::i;:::-;6333:2;6328:3;6324:12;6317:19;;6122:220;;;:::o;6348:366::-;6490:3;6511:67;6575:2;6570:3;6511:67;:::i;:::-;6504:74;;6587:93;6676:3;6587:93;:::i;:::-;6705:2;6700:3;6696:12;6689:19;;6494:220;;;:::o;6720:366::-;6862:3;6883:67;6947:2;6942:3;6883:67;:::i;:::-;6876:74;;6959:93;7048:3;6959:93;:::i;:::-;7077:2;7072:3;7068:12;7061:19;;6866:220;;;:::o;7092:366::-;7234:3;7255:67;7319:2;7314:3;7255:67;:::i;:::-;7248:74;;7331:93;7420:3;7331:93;:::i;:::-;7449:2;7444:3;7440:12;7433:19;;7238:220;;;:::o;7464:366::-;7606:3;7627:67;7691:2;7686:3;7627:67;:::i;:::-;7620:74;;7703:93;7792:3;7703:93;:::i;:::-;7821:2;7816:3;7812:12;7805:19;;7610:220;;;:::o;7836:366::-;7978:3;7999:67;8063:2;8058:3;7999:67;:::i;:::-;7992:74;;8075:93;8164:3;8075:93;:::i;:::-;8193:2;8188:3;8184:12;8177:19;;7982:220;;;:::o;8208:118::-;8295:24;8313:5;8295:24;:::i;:::-;8290:3;8283:37;8273:53;;:::o;8332:112::-;8415:22;8431:5;8415:22;:::i;:::-;8410:3;8403:35;8393:51;;:::o;8450:222::-;8543:4;8581:2;8570:9;8566:18;8558:26;;8594:71;8662:1;8651:9;8647:17;8638:6;8594:71;:::i;:::-;8548:124;;;;:::o;8678:210::-;8765:4;8803:2;8792:9;8788:18;8780:26;;8816:65;8878:1;8867:9;8863:17;8854:6;8816:65;:::i;:::-;8770:118;;;;:::o;8894:313::-;9007:4;9045:2;9034:9;9030:18;9022:26;;9094:9;9088:4;9084:20;9080:1;9069:9;9065:17;9058:47;9122:78;9195:4;9186:6;9122:78;:::i;:::-;9114:86;;9012:195;;;;:::o;9213:419::-;9379:4;9417:2;9406:9;9402:18;9394:26;;9466:9;9460:4;9456:20;9452:1;9441:9;9437:17;9430:47;9494:131;9620:4;9494:131;:::i;:::-;9486:139;;9384:248;;;:::o;9638:419::-;9804:4;9842:2;9831:9;9827:18;9819:26;;9891:9;9885:4;9881:20;9877:1;9866:9;9862:17;9855:47;9919:131;10045:4;9919:131;:::i;:::-;9911:139;;9809:248;;;:::o;10063:419::-;10229:4;10267:2;10256:9;10252:18;10244:26;;10316:9;10310:4;10306:20;10302:1;10291:9;10287:17;10280:47;10344:131;10470:4;10344:131;:::i;:::-;10336:139;;10234:248;;;:::o;10488:419::-;10654:4;10692:2;10681:9;10677:18;10669:26;;10741:9;10735:4;10731:20;10727:1;10716:9;10712:17;10705:47;10769:131;10895:4;10769:131;:::i;:::-;10761:139;;10659:248;;;:::o;10913:419::-;11079:4;11117:2;11106:9;11102:18;11094:26;;11166:9;11160:4;11156:20;11152:1;11141:9;11137:17;11130:47;11194:131;11320:4;11194:131;:::i;:::-;11186:139;;11084:248;;;:::o;11338:419::-;11504:4;11542:2;11531:9;11527:18;11519:26;;11591:9;11585:4;11581:20;11577:1;11566:9;11562:17;11555:47;11619:131;11745:4;11619:131;:::i;:::-;11611:139;;11509:248;;;:::o;11763:419::-;11929:4;11967:2;11956:9;11952:18;11944:26;;12016:9;12010:4;12006:20;12002:1;11991:9;11987:17;11980:47;12044:131;12170:4;12044:131;:::i;:::-;12036:139;;11934:248;;;:::o;12188:419::-;12354:4;12392:2;12381:9;12377:18;12369:26;;12441:9;12435:4;12431:20;12427:1;12416:9;12412:17;12405:47;12469:131;12595:4;12469:131;:::i;:::-;12461:139;;12359:248;;;:::o;12613:419::-;12779:4;12817:2;12806:9;12802:18;12794:26;;12866:9;12860:4;12856:20;12852:1;12841:9;12837:17;12830:47;12894:131;13020:4;12894:131;:::i;:::-;12886:139;;12784:248;;;:::o;13038:419::-;13204:4;13242:2;13231:9;13227:18;13219:26;;13291:9;13285:4;13281:20;13277:1;13266:9;13262:17;13255:47;13319:131;13445:4;13319:131;:::i;:::-;13311:139;;13209:248;;;:::o;13463:419::-;13629:4;13667:2;13656:9;13652:18;13644:26;;13716:9;13710:4;13706:20;13702:1;13691:9;13687:17;13680:47;13744:131;13870:4;13744:131;:::i;:::-;13736:139;;13634:248;;;:::o;13888:419::-;14054:4;14092:2;14081:9;14077:18;14069:26;;14141:9;14135:4;14131:20;14127:1;14116:9;14112:17;14105:47;14169:131;14295:4;14169:131;:::i;:::-;14161:139;;14059:248;;;:::o;14313:419::-;14479:4;14517:2;14506:9;14502:18;14494:26;;14566:9;14560:4;14556:20;14552:1;14541:9;14537:17;14530:47;14594:131;14720:4;14594:131;:::i;:::-;14586:139;;14484:248;;;:::o;14738:222::-;14831:4;14869:2;14858:9;14854:18;14846:26;;14882:71;14950:1;14939:9;14935:17;14926:6;14882:71;:::i;:::-;14836:124;;;;:::o;14966:214::-;15055:4;15093:2;15082:9;15078:18;15070:26;;15106:67;15170:1;15159:9;15155:17;15146:6;15106:67;:::i;:::-;15060:120;;;;:::o;15186:99::-;15238:6;15272:5;15266:12;15256:22;;15245:40;;;:::o;15291:169::-;15375:11;15409:6;15404:3;15397:19;15449:4;15444:3;15440:14;15425:29;;15387:73;;;;:::o;15466:305::-;15506:3;15525:20;15543:1;15525:20;:::i;:::-;15520:25;;15559:20;15577:1;15559:20;:::i;:::-;15554:25;;15713:1;15645:66;15641:74;15638:1;15635:81;15632:2;;;15719:18;;:::i;:::-;15632:2;15763:1;15760;15756:9;15749:16;;15510:261;;;;:::o;15777:185::-;15817:1;15834:20;15852:1;15834:20;:::i;:::-;15829:25;;15868:20;15886:1;15868:20;:::i;:::-;15863:25;;15907:1;15897:2;;15912:18;;:::i;:::-;15897:2;15954:1;15951;15947:9;15942:14;;15819:143;;;;:::o;15968:348::-;16008:7;16031:20;16049:1;16031:20;:::i;:::-;16026:25;;16065:20;16083:1;16065:20;:::i;:::-;16060:25;;16253:1;16185:66;16181:74;16178:1;16175:81;16170:1;16163:9;16156:17;16152:105;16149:2;;;16260:18;;:::i;:::-;16149:2;16308:1;16305;16301:9;16290:20;;16016:300;;;;:::o;16322:191::-;16362:4;16382:20;16400:1;16382:20;:::i;:::-;16377:25;;16416:20;16434:1;16416:20;:::i;:::-;16411:25;;16455:1;16452;16449:8;16446:2;;;16460:18;;:::i;:::-;16446:2;16505:1;16502;16498:9;16490:17;;16367:146;;;;:::o;16519:96::-;16556:7;16585:24;16603:5;16585:24;:::i;:::-;16574:35;;16564:51;;;:::o;16621:90::-;16655:7;16698:5;16691:13;16684:21;16673:32;;16663:48;;;:::o;16717:126::-;16754:7;16794:42;16787:5;16783:54;16772:65;;16762:81;;;:::o;16849:77::-;16886:7;16915:5;16904:16;;16894:32;;;:::o;16932:86::-;16967:7;17007:4;17000:5;16996:16;16985:27;;16975:43;;;:::o;17024:307::-;17092:1;17102:113;17116:6;17113:1;17110:13;17102:113;;;17201:1;17196:3;17192:11;17186:18;17182:1;17177:3;17173:11;17166:39;17138:2;17135:1;17131:10;17126:15;;17102:113;;;17233:6;17230:1;17227:13;17224:2;;;17313:1;17304:6;17299:3;17295:16;17288:27;17224:2;17073:258;;;;:::o;17337:320::-;17381:6;17418:1;17412:4;17408:12;17398:22;;17465:1;17459:4;17455:12;17486:18;17476:2;;17542:4;17534:6;17530:17;17520:27;;17476:2;17604;17596:6;17593:14;17573:18;17570:38;17567:2;;;17623:18;;:::i;:::-;17567:2;17388:269;;;;:::o;17663:233::-;17702:3;17725:24;17743:5;17725:24;:::i;:::-;17716:33;;17771:66;17764:5;17761:77;17758:2;;;17841:18;;:::i;:::-;17758:2;17888:1;17881:5;17877:13;17870:20;;17706:190;;;:::o;17902:180::-;17950:77;17947:1;17940:88;18047:4;18044:1;18037:15;18071:4;18068:1;18061:15;18088:180;18136:77;18133:1;18126:88;18233:4;18230:1;18223:15;18257:4;18254:1;18247:15;18274:180;18322:77;18319:1;18312:88;18419:4;18416:1;18409:15;18443:4;18440:1;18433:15;18460:102;18501:6;18552:2;18548:7;18543:2;18536:5;18532:14;18528:28;18518:38;;18508:54;;;:::o;18568:222::-;18708:34;18704:1;18696:6;18692:14;18685:58;18777:5;18772:2;18764:6;18760:15;18753:30;18674:116;:::o;18796:229::-;18936:34;18932:1;18924:6;18920:14;18913:58;19005:12;19000:2;18992:6;18988:15;18981:37;18902:123;:::o;19031:225::-;19171:34;19167:1;19159:6;19155:14;19148:58;19240:8;19235:2;19227:6;19223:15;19216:33;19137:119;:::o;19262:221::-;19402:34;19398:1;19390:6;19386:14;19379:58;19471:4;19466:2;19458:6;19454:15;19447:29;19368:115;:::o;19489:177::-;19629:29;19625:1;19617:6;19613:14;19606:53;19595:71;:::o;19672:177::-;19812:29;19808:1;19800:6;19796:14;19789:53;19778:71;:::o;19855:181::-;19995:33;19991:1;19983:6;19979:14;19972:57;19961:75;:::o;20042:220::-;20182:34;20178:1;20170:6;20166:14;20159:58;20251:3;20246:2;20238:6;20234:15;20227:28;20148:114;:::o;20268:182::-;20408:34;20404:1;20396:6;20392:14;20385:58;20374:76;:::o;20456:228::-;20596:34;20592:1;20584:6;20580:14;20573:58;20665:11;20660:2;20652:6;20648:15;20641:36;20562:122;:::o;20690:224::-;20830:34;20826:1;20818:6;20814:14;20807:58;20899:7;20894:2;20886:6;20882:15;20875:32;20796:118;:::o;20920:223::-;21060:34;21056:1;21048:6;21044:14;21037:58;21129:6;21124:2;21116:6;21112:15;21105:31;21026:117;:::o;21149:231::-;21289:34;21285:1;21277:6;21273:14;21266:58;21358:14;21353:2;21345:6;21341:15;21334:39;21255:125;:::o;21386:122::-;21459:24;21477:5;21459:24;:::i;:::-;21452:5;21449:35;21439:2;;21498:1;21495;21488:12;21439:2;21429:79;:::o;21514:116::-;21584:21;21599:5;21584:21;:::i;:::-;21577:5;21574:32;21564:2;;21620:1;21617;21610:12;21564:2;21554:76;:::o;21636:122::-;21709:24;21727:5;21709:24;:::i;:::-;21702:5;21699:35;21689:2;;21748:1;21745;21738:12;21689:2;21679:79;:::o

Swarm Source

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