ETH Price: $3,122.23 (-0.73%)

Token

Sweet Baby DeFido | t.me/sweetbabydefido (SBDeFido)
 

Overview

Max Total Supply

965,247,103.793212601 SBDeFido

Holders

77

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 SBDeFido

Value
$0.00
0x389e84ec17a8a13ce46a8e22777cf4eac9a931b5
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:
SweetBabyDeFido

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-09-17
*/

// SPDX-License-Identifier: Unlicensed

/**

 Sweet Baby DeFido !

 Stealth Launched by SBJ team.
 
 Tokenomics : 
 1% Burn on every buy and sell.
 1% Reflection on every buy and sell.
 1 Billion Total Supply.
 5% Max Buy Limit for one transaction.
 6-8% Max Holding limit.
 Taxless transfers.

 Slippage >= 12%

 Tax Breakdown:
 5% SBJ(SweetBabyJesus holders)
 5% Team

 Twitter  : twitter.com/sbdefido_token
 Telegram : t.me/sweetbabydefido
 
 DYOR

 */

pragma solidity ^0.8.4;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
    
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

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

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

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

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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);
    }

}  

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract SweetBabyDeFido is Context, 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 _isExcludedFromFee;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _tBurnTotal;
    
    uint256 private _reflection;
    uint256 private _supportingfee;
    uint256 private _burner;
    address payable private _teamWallet;
    address payable private _sbjWallet;
 
    address BURN_ADDRESS = 0x000000000000000000000000000000000000dEaD;
    
    string private constant _name = "Sweet Baby DeFido | t.me/sweetbabydefido";
    string private constant _symbol = "SBDeFido";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    bool private tradingOpen = false;
    bool private liquidityAdded = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (address payable addr1, address payable addr2) {
        _teamWallet = addr1;
        _sbjWallet = addr2;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_teamWallet] = true;
        _isExcludedFromFee[_sbjWallet] = true;
        emit Transfer(address(BURN_ADDRESS), _msgSender(), _tTotal);
    }


    function name() public pure returns (string memory) {
        return _name;
    }

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

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

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

     function totalBurned() public view returns (uint256) {
        return _tBurnTotal.add(balanceOf(address(BURN_ADDRESS)));
    }

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

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

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

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

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

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(from != address(0x000000000000000000000000000000000000dEaD),"ERC20 : excluding from the dead wallet , just in case !");
        require(to != address(0x000000000000000000000000000000000000dEaD),"ERC20 : excluding from the dead wallet , just in case !");
        require(amount > 0, "Transfer amount must be greater than zero");

        _reflection = 0;
        _supportingfee = 0;
        _burner = 0;

        if (
            (from == uniswapV2Pair || to == uniswapV2Pair) &&
            !(_isExcludedFromFee[from] || _isExcludedFromFee[to])
        ) {
            _reflection = 1;
            _supportingfee = 10;
            _burner = 1;
        }
        
        if (from != owner() && to != owner()) {
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                require(balanceOf(to) <= totalSupply().mul(6).div(100));
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && (from != uniswapV2Pair && to == uniswapV2Pair) && swapEnabled) {
                if(contractTokenBalance > 0 ){
                    swapTokensForEth(contractTokenBalance);
                }
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
            _transferStandard(from,to,amount);
        
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _teamWallet.transfer(amount.div(2));
        _sbjWallet.transfer(amount.div(2));
                
    }
    

    function addLiquidityUniswap() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        liquidityAdded = true;
        tradingOpen = true;
        _maxTxAmount = _tTotal.mul(5).div(10**2);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam,uint256 tBurn) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        uint256 currentRate =  _getRate();
        uint256 rBurn = tBurn.mul(currentRate);
        _reflectFee(rFee, rBurn, tFee, tBurn);
         emit Transfer(sender, recipient, tTransferAmount);
    }
    
    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 rBurn, uint256 tFee, uint256 tBurn) private {
        _rTotal = _rTotal.sub(rFee).sub(rBurn);
        _tFeeTotal = _tFeeTotal.add(tFee);
        _tBurnTotal = _tBurnTotal.add(tBurn);
        _tTotal = _tTotal.sub(tBurn);
        _maxTxAmount = _tTotal.mul(5).div(10**2);
    }    

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _teamWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _teamWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    
    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam,uint256 tBurn) = _getTValues(tAmount);
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, tBurn, _getRate());
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam, tBurn);
    }

    function _getTValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(_reflection).div(100);
        uint256 tTeam = tAmount.mul(_supportingfee).div(100);
        uint256 tBurn = tAmount.mul(_burner).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam).sub(tBurn);
        return (tTransferAmount,tFee,tTeam,tBurn);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 tBurn, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rBurn = tBurn.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam).sub(rBurn);
        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;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"addLiquidityUniswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalBurned","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"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a764000060075560075460001962000022919062000649565b600019620000319190620005d0565b60085561dead601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601260146101000a81548160ff0219169083151502179055506000601260156101000a81548160ff0219169083151502179055506000601260166101000a81548160ff0219169083151502179055506000601260176101000a81548160ff0219169083151502179055506000601260186101000a81548160ff0219169083151502179055506007546013553480156200011157600080fd5b50604051620039973803806200399783398181016040528101906200013791906200055b565b6000620001496200051360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620002806200051360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002d46200051b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004816200051360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620005039190620005b3565b60405180910390a35050620006fe565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000815190506200055581620006e4565b92915050565b60008060408385031215620005755762000574620006df565b5b6000620005858582860162000544565b9250506020620005988582860162000544565b9150509250929050565b620005ad816200063f565b82525050565b6000602082019050620005ca6000830184620005a2565b92915050565b6000620005dd826200063f565b9150620005ea836200063f565b9250828210156200060057620005ff62000681565b5b828203905092915050565b600062000618826200061f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000656826200063f565b915062000663836200063f565b925082620006765762000675620006b0565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b620006ef816200060b565b8114620006fb57600080fd5b50565b613289806200070e6000396000f3fe6080604052600436106100f75760003560e01c8063715018a61161008a578063c3c8cd8011610059578063c3c8cd8014610325578063d89135cd1461033c578063dd62ed3e14610367578063fc849aaa146103a4576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063313ce567116100c6578063313ce567146101d35780635932ead1146101fe5780636fc3eaec1461022757806370a082311461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103bb565b60405161012591906129e3565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612583565b6103db565b60405161016291906129c8565b60405180910390f35b34801561017757600080fd5b506101806103f9565b60405161018d9190612b65565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190612530565b610403565b6040516101ca91906129c8565b60405180910390f35b3480156101df57600080fd5b506101e86104dc565b6040516101f59190612bda565b60405180910390f35b34801561020a57600080fd5b50610225600480360381019061022091906125c3565b6104e5565b005b34801561023357600080fd5b5061023c610597565b005b34801561024a57600080fd5b5061026560048036038101906102609190612496565b610609565b6040516102729190612b65565b60405180910390f35b34801561028757600080fd5b5061029061065a565b005b34801561029e57600080fd5b506102a76107ad565b6040516102b491906128fa565b60405180910390f35b3480156102c957600080fd5b506102d26107d6565b6040516102df91906129e3565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a9190612583565b610813565b60405161031c91906129c8565b60405180910390f35b34801561033157600080fd5b5061033a610831565b005b34801561034857600080fd5b506103516108ab565b60405161035e9190612b65565b60405180910390f35b34801561037357600080fd5b5061038e600480360381019061038991906124f0565b6108f1565b60405161039b9190612b65565b60405180910390f35b3480156103b057600080fd5b506103b9610978565b005b606060405180606001604052806028815260200161322c60289139905090565b60006103ef6103e8610f08565b8484610f10565b6001905092915050565b6000600754905090565b60006104108484846110db565b6104d18461041c610f08565b6104cc8560405180606001604052806028815260200161320460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610482610f08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461181c9092919063ffffffff16565b610f10565b600190509392505050565b60006009905090565b6104ed610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461057a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057190612ac5565b60405180910390fd5b80601260166101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105d8610f08565b73ffffffffffffffffffffffffffffffffffffffff16146105f857600080fd5b600047905061060681611880565b50565b6000610653600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197b565b9050919050565b610662610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e690612ac5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f534244654669646f000000000000000000000000000000000000000000000000815250905090565b6000610827610820610f08565b84846110db565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610872610f08565b73ffffffffffffffffffffffffffffffffffffffff161461089257600080fd5b600061089d30610609565b90506108a8816119e9565b50565b60006108ec6108db601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610609565b600a54611c7190919063ffffffff16565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610980610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0490612ac5565b60405180910390fd5b601260179054906101000a900460ff1615610a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5490612b45565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ae630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600754610f10565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2c57600080fd5b505afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6491906124c3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc657600080fd5b505afa158015610bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfe91906124c3565b6040518363ffffffff1660e01b8152600401610c1b929190612915565b602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6d91906124c3565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610cf630610609565b600080610d016107ad565b426040518863ffffffff1660e01b8152600401610d2396959493929190612967565b6060604051808303818588803b158015610d3c57600080fd5b505af1158015610d50573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d75919061261d565b5050506001601260156101000a81548160ff0219169083151502179055506001601260166101000a81548160ff0219169083151502179055506001601260186101000a81548160ff0219169083151502179055506001601260176101000a81548160ff021916908315150217905550610e0d6064610dff6005600754611ccf90919063ffffffff16565b611d4a90919063ffffffff16565b601381905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610eb292919061293e565b602060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0491906125f0565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7790612b25565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe790612a65565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ce9190612b65565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561114b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114290612b05565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b290612a05565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561122c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122390612a25565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561129d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129490612a25565b60405180910390fd5b600081116112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d790612ae5565b60405180910390fd5b6000600b819055506000600c819055506000600d81905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806113a15750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b801561144b5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114495750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b155b15611469576001600b81905550600a600c819055506001600d819055505b6114716107ad565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114df57506114af6107ad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561180c57601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561158f5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115e55750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115fd5750601260169054906101000a900460ff165b156116ef5760135481111561161157600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061165c57600080fd5b61168a606461167c600661166e6103f9565b611ccf90919063ffffffff16565b611d4a90919063ffffffff16565b61169383610609565b111561169e57600080fd5b601e426116ab9190612c4a565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60006116fa30610609565b9050601260149054906101000a900460ff161580156117c05750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117bf5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b5b80156117d85750601260159054906101000a900460ff165b1561180a5760008111156117f0576117ef816119e9565b5b600047905060008111156118085761180747611880565b5b505b505b611817838383611d94565b505050565b6000838311158290611864576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185b91906129e3565b60405180910390fd5b50600083856118739190612d2b565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6118d0600284611d4a90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156118fb573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61194c600284611d4a90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611977573d6000803e3d6000fd5b5050565b60006008548211156119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b990612a45565b60405180910390fd5b60006119cc611f8b565b90506119e18184611d4a90919063ffffffff16565b915050919050565b6001601260146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a2157611a20612e86565b5b604051908082528060200260200182016040528015611a4f5781602001602082028036833780820191505090505b5090503081600081518110611a6757611a66612e57565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611b0957600080fd5b505afa158015611b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4191906124c3565b81600181518110611b5557611b54612e57565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bbc30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f10565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c20959493929190612b80565b600060405180830381600087803b158015611c3a57600080fd5b505af1158015611c4e573d6000803e3d6000fd5b50505050506000601260146101000a81548160ff02191690831515021790555050565b6000808284611c809190612c4a565b905083811015611cc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbc90612a85565b60405180910390fd5b8091505092915050565b600080831415611ce25760009050611d44565b60008284611cf09190612cd1565b9050828482611cff9190612ca0565b14611d3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3690612aa5565b60405180910390fd5b809150505b92915050565b6000611d8c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fb6565b905092915050565b6000806000806000806000611da888612019565b9650965096509650965096509650611e0887600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208190919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e9d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c7190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ee9826120cb565b6000611ef3611f8b565b90506000611f0a8284611ccf90919063ffffffff16565b9050611f1887828786612188565b8a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef88604051611f759190612b65565b60405180910390a3505050505050505050505050565b6000806000611f9861223b565b91509150611faf8183611d4a90919063ffffffff16565b9250505090565b60008083118290611ffd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff491906129e3565b60405180910390fd5b506000838561200c9190612ca0565b9050809150509392505050565b60008060008060008060008060008060006120338c612288565b935093509350935060008060006120548f87878761204f611f8b565b612364565b925092509250828282898989899d509d509d509d509d509d509d5050505050505050919395979092949650565b60006120c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061181c565b905092915050565b60006120d5611f8b565b905060006120ec8284611ccf90919063ffffffff16565b905061214081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c7190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6121af836121a18660085461208190919063ffffffff16565b61208190919063ffffffff16565b6008819055506121ca82600954611c7190919063ffffffff16565b6009819055506121e581600a54611c7190919063ffffffff16565b600a819055506122008160075461208190919063ffffffff16565b60078190555061222f60646122216005600754611ccf90919063ffffffff16565b611d4a90919063ffffffff16565b60138190555050505050565b6000806000600854905060006007549050612263600754600854611d4a90919063ffffffff16565b82101561227b57600854600754935093505050612284565b81819350935050505b9091565b60008060008060006122b860646122aa600b5489611ccf90919063ffffffff16565b611d4a90919063ffffffff16565b905060006122e460646122d6600c548a611ccf90919063ffffffff16565b611d4a90919063ffffffff16565b905060006123106064612302600d548b611ccf90919063ffffffff16565b611d4a90919063ffffffff16565b9050600061234b8261233d8561232f888e61208190919063ffffffff16565b61208190919063ffffffff16565b61208190919063ffffffff16565b9050808484849750975097509750505050509193509193565b60008060008061237d858a611ccf90919063ffffffff16565b90506000612394868a611ccf90919063ffffffff16565b905060006123ab878a611ccf90919063ffffffff16565b905060006123c2888a611ccf90919063ffffffff16565b905060006123fd826123ef856123e1888a61208190919063ffffffff16565b61208190919063ffffffff16565b61208190919063ffffffff16565b90508481859750975097505050505050955095509592505050565b600081359050612427816131be565b92915050565b60008151905061243c816131be565b92915050565b600081359050612451816131d5565b92915050565b600081519050612466816131d5565b92915050565b60008135905061247b816131ec565b92915050565b600081519050612490816131ec565b92915050565b6000602082840312156124ac576124ab612eb5565b5b60006124ba84828501612418565b91505092915050565b6000602082840312156124d9576124d8612eb5565b5b60006124e78482850161242d565b91505092915050565b6000806040838503121561250757612506612eb5565b5b600061251585828601612418565b925050602061252685828601612418565b9150509250929050565b60008060006060848603121561254957612548612eb5565b5b600061255786828701612418565b935050602061256886828701612418565b92505060406125798682870161246c565b9150509250925092565b6000806040838503121561259a57612599612eb5565b5b60006125a885828601612418565b92505060206125b98582860161246c565b9150509250929050565b6000602082840312156125d9576125d8612eb5565b5b60006125e784828501612442565b91505092915050565b60006020828403121561260657612605612eb5565b5b600061261484828501612457565b91505092915050565b60008060006060848603121561263657612635612eb5565b5b600061264486828701612481565b935050602061265586828701612481565b925050604061266686828701612481565b9150509250925092565b600061267c8383612688565b60208301905092915050565b61269181612d5f565b82525050565b6126a081612d5f565b82525050565b60006126b182612c05565b6126bb8185612c28565b93506126c683612bf5565b8060005b838110156126f75781516126de8882612670565b97506126e983612c1b565b9250506001810190506126ca565b5085935050505092915050565b61270d81612d71565b82525050565b61271c81612db4565b82525050565b600061272d82612c10565b6127378185612c39565b9350612747818560208601612dc6565b61275081612eba565b840191505092915050565b6000612768602383612c39565b915061277382612ecb565b604082019050919050565b600061278b603783612c39565b915061279682612f1a565b604082019050919050565b60006127ae602a83612c39565b91506127b982612f69565b604082019050919050565b60006127d1602283612c39565b91506127dc82612fb8565b604082019050919050565b60006127f4601b83612c39565b91506127ff82613007565b602082019050919050565b6000612817602183612c39565b915061282282613030565b604082019050919050565b600061283a602083612c39565b91506128458261307f565b602082019050919050565b600061285d602983612c39565b9150612868826130a8565b604082019050919050565b6000612880602583612c39565b915061288b826130f7565b604082019050919050565b60006128a3602483612c39565b91506128ae82613146565b604082019050919050565b60006128c6601783612c39565b91506128d182613195565b602082019050919050565b6128e581612d9d565b82525050565b6128f481612da7565b82525050565b600060208201905061290f6000830184612697565b92915050565b600060408201905061292a6000830185612697565b6129376020830184612697565b9392505050565b60006040820190506129536000830185612697565b61296060208301846128dc565b9392505050565b600060c08201905061297c6000830189612697565b61298960208301886128dc565b6129966040830187612713565b6129a36060830186612713565b6129b06080830185612697565b6129bd60a08301846128dc565b979650505050505050565b60006020820190506129dd6000830184612704565b92915050565b600060208201905081810360008301526129fd8184612722565b905092915050565b60006020820190508181036000830152612a1e8161275b565b9050919050565b60006020820190508181036000830152612a3e8161277e565b9050919050565b60006020820190508181036000830152612a5e816127a1565b9050919050565b60006020820190508181036000830152612a7e816127c4565b9050919050565b60006020820190508181036000830152612a9e816127e7565b9050919050565b60006020820190508181036000830152612abe8161280a565b9050919050565b60006020820190508181036000830152612ade8161282d565b9050919050565b60006020820190508181036000830152612afe81612850565b9050919050565b60006020820190508181036000830152612b1e81612873565b9050919050565b60006020820190508181036000830152612b3e81612896565b9050919050565b60006020820190508181036000830152612b5e816128b9565b9050919050565b6000602082019050612b7a60008301846128dc565b92915050565b600060a082019050612b9560008301886128dc565b612ba26020830187612713565b8181036040830152612bb481866126a6565b9050612bc36060830185612697565b612bd060808301846128dc565b9695505050505050565b6000602082019050612bef60008301846128eb565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612c5582612d9d565b9150612c6083612d9d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c9557612c94612df9565b5b828201905092915050565b6000612cab82612d9d565b9150612cb683612d9d565b925082612cc657612cc5612e28565b5b828204905092915050565b6000612cdc82612d9d565b9150612ce783612d9d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d2057612d1f612df9565b5b828202905092915050565b6000612d3682612d9d565b9150612d4183612d9d565b925082821015612d5457612d53612df9565b5b828203905092915050565b6000612d6a82612d7d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612dbf82612d9d565b9050919050565b60005b83811015612de4578082015181840152602081019050612dc9565b83811115612df3576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433230203a206578636c7564696e672066726f6d2074686520646561642060008201527f77616c6c6574202c206a75737420696e20636173652021000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6131c781612d5f565b81146131d257600080fd5b50565b6131de81612d71565b81146131e957600080fd5b50565b6131f581612d9d565b811461320057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365537765657420426162792044654669646f207c20742e6d652f73776565746261627964656669646fa2646970667358221220ceabee2d6f1416ed1e4b850b444037f8279e0922c25251b8437842cd854cb8e164736f6c63430008070033000000000000000000000000a3455a0364b540f90b9832355af56f325cf9e1cc0000000000000000000000002465e090c9ee3287bbb88a79e52052982bd3aa38

Deployed Bytecode

0x6080604052600436106100f75760003560e01c8063715018a61161008a578063c3c8cd8011610059578063c3c8cd8014610325578063d89135cd1461033c578063dd62ed3e14610367578063fc849aaa146103a4576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063313ce567116100c6578063313ce567146101d35780635932ead1146101fe5780636fc3eaec1461022757806370a082311461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103bb565b60405161012591906129e3565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612583565b6103db565b60405161016291906129c8565b60405180910390f35b34801561017757600080fd5b506101806103f9565b60405161018d9190612b65565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190612530565b610403565b6040516101ca91906129c8565b60405180910390f35b3480156101df57600080fd5b506101e86104dc565b6040516101f59190612bda565b60405180910390f35b34801561020a57600080fd5b50610225600480360381019061022091906125c3565b6104e5565b005b34801561023357600080fd5b5061023c610597565b005b34801561024a57600080fd5b5061026560048036038101906102609190612496565b610609565b6040516102729190612b65565b60405180910390f35b34801561028757600080fd5b5061029061065a565b005b34801561029e57600080fd5b506102a76107ad565b6040516102b491906128fa565b60405180910390f35b3480156102c957600080fd5b506102d26107d6565b6040516102df91906129e3565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a9190612583565b610813565b60405161031c91906129c8565b60405180910390f35b34801561033157600080fd5b5061033a610831565b005b34801561034857600080fd5b506103516108ab565b60405161035e9190612b65565b60405180910390f35b34801561037357600080fd5b5061038e600480360381019061038991906124f0565b6108f1565b60405161039b9190612b65565b60405180910390f35b3480156103b057600080fd5b506103b9610978565b005b606060405180606001604052806028815260200161322c60289139905090565b60006103ef6103e8610f08565b8484610f10565b6001905092915050565b6000600754905090565b60006104108484846110db565b6104d18461041c610f08565b6104cc8560405180606001604052806028815260200161320460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610482610f08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461181c9092919063ffffffff16565b610f10565b600190509392505050565b60006009905090565b6104ed610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461057a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057190612ac5565b60405180910390fd5b80601260166101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105d8610f08565b73ffffffffffffffffffffffffffffffffffffffff16146105f857600080fd5b600047905061060681611880565b50565b6000610653600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197b565b9050919050565b610662610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e690612ac5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f534244654669646f000000000000000000000000000000000000000000000000815250905090565b6000610827610820610f08565b84846110db565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610872610f08565b73ffffffffffffffffffffffffffffffffffffffff161461089257600080fd5b600061089d30610609565b90506108a8816119e9565b50565b60006108ec6108db601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610609565b600a54611c7190919063ffffffff16565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610980610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0490612ac5565b60405180910390fd5b601260179054906101000a900460ff1615610a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5490612b45565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ae630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600754610f10565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2c57600080fd5b505afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6491906124c3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc657600080fd5b505afa158015610bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfe91906124c3565b6040518363ffffffff1660e01b8152600401610c1b929190612915565b602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6d91906124c3565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610cf630610609565b600080610d016107ad565b426040518863ffffffff1660e01b8152600401610d2396959493929190612967565b6060604051808303818588803b158015610d3c57600080fd5b505af1158015610d50573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d75919061261d565b5050506001601260156101000a81548160ff0219169083151502179055506001601260166101000a81548160ff0219169083151502179055506001601260186101000a81548160ff0219169083151502179055506001601260176101000a81548160ff021916908315150217905550610e0d6064610dff6005600754611ccf90919063ffffffff16565b611d4a90919063ffffffff16565b601381905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610eb292919061293e565b602060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0491906125f0565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7790612b25565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe790612a65565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ce9190612b65565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561114b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114290612b05565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b290612a05565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561122c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122390612a25565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561129d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129490612a25565b60405180910390fd5b600081116112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d790612ae5565b60405180910390fd5b6000600b819055506000600c819055506000600d81905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806113a15750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b801561144b5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114495750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b155b15611469576001600b81905550600a600c819055506001600d819055505b6114716107ad565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114df57506114af6107ad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561180c57601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561158f5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115e55750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115fd5750601260169054906101000a900460ff165b156116ef5760135481111561161157600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061165c57600080fd5b61168a606461167c600661166e6103f9565b611ccf90919063ffffffff16565b611d4a90919063ffffffff16565b61169383610609565b111561169e57600080fd5b601e426116ab9190612c4a565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60006116fa30610609565b9050601260149054906101000a900460ff161580156117c05750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117bf5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b5b80156117d85750601260159054906101000a900460ff165b1561180a5760008111156117f0576117ef816119e9565b5b600047905060008111156118085761180747611880565b5b505b505b611817838383611d94565b505050565b6000838311158290611864576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185b91906129e3565b60405180910390fd5b50600083856118739190612d2b565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6118d0600284611d4a90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156118fb573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61194c600284611d4a90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611977573d6000803e3d6000fd5b5050565b60006008548211156119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b990612a45565b60405180910390fd5b60006119cc611f8b565b90506119e18184611d4a90919063ffffffff16565b915050919050565b6001601260146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a2157611a20612e86565b5b604051908082528060200260200182016040528015611a4f5781602001602082028036833780820191505090505b5090503081600081518110611a6757611a66612e57565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611b0957600080fd5b505afa158015611b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4191906124c3565b81600181518110611b5557611b54612e57565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bbc30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f10565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c20959493929190612b80565b600060405180830381600087803b158015611c3a57600080fd5b505af1158015611c4e573d6000803e3d6000fd5b50505050506000601260146101000a81548160ff02191690831515021790555050565b6000808284611c809190612c4a565b905083811015611cc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbc90612a85565b60405180910390fd5b8091505092915050565b600080831415611ce25760009050611d44565b60008284611cf09190612cd1565b9050828482611cff9190612ca0565b14611d3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3690612aa5565b60405180910390fd5b809150505b92915050565b6000611d8c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fb6565b905092915050565b6000806000806000806000611da888612019565b9650965096509650965096509650611e0887600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461208190919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e9d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c7190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ee9826120cb565b6000611ef3611f8b565b90506000611f0a8284611ccf90919063ffffffff16565b9050611f1887828786612188565b8a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef88604051611f759190612b65565b60405180910390a3505050505050505050505050565b6000806000611f9861223b565b91509150611faf8183611d4a90919063ffffffff16565b9250505090565b60008083118290611ffd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff491906129e3565b60405180910390fd5b506000838561200c9190612ca0565b9050809150509392505050565b60008060008060008060008060008060006120338c612288565b935093509350935060008060006120548f87878761204f611f8b565b612364565b925092509250828282898989899d509d509d509d509d509d509d5050505050505050919395979092949650565b60006120c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061181c565b905092915050565b60006120d5611f8b565b905060006120ec8284611ccf90919063ffffffff16565b905061214081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c7190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6121af836121a18660085461208190919063ffffffff16565b61208190919063ffffffff16565b6008819055506121ca82600954611c7190919063ffffffff16565b6009819055506121e581600a54611c7190919063ffffffff16565b600a819055506122008160075461208190919063ffffffff16565b60078190555061222f60646122216005600754611ccf90919063ffffffff16565b611d4a90919063ffffffff16565b60138190555050505050565b6000806000600854905060006007549050612263600754600854611d4a90919063ffffffff16565b82101561227b57600854600754935093505050612284565b81819350935050505b9091565b60008060008060006122b860646122aa600b5489611ccf90919063ffffffff16565b611d4a90919063ffffffff16565b905060006122e460646122d6600c548a611ccf90919063ffffffff16565b611d4a90919063ffffffff16565b905060006123106064612302600d548b611ccf90919063ffffffff16565b611d4a90919063ffffffff16565b9050600061234b8261233d8561232f888e61208190919063ffffffff16565b61208190919063ffffffff16565b61208190919063ffffffff16565b9050808484849750975097509750505050509193509193565b60008060008061237d858a611ccf90919063ffffffff16565b90506000612394868a611ccf90919063ffffffff16565b905060006123ab878a611ccf90919063ffffffff16565b905060006123c2888a611ccf90919063ffffffff16565b905060006123fd826123ef856123e1888a61208190919063ffffffff16565b61208190919063ffffffff16565b61208190919063ffffffff16565b90508481859750975097505050505050955095509592505050565b600081359050612427816131be565b92915050565b60008151905061243c816131be565b92915050565b600081359050612451816131d5565b92915050565b600081519050612466816131d5565b92915050565b60008135905061247b816131ec565b92915050565b600081519050612490816131ec565b92915050565b6000602082840312156124ac576124ab612eb5565b5b60006124ba84828501612418565b91505092915050565b6000602082840312156124d9576124d8612eb5565b5b60006124e78482850161242d565b91505092915050565b6000806040838503121561250757612506612eb5565b5b600061251585828601612418565b925050602061252685828601612418565b9150509250929050565b60008060006060848603121561254957612548612eb5565b5b600061255786828701612418565b935050602061256886828701612418565b92505060406125798682870161246c565b9150509250925092565b6000806040838503121561259a57612599612eb5565b5b60006125a885828601612418565b92505060206125b98582860161246c565b9150509250929050565b6000602082840312156125d9576125d8612eb5565b5b60006125e784828501612442565b91505092915050565b60006020828403121561260657612605612eb5565b5b600061261484828501612457565b91505092915050565b60008060006060848603121561263657612635612eb5565b5b600061264486828701612481565b935050602061265586828701612481565b925050604061266686828701612481565b9150509250925092565b600061267c8383612688565b60208301905092915050565b61269181612d5f565b82525050565b6126a081612d5f565b82525050565b60006126b182612c05565b6126bb8185612c28565b93506126c683612bf5565b8060005b838110156126f75781516126de8882612670565b97506126e983612c1b565b9250506001810190506126ca565b5085935050505092915050565b61270d81612d71565b82525050565b61271c81612db4565b82525050565b600061272d82612c10565b6127378185612c39565b9350612747818560208601612dc6565b61275081612eba565b840191505092915050565b6000612768602383612c39565b915061277382612ecb565b604082019050919050565b600061278b603783612c39565b915061279682612f1a565b604082019050919050565b60006127ae602a83612c39565b91506127b982612f69565b604082019050919050565b60006127d1602283612c39565b91506127dc82612fb8565b604082019050919050565b60006127f4601b83612c39565b91506127ff82613007565b602082019050919050565b6000612817602183612c39565b915061282282613030565b604082019050919050565b600061283a602083612c39565b91506128458261307f565b602082019050919050565b600061285d602983612c39565b9150612868826130a8565b604082019050919050565b6000612880602583612c39565b915061288b826130f7565b604082019050919050565b60006128a3602483612c39565b91506128ae82613146565b604082019050919050565b60006128c6601783612c39565b91506128d182613195565b602082019050919050565b6128e581612d9d565b82525050565b6128f481612da7565b82525050565b600060208201905061290f6000830184612697565b92915050565b600060408201905061292a6000830185612697565b6129376020830184612697565b9392505050565b60006040820190506129536000830185612697565b61296060208301846128dc565b9392505050565b600060c08201905061297c6000830189612697565b61298960208301886128dc565b6129966040830187612713565b6129a36060830186612713565b6129b06080830185612697565b6129bd60a08301846128dc565b979650505050505050565b60006020820190506129dd6000830184612704565b92915050565b600060208201905081810360008301526129fd8184612722565b905092915050565b60006020820190508181036000830152612a1e8161275b565b9050919050565b60006020820190508181036000830152612a3e8161277e565b9050919050565b60006020820190508181036000830152612a5e816127a1565b9050919050565b60006020820190508181036000830152612a7e816127c4565b9050919050565b60006020820190508181036000830152612a9e816127e7565b9050919050565b60006020820190508181036000830152612abe8161280a565b9050919050565b60006020820190508181036000830152612ade8161282d565b9050919050565b60006020820190508181036000830152612afe81612850565b9050919050565b60006020820190508181036000830152612b1e81612873565b9050919050565b60006020820190508181036000830152612b3e81612896565b9050919050565b60006020820190508181036000830152612b5e816128b9565b9050919050565b6000602082019050612b7a60008301846128dc565b92915050565b600060a082019050612b9560008301886128dc565b612ba26020830187612713565b8181036040830152612bb481866126a6565b9050612bc36060830185612697565b612bd060808301846128dc565b9695505050505050565b6000602082019050612bef60008301846128eb565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612c5582612d9d565b9150612c6083612d9d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c9557612c94612df9565b5b828201905092915050565b6000612cab82612d9d565b9150612cb683612d9d565b925082612cc657612cc5612e28565b5b828204905092915050565b6000612cdc82612d9d565b9150612ce783612d9d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d2057612d1f612df9565b5b828202905092915050565b6000612d3682612d9d565b9150612d4183612d9d565b925082821015612d5457612d53612df9565b5b828203905092915050565b6000612d6a82612d7d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612dbf82612d9d565b9050919050565b60005b83811015612de4578082015181840152602081019050612dc9565b83811115612df3576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433230203a206578636c7564696e672066726f6d2074686520646561642060008201527f77616c6c6574202c206a75737420696e20636173652021000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6131c781612d5f565b81146131d257600080fd5b50565b6131de81612d71565b81146131e957600080fd5b50565b6131f581612d9d565b811461320057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365537765657420426162792044654669646f207c20742e6d652f73776565746261627964656669646fa2646970667358221220ceabee2d6f1416ed1e4b850b444037f8279e0922c25251b8437842cd854cb8e164736f6c63430008070033

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

000000000000000000000000a3455a0364b540f90b9832355af56f325cf9e1cc0000000000000000000000002465e090c9ee3287bbb88a79e52052982bd3aa38

-----Decoded View---------------
Arg [0] : addr1 (address): 0xa3455A0364B540f90B9832355af56f325cf9E1Cc
Arg [1] : addr2 (address): 0x2465E090C9EE3287bbB88a79E52052982bD3AA38

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a3455a0364b540f90b9832355af56f325cf9e1cc
Arg [1] : 0000000000000000000000002465e090c9ee3287bbb88a79e52052982bd3aa38


Deployed Bytecode Sourcemap

3967:11112:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5935:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6924:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6212:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7093:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6121:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7414:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13086:190;;;;;;;;;;;;;:::i;:::-;;6452:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3046:148;;;;;;;;;;;;;:::i;:::-;;2832:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6026:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6598:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12883:191;;;;;;;;;;;;;:::i;:::-;;6316:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6773:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10789:862;;;;;;;;;;;;;:::i;:::-;;5935:83;5972:13;6005:5;;;;;;;;;;;;;;;;;5998:12;;5935:83;:::o;6924:161::-;6999:4;7016:39;7025:12;:10;:12::i;:::-;7039:7;7048:6;7016:8;:39::i;:::-;7073:4;7066:11;;6924:161;;;;:::o;6212:95::-;6265:7;6292;;6285:14;;6212:95;:::o;7093:313::-;7191:4;7208:36;7218:6;7226:9;7237:6;7208:9;:36::i;:::-;7255:121;7264:6;7272:12;:10;:12::i;:::-;7286:89;7324:6;7286:89;;;;;;;;;;;;;;;;;:11;:19;7298:6;7286:19;;;;;;;;;;;;;;;:33;7306:12;:10;:12::i;:::-;7286:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7255:8;:121::i;:::-;7394:4;7387:11;;7093:313;;;;;:::o;6121:83::-;6162:5;5007:1;6180:16;;6121:83;:::o;7414:103::-;2969:12;:10;:12::i;:::-;2959:22;;:6;;;;;;;;;;:22;;;2951:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7504:5:::1;7486:15;;:23;;;;;;;;;;;;;;;;;;7414:103:::0;:::o;13086:190::-;13152:11;;;;;;;;;;;13136:27;;:12;:10;:12::i;:::-;:27;;;13128:36;;;;;;13175:26;13204:21;13175:50;;13236:32;13249:18;13236:12;:32::i;:::-;13117:159;13086:190::o;6452:138::-;6518:7;6545:37;6565:7;:16;6573:7;6565:16;;;;;;;;;;;;;;;;6545:19;:37::i;:::-;6538:44;;6452:138;;;:::o;3046:148::-;2969:12;:10;:12::i;:::-;2959:22;;:6;;;;;;;;;;:22;;;2951:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3153:1:::1;3116:40;;3137:6;::::0;::::1;;;;;;;;3116:40;;;;;;;;;;;;3184:1;3167:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3046:148::o:0;2832:79::-;2870:7;2897:6;;;;;;;;;;;2890:13;;2832:79;:::o;6026:87::-;6065:13;6098:7;;;;;;;;;;;;;;;;;6091:14;;6026:87;:::o;6598:167::-;6676:4;6693:42;6703:12;:10;:12::i;:::-;6717:9;6728:6;6693:9;:42::i;:::-;6753:4;6746:11;;6598:167;;;;:::o;12883:191::-;12949:11;;;;;;;;;;;12933:27;;:12;:10;:12::i;:::-;:27;;;12925:36;;;;;;12972:23;12998:24;13016:4;12998:9;:24::i;:::-;12972:50;;13033:33;13050:15;13033:16;:33::i;:::-;12914:160;12883:191::o;6316:128::-;6360:7;6387:49;6403:32;6421:12;;;;;;;;;;;6403:9;:32::i;:::-;6387:11;;:15;;:49;;;;:::i;:::-;6380:56;;6316:128;:::o;6773:143::-;6854:7;6881:11;:18;6893:5;6881:18;;;;;;;;;;;;;;;:27;6900:7;6881:27;;;;;;;;;;;;;;;;6874:34;;6773:143;;;;:::o;10789:862::-;2969:12;:10;:12::i;:::-;2959:22;;:6;;;;;;;;;;:22;;;2951:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10861:11:::1;;;;;;;;;;;10860:12;10852:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10910:35;10967:42;10910:100;;11039:16;11021:15;;:34;;;;;;;;;;;;;;;;;;11066:58;11083:4;11098:15;;;;;;;;;;;11116:7;;11066:8;:58::i;:::-;11169:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11151:56;;;11216:4;11223:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11151:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11135:13;;:112;;;;;;;;;;;;;;;;;;11258:15;;;;;;;;;;;:31;;;11297:21;11328:4;11334:24;11352:4;11334:9;:24::i;:::-;11359:1;11361::::0;11363:7:::1;:5;:7::i;:::-;11371:15;11258:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11412:4;11398:11;;:18;;;;;;;;;;;;;;;;;;11445:4;11427:15;;:22;;;;;;;;;;;;;;;;;;11477:4;11460:14;;:21;;;;;;;;;;;;;;;;;;11506:4;11492:11;;:18;;;;;;;;;;;;;;;;;;11536:25;11555:5;11536:14;11548:1;11536:7;;:11;;:14;;;;:::i;:::-;:18;;:25;;;;:::i;:::-;11521:12;:40;;;;11579:13;;;;;;;;;;;11572:29;;;11610:15;;;;;;;;;;;11628:14;11572:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10841:810;10789:862::o:0;546:98::-;599:7;626:10;619:17;;546:98;:::o;7792:335::-;7902:1;7885:19;;:5;:19;;;;7877:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7983:1;7964:21;;:7;:21;;;;7956:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8065:6;8035:11;:18;8047:5;8035:18;;;;;;;;;;;;;;;:27;8054:7;8035:27;;;;;;;;;;;;;;;:36;;;;8103:7;8087:32;;8096:5;8087:32;;;8112:6;8087:32;;;;;;:::i;:::-;;;;;;;;7792:335;;;:::o;8135:1970::-;8239:1;8223:18;;:4;:18;;;;8215:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8316:1;8302:16;;:2;:16;;;;8294:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8393:42;8377:59;;:4;:59;;;;8369:126;;;;;;;;;;;;:::i;:::-;;;;;;;;;8528:42;8514:57;;:2;:57;;;;8506:124;;;;;;;;;;;;:::i;:::-;;;;;;;;;8658:1;8649:6;:10;8641:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8732:1;8718:11;:15;;;;8761:1;8744:14;:18;;;;8783:1;8773:7;:11;;;;8824:13;;;;;;;;;;;8816:21;;:4;:21;;;:44;;;;8847:13;;;;;;;;;;;8841:19;;:2;:19;;;8816:44;8815:116;;;;;8880:18;:24;8899:4;8880:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8908:18;:22;8927:2;8908:22;;;;;;;;;;;;;;;;;;;;;;;;;8880:50;8878:53;8815:116;8797:248;;;8972:1;8958:11;:15;;;;9005:2;8988:14;:19;;;;9032:1;9022:7;:11;;;;8797:248;9077:7;:5;:7::i;:::-;9069:15;;:4;:15;;;;:32;;;;;9094:7;:5;:7::i;:::-;9088:13;;:2;:13;;;;9069:32;9065:975;;;9130:13;;;;;;;;;;;9122:21;;:4;:21;;;:55;;;;;9161:15;;;;;;;;;;;9147:30;;:2;:30;;;;9122:55;:83;;;;;9183:18;:22;9202:2;9183:22;;;;;;;;;;;;;;;;;;;;;;;;;9181:24;9122:83;:102;;;;;9209:15;;;;;;;;;;;9122:102;9118:399;;;9292:12;;9282:6;:22;;9274:31;;;;;;9347:15;9332:8;:12;9341:2;9332:12;;;;;;;;;;;;;;;;:30;9324:39;;;;;;9407:29;9432:3;9407:20;9425:1;9407:13;:11;:13::i;:::-;:17;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;9390:13;9400:2;9390:9;:13::i;:::-;:46;;9382:55;;;;;;9490:10;9471:15;:30;;;;:::i;:::-;9456:8;:12;9465:2;9456:12;;;;;;;;;;;;;;;:45;;;;9118:399;9545:28;9576:24;9594:4;9576:9;:24::i;:::-;9545:55;;9620:6;;;;;;;;;;;9619:7;:57;;;;;9639:13;;;;;;;;;;;9631:21;;:4;:21;;;;:44;;;;;9662:13;;;;;;;;;;;9656:19;;:2;:19;;;9631:44;9619:57;:72;;;;;9680:11;;;;;;;;;;;9619:72;9615:414;;;9738:1;9715:20;:24;9712:110;;;9764:38;9781:20;9764:16;:38::i;:::-;9712:110;9840:26;9869:21;9840:50;;9933:1;9912:18;:22;9909:105;;;9959:35;9972:21;9959:12;:35::i;:::-;9909:105;9693:336;9615:414;9103:937;9065:975;10054:33;10072:4;10077:2;10080:6;10054:17;:33::i;:::-;8135:1970;;;:::o;1687:190::-;1773:7;1806:1;1801;:6;;1809:12;1793:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1833:9;1849:1;1845;:5;;;;:::i;:::-;1833:17;;1868:1;1861:8;;;1687:190;;;;;:::o;10612:163::-;10669:11;;;;;;;;;;;:20;;:35;10690:13;10701:1;10690:6;:10;;:13;;;;:::i;:::-;10669:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10715:10;;;;;;;;;;;:19;;:34;10735:13;10746:1;10735:6;:10;;:13;;;;:::i;:::-;10715:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10612:163;:::o;7530:254::-;7597:7;7636;;7625;:18;;7617:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7701:19;7724:10;:8;:10::i;:::-;7701:33;;7752:24;7764:11;7752:7;:11;;:24;;;;:::i;:::-;7745:31;;;7530:254;;;:::o;10113:483::-;5439:4;5430:6;;:13;;;;;;;;;;;;;;;;;;10191:21:::1;10229:1;10215:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10191:40;;10260:4;10242;10247:1;10242:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10286:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10276:4;10281:1;10276:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10319:62;10336:4;10351:15;;;;;;;;;;;10369:11;10319:8;:62::i;:::-;10392:15;;;;;;;;;;;:66;;;10473:11;10499:1;10515:4;10542;10562:15;10392:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10180:416;5475:5:::0;5466:6;;:14;;;;;;;;;;;;;;;;;;10113:483;:::o;1356:179::-;1414:7;1434:9;1450:1;1446;:5;;;;:::i;:::-;1434:17;;1475:1;1470;:6;;1462:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1526:1;1519:8;;;1356:179;;;;:::o;1885:246::-;1943:7;1972:1;1967;:6;1963:47;;;1997:1;1990:8;;;;1963:47;2020:9;2036:1;2032;:5;;;;:::i;:::-;2020:17;;2065:1;2060;2056;:5;;;;:::i;:::-;:10;2048:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2122:1;2115:8;;;1885:246;;;;;:::o;2139:132::-;2197:7;2224:39;2228:1;2231;2224:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2217:46;;2139:132;;;;:::o;11663:610::-;11762:15;11779:23;11804:12;11818:23;11843:12;11857:13;11871;11888:19;11899:7;11888:10;:19::i;:::-;11761:146;;;;;;;;;;;;;;11936:28;11956:7;11936;:15;11944:6;11936:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11918:7;:15;11926:6;11918:15;;;;;;;;;;;;;;;:46;;;;11996:39;12019:15;11996:7;:18;12004:9;11996:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11975:7;:18;11983:9;11975:18;;;;;;;;;;;;;;;:60;;;;12047:16;12057:5;12047:9;:16::i;:::-;12074:19;12097:10;:8;:10::i;:::-;12074:33;;12118:13;12134:22;12144:11;12134:5;:9;;:22;;;;:::i;:::-;12118:38;;12167:37;12179:4;12185:5;12192:4;12198:5;12167:11;:37::i;:::-;12238:9;12221:44;;12230:6;12221:44;;;12249:15;12221:44;;;;;;:::i;:::-;;;;;;;;11750:523;;;;;;;;;11663:610;;;:::o;14644:163::-;14685:7;14706:15;14723;14742:19;:17;:19::i;:::-;14705:56;;;;14779:20;14791:7;14779;:11;;:20;;;;:::i;:::-;14772:27;;;;14644:163;:::o;2279:189::-;2365:7;2397:1;2393;:5;2400:12;2385:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2424:9;2440:1;2436;:5;;;;:::i;:::-;2424:17;;2459:1;2452:8;;;2279:189;;;;;:::o;13288:441::-;13347:7;13356;13365;13374;13383;13392;13401;13422:23;13447:12;13461:13;13475;13492:20;13504:7;13492:11;:20::i;:::-;13421:91;;;;;;;;13524:15;13541:23;13566:12;13582:52;13594:7;13603:4;13609:5;13616;13623:10;:8;:10::i;:::-;13582:11;:52::i;:::-;13523:111;;;;;;13653:7;13662:15;13679:4;13685:15;13702:4;13708:5;13715;13645:76;;;;;;;;;;;;;;;;;;;;;13288:441;;;;;;;;;:::o;1543:136::-;1601:7;1628:43;1632:1;1635;1628:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1621:50;;1543:136;;;;:::o;12285:212::-;12338:19;12361:10;:8;:10::i;:::-;12338:33;;12382:13;12398:22;12408:11;12398:5;:9;;:22;;;;:::i;:::-;12382:38;;12456:33;12483:5;12456:7;:22;12472:4;12456:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;12431:7;:22;12447:4;12431:22;;;;;;;;;;;;;;;:58;;;;12327:170;;12285:212;:::o;12505:325::-;12613:28;12635:5;12613:17;12625:4;12613:7;;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12603:7;:38;;;;12665:20;12680:4;12665:10;;:14;;:20;;;;:::i;:::-;12652:10;:33;;;;12710:22;12726:5;12710:11;;:15;;:22;;;;:::i;:::-;12696:11;:36;;;;12753:18;12765:5;12753:7;;:11;;:18;;;;:::i;:::-;12743:7;:28;;;;12797:25;12816:5;12797:14;12809:1;12797:7;;:11;;:14;;;;:::i;:::-;:18;;:25;;;;:::i;:::-;12782:12;:40;;;;12505:325;;;;:::o;14814:262::-;14864:7;14873;14893:15;14911:7;;14893:25;;14929:15;14947:7;;14929:25;;14985:20;14997:7;;14985;;:11;;:20;;;;:::i;:::-;14975:7;:30;14971:61;;;15015:7;;15024;;15007:25;;;;;;;;14971:61;15051:7;15060;15043:25;;;;;;14814:262;;;:::o;13737:410::-;13797:7;13806;13815;13824;13844:12;13859:33;13888:3;13859:24;13871:11;;13859:7;:11;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;13844:48;;13903:13;13919:36;13951:3;13919:27;13931:14;;13919:7;:11;;:27;;;;:::i;:::-;:31;;:36;;;;:::i;:::-;13903:52;;13966:13;13982:29;14007:3;13982:20;13994:7;;13982;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;13966:45;;14022:23;14048:39;14081:5;14048:28;14070:5;14048:17;14060:4;14048:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;:32;;:39;;;;:::i;:::-;14022:65;;14106:15;14122:4;14127:5;14133;14098:41;;;;;;;;;;;;13737:410;;;;;:::o;14155:484::-;14280:7;14289;14298;14318:15;14336:24;14348:11;14336:7;:11;;:24;;;;:::i;:::-;14318:42;;14371:12;14386:21;14395:11;14386:4;:8;;:21;;;;:::i;:::-;14371:36;;14418:13;14434:22;14444:11;14434:5;:9;;:22;;;;:::i;:::-;14418:38;;14467:13;14483:22;14493:11;14483:5;:9;;:22;;;;:::i;:::-;14467:38;;14516:23;14542:39;14575:5;14542:28;14564:5;14542:17;14554:4;14542:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;:32;;:39;;;;:::i;:::-;14516:65;;14600:7;14609:15;14626:4;14592:39;;;;;;;;;;;14155:484;;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;301:133;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;440:137;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;583:139;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;728:143;;;;:::o;877:329::-;936:6;985:2;973:9;964:7;960:23;956:32;953:119;;;991:79;;:::i;:::-;953:119;1111:1;1136:53;1181:7;1172:6;1161:9;1157:22;1136:53;:::i;:::-;1126:63;;1082:117;877:329;;;;:::o;1212:351::-;1282:6;1331:2;1319:9;1310:7;1306:23;1302:32;1299:119;;;1337:79;;:::i;:::-;1299:119;1457:1;1482:64;1538:7;1529:6;1518:9;1514:22;1482:64;:::i;:::-;1472:74;;1428:128;1212:351;;;;:::o;1569:474::-;1637:6;1645;1694:2;1682:9;1673:7;1669:23;1665:32;1662:119;;;1700:79;;:::i;:::-;1662:119;1820:1;1845:53;1890:7;1881:6;1870:9;1866:22;1845:53;:::i;:::-;1835:63;;1791:117;1947:2;1973:53;2018:7;2009:6;1998:9;1994:22;1973:53;:::i;:::-;1963:63;;1918:118;1569:474;;;;;:::o;2049:619::-;2126:6;2134;2142;2191:2;2179:9;2170:7;2166:23;2162:32;2159:119;;;2197:79;;:::i;:::-;2159:119;2317:1;2342:53;2387:7;2378:6;2367:9;2363:22;2342:53;:::i;:::-;2332:63;;2288:117;2444:2;2470:53;2515:7;2506:6;2495:9;2491:22;2470:53;:::i;:::-;2460:63;;2415:118;2572:2;2598:53;2643:7;2634:6;2623:9;2619:22;2598:53;:::i;:::-;2588:63;;2543:118;2049:619;;;;;:::o;2674:474::-;2742:6;2750;2799:2;2787:9;2778:7;2774:23;2770:32;2767:119;;;2805:79;;:::i;:::-;2767:119;2925:1;2950:53;2995:7;2986:6;2975:9;2971:22;2950:53;:::i;:::-;2940:63;;2896:117;3052:2;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3023:118;2674:474;;;;;:::o;3154:323::-;3210:6;3259:2;3247:9;3238:7;3234:23;3230:32;3227:119;;;3265:79;;:::i;:::-;3227:119;3385:1;3410:50;3452:7;3443:6;3432:9;3428:22;3410:50;:::i;:::-;3400:60;;3356:114;3154:323;;;;:::o;3483:345::-;3550:6;3599:2;3587:9;3578:7;3574:23;3570:32;3567:119;;;3605:79;;:::i;:::-;3567:119;3725:1;3750:61;3803:7;3794:6;3783:9;3779:22;3750:61;:::i;:::-;3740:71;;3696:125;3483:345;;;;:::o;3834:663::-;3922:6;3930;3938;3987:2;3975:9;3966:7;3962:23;3958:32;3955:119;;;3993:79;;:::i;:::-;3955:119;4113:1;4138:64;4194:7;4185:6;4174:9;4170:22;4138:64;:::i;:::-;4128:74;;4084:128;4251:2;4277:64;4333:7;4324:6;4313:9;4309:22;4277:64;:::i;:::-;4267:74;;4222:129;4390:2;4416:64;4472:7;4463:6;4452:9;4448:22;4416:64;:::i;:::-;4406:74;;4361:129;3834:663;;;;;:::o;4503:179::-;4572:10;4593:46;4635:3;4627:6;4593:46;:::i;:::-;4671:4;4666:3;4662:14;4648:28;;4503:179;;;;:::o;4688:108::-;4765:24;4783:5;4765:24;:::i;:::-;4760:3;4753:37;4688:108;;:::o;4802:118::-;4889:24;4907:5;4889:24;:::i;:::-;4884:3;4877:37;4802:118;;:::o;4956:732::-;5075:3;5104:54;5152:5;5104:54;:::i;:::-;5174:86;5253:6;5248:3;5174:86;:::i;:::-;5167:93;;5284:56;5334:5;5284:56;:::i;:::-;5363:7;5394:1;5379:284;5404:6;5401:1;5398:13;5379:284;;;5480:6;5474:13;5507:63;5566:3;5551:13;5507:63;:::i;:::-;5500:70;;5593:60;5646:6;5593:60;:::i;:::-;5583:70;;5439:224;5426:1;5423;5419:9;5414:14;;5379:284;;;5383:14;5679:3;5672:10;;5080:608;;;4956:732;;;;:::o;5694:109::-;5775:21;5790:5;5775:21;:::i;:::-;5770:3;5763:34;5694:109;;:::o;5809:147::-;5904:45;5943:5;5904:45;:::i;:::-;5899:3;5892:58;5809:147;;:::o;5962:364::-;6050:3;6078:39;6111:5;6078:39;:::i;:::-;6133:71;6197:6;6192:3;6133:71;:::i;:::-;6126:78;;6213:52;6258:6;6253:3;6246:4;6239:5;6235:16;6213:52;:::i;:::-;6290:29;6312:6;6290:29;:::i;:::-;6285:3;6281:39;6274:46;;6054:272;5962:364;;;;:::o;6332:366::-;6474:3;6495:67;6559:2;6554:3;6495:67;:::i;:::-;6488:74;;6571:93;6660:3;6571:93;:::i;:::-;6689:2;6684:3;6680:12;6673:19;;6332:366;;;:::o;6704:::-;6846:3;6867:67;6931:2;6926:3;6867:67;:::i;:::-;6860:74;;6943:93;7032:3;6943:93;:::i;:::-;7061:2;7056:3;7052:12;7045:19;;6704:366;;;:::o;7076:::-;7218:3;7239:67;7303:2;7298:3;7239:67;:::i;:::-;7232:74;;7315:93;7404:3;7315:93;:::i;:::-;7433:2;7428:3;7424:12;7417:19;;7076:366;;;:::o;7448:::-;7590:3;7611:67;7675:2;7670:3;7611:67;:::i;:::-;7604:74;;7687:93;7776:3;7687:93;:::i;:::-;7805:2;7800:3;7796:12;7789:19;;7448:366;;;:::o;7820:::-;7962:3;7983:67;8047:2;8042:3;7983:67;:::i;:::-;7976:74;;8059:93;8148:3;8059:93;:::i;:::-;8177:2;8172:3;8168:12;8161:19;;7820:366;;;:::o;8192:::-;8334:3;8355:67;8419:2;8414:3;8355:67;:::i;:::-;8348:74;;8431:93;8520:3;8431:93;:::i;:::-;8549:2;8544:3;8540:12;8533:19;;8192:366;;;:::o;8564:::-;8706:3;8727:67;8791:2;8786:3;8727:67;:::i;:::-;8720:74;;8803:93;8892:3;8803:93;:::i;:::-;8921:2;8916:3;8912:12;8905:19;;8564:366;;;:::o;8936:::-;9078:3;9099:67;9163:2;9158:3;9099:67;:::i;:::-;9092:74;;9175:93;9264:3;9175:93;:::i;:::-;9293:2;9288:3;9284:12;9277:19;;8936:366;;;:::o;9308:::-;9450:3;9471:67;9535:2;9530:3;9471:67;:::i;:::-;9464:74;;9547:93;9636:3;9547:93;:::i;:::-;9665:2;9660:3;9656:12;9649:19;;9308:366;;;:::o;9680:::-;9822:3;9843:67;9907:2;9902:3;9843:67;:::i;:::-;9836:74;;9919:93;10008:3;9919:93;:::i;:::-;10037:2;10032:3;10028:12;10021:19;;9680:366;;;:::o;10052:::-;10194:3;10215:67;10279:2;10274:3;10215:67;:::i;:::-;10208:74;;10291:93;10380:3;10291:93;:::i;:::-;10409:2;10404:3;10400:12;10393:19;;10052:366;;;:::o;10424:118::-;10511:24;10529:5;10511:24;:::i;:::-;10506:3;10499:37;10424:118;;:::o;10548:112::-;10631:22;10647:5;10631:22;:::i;:::-;10626:3;10619:35;10548:112;;:::o;10666:222::-;10759:4;10797:2;10786:9;10782:18;10774:26;;10810:71;10878:1;10867:9;10863:17;10854:6;10810:71;:::i;:::-;10666:222;;;;:::o;10894:332::-;11015:4;11053:2;11042:9;11038:18;11030:26;;11066:71;11134:1;11123:9;11119:17;11110:6;11066:71;:::i;:::-;11147:72;11215:2;11204:9;11200:18;11191:6;11147:72;:::i;:::-;10894:332;;;;;:::o;11232:::-;11353:4;11391:2;11380:9;11376:18;11368:26;;11404:71;11472:1;11461:9;11457:17;11448:6;11404:71;:::i;:::-;11485:72;11553:2;11542:9;11538:18;11529:6;11485:72;:::i;:::-;11232:332;;;;;:::o;11570:807::-;11819:4;11857:3;11846:9;11842:19;11834:27;;11871:71;11939:1;11928:9;11924:17;11915:6;11871:71;:::i;:::-;11952:72;12020:2;12009:9;12005:18;11996:6;11952:72;:::i;:::-;12034:80;12110:2;12099:9;12095:18;12086:6;12034:80;:::i;:::-;12124;12200:2;12189:9;12185:18;12176:6;12124:80;:::i;:::-;12214:73;12282:3;12271:9;12267:19;12258:6;12214:73;:::i;:::-;12297;12365:3;12354:9;12350:19;12341:6;12297:73;:::i;:::-;11570:807;;;;;;;;;:::o;12383:210::-;12470:4;12508:2;12497:9;12493:18;12485:26;;12521:65;12583:1;12572:9;12568:17;12559:6;12521:65;:::i;:::-;12383:210;;;;:::o;12599:313::-;12712:4;12750:2;12739:9;12735:18;12727:26;;12799:9;12793:4;12789:20;12785:1;12774:9;12770:17;12763:47;12827:78;12900:4;12891:6;12827:78;:::i;:::-;12819:86;;12599:313;;;;:::o;12918:419::-;13084:4;13122:2;13111:9;13107:18;13099:26;;13171:9;13165:4;13161:20;13157:1;13146:9;13142:17;13135:47;13199:131;13325:4;13199:131;:::i;:::-;13191:139;;12918:419;;;:::o;13343:::-;13509:4;13547:2;13536:9;13532:18;13524:26;;13596:9;13590:4;13586:20;13582:1;13571:9;13567:17;13560:47;13624:131;13750:4;13624:131;:::i;:::-;13616:139;;13343:419;;;:::o;13768:::-;13934:4;13972:2;13961:9;13957:18;13949:26;;14021:9;14015:4;14011:20;14007:1;13996:9;13992:17;13985:47;14049:131;14175:4;14049:131;:::i;:::-;14041:139;;13768:419;;;:::o;14193:::-;14359:4;14397:2;14386:9;14382:18;14374:26;;14446:9;14440:4;14436:20;14432:1;14421:9;14417:17;14410:47;14474:131;14600:4;14474:131;:::i;:::-;14466:139;;14193:419;;;:::o;14618:::-;14784:4;14822:2;14811:9;14807:18;14799:26;;14871:9;14865:4;14861:20;14857:1;14846:9;14842:17;14835:47;14899:131;15025:4;14899:131;:::i;:::-;14891:139;;14618:419;;;:::o;15043:::-;15209:4;15247:2;15236:9;15232:18;15224:26;;15296:9;15290:4;15286:20;15282:1;15271:9;15267:17;15260:47;15324:131;15450:4;15324:131;:::i;:::-;15316:139;;15043:419;;;:::o;15468:::-;15634:4;15672:2;15661:9;15657:18;15649:26;;15721:9;15715:4;15711:20;15707:1;15696:9;15692:17;15685:47;15749:131;15875:4;15749:131;:::i;:::-;15741:139;;15468:419;;;:::o;15893:::-;16059:4;16097:2;16086:9;16082:18;16074:26;;16146:9;16140:4;16136:20;16132:1;16121:9;16117:17;16110:47;16174:131;16300:4;16174:131;:::i;:::-;16166:139;;15893:419;;;:::o;16318:::-;16484:4;16522:2;16511:9;16507:18;16499:26;;16571:9;16565:4;16561:20;16557:1;16546:9;16542:17;16535:47;16599:131;16725:4;16599:131;:::i;:::-;16591:139;;16318:419;;;:::o;16743:::-;16909:4;16947:2;16936:9;16932:18;16924:26;;16996:9;16990:4;16986:20;16982:1;16971:9;16967:17;16960:47;17024:131;17150:4;17024:131;:::i;:::-;17016:139;;16743:419;;;:::o;17168:::-;17334:4;17372:2;17361:9;17357:18;17349:26;;17421:9;17415:4;17411:20;17407:1;17396:9;17392:17;17385:47;17449:131;17575:4;17449:131;:::i;:::-;17441:139;;17168:419;;;:::o;17593:222::-;17686:4;17724:2;17713:9;17709:18;17701:26;;17737:71;17805:1;17794:9;17790:17;17781:6;17737:71;:::i;:::-;17593:222;;;;:::o;17821:831::-;18084:4;18122:3;18111:9;18107:19;18099:27;;18136:71;18204:1;18193:9;18189:17;18180:6;18136:71;:::i;:::-;18217:80;18293:2;18282:9;18278:18;18269:6;18217:80;:::i;:::-;18344:9;18338:4;18334:20;18329:2;18318:9;18314:18;18307:48;18372:108;18475:4;18466:6;18372:108;:::i;:::-;18364:116;;18490:72;18558:2;18547:9;18543:18;18534:6;18490:72;:::i;:::-;18572:73;18640:3;18629:9;18625:19;18616:6;18572:73;:::i;:::-;17821:831;;;;;;;;:::o;18658:214::-;18747:4;18785:2;18774:9;18770:18;18762:26;;18798:67;18862:1;18851:9;18847:17;18838:6;18798:67;:::i;:::-;18658:214;;;;:::o;18959:132::-;19026:4;19049:3;19041:11;;19079:4;19074:3;19070:14;19062:22;;18959:132;;;:::o;19097:114::-;19164:6;19198:5;19192:12;19182:22;;19097:114;;;:::o;19217:99::-;19269:6;19303:5;19297:12;19287:22;;19217:99;;;:::o;19322:113::-;19392:4;19424;19419:3;19415:14;19407:22;;19322:113;;;:::o;19441:184::-;19540:11;19574:6;19569:3;19562:19;19614:4;19609:3;19605:14;19590:29;;19441:184;;;;:::o;19631:169::-;19715:11;19749:6;19744:3;19737:19;19789:4;19784:3;19780:14;19765:29;;19631:169;;;;:::o;19806:305::-;19846:3;19865:20;19883:1;19865:20;:::i;:::-;19860:25;;19899:20;19917:1;19899:20;:::i;:::-;19894:25;;20053:1;19985:66;19981:74;19978:1;19975:81;19972:107;;;20059:18;;:::i;:::-;19972:107;20103:1;20100;20096:9;20089:16;;19806:305;;;;:::o;20117:185::-;20157:1;20174:20;20192:1;20174:20;:::i;:::-;20169:25;;20208:20;20226:1;20208:20;:::i;:::-;20203:25;;20247:1;20237:35;;20252:18;;:::i;:::-;20237:35;20294:1;20291;20287:9;20282:14;;20117:185;;;;:::o;20308:348::-;20348:7;20371:20;20389:1;20371:20;:::i;:::-;20366:25;;20405:20;20423:1;20405:20;:::i;:::-;20400:25;;20593:1;20525:66;20521:74;20518:1;20515:81;20510:1;20503:9;20496:17;20492:105;20489:131;;;20600:18;;:::i;:::-;20489:131;20648:1;20645;20641:9;20630:20;;20308:348;;;;:::o;20662:191::-;20702:4;20722:20;20740:1;20722:20;:::i;:::-;20717:25;;20756:20;20774:1;20756:20;:::i;:::-;20751:25;;20795:1;20792;20789:8;20786:34;;;20800:18;;:::i;:::-;20786:34;20845:1;20842;20838:9;20830:17;;20662:191;;;;:::o;20859:96::-;20896:7;20925:24;20943:5;20925:24;:::i;:::-;20914:35;;20859:96;;;:::o;20961:90::-;20995:7;21038:5;21031:13;21024:21;21013:32;;20961:90;;;:::o;21057:126::-;21094:7;21134:42;21127:5;21123:54;21112:65;;21057:126;;;:::o;21189:77::-;21226:7;21255:5;21244:16;;21189:77;;;:::o;21272:86::-;21307:7;21347:4;21340:5;21336:16;21325:27;;21272:86;;;:::o;21364:121::-;21422:9;21455:24;21473:5;21455:24;:::i;:::-;21442:37;;21364:121;;;:::o;21491:307::-;21559:1;21569:113;21583:6;21580:1;21577:13;21569:113;;;21668:1;21663:3;21659:11;21653:18;21649:1;21644:3;21640:11;21633:39;21605:2;21602:1;21598:10;21593:15;;21569:113;;;21700:6;21697:1;21694:13;21691:101;;;21780:1;21771:6;21766:3;21762:16;21755:27;21691:101;21540:258;21491:307;;;:::o;21804:180::-;21852:77;21849:1;21842:88;21949:4;21946:1;21939:15;21973:4;21970:1;21963:15;21990:180;22038:77;22035:1;22028:88;22135:4;22132:1;22125:15;22159:4;22156:1;22149:15;22176:180;22224:77;22221:1;22214:88;22321:4;22318:1;22311:15;22345:4;22342:1;22335:15;22362:180;22410:77;22407:1;22400:88;22507:4;22504:1;22497:15;22531:4;22528:1;22521:15;22671:117;22780:1;22777;22770:12;22794:102;22835:6;22886:2;22882:7;22877:2;22870:5;22866:14;22862:28;22852:38;;22794:102;;;:::o;22902:222::-;23042:34;23038:1;23030:6;23026:14;23019:58;23111:5;23106:2;23098:6;23094:15;23087:30;22902:222;:::o;23130:242::-;23270:34;23266:1;23258:6;23254:14;23247:58;23339:25;23334:2;23326:6;23322:15;23315:50;23130:242;:::o;23378:229::-;23518:34;23514:1;23506:6;23502:14;23495:58;23587:12;23582:2;23574:6;23570:15;23563:37;23378:229;:::o;23613:221::-;23753:34;23749:1;23741:6;23737:14;23730:58;23822:4;23817:2;23809:6;23805:15;23798:29;23613:221;:::o;23840:177::-;23980:29;23976:1;23968:6;23964:14;23957:53;23840:177;:::o;24023:220::-;24163:34;24159:1;24151:6;24147:14;24140:58;24232:3;24227:2;24219:6;24215:15;24208:28;24023:220;:::o;24249:182::-;24389:34;24385:1;24377:6;24373:14;24366:58;24249:182;:::o;24437:228::-;24577:34;24573:1;24565:6;24561:14;24554:58;24646:11;24641:2;24633:6;24629:15;24622:36;24437:228;:::o;24671:224::-;24811:34;24807:1;24799:6;24795:14;24788:58;24880:7;24875:2;24867:6;24863:15;24856:32;24671:224;:::o;24901:223::-;25041:34;25037:1;25029:6;25025:14;25018:58;25110:6;25105:2;25097:6;25093:15;25086:31;24901:223;:::o;25130:173::-;25270:25;25266:1;25258:6;25254:14;25247:49;25130:173;:::o;25309:122::-;25382:24;25400:5;25382:24;:::i;:::-;25375:5;25372:35;25362:63;;25421:1;25418;25411:12;25362:63;25309:122;:::o;25437:116::-;25507:21;25522:5;25507:21;:::i;:::-;25500:5;25497:32;25487:60;;25543:1;25540;25533:12;25487:60;25437:116;:::o;25559:122::-;25632:24;25650:5;25632:24;:::i;:::-;25625:5;25622:35;25612:63;;25671:1;25668;25661:12;25612:63;25559:122;:::o

Swarm Source

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