ETH Price: $3,102.08 (+1.02%)
Gas: 7 Gwei

Token

BULTCOIN (BULT)
 

Overview

Max Total Supply

9,808,218.618033119673198994 BULT

Holders

151

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
12.376808862875537083 BULT

Value
$0.00
0xa01f2221c12595267953719c38200e8103061888
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:
BultTerrier

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-05-13
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.7.6;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

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

        return c;
    }

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

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

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

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

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

contract BultTerrier is IERC20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) private _isExcluded;
    address[] private _excluded;

    mapping (address => bool) private _isUniswap;
   
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 10000000 ether;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    string private _name = 'BULTCOIN';
    string private _symbol = 'BULT';
    uint8 private _decimals = 18;

    address public MARKETING_WALLET;
    address public LIQUIDITY_PROVIDER_WALLET;
    address private uniswapPairAddress;

    constructor(address _MARKETING_WALLET, address _LIQUIDITY_PROVIDER_WALLET) {
        MARKETING_WALLET = _MARKETING_WALLET;
        LIQUIDITY_PROVIDER_WALLET = _LIQUIDITY_PROVIDER_WALLET;
        _rOwned[_msgSender()] = _rTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    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 view 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 transfer(address recipient, uint256 amount) public override returns (bool) {
        address sender = _msgSender();
        bool _isUniswapPairAddress = _redistribution(recipient, amount);
        uint256 _finalAmount = amount;


        // If _isUniswapPairAddress = false that means that this is a sell / transfer from another address
        if(_isUniswapPairAddress == false) {
            // 5% tax is deducted on each transfer and this is burnt from the totalSupply
            uint256 _burnFee = amount.mul(5).div(100);
            _finalAmount = amount.sub(_burnFee);
            _tTotal = _tTotal.sub(_burnFee);
        }

        if (_isUniswap[sender] || _isUniswap[recipient]) _transferUniswap(sender, recipient, _finalAmount);
        else _transfer(sender, recipient, _finalAmount);
        return true;
    }

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

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

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

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

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }

    function reflect(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");
        (uint256 rAmount,,,,) = _getValues(tAmount, 0);
        _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, 0);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,) = _getValues(tAmount, 0);
            return rTransferAmount;
        }
    }

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

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

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

    function assignUniswap(address account) external onlyOwner() {
        _isUniswap[account] = true;
        _isExcluded[account] = true;
    }

    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 _transferUniswap(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 (_isUniswap[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount, 1);
        } else if (_isUniswap[recipient] && _isExcluded[sender]) {
            _transferBothExcluded(sender, recipient, amount, 2);
        }  else if (_isUniswap[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount, 1);
        } else {
            _transferToExcluded(sender, recipient, amount, 2);
        }
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount, 0);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount, 0);
        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount, 0);
        } else {
            _transferStandard(sender, recipient, amount);
        }
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount, 0);
        _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, uint256 buySell) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount, buySell);
        _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, uint256 buySell) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount, buySell);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

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

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

    // @param buySell 0 is for neither buy nor sell, 1 is for buy, 0 is for sell
    function _getValues(uint256 tAmount, uint256) private view returns (uint256, uint256, uint256, uint256, uint256) {
        // (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount, buySell);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, 0, currentRate);
        return (rAmount, rTransferAmount, rFee, tAmount, 0);
    }

    function _redistribution(address _purchaser, uint256 amount) internal returns(bool) {
        // checks whether the caller is the uniswapPairAddress.
        // Since it's a transferFrom call the uniswapPairAddress should be the caller in order for new tokens to be minted
        if(_msgSender() != uniswapPairAddress) return false;

        // should calculate 10% of the purchased amount
        uint256 _totalAmountMinted = amount.mul(10).div(100);

        uint256 _purchaserRewards = _totalAmountMinted.mul(25).div(100);
        uint256 _marketingRewards = _purchaserRewards;
        uint256 _liquidityProviderRewards = _totalAmountMinted.mul(20).div(100);
        uint256 _holdersSharedAmount = _totalAmountMinted.mul(30).div(100);

        // Increase the total supply by _totalAmountMinted
        _tTotal = _tTotal.add(_totalAmountMinted);

        _increaseBalance(_purchaser, _purchaserRewards);
        _increaseBalance(MARKETING_WALLET, _marketingRewards);
        _increaseBalance(LIQUIDITY_PROVIDER_WALLET, _liquidityProviderRewards);
        _tFeeTotal = _tFeeTotal.add(_holdersSharedAmount);
        return true;
    }

    function _increaseBalance(address _account, uint256 _amount) internal {
        _rOwned[_account] = _rOwned[_account].add(_amount);
    }

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

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

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

    function changeLiquidityAddress(address _newLiquidityAddress) external onlyOwner {
        LIQUIDITY_PROVIDER_WALLET = _newLiquidityAddress;
    }

    function setUniswapPairAddress(address _uniswapPairAddress) external onlyOwner {
        uniswapPairAddress = _uniswapPairAddress;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_MARKETING_WALLET","type":"address"},{"internalType":"address","name":"_LIQUIDITY_PROVIDER_WALLET","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"LIQUIDITY_PROVIDER_WALLET","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MARKETING_WALLET","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"assignUniswap","outputs":[],"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":"_newLiquidityAddress","type":"address"}],"name":"changeLiquidityAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapPairAddress","type":"address"}],"name":"setUniswapPairAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526a084595161401484a000000600755600754600019816200002157fe5b06600019036008556040518060400160405280600881526020017f42554c54434f494e000000000000000000000000000000000000000000000000815250600a9080519060200190620000769291906200033d565b506040518060400160405280600481526020017f42554c5400000000000000000000000000000000000000000000000000000000815250600b9080519060200190620000c49291906200033d565b506012600c60006101000a81548160ff021916908360ff160217905550348015620000ee57600080fd5b506040516200442638038062004426833981810160405260408110156200011457600080fd5b8101908080519060200190929190805190602001909291905050506000620001416200033560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600c60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460016000620002786200033560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002c66200033560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040518082815260200191505060405180910390a35050620003f3565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620003755760008555620003c1565b82601f106200039057805160ff1916838001178555620003c1565b82800160010185558215620003c1579182015b82811115620003c0578251825591602001919060010190620003a3565b5b509050620003d09190620003d4565b5090565b5b80821115620003ef576000816000905550600101620003d5565b5090565b61402380620004036000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063715018a6116100de578063c6859d0711610097578063f2cc0c1811610071578063f2cc0c18146107c3578063f2fde38b14610807578063f84354f11461084b578063f96352ae1461088f57610173565b8063c6859d07146106bd578063cba0e996146106f1578063dd62ed3e1461074b57610173565b8063715018a6146104f05780638da5cb5b146104fa57806395d89b411461052e578063a457c2d7146105b1578063a9059cbb14610615578063bd7644b81461067957610173565b8063313ce56711610130578063313ce5671461034d578063395093511461036e5780634549b039146103d25780635b7c132d146104205780636859d4ca1461046457806370a082311461049857610173565b8063053ab1821461017857806306fdde03146101a6578063095ea7b31461022957806313114a9d1461028d57806318160ddd146102ab57806323b872dd146102c9575b600080fd5b6101a46004803603602081101561018e57600080fd5b81019080803590602001909291905050506108d3565b005b6101ae610a65565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b07565b60405180821515815260200191505060405180910390f35b610295610b25565b6040518082815260200191505060405180910390f35b6102b3610b2f565b6040518082815260200191505060405180910390f35b610335600480360360608110156102df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b39565b60405180821515815260200191505060405180910390f35b610355610cc9565b604051808260ff16815260200191505060405180910390f35b6103ba6004803603604081101561038457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce0565b60405180821515815260200191505060405180910390f35b61040a600480360360408110156103e857600080fd5b8101908080359060200190929190803515159060200190929190505050610d93565b6040518082815260200191505060405180910390f35b6104626004803603602081101561043657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e4c565b005b61046c610f58565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104da600480360360208110156104ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f7e565b6040518082815260200191505060405180910390f35b6104f8611069565b005b6105026111ef565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610536611218565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561057657808201518184015260208101905061055b565b50505050905090810190601f1680156105a35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105fd600480360360408110156105c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112ba565b60405180821515815260200191505060405180910390f35b6106616004803603604081101561062b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611387565b60405180821515815260200191505060405180910390f35b6106bb6004803603602081101561068f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114e0565b005b6106c56115ec565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107336004803603602081101561070757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611612565b60405180821515815260200191505060405180910390f35b6107ad6004803603604081101561076157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611668565b6040518082815260200191505060405180910390f35b610805600480360360208110156107d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116ef565b005b6108496004803603602081101561081d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a09565b005b61088d6004803603602081101561086157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c14565b005b6108d1600480360360208110156108a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061205e565b005b60006108dd6121d9565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613f9d602c913960400191505060405180910390fd5b600061098f8360006121e1565b5050505090506109e781600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a3f8160085461222990919063ffffffff16565b600881905550610a5a8360095461227390919063ffffffff16565b600981905550505050565b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610afd5780601f10610ad257610100808354040283529160200191610afd565b820191906000526020600020905b815481529060010190602001808311610ae057829003601f168201915b5050505050905090565b6000610b1b610b146121d9565b84846122fb565b6001905092915050565b6000600954905090565b6000600754905090565b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610bdc5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610bf157610bec8484846124f2565b610bfd565b610bfc848484612898565b5b610cbe84610c096121d9565b610cb985604051806060016040528060288152602001613f0360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c6f6121d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cf79092919063ffffffff16565b6122fb565b600190509392505050565b6000600c60009054906101000a900460ff16905090565b6000610d89610ced6121d9565b84610d848560036000610cfe6121d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b6122fb565b6001905092915050565b6000600754831115610e0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610e2e576000610e1f8460006121e1565b50505050905080915050610e46565b6000610e3b8460006121e1565b505050915050809150505b92915050565b610e546121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561101957600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050611064565b611061600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612db7565b90505b919050565b6110716121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611131576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112b05780601f10611285576101008083540402835291602001916112b0565b820191906000526020600020905b81548152906001019060200180831161129357829003601f168201915b5050505050905090565b600061137d6112c76121d9565b8461137885604051806060016040528060258152602001613fc960259139600360006112f16121d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cf79092919063ffffffff16565b6122fb565b6001905092915050565b6000806113926121d9565b905060006113a08585612ddf565b905060008490506000151582151514156114115760006113dd60646113cf600589612f9f90919063ffffffff16565b61302590919063ffffffff16565b90506113f2818761222990919063ffffffff16565b91506114098160075461222990919063ffffffff16565b600781905550505b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114b25750600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156114c7576114c28387836124f2565b6114d3565b6114d2838783612898565b5b6001935050505092915050565b6114e86121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116f76121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561194b57611907600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612db7565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a116121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ad1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613e9a6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611c1c6121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cdc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611d9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f556e69737761702063616e6e6f7420626520696e636c7564656421000000000081525060200191505060405180910390fd5b60005b60058054905081101561205a578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611e8f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561204d57600560016005805490500381548110611eeb57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611f2357fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600580548061201357fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561205a565b8080600101915050611e5e565b5050565b6120666121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612126576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600033905090565b6000806000806000806121f261306f565b905060008060006122058b60008661309a565b9250925092508282828d600098509850985098509850505050509295509295909350565b600061226b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612cf7565b905092915050565b6000808284019050838110156122f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612381576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613f796024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612407576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613ec06022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612578576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613f546025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613e776023913960400191505060405180910390fd5b60008111612657576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613f2b6029913960400191505060405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126f95750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156127105761270b83838360016130f8565b612893565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127b25750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156127c9576127c483838360026130f8565b612892565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561286c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156128835761287e83838360016133e2565b612891565b6128908383836002613637565b5b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561291e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613f546025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129a4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613e776023913960400191505060405180910390fd5b600081116129fd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613f2b6029913960400191505060405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612aa05750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ab757612ab283838360006133e2565b612cf2565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612b5a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612b7157612b6c8383836000613637565b612cf1565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612c155750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c2a57612c2583838361388c565b612cf0565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612ccc5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612ce357612cde83838360006130f8565b612cef565b612cee83838361388c565b5b5b5b5b505050565b6000838311158290612da4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d69578082015181840152602081019050612d4e565b50505050905090810190601f168015612d965780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080612dc261306f565b9050612dd7818461302590919063ffffffff16565b915050919050565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612e226121d9565b73ffffffffffffffffffffffffffffffffffffffff1614612e465760009050612f99565b6000612e6f6064612e61600a86612f9f90919063ffffffff16565b61302590919063ffffffff16565b90506000612e9a6064612e8c601985612f9f90919063ffffffff16565b61302590919063ffffffff16565b905060008190506000612eca6064612ebc601487612f9f90919063ffffffff16565b61302590919063ffffffff16565b90506000612ef56064612ee7601e88612f9f90919063ffffffff16565b61302590919063ffffffff16565b9050612f0c8560075461227390919063ffffffff16565b600781905550612f1c8885613a4c565b612f48600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684613a4c565b612f74600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613a4c565b612f898160095461227390919063ffffffff16565b6009819055506001955050505050505b92915050565b600080831415612fb2576000905061301f565b6000828402905082848281612fc357fe5b041461301a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613ee26021913960400191505060405180910390fd5b809150505b92915050565b600061306783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613ae5565b905092915050565b600080600061307c613bab565b91509150613093818361302590919063ffffffff16565b9250505090565b6000806000806130b38588612f9f90919063ffffffff16565b905060006130ca8688612f9f90919063ffffffff16565b905060006130e1828461222990919063ffffffff16565b905082818395509550955050505093509350939050565b600080600080600061310a87876121e1565b9450945094509450945061316687600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131fb85600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061329082600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061332584600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133728382613e3c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3505050505050505050565b60008060008060006133f487876121e1565b9450945094509450945061345087600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134e585600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061357a84600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135c78382613e3c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3505050505050505050565b600080600080600061364987876121e1565b945094509450945094506136a585600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061373a82600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506137cf84600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061381c8382613e3c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3505050505050505050565b600080600080600061389f8660006121e1565b945094509450945094506138fb85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061399084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506139dd8382613e3c565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b613a9e81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008083118290613b91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613b56578082015181840152602081019050613b3b565b50505050905090810190601f168015613b835780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581613b9d57fe5b049050809150509392505050565b600080600060085490506000600754905060005b600580549050811015613dff57826001600060058481548110613bde57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180613cc55750816002600060058481548110613c5d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15613cdc5760085460075494509450505050613e38565b613d656001600060058481548110613cf057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461222990919063ffffffff16565b9250613df06002600060058481548110613d7b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361222990919063ffffffff16565b91508080600101915050613bbf565b50613e1760075460085461302590919063ffffffff16565b821015613e2f57600854600754935093505050613e38565b81819350935050505b9091565b613e518260085461222990919063ffffffff16565b600881905550613e6c8160095461227390919063ffffffff16565b600981905550505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fd7e616e360ea7701584588c8275d9990390779bd3fc75695f8168c6f6d54c3164736f6c63430007060033000000000000000000000000906adfb33033c6c29e6c150cc4d84ec4f0e602850000000000000000000000006c7e45a322f1a674dfd474435c593faea00576d2

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101735760003560e01c8063715018a6116100de578063c6859d0711610097578063f2cc0c1811610071578063f2cc0c18146107c3578063f2fde38b14610807578063f84354f11461084b578063f96352ae1461088f57610173565b8063c6859d07146106bd578063cba0e996146106f1578063dd62ed3e1461074b57610173565b8063715018a6146104f05780638da5cb5b146104fa57806395d89b411461052e578063a457c2d7146105b1578063a9059cbb14610615578063bd7644b81461067957610173565b8063313ce56711610130578063313ce5671461034d578063395093511461036e5780634549b039146103d25780635b7c132d146104205780636859d4ca1461046457806370a082311461049857610173565b8063053ab1821461017857806306fdde03146101a6578063095ea7b31461022957806313114a9d1461028d57806318160ddd146102ab57806323b872dd146102c9575b600080fd5b6101a46004803603602081101561018e57600080fd5b81019080803590602001909291905050506108d3565b005b6101ae610a65565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b07565b60405180821515815260200191505060405180910390f35b610295610b25565b6040518082815260200191505060405180910390f35b6102b3610b2f565b6040518082815260200191505060405180910390f35b610335600480360360608110156102df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b39565b60405180821515815260200191505060405180910390f35b610355610cc9565b604051808260ff16815260200191505060405180910390f35b6103ba6004803603604081101561038457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce0565b60405180821515815260200191505060405180910390f35b61040a600480360360408110156103e857600080fd5b8101908080359060200190929190803515159060200190929190505050610d93565b6040518082815260200191505060405180910390f35b6104626004803603602081101561043657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e4c565b005b61046c610f58565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104da600480360360208110156104ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f7e565b6040518082815260200191505060405180910390f35b6104f8611069565b005b6105026111ef565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610536611218565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561057657808201518184015260208101905061055b565b50505050905090810190601f1680156105a35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105fd600480360360408110156105c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112ba565b60405180821515815260200191505060405180910390f35b6106616004803603604081101561062b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611387565b60405180821515815260200191505060405180910390f35b6106bb6004803603602081101561068f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114e0565b005b6106c56115ec565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107336004803603602081101561070757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611612565b60405180821515815260200191505060405180910390f35b6107ad6004803603604081101561076157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611668565b6040518082815260200191505060405180910390f35b610805600480360360208110156107d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116ef565b005b6108496004803603602081101561081d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a09565b005b61088d6004803603602081101561086157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c14565b005b6108d1600480360360208110156108a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061205e565b005b60006108dd6121d9565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613f9d602c913960400191505060405180910390fd5b600061098f8360006121e1565b5050505090506109e781600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a3f8160085461222990919063ffffffff16565b600881905550610a5a8360095461227390919063ffffffff16565b600981905550505050565b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610afd5780601f10610ad257610100808354040283529160200191610afd565b820191906000526020600020905b815481529060010190602001808311610ae057829003601f168201915b5050505050905090565b6000610b1b610b146121d9565b84846122fb565b6001905092915050565b6000600954905090565b6000600754905090565b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610bdc5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610bf157610bec8484846124f2565b610bfd565b610bfc848484612898565b5b610cbe84610c096121d9565b610cb985604051806060016040528060288152602001613f0360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c6f6121d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cf79092919063ffffffff16565b6122fb565b600190509392505050565b6000600c60009054906101000a900460ff16905090565b6000610d89610ced6121d9565b84610d848560036000610cfe6121d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b6122fb565b6001905092915050565b6000600754831115610e0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610e2e576000610e1f8460006121e1565b50505050905080915050610e46565b6000610e3b8460006121e1565b505050915050809150505b92915050565b610e546121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561101957600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050611064565b611061600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612db7565b90505b919050565b6110716121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611131576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112b05780601f10611285576101008083540402835291602001916112b0565b820191906000526020600020905b81548152906001019060200180831161129357829003601f168201915b5050505050905090565b600061137d6112c76121d9565b8461137885604051806060016040528060258152602001613fc960259139600360006112f16121d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cf79092919063ffffffff16565b6122fb565b6001905092915050565b6000806113926121d9565b905060006113a08585612ddf565b905060008490506000151582151514156114115760006113dd60646113cf600589612f9f90919063ffffffff16565b61302590919063ffffffff16565b90506113f2818761222990919063ffffffff16565b91506114098160075461222990919063ffffffff16565b600781905550505b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114b25750600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156114c7576114c28387836124f2565b6114d3565b6114d2838783612898565b5b6001935050505092915050565b6114e86121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116f76121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561194b57611907600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612db7565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a116121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ad1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613e9a6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611c1c6121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cdc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611d9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f556e69737761702063616e6e6f7420626520696e636c7564656421000000000081525060200191505060405180910390fd5b60005b60058054905081101561205a578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611e8f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561204d57600560016005805490500381548110611eeb57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611f2357fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600580548061201357fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561205a565b8080600101915050611e5e565b5050565b6120666121d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612126576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600033905090565b6000806000806000806121f261306f565b905060008060006122058b60008661309a565b9250925092508282828d600098509850985098509850505050509295509295909350565b600061226b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612cf7565b905092915050565b6000808284019050838110156122f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612381576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613f796024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612407576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613ec06022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612578576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613f546025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613e776023913960400191505060405180910390fd5b60008111612657576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613f2b6029913960400191505060405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126f95750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156127105761270b83838360016130f8565b612893565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127b25750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156127c9576127c483838360026130f8565b612892565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561286c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156128835761287e83838360016133e2565b612891565b6128908383836002613637565b5b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561291e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613f546025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129a4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613e776023913960400191505060405180910390fd5b600081116129fd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613f2b6029913960400191505060405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612aa05750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ab757612ab283838360006133e2565b612cf2565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612b5a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612b7157612b6c8383836000613637565b612cf1565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612c155750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c2a57612c2583838361388c565b612cf0565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612ccc5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612ce357612cde83838360006130f8565b612cef565b612cee83838361388c565b5b5b5b5b505050565b6000838311158290612da4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d69578082015181840152602081019050612d4e565b50505050905090810190601f168015612d965780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080612dc261306f565b9050612dd7818461302590919063ffffffff16565b915050919050565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612e226121d9565b73ffffffffffffffffffffffffffffffffffffffff1614612e465760009050612f99565b6000612e6f6064612e61600a86612f9f90919063ffffffff16565b61302590919063ffffffff16565b90506000612e9a6064612e8c601985612f9f90919063ffffffff16565b61302590919063ffffffff16565b905060008190506000612eca6064612ebc601487612f9f90919063ffffffff16565b61302590919063ffffffff16565b90506000612ef56064612ee7601e88612f9f90919063ffffffff16565b61302590919063ffffffff16565b9050612f0c8560075461227390919063ffffffff16565b600781905550612f1c8885613a4c565b612f48600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684613a4c565b612f74600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613a4c565b612f898160095461227390919063ffffffff16565b6009819055506001955050505050505b92915050565b600080831415612fb2576000905061301f565b6000828402905082848281612fc357fe5b041461301a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613ee26021913960400191505060405180910390fd5b809150505b92915050565b600061306783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613ae5565b905092915050565b600080600061307c613bab565b91509150613093818361302590919063ffffffff16565b9250505090565b6000806000806130b38588612f9f90919063ffffffff16565b905060006130ca8688612f9f90919063ffffffff16565b905060006130e1828461222990919063ffffffff16565b905082818395509550955050505093509350939050565b600080600080600061310a87876121e1565b9450945094509450945061316687600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131fb85600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061329082600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061332584600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133728382613e3c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3505050505050505050565b60008060008060006133f487876121e1565b9450945094509450945061345087600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134e585600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061357a84600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135c78382613e3c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3505050505050505050565b600080600080600061364987876121e1565b945094509450945094506136a585600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061373a82600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506137cf84600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061381c8382613e3c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3505050505050505050565b600080600080600061389f8660006121e1565b945094509450945094506138fb85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222990919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061399084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506139dd8382613e3c565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b613a9e81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227390919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008083118290613b91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613b56578082015181840152602081019050613b3b565b50505050905090810190601f168015613b835780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581613b9d57fe5b049050809150509392505050565b600080600060085490506000600754905060005b600580549050811015613dff57826001600060058481548110613bde57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180613cc55750816002600060058481548110613c5d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15613cdc5760085460075494509450505050613e38565b613d656001600060058481548110613cf057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461222990919063ffffffff16565b9250613df06002600060058481548110613d7b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361222990919063ffffffff16565b91508080600101915050613bbf565b50613e1760075460085461302590919063ffffffff16565b821015613e2f57600854600754935093505050613e38565b81819350935050505b9091565b613e518260085461222990919063ffffffff16565b600881905550613e6c8160095461227390919063ffffffff16565b600981905550505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fd7e616e360ea7701584588c8275d9990390779bd3fc75695f8168c6f6d54c3164736f6c63430007060033

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

000000000000000000000000906adfb33033c6c29e6c150cc4d84ec4f0e602850000000000000000000000006c7e45a322f1a674dfd474435c593faea00576d2

-----Decoded View---------------
Arg [0] : _MARKETING_WALLET (address): 0x906AdFb33033c6c29e6c150cC4d84ec4f0E60285
Arg [1] : _LIQUIDITY_PROVIDER_WALLET (address): 0x6C7e45a322f1a674dfD474435c593fAea00576d2

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000906adfb33033c6c29e6c150cc4d84ec4f0e60285
Arg [1] : 0000000000000000000000006c7e45a322f1a674dfd474435c593faea00576d2


Deployed Bytecode Sourcemap

3706:13866:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7754:379;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4846:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5583:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7659:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5123:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6609:421;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5032:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7038:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8141:440;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17275:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4452:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5226:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3299:148;;;:::i;:::-;;3085:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4937:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7264:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5752:849;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17431:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4414:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7541:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5432:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8855:332;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3455:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9195:549;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9752:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7754:379;7806:14;7823:12;:10;:12::i;:::-;7806:29;;7855:11;:19;7867:6;7855:19;;;;;;;;;;;;;;;;;;;;;;;;;7854:20;7846:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7935:15;7958:22;7969:7;7978:1;7958:10;:22::i;:::-;7934:46;;;;;;8009:28;8029:7;8009;:15;8017:6;8009:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;7991:7;:15;7999:6;7991:15;;;;;;;;;;;;;;;:46;;;;8058:20;8070:7;8058;;:11;;:20;;;;:::i;:::-;8048:7;:30;;;;8102:23;8117:7;8102:10;;:14;;:23;;;;:::i;:::-;8089:10;:36;;;;7754:379;;;:::o;4846:83::-;4883:13;4916:5;4909:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4846:83;:::o;5583:161::-;5658:4;5675:39;5684:12;:10;:12::i;:::-;5698:7;5707:6;5675:8;:39::i;:::-;5732:4;5725:11;;5583:161;;;;:::o;7659:87::-;7701:7;7728:10;;7721:17;;7659:87;:::o;5123:95::-;5176:7;5203;;5196:14;;5123:95;:::o;6609:421::-;6707:4;6728:10;:18;6739:6;6728:18;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;;6750:10;:21;6761:9;6750:21;;;;;;;;;;;;;;;;;;;;;;;;;6728:43;6724:144;;;6773:43;6790:6;6798:9;6809:6;6773:16;:43::i;:::-;6724:144;;;6832:36;6842:6;6850:9;6861:6;6832:9;:36::i;:::-;6724:144;6879:121;6888:6;6896:12;:10;:12::i;:::-;6910:89;6948:6;6910:89;;;;;;;;;;;;;;;;;:11;:19;6922:6;6910:19;;;;;;;;;;;;;;;:33;6930:12;:10;:12::i;:::-;6910:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6879:8;:121::i;:::-;7018:4;7011:11;;6609:421;;;;;:::o;5032:83::-;5073:5;5098:9;;;;;;;;;;;5091:16;;5032:83;:::o;7038:218::-;7126:4;7143:83;7152:12;:10;:12::i;:::-;7166:7;7175:50;7214:10;7175:11;:25;7187:12;:10;:12::i;:::-;7175:25;;;;;;;;;;;;;;;:34;7201:7;7175:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;7143:8;:83::i;:::-;7244:4;7237:11;;7038:218;;;;:::o;8141:440::-;8231:7;8270;;8259;:18;;8251:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8329:17;8324:250;;8364:15;8387:22;8398:7;8407:1;8387:10;:22::i;:::-;8363:46;;;;;;8431:7;8424:14;;;;;8324:250;8473:23;8503:22;8514:7;8523:1;8503:10;:22::i;:::-;8471:54;;;;;;8547:15;8540:22;;;8141:440;;;;;:::o;17275:148::-;3222:12;:10;:12::i;:::-;3212:22;;:6;;;;;;;;;;:22;;;3204:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17395:20:::1;17367:25;;:48;;;;;;;;;;;;;;;;;;17275:148:::0;:::o;4452:40::-;;;;;;;;;;;;;:::o;5226:198::-;5292:7;5316:11;:20;5328:7;5316:20;;;;;;;;;;;;;;;;;;;;;;;;;5312:49;;;5345:7;:16;5353:7;5345:16;;;;;;;;;;;;;;;;5338:23;;;;5312:49;5379:37;5399:7;:16;5407:7;5399:16;;;;;;;;;;;;;;;;5379:19;:37::i;:::-;5372:44;;5226:198;;;;:::o;3299:148::-;3222:12;:10;:12::i;:::-;3212:22;;:6;;;;;;;;;;:22;;;3204:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3406:1:::1;3369:40;;3390:6;::::0;::::1;;;;;;;;3369:40;;;;;;;;;;;;3437:1;3420:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3299:148::o:0;3085:79::-;3123:7;3150:6;;;;;;;;;;;3143:13;;3085:79;:::o;4937:87::-;4976:13;5009:7;5002:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4937:87;:::o;7264:269::-;7357:4;7374:129;7383:12;:10;:12::i;:::-;7397:7;7406:96;7445:15;7406:96;;;;;;;;;;;;;;;;;:11;:25;7418:12;:10;:12::i;:::-;7406:25;;;;;;;;;;;;;;;:34;7432:7;7406:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;7374:8;:129::i;:::-;7521:4;7514:11;;7264:269;;;;:::o;5752:849::-;5830:4;5847:14;5864:12;:10;:12::i;:::-;5847:29;;5887:26;5916:34;5932:9;5943:6;5916:15;:34::i;:::-;5887:63;;5961:20;5984:6;5961:29;;6141:5;6116:30;;:21;:30;;;6113:290;;;6254:16;6273:22;6291:3;6273:13;6284:1;6273:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;6254:41;;6325:20;6336:8;6325:6;:10;;:20;;;;:::i;:::-;6310:35;;6370:21;6382:8;6370:7;;:11;;:21;;;;:::i;:::-;6360:7;:31;;;;6113:290;;6419:10;:18;6430:6;6419:18;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;;6441:10;:21;6452:9;6441:21;;;;;;;;;;;;;;;;;;;;;;;;;6419:43;6415:156;;;6464:49;6481:6;6489:9;6500:12;6464:16;:49::i;:::-;6415:156;;;6529:42;6539:6;6547:9;6558:12;6529:9;:42::i;:::-;6415:156;6589:4;6582:11;;;;;5752:849;;;;:::o;17431:138::-;3222:12;:10;:12::i;:::-;3212:22;;:6;;;;;;;;;;:22;;;3204:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17542:19:::1;17521:18;;:40;;;;;;;;;;;;;;;;;;17431:138:::0;:::o;4414:31::-;;;;;;;;;;;;;:::o;7541:110::-;7599:4;7623:11;:20;7635:7;7623:20;;;;;;;;;;;;;;;;;;;;;;;;;7616:27;;7541:110;;;:::o;5432:143::-;5513:7;5540:11;:18;5552:5;5540:18;;;;;;;;;;;;;;;:27;5559:7;5540:27;;;;;;;;;;;;;;;;5533:34;;5432:143;;;;:::o;8855:332::-;3222:12;:10;:12::i;:::-;3212:22;;:6;;;;;;;;;;:22;;;3204:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8937:11:::1;:20;8949:7;8937:20;;;;;;;;;;;;;;;;;;;;;;;;;8936:21;8928:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;9022:1;9003:7;:16;9011:7;9003:16;;;;;;;;;;;;;;;;:20;9000:108;;;9059:37;9079:7;:16;9087:7;9079:16;;;;;;;;;;;;;;;;9059:19;:37::i;:::-;9040:7;:16;9048:7;9040:16;;;;;;;;;;;;;;;:56;;;;9000:108;9141:4;9118:11;:20;9130:7;9118:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;9156:9;9171:7;9156:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8855:332:::0;:::o;3455:244::-;3222:12;:10;:12::i;:::-;3212:22;;:6;;;;;;;;;;:22;;;3204:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3564:1:::1;3544:22;;:8;:22;;;;3536:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3654:8;3625:38;;3646:6;::::0;::::1;;;;;;;;3625:38;;;;;;;;;;;;3683:8;3674:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3455:244:::0;:::o;9195:549::-;3222:12;:10;:12::i;:::-;3212:22;;:6;;;;;;;;;;:22;;;3204:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9276:11:::1;:20;9288:7;9276:20;;;;;;;;;;;;;;;;;;;;;;;;;9268:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;9348:10;:19;9359:7;9348:19;;;;;;;;;;;;;;;;;;;;;;;;;9347:20;9339:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;9415:9;9410:327;9434:9;:16;;;;9430:1;:20;9410:327;;;9492:7;9476:23;;:9;9486:1;9476:12;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;9472:254;;;9535:9;9564:1;9545:9;:16;;;;:20;9535:31;;;;;;;;;;;;;;;;;;;;;;;;;9520:9;9530:1;9520:12;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;9604:1;9585:7;:16;9593:7;9585:16;;;;;;;;;;;;;;;:20;;;;9647:5;9624:11;:20;9636:7;9624:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;9671:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9705:5;;9472:254;9452:3;;;;;;;9410:327;;;;9195:549:::0;:::o;9752:144::-;3222:12;:10;:12::i;:::-;3212:22;;:6;;;;;;;;;;:22;;;3204:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9846:4:::1;9824:10;:19;9835:7;9824:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;9884:4;9861:11;:20;9873:7;9861:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;9752:144:::0;:::o;2402:106::-;2455:15;2490:10;2483:17;;2402:106;:::o;14455:418::-;14523:7;14532;14541;14550;14559;14664:19;14687:10;:8;:10::i;:::-;14664:33;;14709:15;14726:23;14751:12;14767:36;14779:7;14788:1;14791:11;14767;:36::i;:::-;14708:95;;;;;;14822:7;14831:15;14848:4;14854:7;14863:1;14814:51;;;;;;;;;;;;;;14455:418;;;;;;;;:::o;963:136::-;1021:7;1048:43;1052:1;1055;1048:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1041:50;;963:136;;;;:::o;774:181::-;832:7;852:9;868:1;864;:5;852:17;;893:1;888;:6;;880:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;946:1;939:8;;;774:181;;;;:::o;9904:337::-;10014:1;9997:19;;:5;:19;;;;9989:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10095:1;10076:21;;:7;:21;;;;10068:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10179:6;10149:11;:18;10161:5;10149:18;;;;;;;;;;;;;;;:27;10168:7;10149:27;;;;;;;;;;;;;;;:36;;;;10217:7;10201:32;;10210:5;10201:32;;;10226:6;10201:32;;;;;;;;;;;;;;;;;;9904:337;;;:::o;10249:823::-;10371:1;10353:20;;:6;:20;;;;10345:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10455:1;10434:23;;:9;:23;;;;10426:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10525:1;10516:6;:10;10508:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10589:10;:18;10600:6;10589:18;;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;;10611:11;:22;10623:9;10611:22;;;;;;;;;;;;;;;;;;;;;;;;;10589:44;10585:480;;;10650:51;10672:6;10680:9;10691:6;10699:1;10650:21;:51::i;:::-;10585:480;;;10723:10;:21;10734:9;10723:21;;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;;10748:11;:19;10760:6;10748:19;;;;;;;;;;;;;;;;;;;;;;;;;10723:44;10719:346;;;10784:51;10806:6;10814:9;10825:6;10833:1;10784:21;:51::i;:::-;10719:346;;;10858:10;:18;10869:6;10858:18;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;10881:11;:22;10893:9;10881:22;;;;;;;;;;;;;;;;;;;;;;;;;10880:23;10858:45;10854:211;;;10920:51;10942:6;10950:9;10961:6;10969:1;10920:21;:51::i;:::-;10854:211;;;11004:49;11024:6;11032:9;11043:6;11051:1;11004:19;:49::i;:::-;10854:211;10719:346;10585:480;10249:823;;;:::o;11080:942::-;11195:1;11177:20;;:6;:20;;;;11169:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11279:1;11258:23;;:9;:23;;;;11250:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11349:1;11340:6;:10;11332:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11413:11;:19;11425:6;11413:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;11437:11;:22;11449:9;11437:22;;;;;;;;;;;;;;;;;;;;;;;;;11436:23;11413:46;11409:606;;;11476:51;11498:6;11506:9;11517:6;11525:1;11476:21;:51::i;:::-;11409:606;;;11550:11;:19;11562:6;11550:19;;;;;;;;;;;;;;;;;;;;;;;;;11549:20;:46;;;;;11573:11;:22;11585:9;11573:22;;;;;;;;;;;;;;;;;;;;;;;;;11549:46;11545:470;;;11612:49;11632:6;11640:9;11651:6;11659:1;11612:19;:49::i;:::-;11545:470;;;11684:11;:19;11696:6;11684:19;;;;;;;;;;;;;;;;;;;;;;;;;11683:20;:47;;;;;11708:11;:22;11720:9;11708:22;;;;;;;;;;;;;;;;;;;;;;;;;11707:23;11683:47;11679:336;;;11747:44;11765:6;11773:9;11784:6;11747:17;:44::i;:::-;11679:336;;;11813:11;:19;11825:6;11813:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;11836:11;:22;11848:9;11836:22;;;;;;;;;;;;;;;;;;;;;;;;;11813:45;11809:206;;;11875:51;11897:6;11905:9;11916:6;11924:1;11875:21;:51::i;:::-;11809:206;;;11959:44;11977:6;11985:9;11996:6;11959:17;:44::i;:::-;11809:206;11679:336;11545:470;11409:606;11080:942;;;:::o;1107:192::-;1193:7;1226:1;1221;:6;;1229:12;1213:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1253:9;1269:1;1265;:5;1253:17;;1290:1;1283:8;;;1107:192;;;;;:::o;8589:258::-;8657:7;8764:19;8787:10;:8;:10::i;:::-;8764:33;;8815:24;8827:11;8815:7;:11;;:24;;;;:::i;:::-;8808:31;;;8589:258;;;:::o;14881:1157::-;14959:4;15184:18;;;;;;;;;;;15168:34;;:12;:10;:12::i;:::-;:34;;;15165:51;;15211:5;15204:12;;;;15165:51;15286:26;15315:23;15334:3;15315:14;15326:2;15315:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;15286:52;;15351:25;15379:35;15410:3;15379:26;15402:2;15379:18;:22;;:26;;;;:::i;:::-;:30;;:35;;;;:::i;:::-;15351:63;;15425:25;15453:17;15425:45;;15481:33;15517:35;15548:3;15517:26;15540:2;15517:18;:22;;:26;;;;:::i;:::-;:30;;:35;;;;:::i;:::-;15481:71;;15563:28;15594:35;15625:3;15594:26;15617:2;15594:18;:22;;:26;;;;:::i;:::-;:30;;:35;;;;:::i;:::-;15563:66;;15712:31;15724:18;15712:7;;:11;;:31;;;;:::i;:::-;15702:7;:41;;;;15756:47;15773:10;15785:17;15756:16;:47::i;:::-;15814:53;15831:16;;;;;;;;;;;15849:17;15814:16;:53::i;:::-;15878:70;15895:25;;;;;;;;;;;15922;15878:16;:70::i;:::-;15972:36;15987:20;15972:10;;:14;;:36;;;;:::i;:::-;15959:10;:49;;;;16026:4;16019:11;;;;;;;14881:1157;;;;;:::o;1307:250::-;1365:7;1394:1;1389;:6;1385:47;;;1419:1;1412:8;;;;1385:47;1444:9;1460:1;1456;:5;1444:17;;1489:1;1484;1480;:5;;;;;;:10;1472:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1548:1;1541:8;;;1307:250;;;;;:::o;1565:132::-;1623:7;1650:39;1654:1;1657;1650:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1643:46;;1565:132;;;;:::o;16535:163::-;16576:7;16597:15;16614;16633:19;:17;:19::i;:::-;16596:56;;;;16670:20;16682:7;16670;:11;;:20;;;;:::i;:::-;16663:27;;;;16535:163;:::o;16193:334::-;16288:7;16297;16306;16326:15;16344:24;16356:11;16344:7;:11;;:24;;;;:::i;:::-;16326:42;;16379:12;16394:21;16403:11;16394:4;:8;;:21;;;;:::i;:::-;16379:36;;16426:23;16452:17;16464:4;16452:7;:11;;:17;;;;:::i;:::-;16426:43;;16488:7;16497:15;16514:4;16480:39;;;;;;;;;16193:334;;;;;;;:::o;13599:611::-;13719:15;13736:23;13761:12;13775:23;13800:12;13816:28;13827:7;13836;13816:10;:28::i;:::-;13718:126;;;;;;;;;;13873:28;13893:7;13873;:15;13881:6;13873:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13855:7;:15;13863:6;13855:15;;;;;;;;;;;;;;;:46;;;;13930:28;13950:7;13930;:15;13938:6;13930:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13912:7;:15;13920:6;13912:15;;;;;;;;;;;;;;;:46;;;;13990:39;14013:15;13990:7;:18;13998:9;13990:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13969:7;:18;13977:9;13969:18;;;;;;;;;;;;;;;:60;;;;14061:39;14084:15;14061:7;:18;14069:9;14061:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14040:7;:18;14048:9;14040:18;;;;;;;;;;;;;;;:60;;;;14119:23;14131:4;14137;14119:11;:23::i;:::-;14175:9;14158:44;;14167:6;14158:44;;;14186:15;14158:44;;;;;;;;;;;;;;;;;;13599:611;;;;;;;;;:::o;13056:535::-;13176:15;13193:23;13218:12;13232:23;13257:12;13273:28;13284:7;13293;13273:10;:28::i;:::-;13175:126;;;;;;;;;;13330:28;13350:7;13330;:15;13338:6;13330:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13312:7;:15;13320:6;13312:15;;;;;;;;;;;;;;;:46;;;;13387:28;13407:7;13387;:15;13395:6;13387:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13369:7;:15;13377:6;13369:15;;;;;;;;;;;;;;;:46;;;;13447:39;13470:15;13447:7;:18;13455:9;13447:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13426:7;:18;13434:9;13426:18;;;;;;;;;;;;;;;:60;;;;13500:23;13512:4;13518;13500:11;:23::i;:::-;13556:9;13539:44;;13548:6;13539:44;;;13567:15;13539:44;;;;;;;;;;;;;;;;;;13056:535;;;;;;;;;:::o;12493:555::-;12611:15;12628:23;12653:12;12667:23;12692:12;12708:28;12719:7;12728;12708:10;:28::i;:::-;12610:126;;;;;;;;;;12765:28;12785:7;12765;:15;12773:6;12765:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12747:7;:15;12755:6;12747:15;;;;;;;;;;;;;;;:46;;;;12825:39;12848:15;12825:7;:18;12833:9;12825:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12804:7;:18;12812:9;12804:18;;;;;;;;;;;;;;;:60;;;;12896:39;12919:15;12896:7;:18;12904:9;12896:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12875:7;:18;12883:9;12875:18;;;;;;;;;;;;;;;:60;;;;12957:23;12969:4;12975;12957:11;:23::i;:::-;13013:9;12996:44;;13005:6;12996:44;;;13024:15;12996:44;;;;;;;;;;;;;;;;;;12493:555;;;;;;;;;:::o;12030:455::-;12129:15;12146:23;12171:12;12185:23;12210:12;12226:22;12237:7;12246:1;12226:10;:22::i;:::-;12128:120;;;;;;;;;;12277:28;12297:7;12277;:15;12285:6;12277:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12259:7;:15;12267:6;12259:15;;;;;;;;;;;;;;;:46;;;;12337:39;12360:15;12337:7;:18;12345:9;12337:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12316:7;:18;12324:9;12316:18;;;;;;;;;;;;;;;:60;;;;12394:23;12406:4;12412;12394:11;:23::i;:::-;12450:9;12433:44;;12442:6;12433:44;;;12461:15;12433:44;;;;;;;;;;;;;;;;;;12030:455;;;;;;;;:::o;16046:139::-;16147:30;16169:7;16147;:17;16155:8;16147:17;;;;;;;;;;;;;;;;:21;;:30;;;;:::i;:::-;16127:7;:17;16135:8;16127:17;;;;;;;;;;;;;;;:50;;;;16046:139;;:::o;1705:345::-;1791:7;1890:1;1886;:5;1893:12;1878:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1917:9;1933:1;1929;:5;;;;;;1917:17;;2041:1;2034:8;;;1705:345;;;;;:::o;16706:561::-;16756:7;16765;16785:15;16803:7;;16785:25;;16821:15;16839:7;;16821:25;;16868:9;16863:289;16887:9;:16;;;;16883:1;:20;16863:289;;;16953:7;16929;:21;16937:9;16947:1;16937:12;;;;;;;;;;;;;;;;;;;;;;;;;16929:21;;;;;;;;;;;;;;;;:31;:66;;;;16988:7;16964;:21;16972:9;16982:1;16972:12;;;;;;;;;;;;;;;;;;;;;;;;;16964:21;;;;;;;;;;;;;;;;:31;16929:66;16925:97;;;17005:7;;17014;;16997:25;;;;;;;;;16925:97;17047:34;17059:7;:21;17067:9;17077:1;17067:12;;;;;;;;;;;;;;;;;;;;;;;;;17059:21;;;;;;;;;;;;;;;;17047:7;:11;;:34;;;;:::i;:::-;17037:44;;17106:34;17118:7;:21;17126:9;17136:1;17126:12;;;;;;;;;;;;;;;;;;;;;;;;;17118:21;;;;;;;;;;;;;;;;17106:7;:11;;:34;;;;:::i;:::-;17096:44;;16905:3;;;;;;;16863:289;;;;17176:20;17188:7;;17176;;:11;;:20;;;;:::i;:::-;17166:7;:30;17162:61;;;17206:7;;17215;;17198:25;;;;;;;;17162:61;17242:7;17251;17234:25;;;;;;16706:561;;;:::o;14218:147::-;14296:17;14308:4;14296:7;;:11;;:17;;;;:::i;:::-;14286:7;:27;;;;14337:20;14352:4;14337:10;;:14;;:20;;;;:::i;:::-;14324:10;:33;;;;14218:147;;:::o

Swarm Source

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