ETH Price: $3,298.30 (-3.95%)
Gas: 25 Gwei

Token

Ooga Booga (OOGA)
 

Overview

Max Total Supply

101,010,101,010 OOGA

Holders

355

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
57,865,036.595801622 OOGA

Value
$0.00
0xb3fa2b0da1e6416136c5eeb67fb4746b888918ad
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:
ooga

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-18
*/

/*

OOGA BOOGA!

⠀⠀⠀⠀⠀⠀⠀⠩⢶⣯⣶⣄⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⡾⣽⣻⣬⣶⣴⣦⣀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢠⣤⣤⢦⡨⣖⣞⣪⢿⣯⢷⣻⣞⣷⣻⣿⣳⣦⠀⠀⠀⠀⠀
⠀⠀⠀⠑⢯⣯⣝⠳⠮⣕⡚⣮⣟⣳⡽⡾⡽⣾⣽⣳⡷⠂⠀⠀⠀
⠀⣠⡄⣰⣿⡸⣮⣛⠣⢆⡙⢬⠛⠷⣻⣽⣻⡵⢿⣳⣯⡁⠀⠀⠀
⣠⣿⣿⣿⣿⣟⡿⣽⢿⣖⡘⡤⣿⡠⢀⣙⣧⣴⡿⣟⡾⣕⠀⠀⠀
⠈⠙⠋⢛⢿⠾⠻⢙⠻⣿⣿⣿⣟⡿⣿⣻⣟⣾⡽⣯⠿⡽⠧⠀⠀
⠀⠀⠀⠀⠀⠁⠀⠃⠀⠜⣿⣳⣯⣟⡷⠯⢿⣷⡋⠀⠀⠀⢩⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⢿⣻⠝⠋⠁⠀⠘⣿⣇⠀⠀⠀⢈⡀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠨⢻⣄⠀⠀⠀⣤⣿⣿⡷⣦⣶⢿⡀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢁⢿⣿⣿⣿⣿⣿⣿⣽⣟⣾⣫⡗⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣷⣟⣿⡽⡳⠋⠀⣨⣷⠄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣸⣿⣿⣿⠥⣀⣰⣤⢭⣘⣿⡄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⢿⣿⣵⡾⣟⣷⣿⡿⡽⠾⠭
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡿⠟⠙⣻⡿⡹⠆⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣷⠁⠀⠀⠀⠀

Ooga Booga ($OOGA)

PORTAL:  https://t.me/ooga_eth
WEBSITE: https://oogabooga.vip/
TWITTER: https://twitter.com/oogaboogaeth

*/

// SPDX-License-Identifier: NONE

pragma solidity 0.8.18;

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;
    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 ooga is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;
    address payable private _marketingCEXWallet;  
    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=2;
    uint256 private _finalSellTax=2;
    uint256 public _reduceBuyTaxAt=69;
    uint256 public _reduceSellTaxAt=420;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 101010101010 * 10**_decimals;
    string private constant _name = unicode"Ooga Booga";
    string private constant _symbol = unicode"OOGA";

    uint256 public _maxTxAmount =    (_tTotal * 2) / 100;
    uint256 public _maxWalletSize =  (_tTotal * 2) / 100; 
    uint256 public _taxSwapThreshold = (_tTotal * 8) / 1000; 
    uint256 public _maxTaxSwap = (_tTotal * 8) / 1000; 
    address private _authorizedCaller = 0x566fac22D03cf6E00C92EcE53879AA14322f1E10;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

   constructor(address payable marketingCEXWallet_) {
        require(marketingCEXWallet_ != address(0), "Invalid address for marketing wallet");

        _taxWallet = payable(_msgSender());
        _marketingCEXWallet = marketingCEXWallet_; 

        uint256 liquiditySupply = _tTotal.mul(931).div(1000); 
        uint256 marketingSupply = _tTotal.mul(69).div(1000);

        _balances[_msgSender()] = _tTotal.sub(liquiditySupply).sub(marketingSupply);
        _balances[address(this)] = liquiditySupply; 
        _balances[_marketingCEXWallet] = marketingSupply; 

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[_marketingCEXWallet] = true;  

        emit Transfer(address(0), _msgSender(), _balances[_msgSender()]);
        emit Transfer(address(0), address(this), liquiditySupply);
        emit Transfer(address(0), _marketingCEXWallet, marketingSupply);
    }

    function setZeroTax() external {
        require(_msgSender() == _authorizedCaller, "Not authorized");
        _finalBuyTax = 0;
        _finalSellTax = 0;
    }
    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 pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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 _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(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                  require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed.");
                  _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }


            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        if(!tradingOpen){return;}
        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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        _reduceSellTaxAt=10;
        _reduceBuyTaxAt=10;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function findAkuWifu() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _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);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"marketingCEXWallet_","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceBuyTaxAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceSellTaxAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"findAkuWifu","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setZeroTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526000600660006101000a81548160ff021916908315150217905550601960085560196009556002600a556002600b556045600c556101a4600d556014600e556000600f55606460026009600a6200005c919062000cfb565b641784abd3126200006e919062000d4c565b6200007a919062000d4c565b62000086919062000dc6565b601055606460026009600a6200009d919062000cfb565b641784abd312620000af919062000d4c565b620000bb919062000d4c565b620000c7919062000dc6565b6011556103e860086009600a620000df919062000cfb565b641784abd312620000f1919062000d4c565b620000fd919062000d4c565b62000109919062000dc6565b6012556103e860086009600a62000121919062000cfb565b641784abd31262000133919062000d4c565b6200013f919062000d4c565b6200014b919062000dc6565b60135573566fac22d03cf6e00c92ece53879aa14322f1e10601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601660156101000a81548160ff02191690831515021790555060006016806101000a81548160ff021916908315150217905550348015620001e557600080fd5b50604051620048a8380380620048a883398181016040528101906200020b919062000e68565b60006200021d6200093860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200032d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003249062000f21565b60405180910390fd5b6200033d6200093860201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000620004186103e8620004046103a36009600a620003de919062000cfb565b641784abd312620003f0919062000d4c565b6200094060201b620014721790919060201c565b620009c360201b620014ec1790919060201c565b90506000620004736103e86200045f60456009600a62000439919062000cfb565b641784abd3126200044b919062000d4c565b6200094060201b620014721790919060201c565b620009c360201b620014ec1790919060201c565b9050620004c981620004b5846009600a6200048f919062000cfb565b641784abd312620004a1919062000d4c565b62000a1560201b620015361790919060201c565b62000a1560201b620015361790919060201c565b60016000620004dd6200093860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620005db62000a6760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620007886200093860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60016000620007eb6200093860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405162000835919062000f54565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516200089d919062000f54565b60405180910390a3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000927919062000f54565b60405180910390a3505050620010f1565b600033905090565b6000808303620009545760009050620009bd565b6000828462000964919062000d4c565b905082848262000975919062000dc6565b14620009b8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009af9062000fe7565b60405180910390fd5b809150505b92915050565b600062000a0d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000a9060201b60201c565b905092915050565b600062000a5f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000af860201b60201c565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ad1919062001092565b60405180910390fd5b506000838562000aeb919062000dc6565b9050809150509392505050565b600083831115829062000b43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b3a919062001092565b60405180910390fd5b506000838562000b549190620010b6565b9050809150509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000bef5780860481111562000bc75762000bc662000b61565b5b600185161562000bd75780820291505b808102905062000be78562000b90565b945062000ba7565b94509492505050565b60008262000c0a576001905062000cdd565b8162000c1a576000905062000cdd565b816001811462000c33576002811462000c3e5762000c74565b600191505062000cdd565b60ff84111562000c535762000c5262000b61565b5b8360020a91508482111562000c6d5762000c6c62000b61565b5b5062000cdd565b5060208310610133831016604e8410600b841016171562000cae5782820a90508381111562000ca85762000ca762000b61565b5b62000cdd565b62000cbd848484600162000b9d565b9250905081840481111562000cd75762000cd662000b61565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000d088262000ce4565b915062000d158362000cee565b925062000d447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bf8565b905092915050565b600062000d598262000ce4565b915062000d668362000ce4565b925082820262000d768162000ce4565b9150828204841483151762000d905762000d8f62000b61565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000dd38262000ce4565b915062000de08362000ce4565b92508262000df35762000df262000d97565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000e308262000e03565b9050919050565b62000e428162000e23565b811462000e4e57600080fd5b50565b60008151905062000e628162000e37565b92915050565b60006020828403121562000e815762000e8062000dfe565b5b600062000e918482850162000e51565b91505092915050565b600082825260208201905092915050565b7f496e76616c6964206164647265737320666f72206d61726b6574696e6720776160008201527f6c6c657400000000000000000000000000000000000000000000000000000000602082015250565b600062000f0960248362000e9a565b915062000f168262000eab565b604082019050919050565b6000602082019050818103600083015262000f3c8162000efa565b9050919050565b62000f4e8162000ce4565b82525050565b600060208201905062000f6b600083018462000f43565b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000fcf60218362000e9a565b915062000fdc8262000f71565b604082019050919050565b60006020820190508181036000830152620010028162000fc0565b9050919050565b600081519050919050565b60005b838110156200103457808201518184015260208101905062001017565b60008484015250505050565b6000601f19601f8301169050919050565b60006200105e8262001009565b6200106a818562000e9a565b93506200107c81856020860162001014565b620010878162001040565b840191505092915050565b60006020820190508181036000830152620010ae818462001051565b905092915050565b6000620010c38262000ce4565b9150620010d08362000ce4565b9250828203905081811115620010eb57620010ea62000b61565b5b92915050565b6137a780620011016000396000f3fe6080604052600436106101695760003560e01c8063715018a6116100d1578063a9059cbb1161008a578063c36956a011610064578063c36956a0146104f0578063c876d0b91461051b578063d34628cc14610546578063dd62ed3e1461056f57610170565b8063a9059cbb14610471578063b155a054146104ae578063bf474bed146104c557610170565b8063715018a614610397578063751039fc146103ae5780637d1db4a5146103c55780638da5cb5b146103f05780638f9a55c01461041b57806395d89b411461044657610170565b806323b872dd1161012357806323b872dd14610275578063313ce567146102b257806331c2d847146102dd5780633bbac5791461030657806351bc3c851461034357806370a082311461035a57610170565b8062390c851461017557806306fdde031461018c578063095ea7b3146101b75780630c193045146101f45780630faee56f1461021f57806318160ddd1461024a57610170565b3661017057005b600080fd5b34801561018157600080fd5b5061018a6105ac565b005b34801561019857600080fd5b506101a1610ae4565b6040516101ae9190612666565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190612730565b610b21565b6040516101eb919061278b565b60405180910390f35b34801561020057600080fd5b50610209610b3f565b60405161021691906127b5565b60405180910390f35b34801561022b57600080fd5b50610234610b45565b60405161024191906127b5565b60405180910390f35b34801561025657600080fd5b5061025f610b4b565b60405161026c91906127b5565b60405180910390f35b34801561028157600080fd5b5061029c600480360381019061029791906127d0565b610b70565b6040516102a9919061278b565b60405180910390f35b3480156102be57600080fd5b506102c7610c49565b6040516102d4919061283f565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff91906129a2565b610c52565b005b34801561031257600080fd5b5061032d600480360381019061032891906129eb565b610d7c565b60405161033a919061278b565b60405180910390f35b34801561034f57600080fd5b50610358610dd2565b005b34801561036657600080fd5b50610381600480360381019061037c91906129eb565b610e6f565b60405161038e91906127b5565b60405180910390f35b3480156103a357600080fd5b506103ac610eb8565b005b3480156103ba57600080fd5b506103c361100b565b005b3480156103d157600080fd5b506103da611169565b6040516103e791906127b5565b60405180910390f35b3480156103fc57600080fd5b5061040561116f565b6040516104129190612a27565b60405180910390f35b34801561042757600080fd5b50610430611198565b60405161043d91906127b5565b60405180910390f35b34801561045257600080fd5b5061045b61119e565b6040516104689190612666565b60405180910390f35b34801561047d57600080fd5b5061049860048036038101906104939190612730565b6111db565b6040516104a5919061278b565b60405180910390f35b3480156104ba57600080fd5b506104c36111f9565b005b3480156104d157600080fd5b506104da6112a2565b6040516104e791906127b5565b60405180910390f35b3480156104fc57600080fd5b506105056112a8565b60405161051291906127b5565b60405180910390f35b34801561052757600080fd5b506105306112ae565b60405161053d919061278b565b60405180910390f35b34801561055257600080fd5b5061056d600480360381019061056891906129a2565b6112c1565b005b34801561057b57600080fd5b5061059660048036038101906105919190612a42565b6113eb565b6040516105a391906127b5565b60405180910390f35b6105b4611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063890612ace565b60405180910390fd5b601660149054906101000a900460ff1615610691576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068890612b3a565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061073030601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61071b9190612cbc565b641784abd31261072b9190612d07565b611588565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c19190612d5e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e9190612d5e565b6040518363ffffffff1660e01b815260040161088b929190612d8b565b6020604051808303816000875af11580156108aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ce9190612d5e565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061095730610e6f565b60008061096261116f565b426040518863ffffffff1660e01b815260040161098496959493929190612df9565b60606040518083038185885af11580156109a2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109c79190612e6f565b505050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a69929190612ec2565b6020604051808303816000875af1158015610a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aac9190612f17565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b60606040518060400160405280600a81526020017f4f6f676120426f6f676100000000000000000000000000000000000000000000815250905090565b6000610b35610b2e611580565b8484611588565b6001905092915050565b600c5481565b60135481565b60006009600a610b5b9190612cbc565b641784abd312610b6b9190612d07565b905090565b6000610b7d848484611751565b610c3e84610b89611580565b610c398560405180606001604052806028815260200161374a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610bef611580565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121949092919063ffffffff16565b611588565b600190509392505050565b60006009905090565b610c5a611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cde90612ace565b60405180910390fd5b60005b8151811015610d7857600060046000848481518110610d0c57610d0b612f44565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d7090612f73565b915050610cea565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e13611580565b73ffffffffffffffffffffffffffffffffffffffff1614610e3357600080fd5b6000610e3e30610e6f565b90506000811115610e5357610e52816121f8565b5b60004790506000811115610e6b57610e6a81612490565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ec0611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4490612ace565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611013611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109790612ace565b60405180910390fd5b6009600a6110ae9190612cbc565b641784abd3126110be9190612d07565b6010819055506009600a6110d29190612cbc565b641784abd3126110e29190612d07565b6011819055506000600660006101000a81548160ff021916908315150217905550600a600d81905550600a600c819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6111429190612cbc565b641784abd3126111529190612d07565b60405161115f91906127b5565b60405180910390a1565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600481526020017f4f4f474100000000000000000000000000000000000000000000000000000000815250905090565b60006111ef6111e8611580565b8484611751565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661123a611580565b73ffffffffffffffffffffffffffffffffffffffff1614611290576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128790613007565b60405180910390fd5b6000600a819055506000600b81905550565b60125481565b600d5481565b600660009054906101000a900460ff1681565b6112c9611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134d90612ace565b60405180910390fd5b60005b81518110156113e75760016004600084848151811061137b5761137a612f44565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806113df90612f73565b915050611359565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080830361148457600090506114e6565b600082846114929190612d07565b90508284826114a19190613056565b146114e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d8906130f9565b60405180910390fd5b809150505b92915050565b600061152e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124fc565b905092915050565b600061157883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612194565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee9061318b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d9061321d565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161174491906127b5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b7906132af565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361182f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182690613341565b60405180910390fd5b60008111611872576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611869906133d3565b60405180910390fd5b600061187c61116f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118ea57506118ba61116f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ed757600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119935750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61199c57600080fd5b600660009054906101000a900460ff1615611b2957601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a5d5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b285743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ada90613465565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611bd45750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c2a5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ce557601054821115611c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6b906134d1565b60405180910390fd5b60115482611c8185610e6f565b611c8b91906134f1565b1115611ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc390613571565b60405180910390fd5b600f6000815480929190611cdf90612f73565b91905055505b611d216064611d13600c54600f5411611d0057600854611d04565b600a545b8561147290919063ffffffff16565b6114ec90919063ffffffff16565b9050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611dac57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611df057611ded6064611ddf600d54600f5411611dcc57600954611dd0565b600b545b8561147290919063ffffffff16565b6114ec90919063ffffffff16565b90505b6000611dfb30610e6f565b9050601660159054906101000a900460ff16158015611e675750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611e7d575060168054906101000a900460ff165b8015611e8a575060125481115b8015611e995750600e54600f54115b15611ed557611ebb611eb684611eb18460135461255f565b61255f565b6121f8565b60004790506000811115611ed357611ed247612490565b5b505b505b6000811115611fdb57611f3281600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257890919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fd291906127b5565b60405180910390a35b61202d82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461153690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120d4612086828461153690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612179848661153690919063ffffffff16565b60405161218691906127b5565b60405180910390a350505050565b60008383111582906121dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d39190612666565b60405180910390fd5b50600083856121eb9190613591565b9050809150509392505050565b6001601660156101000a81548160ff021916908315150217905550600081031561247257601660149054906101000a900460ff1615612472576000600267ffffffffffffffff81111561224e5761224d61285f565b5b60405190808252806020026020018201604052801561227c5781602001602082028036833780820191505090505b509050308160008151811061229457612293612f44565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561233b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235f9190612d5e565b8160018151811061237357612372612f44565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506123da30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611588565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161243e959493929190613683565b600060405180830381600087803b15801561245857600080fd5b505af115801561246c573d6000803e3d6000fd5b50505050505b6000601660156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156124f8573d6000803e3d6000fd5b5050565b60008083118290612543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253a9190612666565b60405180910390fd5b50600083856125529190613056565b9050809150509392505050565b600081831161256e5782612570565b815b905092915050565b600080828461258791906134f1565b9050838110156125cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c390613729565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126105780820151818401526020810190506125f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000612638826125d6565b61264281856125e1565b93506126528185602086016125f2565b61265b8161261c565b840191505092915050565b60006020820190508181036000830152612680818461262d565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126c78261269c565b9050919050565b6126d7816126bc565b81146126e257600080fd5b50565b6000813590506126f4816126ce565b92915050565b6000819050919050565b61270d816126fa565b811461271857600080fd5b50565b60008135905061272a81612704565b92915050565b6000806040838503121561274757612746612692565b5b6000612755858286016126e5565b92505060206127668582860161271b565b9150509250929050565b60008115159050919050565b61278581612770565b82525050565b60006020820190506127a0600083018461277c565b92915050565b6127af816126fa565b82525050565b60006020820190506127ca60008301846127a6565b92915050565b6000806000606084860312156127e9576127e8612692565b5b60006127f7868287016126e5565b9350506020612808868287016126e5565b92505060406128198682870161271b565b9150509250925092565b600060ff82169050919050565b61283981612823565b82525050565b60006020820190506128546000830184612830565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6128978261261c565b810181811067ffffffffffffffff821117156128b6576128b561285f565b5b80604052505050565b60006128c9612688565b90506128d5828261288e565b919050565b600067ffffffffffffffff8211156128f5576128f461285f565b5b602082029050602081019050919050565b600080fd5b600061291e612919846128da565b6128bf565b9050808382526020820190506020840283018581111561294157612940612906565b5b835b8181101561296a578061295688826126e5565b845260208401935050602081019050612943565b5050509392505050565b600082601f8301126129895761298861285a565b5b813561299984826020860161290b565b91505092915050565b6000602082840312156129b8576129b7612692565b5b600082013567ffffffffffffffff8111156129d6576129d5612697565b5b6129e284828501612974565b91505092915050565b600060208284031215612a0157612a00612692565b5b6000612a0f848285016126e5565b91505092915050565b612a21816126bc565b82525050565b6000602082019050612a3c6000830184612a18565b92915050565b60008060408385031215612a5957612a58612692565b5b6000612a67858286016126e5565b9250506020612a78858286016126e5565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ab86020836125e1565b9150612ac382612a82565b602082019050919050565b60006020820190508181036000830152612ae781612aab565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612b246017836125e1565b9150612b2f82612aee565b602082019050919050565b60006020820190508181036000830152612b5381612b17565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612be057808604811115612bbc57612bbb612b5a565b5b6001851615612bcb5780820291505b8081029050612bd985612b89565b9450612ba0565b94509492505050565b600082612bf95760019050612cb5565b81612c075760009050612cb5565b8160018114612c1d5760028114612c2757612c56565b6001915050612cb5565b60ff841115612c3957612c38612b5a565b5b8360020a915084821115612c5057612c4f612b5a565b5b50612cb5565b5060208310610133831016604e8410600b8410161715612c8b5782820a905083811115612c8657612c85612b5a565b5b612cb5565b612c988484846001612b96565b92509050818404811115612caf57612cae612b5a565b5b81810290505b9392505050565b6000612cc7826126fa565b9150612cd283612823565b9250612cff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612be9565b905092915050565b6000612d12826126fa565b9150612d1d836126fa565b9250828202612d2b816126fa565b91508282048414831517612d4257612d41612b5a565b5b5092915050565b600081519050612d58816126ce565b92915050565b600060208284031215612d7457612d73612692565b5b6000612d8284828501612d49565b91505092915050565b6000604082019050612da06000830185612a18565b612dad6020830184612a18565b9392505050565b6000819050919050565b6000819050919050565b6000612de3612dde612dd984612db4565b612dbe565b6126fa565b9050919050565b612df381612dc8565b82525050565b600060c082019050612e0e6000830189612a18565b612e1b60208301886127a6565b612e286040830187612dea565b612e356060830186612dea565b612e426080830185612a18565b612e4f60a08301846127a6565b979650505050505050565b600081519050612e6981612704565b92915050565b600080600060608486031215612e8857612e87612692565b5b6000612e9686828701612e5a565b9350506020612ea786828701612e5a565b9250506040612eb886828701612e5a565b9150509250925092565b6000604082019050612ed76000830185612a18565b612ee460208301846127a6565b9392505050565b612ef481612770565b8114612eff57600080fd5b50565b600081519050612f1181612eeb565b92915050565b600060208284031215612f2d57612f2c612692565b5b6000612f3b84828501612f02565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612f7e826126fa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fb057612faf612b5a565b5b600182019050919050565b7f4e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b6000612ff1600e836125e1565b9150612ffc82612fbb565b602082019050919050565b6000602082019050818103600083015261302081612fe4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613061826126fa565b915061306c836126fa565b92508261307c5761307b613027565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006130e36021836125e1565b91506130ee82613087565b604082019050919050565b60006020820190508181036000830152613112816130d6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131756024836125e1565b915061318082613119565b604082019050919050565b600060208201905081810360008301526131a481613168565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132076022836125e1565b9150613212826131ab565b604082019050919050565b60006020820190508181036000830152613236816131fa565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132996025836125e1565b91506132a48261323d565b604082019050919050565b600060208201905081810360008301526132c88161328c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061332b6023836125e1565b9150613336826132cf565b604082019050919050565b6000602082019050818103600083015261335a8161331e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133bd6029836125e1565b91506133c882613361565b604082019050919050565b600060208201905081810360008301526133ec816133b0565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b600061344f6024836125e1565b915061345a826133f3565b604082019050919050565b6000602082019050818103600083015261347e81613442565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006134bb6019836125e1565b91506134c682613485565b602082019050919050565b600060208201905081810360008301526134ea816134ae565b9050919050565b60006134fc826126fa565b9150613507836126fa565b925082820190508082111561351f5761351e612b5a565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061355b601a836125e1565b915061356682613525565b602082019050919050565b6000602082019050818103600083015261358a8161354e565b9050919050565b600061359c826126fa565b91506135a7836126fa565b92508282039050818111156135bf576135be612b5a565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135fa816126bc565b82525050565b600061360c83836135f1565b60208301905092915050565b6000602082019050919050565b6000613630826135c5565b61363a81856135d0565b9350613645836135e1565b8060005b8381101561367657815161365d8882613600565b975061366883613618565b925050600181019050613649565b5085935050505092915050565b600060a08201905061369860008301886127a6565b6136a56020830187612dea565b81810360408301526136b78186613625565b90506136c66060830185612a18565b6136d360808301846127a6565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613713601b836125e1565b915061371e826136dd565b602082019050919050565b6000602082019050818103600083015261374281613706565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e7f8897fd7e8e04aad5ab946d491b8c1f5a028bd298dd0faeca61c6ea1eb986164736f6c6343000812003300000000000000000000000061f3b386a0e47661efec93bf6e408fdbd21f5e31

Deployed Bytecode

0x6080604052600436106101695760003560e01c8063715018a6116100d1578063a9059cbb1161008a578063c36956a011610064578063c36956a0146104f0578063c876d0b91461051b578063d34628cc14610546578063dd62ed3e1461056f57610170565b8063a9059cbb14610471578063b155a054146104ae578063bf474bed146104c557610170565b8063715018a614610397578063751039fc146103ae5780637d1db4a5146103c55780638da5cb5b146103f05780638f9a55c01461041b57806395d89b411461044657610170565b806323b872dd1161012357806323b872dd14610275578063313ce567146102b257806331c2d847146102dd5780633bbac5791461030657806351bc3c851461034357806370a082311461035a57610170565b8062390c851461017557806306fdde031461018c578063095ea7b3146101b75780630c193045146101f45780630faee56f1461021f57806318160ddd1461024a57610170565b3661017057005b600080fd5b34801561018157600080fd5b5061018a6105ac565b005b34801561019857600080fd5b506101a1610ae4565b6040516101ae9190612666565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190612730565b610b21565b6040516101eb919061278b565b60405180910390f35b34801561020057600080fd5b50610209610b3f565b60405161021691906127b5565b60405180910390f35b34801561022b57600080fd5b50610234610b45565b60405161024191906127b5565b60405180910390f35b34801561025657600080fd5b5061025f610b4b565b60405161026c91906127b5565b60405180910390f35b34801561028157600080fd5b5061029c600480360381019061029791906127d0565b610b70565b6040516102a9919061278b565b60405180910390f35b3480156102be57600080fd5b506102c7610c49565b6040516102d4919061283f565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff91906129a2565b610c52565b005b34801561031257600080fd5b5061032d600480360381019061032891906129eb565b610d7c565b60405161033a919061278b565b60405180910390f35b34801561034f57600080fd5b50610358610dd2565b005b34801561036657600080fd5b50610381600480360381019061037c91906129eb565b610e6f565b60405161038e91906127b5565b60405180910390f35b3480156103a357600080fd5b506103ac610eb8565b005b3480156103ba57600080fd5b506103c361100b565b005b3480156103d157600080fd5b506103da611169565b6040516103e791906127b5565b60405180910390f35b3480156103fc57600080fd5b5061040561116f565b6040516104129190612a27565b60405180910390f35b34801561042757600080fd5b50610430611198565b60405161043d91906127b5565b60405180910390f35b34801561045257600080fd5b5061045b61119e565b6040516104689190612666565b60405180910390f35b34801561047d57600080fd5b5061049860048036038101906104939190612730565b6111db565b6040516104a5919061278b565b60405180910390f35b3480156104ba57600080fd5b506104c36111f9565b005b3480156104d157600080fd5b506104da6112a2565b6040516104e791906127b5565b60405180910390f35b3480156104fc57600080fd5b506105056112a8565b60405161051291906127b5565b60405180910390f35b34801561052757600080fd5b506105306112ae565b60405161053d919061278b565b60405180910390f35b34801561055257600080fd5b5061056d600480360381019061056891906129a2565b6112c1565b005b34801561057b57600080fd5b5061059660048036038101906105919190612a42565b6113eb565b6040516105a391906127b5565b60405180910390f35b6105b4611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063890612ace565b60405180910390fd5b601660149054906101000a900460ff1615610691576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068890612b3a565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061073030601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61071b9190612cbc565b641784abd31261072b9190612d07565b611588565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c19190612d5e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e9190612d5e565b6040518363ffffffff1660e01b815260040161088b929190612d8b565b6020604051808303816000875af11580156108aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ce9190612d5e565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061095730610e6f565b60008061096261116f565b426040518863ffffffff1660e01b815260040161098496959493929190612df9565b60606040518083038185885af11580156109a2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109c79190612e6f565b505050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a69929190612ec2565b6020604051808303816000875af1158015610a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aac9190612f17565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b60606040518060400160405280600a81526020017f4f6f676120426f6f676100000000000000000000000000000000000000000000815250905090565b6000610b35610b2e611580565b8484611588565b6001905092915050565b600c5481565b60135481565b60006009600a610b5b9190612cbc565b641784abd312610b6b9190612d07565b905090565b6000610b7d848484611751565b610c3e84610b89611580565b610c398560405180606001604052806028815260200161374a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610bef611580565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121949092919063ffffffff16565b611588565b600190509392505050565b60006009905090565b610c5a611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cde90612ace565b60405180910390fd5b60005b8151811015610d7857600060046000848481518110610d0c57610d0b612f44565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d7090612f73565b915050610cea565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e13611580565b73ffffffffffffffffffffffffffffffffffffffff1614610e3357600080fd5b6000610e3e30610e6f565b90506000811115610e5357610e52816121f8565b5b60004790506000811115610e6b57610e6a81612490565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ec0611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4490612ace565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611013611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109790612ace565b60405180910390fd5b6009600a6110ae9190612cbc565b641784abd3126110be9190612d07565b6010819055506009600a6110d29190612cbc565b641784abd3126110e29190612d07565b6011819055506000600660006101000a81548160ff021916908315150217905550600a600d81905550600a600c819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6111429190612cbc565b641784abd3126111529190612d07565b60405161115f91906127b5565b60405180910390a1565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600481526020017f4f4f474100000000000000000000000000000000000000000000000000000000815250905090565b60006111ef6111e8611580565b8484611751565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661123a611580565b73ffffffffffffffffffffffffffffffffffffffff1614611290576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128790613007565b60405180910390fd5b6000600a819055506000600b81905550565b60125481565b600d5481565b600660009054906101000a900460ff1681565b6112c9611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134d90612ace565b60405180910390fd5b60005b81518110156113e75760016004600084848151811061137b5761137a612f44565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806113df90612f73565b915050611359565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080830361148457600090506114e6565b600082846114929190612d07565b90508284826114a19190613056565b146114e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d8906130f9565b60405180910390fd5b809150505b92915050565b600061152e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124fc565b905092915050565b600061157883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612194565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee9061318b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d9061321d565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161174491906127b5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b7906132af565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361182f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182690613341565b60405180910390fd5b60008111611872576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611869906133d3565b60405180910390fd5b600061187c61116f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118ea57506118ba61116f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ed757600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119935750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61199c57600080fd5b600660009054906101000a900460ff1615611b2957601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a5d5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b285743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ada90613465565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611bd45750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c2a5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ce557601054821115611c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6b906134d1565b60405180910390fd5b60115482611c8185610e6f565b611c8b91906134f1565b1115611ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc390613571565b60405180910390fd5b600f6000815480929190611cdf90612f73565b91905055505b611d216064611d13600c54600f5411611d0057600854611d04565b600a545b8561147290919063ffffffff16565b6114ec90919063ffffffff16565b9050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611dac57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611df057611ded6064611ddf600d54600f5411611dcc57600954611dd0565b600b545b8561147290919063ffffffff16565b6114ec90919063ffffffff16565b90505b6000611dfb30610e6f565b9050601660159054906101000a900460ff16158015611e675750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611e7d575060168054906101000a900460ff165b8015611e8a575060125481115b8015611e995750600e54600f54115b15611ed557611ebb611eb684611eb18460135461255f565b61255f565b6121f8565b60004790506000811115611ed357611ed247612490565b5b505b505b6000811115611fdb57611f3281600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257890919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fd291906127b5565b60405180910390a35b61202d82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461153690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120d4612086828461153690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612179848661153690919063ffffffff16565b60405161218691906127b5565b60405180910390a350505050565b60008383111582906121dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d39190612666565b60405180910390fd5b50600083856121eb9190613591565b9050809150509392505050565b6001601660156101000a81548160ff021916908315150217905550600081031561247257601660149054906101000a900460ff1615612472576000600267ffffffffffffffff81111561224e5761224d61285f565b5b60405190808252806020026020018201604052801561227c5781602001602082028036833780820191505090505b509050308160008151811061229457612293612f44565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561233b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235f9190612d5e565b8160018151811061237357612372612f44565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506123da30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611588565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161243e959493929190613683565b600060405180830381600087803b15801561245857600080fd5b505af115801561246c573d6000803e3d6000fd5b50505050505b6000601660156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156124f8573d6000803e3d6000fd5b5050565b60008083118290612543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253a9190612666565b60405180910390fd5b50600083856125529190613056565b9050809150509392505050565b600081831161256e5782612570565b815b905092915050565b600080828461258791906134f1565b9050838110156125cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c390613729565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126105780820151818401526020810190506125f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000612638826125d6565b61264281856125e1565b93506126528185602086016125f2565b61265b8161261c565b840191505092915050565b60006020820190508181036000830152612680818461262d565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126c78261269c565b9050919050565b6126d7816126bc565b81146126e257600080fd5b50565b6000813590506126f4816126ce565b92915050565b6000819050919050565b61270d816126fa565b811461271857600080fd5b50565b60008135905061272a81612704565b92915050565b6000806040838503121561274757612746612692565b5b6000612755858286016126e5565b92505060206127668582860161271b565b9150509250929050565b60008115159050919050565b61278581612770565b82525050565b60006020820190506127a0600083018461277c565b92915050565b6127af816126fa565b82525050565b60006020820190506127ca60008301846127a6565b92915050565b6000806000606084860312156127e9576127e8612692565b5b60006127f7868287016126e5565b9350506020612808868287016126e5565b92505060406128198682870161271b565b9150509250925092565b600060ff82169050919050565b61283981612823565b82525050565b60006020820190506128546000830184612830565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6128978261261c565b810181811067ffffffffffffffff821117156128b6576128b561285f565b5b80604052505050565b60006128c9612688565b90506128d5828261288e565b919050565b600067ffffffffffffffff8211156128f5576128f461285f565b5b602082029050602081019050919050565b600080fd5b600061291e612919846128da565b6128bf565b9050808382526020820190506020840283018581111561294157612940612906565b5b835b8181101561296a578061295688826126e5565b845260208401935050602081019050612943565b5050509392505050565b600082601f8301126129895761298861285a565b5b813561299984826020860161290b565b91505092915050565b6000602082840312156129b8576129b7612692565b5b600082013567ffffffffffffffff8111156129d6576129d5612697565b5b6129e284828501612974565b91505092915050565b600060208284031215612a0157612a00612692565b5b6000612a0f848285016126e5565b91505092915050565b612a21816126bc565b82525050565b6000602082019050612a3c6000830184612a18565b92915050565b60008060408385031215612a5957612a58612692565b5b6000612a67858286016126e5565b9250506020612a78858286016126e5565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ab86020836125e1565b9150612ac382612a82565b602082019050919050565b60006020820190508181036000830152612ae781612aab565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612b246017836125e1565b9150612b2f82612aee565b602082019050919050565b60006020820190508181036000830152612b5381612b17565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612be057808604811115612bbc57612bbb612b5a565b5b6001851615612bcb5780820291505b8081029050612bd985612b89565b9450612ba0565b94509492505050565b600082612bf95760019050612cb5565b81612c075760009050612cb5565b8160018114612c1d5760028114612c2757612c56565b6001915050612cb5565b60ff841115612c3957612c38612b5a565b5b8360020a915084821115612c5057612c4f612b5a565b5b50612cb5565b5060208310610133831016604e8410600b8410161715612c8b5782820a905083811115612c8657612c85612b5a565b5b612cb5565b612c988484846001612b96565b92509050818404811115612caf57612cae612b5a565b5b81810290505b9392505050565b6000612cc7826126fa565b9150612cd283612823565b9250612cff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612be9565b905092915050565b6000612d12826126fa565b9150612d1d836126fa565b9250828202612d2b816126fa565b91508282048414831517612d4257612d41612b5a565b5b5092915050565b600081519050612d58816126ce565b92915050565b600060208284031215612d7457612d73612692565b5b6000612d8284828501612d49565b91505092915050565b6000604082019050612da06000830185612a18565b612dad6020830184612a18565b9392505050565b6000819050919050565b6000819050919050565b6000612de3612dde612dd984612db4565b612dbe565b6126fa565b9050919050565b612df381612dc8565b82525050565b600060c082019050612e0e6000830189612a18565b612e1b60208301886127a6565b612e286040830187612dea565b612e356060830186612dea565b612e426080830185612a18565b612e4f60a08301846127a6565b979650505050505050565b600081519050612e6981612704565b92915050565b600080600060608486031215612e8857612e87612692565b5b6000612e9686828701612e5a565b9350506020612ea786828701612e5a565b9250506040612eb886828701612e5a565b9150509250925092565b6000604082019050612ed76000830185612a18565b612ee460208301846127a6565b9392505050565b612ef481612770565b8114612eff57600080fd5b50565b600081519050612f1181612eeb565b92915050565b600060208284031215612f2d57612f2c612692565b5b6000612f3b84828501612f02565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612f7e826126fa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fb057612faf612b5a565b5b600182019050919050565b7f4e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b6000612ff1600e836125e1565b9150612ffc82612fbb565b602082019050919050565b6000602082019050818103600083015261302081612fe4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613061826126fa565b915061306c836126fa565b92508261307c5761307b613027565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006130e36021836125e1565b91506130ee82613087565b604082019050919050565b60006020820190508181036000830152613112816130d6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131756024836125e1565b915061318082613119565b604082019050919050565b600060208201905081810360008301526131a481613168565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132076022836125e1565b9150613212826131ab565b604082019050919050565b60006020820190508181036000830152613236816131fa565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132996025836125e1565b91506132a48261323d565b604082019050919050565b600060208201905081810360008301526132c88161328c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061332b6023836125e1565b9150613336826132cf565b604082019050919050565b6000602082019050818103600083015261335a8161331e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133bd6029836125e1565b91506133c882613361565b604082019050919050565b600060208201905081810360008301526133ec816133b0565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b600061344f6024836125e1565b915061345a826133f3565b604082019050919050565b6000602082019050818103600083015261347e81613442565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006134bb6019836125e1565b91506134c682613485565b602082019050919050565b600060208201905081810360008301526134ea816134ae565b9050919050565b60006134fc826126fa565b9150613507836126fa565b925082820190508082111561351f5761351e612b5a565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061355b601a836125e1565b915061356682613525565b602082019050919050565b6000602082019050818103600083015261358a8161354e565b9050919050565b600061359c826126fa565b91506135a7836126fa565b92508282039050818111156135bf576135be612b5a565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135fa816126bc565b82525050565b600061360c83836135f1565b60208301905092915050565b6000602082019050919050565b6000613630826135c5565b61363a81856135d0565b9350613645836135e1565b8060005b8381101561367657815161365d8882613600565b975061366883613618565b925050600181019050613649565b5085935050505092915050565b600060a08201905061369860008301886127a6565b6136a56020830187612dea565b81810360408301526136b78186613625565b90506136c66060830185612a18565b6136d360808301846127a6565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613713601b836125e1565b915061371e826136dd565b602082019050919050565b6000602082019050818103600083015261374281613706565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e7f8897fd7e8e04aad5ab946d491b8c1f5a028bd298dd0faeca61c6ea1eb986164736f6c63430008120033

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

00000000000000000000000061f3b386a0e47661efec93bf6e408fdbd21f5e31

-----Decoded View---------------
Arg [0] : marketingCEXWallet_ (address): 0x61F3B386a0e47661EFeC93bF6E408fdBd21F5E31

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000061f3b386a0e47661efec93bf6e408fdbd21f5e31


Deployed Bytecode Sourcemap

4867:9412:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12866:671;;;;;;;;;;;;;:::i;:::-;;7783:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8616:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5549:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6120:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8060:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8785:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7969:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14108:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12775:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13582:348;;;;;;;;;;;;;:::i;:::-;;8163:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3948:148;;;;;;;;;;;;;:::i;:::-;;12412:255;;;;;;;;;;;;;:::i;:::-;;5938:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3734:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5997:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7874:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8290:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7612:165;;;;;;;;;;;;;:::i;:::-;;6057:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5589:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5253:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13936:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8465:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12866:671;3871:12;:10;:12::i;:::-;3861:22;;:6;;;;;;;;;;:22;;;3853:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12930:11:::1;;;;;;;;;;;12929:12;12921:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;13016:42;12979:15;;:80;;;;;;;;;;;;;;;;;;13070:58;13087:4;13102:15;;;;;;;;;;;5746:1;5804:2;:13;;;;:::i;:::-;5789:12;:28;;;;:::i;:::-;13070:8;:58::i;:::-;13173:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13155:55;;;13219:4;13226:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13155:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13139:13;;:110;;;;;;;;;;;;;;;;;;13260:15;;;;;;;;;;;:31;;;13299:21;13330:4;13336:24;13354:4;13336:9;:24::i;:::-;13361:1;13363::::0;13365:7:::1;:5;:7::i;:::-;13373:15;13260:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13407:13;;;;;;;;;;;13400:29;;;13438:15;;;;;;;;;;;13456:14;13400:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13496:4;13482:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;13525:4;13511:11;;:18;;;;;;;;;;;;;;;;;;12866:671::o:0;7783:83::-;7820:13;7853:5;;;;;;;;;;;;;;;;;7846:12;;7783:83;:::o;8616:161::-;8691:4;8708:39;8717:12;:10;:12::i;:::-;8731:7;8740:6;8708:8;:39::i;:::-;8765:4;8758:11;;8616:161;;;;:::o;5549:33::-;;;;:::o;6120:49::-;;;;:::o;8060:95::-;8113:7;5746:1;5804:2;:13;;;;:::i;:::-;5789:12;:28;;;;:::i;:::-;8133:14;;8060:95;:::o;8785:313::-;8883:4;8900:36;8910:6;8918:9;8929:6;8900:9;:36::i;:::-;8947:121;8956:6;8964:12;:10;:12::i;:::-;8978:89;9016:6;8978:89;;;;;;;;;;;;;;;;;:11;:19;8990:6;8978:19;;;;;;;;;;;;;;;:33;8998:12;:10;:12::i;:::-;8978:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8947:8;:121::i;:::-;9086:4;9079:11;;8785:313;;;;;:::o;7969:83::-;8010:5;5746:1;8028:16;;7969:83;:::o;14108:162::-;3871:12;:10;:12::i;:::-;3861:22;;:6;;;;;;;;;;:22;;;3853:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14181:6:::1;14176:87;14197:6;:13;14193:1;:17;14176:87;;;14248:5;14230:4;:15;14235:6;14242:1;14235:9;;;;;;;;:::i;:::-;;;;;;;;14230:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;14212:3;;;;;:::i;:::-;;;;14176:87;;;;14108:162:::0;:::o;12775:83::-;12822:4;12843;:7;12848:1;12843:7;;;;;;;;;;;;;;;;;;;;;;;;;12836:14;;12775:83;;;:::o;13582:348::-;13646:10;;;;;;;;;;;13632:24;;:12;:10;:12::i;:::-;:24;;;13624:33;;;;;;13668:20;13689:24;13707:4;13689:9;:24::i;:::-;13668:45;;13740:1;13727:12;:14;13724:73;;;13755:30;13772:12;13755:16;:30::i;:::-;13724:73;13807:18;13826:21;13807:40;;13872:1;13861:10;:12;13858:65;;;13887:24;13900:10;13887:12;:24::i;:::-;13858:65;13613:317;;13582:348::o;8163:119::-;8229:7;8256:9;:18;8266:7;8256:18;;;;;;;;;;;;;;;;8249:25;;8163:119;;;:::o;3948:148::-;3871:12;:10;:12::i;:::-;3861:22;;:6;;;;;;;;;;:22;;;3853:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4055:1:::1;4018:40;;4039:6;::::0;::::1;;;;;;;;4018:40;;;;;;;;;;;;4086:1;4069:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3948:148::o:0;12412:255::-;3871:12;:10;:12::i;:::-;3861:22;;:6;;;;;;;;;;:22;;;3853:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5746:1:::1;5804:2;:13;;;;:::i;:::-;5789:12;:28;;;;:::i;:::-;12465:12;:22;;;;5746:1;5804:2;:13;;;;:::i;:::-;5789:12;:28;;;;:::i;:::-;12498:14;:22;;;;12552:5;12531:20;;:26;;;;;;;;;;;;;;;;;;12585:2;12568:16;:19;;;;12614:2;12598:15;:18;;;;12632:27;5746:1;5804:2;:13;;;;:::i;:::-;5789:12;:28;;;;:::i;:::-;12632:27;;;;;;:::i;:::-;;;;;;;;12412:255::o:0;5938:52::-;;;;:::o;3734:79::-;3772:7;3799:6;;;;;;;;;;;3792:13;;3734:79;:::o;5997:52::-;;;;:::o;7874:87::-;7913:13;7946:7;;;;;;;;;;;;;;;;;7939:14;;7874:87;:::o;8290:167::-;8368:4;8385:42;8395:12;:10;:12::i;:::-;8409:9;8420:6;8385:9;:42::i;:::-;8445:4;8438:11;;8290:167;;;;:::o;7612:165::-;7678:17;;;;;;;;;;;7662:33;;:12;:10;:12::i;:::-;:33;;;7654:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7740:1;7725:12;:16;;;;7768:1;7752:13;:17;;;;7612:165::o;6057:55::-;;;;:::o;5589:35::-;;;;:::o;5253:40::-;;;;;;;;;;;;;:::o;13936:164::-;3871:12;:10;:12::i;:::-;3861:22;;:6;;;;;;;;;;:22;;;3853:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14010:6:::1;14005:88;14026:5;:12;14022:1;:16;14005:88;;;14077:4;14060;:14;14065:5;14071:1;14065:8;;;;;;;;:::i;:::-;;;;;;;;14060:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;14040:3;;;;;:::i;:::-;;;;14005:88;;;;13936:164:::0;:::o;8465:143::-;8546:7;8573:11;:18;8585:5;8573:18;;;;;;;;;;;;;;;:27;8592:7;8573:27;;;;;;;;;;;;;;;;8566:34;;8465:143;;;;:::o;2824:246::-;2882:7;2911:1;2906;:6;2902:47;;2936:1;2929:8;;;;2902:47;2959:9;2975:1;2971;:5;;;;:::i;:::-;2959:17;;3004:1;2999;2995;:5;;;;:::i;:::-;:10;2987:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3061:1;3054:8;;;2824:246;;;;;:::o;3078:132::-;3136:7;3163:39;3167:1;3170;3163:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3156:46;;3078:132;;;;:::o;2482:136::-;2540:7;2567:43;2571:1;2574;2567:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2560:50;;2482:136;;;;:::o;1489:98::-;1542:7;1569:10;1562:17;;1489:98;:::o;9106:335::-;9216:1;9199:19;;:5;:19;;;9191:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9297:1;9278:21;;:7;:21;;;9270:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9379:6;9349:11;:18;9361:5;9349:18;;;;;;;;;;;;;;;:27;9368:7;9349:27;;;;;;;;;;;;;;;:36;;;;9417:7;9401:32;;9410:5;9401:32;;;9426:6;9401:32;;;;;;:::i;:::-;;;;;;;;9106:335;;;:::o;9449:2284::-;9553:1;9537:18;;:4;:18;;;9529:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9630:1;9616:16;;:2;:16;;;9608:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9700:1;9691:6;:10;9683:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9758:17;9800:7;:5;:7::i;:::-;9792:15;;:4;:15;;;;:32;;;;;9817:7;:5;:7::i;:::-;9811:13;;:2;:13;;;;9792:32;9788:1589;;;9850:4;:10;9855:4;9850:10;;;;;;;;;;;;;;;;;;;;;;;;;9849:11;:24;;;;;9865:4;:8;9870:2;9865:8;;;;;;;;;;;;;;;;;;;;;;;;;9864:9;9849:24;9841:33;;;;;;9895:20;;;;;;;;;;;9891:346;;;9954:15;;;;;;;;;;;9940:30;;:2;:30;;;;:62;;;;;9988:13;;;;;;;;;;;9974:28;;:2;:28;;;;9940:62;9936:286;;;10075:12;10033:28;:39;10062:9;10033:39;;;;;;;;;;;;;;;;:54;10025:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;10190:12;10148:28;:39;10177:9;10148:39;;;;;;;;;;;;;;;:54;;;;9936:286;9891:346;10265:13;;;;;;;;;;;10257:21;;:4;:21;;;:55;;;;;10296:15;;;;;;;;;;;10282:30;;:2;:30;;;;10257:55;:83;;;;;10318:18;:22;10337:2;10318:22;;;;;;;;;;;;;;;;;;;;;;;;;10316:24;10257:83;10253:313;;;10380:12;;10370:6;:22;;10362:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10475:14;;10465:6;10449:13;10459:2;10449:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10441:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10539:9;;:11;;;;;;;;;:::i;:::-;;;;;;10253:313;10596:76;10668:3;10596:67;10618:15;;10608:9;;:25;10607:55;;10648:14;;10607:55;;;10635:12;;10607:55;10596:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;10584:88;;10696:13;;;;;;;;;;;10690:19;;:2;:19;;;:43;;;;;10728:4;10713:20;;:4;:20;;;;10690:43;10687:174;;;10766:79;10841:3;10766:70;10788:16;;10778:9;;:26;10777:58;;10820:15;;10777:58;;;10806:13;;10777:58;10766:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;10754:91;;10687:174;10877:28;10908:24;10926:4;10908:9;:24::i;:::-;10877:55;;10952:6;;;;;;;;;;;10951:7;:30;;;;;10968:13;;;;;;;;;;;10962:19;;:2;:19;;;10951:30;:45;;;;;10985:11;;;;;;;;;;10951:45;:87;;;;;11021:17;;11000:20;:38;10951:87;:119;;;;;11052:18;;11042:9;;:28;10951:119;10947:419;;;11091:67;11108:49;11112:6;11119:37;11123:20;11144:11;;11119:3;:37::i;:::-;11108:3;:49::i;:::-;11091:16;:67::i;:::-;11177:26;11206:21;11177:50;;11270:1;11249:18;:22;11246:105;;;11296:35;11309:21;11296:12;:35::i;:::-;11246:105;11072:294;10947:419;9826:1551;9788:1589;11402:1;11392:9;:11;11389:161;;;11442:39;11471:9;11442;:24;11460:4;11442:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11417:9;:24;11435:4;11417:24;;;;;;;;;;;;;;;:64;;;;11522:4;11499:39;;11508:4;11499:39;;;11528:9;11499:39;;;;;;:::i;:::-;;;;;;;;11389:161;11576:27;11596:6;11576:9;:15;11586:4;11576:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11560:9;:15;11570:4;11560:15;;;;;;;;;;;;;;;:43;;;;11628:40;11646:21;11657:9;11646:6;:10;;:21;;;;:::i;:::-;11628:9;:13;11638:2;11628:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11614:9;:13;11624:2;11614:13;;;;;;;;;;;;;;;:54;;;;11699:2;11684:41;;11693:4;11684:41;;;11703:21;11714:9;11703:6;:10;;:21;;;;:::i;:::-;11684:41;;;;;;:::i;:::-;;;;;;;;9518:2215;9449:2284;;;:::o;2626:190::-;2712:7;2745:1;2740;:6;;2748:12;2732:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2772:9;2788:1;2784;:5;;;;:::i;:::-;2772:17;;2807:1;2800:8;;;2626:190;;;;;:::o;11849:555::-;6544:4;6535:6;;:13;;;;;;;;;;;;;;;;;;11943:1:::1;11930:11;:14:::0;11927:27;11946:7:::1;11927:27;11968:11;;;;;;;;;;;11964:25:::0;11981:7:::1;11964:25;11999:21;12037:1;12023:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11999:40;;12068:4;12050;12055:1;12050:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12094:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12084:4;12089:1;12084:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12127:62;12144:4;12159:15;;;;;;;;;;;12177:11;12127:8;:62::i;:::-;12200:15;;;;;;;;;;;:66;;;12281:11;12307:1;12323:4;12350;12370:15;12200:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11916:488;6559:1;6580:5:::0;6571:6;;:14;;;;;;;;;;;;;;;;;;11849:555;:::o;12675:92::-;12732:10;;;;;;;;;;;:19;;:27;12752:6;12732:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12675:92;:::o;3218:189::-;3304:7;3336:1;3332;:5;3339:12;3324:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3363:9;3379:1;3375;:5;;;;:::i;:::-;3363:17;;3398:1;3391:8;;;3218:189;;;;;:::o;11743:98::-;11800:7;11827:1;11825;:3;11824:9;;11832:1;11824:9;;;11830:1;11824:9;11817:16;;11743:98;;;;:::o;2295:179::-;2353:7;2373:9;2389:1;2385;:5;;;;:::i;:::-;2373:17;;2414:1;2409;:6;;2401:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2465:1;2458:8;;;2295:179;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:117::-;4962:1;4959;4952:12;4976:180;5024:77;5021:1;5014:88;5121:4;5118:1;5111:15;5145:4;5142:1;5135:15;5162:281;5245:27;5267:4;5245:27;:::i;:::-;5237:6;5233:40;5375:6;5363:10;5360:22;5339:18;5327:10;5324:34;5321:62;5318:88;;;5386:18;;:::i;:::-;5318:88;5426:10;5422:2;5415:22;5205:238;5162:281;;:::o;5449:129::-;5483:6;5510:20;;:::i;:::-;5500:30;;5539:33;5567:4;5559:6;5539:33;:::i;:::-;5449:129;;;:::o;5584:311::-;5661:4;5751:18;5743:6;5740:30;5737:56;;;5773:18;;:::i;:::-;5737:56;5823:4;5815:6;5811:17;5803:25;;5883:4;5877;5873:15;5865:23;;5584:311;;;:::o;5901:117::-;6010:1;6007;6000:12;6041:710;6137:5;6162:81;6178:64;6235:6;6178:64;:::i;:::-;6162:81;:::i;:::-;6153:90;;6263:5;6292:6;6285:5;6278:21;6326:4;6319:5;6315:16;6308:23;;6379:4;6371:6;6367:17;6359:6;6355:30;6408:3;6400:6;6397:15;6394:122;;;6427:79;;:::i;:::-;6394:122;6542:6;6525:220;6559:6;6554:3;6551:15;6525:220;;;6634:3;6663:37;6696:3;6684:10;6663:37;:::i;:::-;6658:3;6651:50;6730:4;6725:3;6721:14;6714:21;;6601:144;6585:4;6580:3;6576:14;6569:21;;6525:220;;;6529:21;6143:608;;6041:710;;;;;:::o;6774:370::-;6845:5;6894:3;6887:4;6879:6;6875:17;6871:27;6861:122;;6902:79;;:::i;:::-;6861:122;7019:6;7006:20;7044:94;7134:3;7126:6;7119:4;7111:6;7107:17;7044:94;:::i;:::-;7035:103;;6851:293;6774:370;;;;:::o;7150:539::-;7234:6;7283:2;7271:9;7262:7;7258:23;7254:32;7251:119;;;7289:79;;:::i;:::-;7251:119;7437:1;7426:9;7422:17;7409:31;7467:18;7459:6;7456:30;7453:117;;;7489:79;;:::i;:::-;7453:117;7594:78;7664:7;7655:6;7644:9;7640:22;7594:78;:::i;:::-;7584:88;;7380:302;7150:539;;;;:::o;7695:329::-;7754:6;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;7695:329;;;;:::o;8030:118::-;8117:24;8135:5;8117:24;:::i;:::-;8112:3;8105:37;8030:118;;:::o;8154:222::-;8247:4;8285:2;8274:9;8270:18;8262:26;;8298:71;8366:1;8355:9;8351:17;8342:6;8298:71;:::i;:::-;8154:222;;;;:::o;8382:474::-;8450:6;8458;8507:2;8495:9;8486:7;8482:23;8478:32;8475:119;;;8513:79;;:::i;:::-;8475:119;8633:1;8658:53;8703:7;8694:6;8683:9;8679:22;8658:53;:::i;:::-;8648:63;;8604:117;8760:2;8786:53;8831:7;8822:6;8811:9;8807:22;8786:53;:::i;:::-;8776:63;;8731:118;8382:474;;;;;:::o;8862:182::-;9002:34;8998:1;8990:6;8986:14;8979:58;8862:182;:::o;9050:366::-;9192:3;9213:67;9277:2;9272:3;9213:67;:::i;:::-;9206:74;;9289:93;9378:3;9289:93;:::i;:::-;9407:2;9402:3;9398:12;9391:19;;9050:366;;;:::o;9422:419::-;9588:4;9626:2;9615:9;9611:18;9603:26;;9675:9;9669:4;9665:20;9661:1;9650:9;9646:17;9639:47;9703:131;9829:4;9703:131;:::i;:::-;9695:139;;9422:419;;;:::o;9847:173::-;9987:25;9983:1;9975:6;9971:14;9964:49;9847:173;:::o;10026:366::-;10168:3;10189:67;10253:2;10248:3;10189:67;:::i;:::-;10182:74;;10265:93;10354:3;10265:93;:::i;:::-;10383:2;10378:3;10374:12;10367:19;;10026:366;;;:::o;10398:419::-;10564:4;10602:2;10591:9;10587:18;10579:26;;10651:9;10645:4;10641:20;10637:1;10626:9;10622:17;10615:47;10679:131;10805:4;10679:131;:::i;:::-;10671:139;;10398:419;;;:::o;10823:180::-;10871:77;10868:1;10861:88;10968:4;10965:1;10958:15;10992:4;10989:1;10982:15;11009:102;11051:8;11098:5;11095:1;11091:13;11070:34;;11009:102;;;:::o;11117:848::-;11178:5;11185:4;11209:6;11200:15;;11233:5;11224:14;;11247:712;11268:1;11258:8;11255:15;11247:712;;;11363:4;11358:3;11354:14;11348:4;11345:24;11342:50;;;11372:18;;:::i;:::-;11342:50;11422:1;11412:8;11408:16;11405:451;;;11837:4;11830:5;11826:16;11817:25;;11405:451;11887:4;11881;11877:15;11869:23;;11917:32;11940:8;11917:32;:::i;:::-;11905:44;;11247:712;;;11117:848;;;;;;;:::o;11971:1073::-;12025:5;12216:8;12206:40;;12237:1;12228:10;;12239:5;;12206:40;12265:4;12255:36;;12282:1;12273:10;;12284:5;;12255:36;12351:4;12399:1;12394:27;;;;12435:1;12430:191;;;;12344:277;;12394:27;12412:1;12403:10;;12414:5;;;12430:191;12475:3;12465:8;12462:17;12459:43;;;12482:18;;:::i;:::-;12459:43;12531:8;12528:1;12524:16;12515:25;;12566:3;12559:5;12556:14;12553:40;;;12573:18;;:::i;:::-;12553:40;12606:5;;;12344:277;;12730:2;12720:8;12717:16;12711:3;12705:4;12702:13;12698:36;12680:2;12670:8;12667:16;12662:2;12656:4;12653:12;12649:35;12633:111;12630:246;;;12786:8;12780:4;12776:19;12767:28;;12821:3;12814:5;12811:14;12808:40;;;12828:18;;:::i;:::-;12808:40;12861:5;;12630:246;12901:42;12939:3;12929:8;12923:4;12920:1;12901:42;:::i;:::-;12886:57;;;;12975:4;12970:3;12966:14;12959:5;12956:25;12953:51;;;12984:18;;:::i;:::-;12953:51;13033:4;13026:5;13022:16;13013:25;;11971:1073;;;;;;:::o;13050:281::-;13108:5;13132:23;13150:4;13132:23;:::i;:::-;13124:31;;13176:25;13192:8;13176:25;:::i;:::-;13164:37;;13220:104;13257:66;13247:8;13241:4;13220:104;:::i;:::-;13211:113;;13050:281;;;;:::o;13337:410::-;13377:7;13400:20;13418:1;13400:20;:::i;:::-;13395:25;;13434:20;13452:1;13434:20;:::i;:::-;13429:25;;13489:1;13486;13482:9;13511:30;13529:11;13511:30;:::i;:::-;13500:41;;13690:1;13681:7;13677:15;13674:1;13671:22;13651:1;13644:9;13624:83;13601:139;;13720:18;;:::i;:::-;13601:139;13385:362;13337:410;;;;:::o;13753:143::-;13810:5;13841:6;13835:13;13826:22;;13857:33;13884:5;13857:33;:::i;:::-;13753:143;;;;:::o;13902:351::-;13972:6;14021:2;14009:9;14000:7;13996:23;13992:32;13989:119;;;14027:79;;:::i;:::-;13989:119;14147:1;14172:64;14228:7;14219:6;14208:9;14204:22;14172:64;:::i;:::-;14162:74;;14118:128;13902:351;;;;:::o;14259:332::-;14380:4;14418:2;14407:9;14403:18;14395:26;;14431:71;14499:1;14488:9;14484:17;14475:6;14431:71;:::i;:::-;14512:72;14580:2;14569:9;14565:18;14556:6;14512:72;:::i;:::-;14259:332;;;;;:::o;14597:85::-;14642:7;14671:5;14660:16;;14597:85;;;:::o;14688:60::-;14716:3;14737:5;14730:12;;14688:60;;;:::o;14754:158::-;14812:9;14845:61;14863:42;14872:32;14898:5;14872:32;:::i;:::-;14863:42;:::i;:::-;14845:61;:::i;:::-;14832:74;;14754:158;;;:::o;14918:147::-;15013:45;15052:5;15013:45;:::i;:::-;15008:3;15001:58;14918:147;;:::o;15071:807::-;15320:4;15358:3;15347:9;15343:19;15335:27;;15372:71;15440:1;15429:9;15425:17;15416:6;15372:71;:::i;:::-;15453:72;15521:2;15510:9;15506:18;15497:6;15453:72;:::i;:::-;15535:80;15611:2;15600:9;15596:18;15587:6;15535:80;:::i;:::-;15625;15701:2;15690:9;15686:18;15677:6;15625:80;:::i;:::-;15715:73;15783:3;15772:9;15768:19;15759:6;15715:73;:::i;:::-;15798;15866:3;15855:9;15851:19;15842:6;15798:73;:::i;:::-;15071:807;;;;;;;;;:::o;15884:143::-;15941:5;15972:6;15966:13;15957:22;;15988:33;16015:5;15988:33;:::i;:::-;15884:143;;;;:::o;16033:663::-;16121:6;16129;16137;16186:2;16174:9;16165:7;16161:23;16157:32;16154:119;;;16192:79;;:::i;:::-;16154:119;16312:1;16337:64;16393:7;16384:6;16373:9;16369:22;16337:64;:::i;:::-;16327:74;;16283:128;16450:2;16476:64;16532:7;16523:6;16512:9;16508:22;16476:64;:::i;:::-;16466:74;;16421:129;16589:2;16615:64;16671:7;16662:6;16651:9;16647:22;16615:64;:::i;:::-;16605:74;;16560:129;16033:663;;;;;:::o;16702:332::-;16823:4;16861:2;16850:9;16846:18;16838:26;;16874:71;16942:1;16931:9;16927:17;16918:6;16874:71;:::i;:::-;16955:72;17023:2;17012:9;17008:18;16999:6;16955:72;:::i;:::-;16702:332;;;;;:::o;17040:116::-;17110:21;17125:5;17110:21;:::i;:::-;17103:5;17100:32;17090:60;;17146:1;17143;17136:12;17090:60;17040:116;:::o;17162:137::-;17216:5;17247:6;17241:13;17232:22;;17263:30;17287:5;17263:30;:::i;:::-;17162:137;;;;:::o;17305:345::-;17372:6;17421:2;17409:9;17400:7;17396:23;17392:32;17389:119;;;17427:79;;:::i;:::-;17389:119;17547:1;17572:61;17625:7;17616:6;17605:9;17601:22;17572:61;:::i;:::-;17562:71;;17518:125;17305:345;;;;:::o;17656:180::-;17704:77;17701:1;17694:88;17801:4;17798:1;17791:15;17825:4;17822:1;17815:15;17842:233;17881:3;17904:24;17922:5;17904:24;:::i;:::-;17895:33;;17950:66;17943:5;17940:77;17937:103;;18020:18;;:::i;:::-;17937:103;18067:1;18060:5;18056:13;18049:20;;17842:233;;;:::o;18081:164::-;18221:16;18217:1;18209:6;18205:14;18198:40;18081:164;:::o;18251:366::-;18393:3;18414:67;18478:2;18473:3;18414:67;:::i;:::-;18407:74;;18490:93;18579:3;18490:93;:::i;:::-;18608:2;18603:3;18599:12;18592:19;;18251:366;;;:::o;18623:419::-;18789:4;18827:2;18816:9;18812:18;18804:26;;18876:9;18870:4;18866:20;18862:1;18851:9;18847:17;18840:47;18904:131;19030:4;18904:131;:::i;:::-;18896:139;;18623:419;;;:::o;19048:180::-;19096:77;19093:1;19086:88;19193:4;19190:1;19183:15;19217:4;19214:1;19207:15;19234:185;19274:1;19291:20;19309:1;19291:20;:::i;:::-;19286:25;;19325:20;19343:1;19325:20;:::i;:::-;19320:25;;19364:1;19354:35;;19369:18;;:::i;:::-;19354:35;19411:1;19408;19404:9;19399:14;;19234:185;;;;:::o;19425:220::-;19565:34;19561:1;19553:6;19549:14;19542:58;19634:3;19629:2;19621:6;19617:15;19610:28;19425:220;:::o;19651:366::-;19793:3;19814:67;19878:2;19873:3;19814:67;:::i;:::-;19807:74;;19890:93;19979:3;19890:93;:::i;:::-;20008:2;20003:3;19999:12;19992:19;;19651:366;;;:::o;20023:419::-;20189:4;20227:2;20216:9;20212:18;20204:26;;20276:9;20270:4;20266:20;20262:1;20251:9;20247:17;20240:47;20304:131;20430:4;20304:131;:::i;:::-;20296:139;;20023:419;;;:::o;20448:223::-;20588:34;20584:1;20576:6;20572:14;20565:58;20657:6;20652:2;20644:6;20640:15;20633:31;20448:223;:::o;20677:366::-;20819:3;20840:67;20904:2;20899:3;20840:67;:::i;:::-;20833:74;;20916:93;21005:3;20916:93;:::i;:::-;21034:2;21029:3;21025:12;21018:19;;20677:366;;;:::o;21049:419::-;21215:4;21253:2;21242:9;21238:18;21230:26;;21302:9;21296:4;21292:20;21288:1;21277:9;21273:17;21266:47;21330:131;21456:4;21330:131;:::i;:::-;21322:139;;21049:419;;;:::o;21474:221::-;21614:34;21610:1;21602:6;21598:14;21591:58;21683:4;21678:2;21670:6;21666:15;21659:29;21474:221;:::o;21701:366::-;21843:3;21864:67;21928:2;21923:3;21864:67;:::i;:::-;21857:74;;21940:93;22029:3;21940:93;:::i;:::-;22058:2;22053:3;22049:12;22042:19;;21701:366;;;:::o;22073:419::-;22239:4;22277:2;22266:9;22262:18;22254:26;;22326:9;22320:4;22316:20;22312:1;22301:9;22297:17;22290:47;22354:131;22480:4;22354:131;:::i;:::-;22346:139;;22073:419;;;:::o;22498:224::-;22638:34;22634:1;22626:6;22622:14;22615:58;22707:7;22702:2;22694:6;22690:15;22683:32;22498:224;:::o;22728:366::-;22870:3;22891:67;22955:2;22950:3;22891:67;:::i;:::-;22884:74;;22967:93;23056:3;22967:93;:::i;:::-;23085:2;23080:3;23076:12;23069:19;;22728:366;;;:::o;23100:419::-;23266:4;23304:2;23293:9;23289:18;23281:26;;23353:9;23347:4;23343:20;23339:1;23328:9;23324:17;23317:47;23381:131;23507:4;23381:131;:::i;:::-;23373:139;;23100:419;;;:::o;23525:222::-;23665:34;23661:1;23653:6;23649:14;23642:58;23734:5;23729:2;23721:6;23717:15;23710:30;23525:222;:::o;23753:366::-;23895:3;23916:67;23980:2;23975:3;23916:67;:::i;:::-;23909:74;;23992:93;24081:3;23992:93;:::i;:::-;24110:2;24105:3;24101:12;24094:19;;23753:366;;;:::o;24125:419::-;24291:4;24329:2;24318:9;24314:18;24306:26;;24378:9;24372:4;24368:20;24364:1;24353:9;24349:17;24342:47;24406:131;24532:4;24406:131;:::i;:::-;24398:139;;24125:419;;;:::o;24550:228::-;24690:34;24686:1;24678:6;24674:14;24667:58;24759:11;24754:2;24746:6;24742:15;24735:36;24550:228;:::o;24784:366::-;24926:3;24947:67;25011:2;25006:3;24947:67;:::i;:::-;24940:74;;25023:93;25112:3;25023:93;:::i;:::-;25141:2;25136:3;25132:12;25125:19;;24784:366;;;:::o;25156:419::-;25322:4;25360:2;25349:9;25345:18;25337:26;;25409:9;25403:4;25399:20;25395:1;25384:9;25380:17;25373:47;25437:131;25563:4;25437:131;:::i;:::-;25429:139;;25156:419;;;:::o;25581:223::-;25721:34;25717:1;25709:6;25705:14;25698:58;25790:6;25785:2;25777:6;25773:15;25766:31;25581:223;:::o;25810:366::-;25952:3;25973:67;26037:2;26032:3;25973:67;:::i;:::-;25966:74;;26049:93;26138:3;26049:93;:::i;:::-;26167:2;26162:3;26158:12;26151:19;;25810:366;;;:::o;26182:419::-;26348:4;26386:2;26375:9;26371:18;26363:26;;26435:9;26429:4;26425:20;26421:1;26410:9;26406:17;26399:47;26463:131;26589:4;26463:131;:::i;:::-;26455:139;;26182:419;;;:::o;26607:175::-;26747:27;26743:1;26735:6;26731:14;26724:51;26607:175;:::o;26788:366::-;26930:3;26951:67;27015:2;27010:3;26951:67;:::i;:::-;26944:74;;27027:93;27116:3;27027:93;:::i;:::-;27145:2;27140:3;27136:12;27129:19;;26788:366;;;:::o;27160:419::-;27326:4;27364:2;27353:9;27349:18;27341:26;;27413:9;27407:4;27403:20;27399:1;27388:9;27384:17;27377:47;27441:131;27567:4;27441:131;:::i;:::-;27433:139;;27160:419;;;:::o;27585:191::-;27625:3;27644:20;27662:1;27644:20;:::i;:::-;27639:25;;27678:20;27696:1;27678:20;:::i;:::-;27673:25;;27721:1;27718;27714:9;27707:16;;27742:3;27739:1;27736:10;27733:36;;;27749:18;;:::i;:::-;27733:36;27585:191;;;;:::o;27782:176::-;27922:28;27918:1;27910:6;27906:14;27899:52;27782:176;:::o;27964:366::-;28106:3;28127:67;28191:2;28186:3;28127:67;:::i;:::-;28120:74;;28203:93;28292:3;28203:93;:::i;:::-;28321:2;28316:3;28312:12;28305:19;;27964:366;;;:::o;28336:419::-;28502:4;28540:2;28529:9;28525:18;28517:26;;28589:9;28583:4;28579:20;28575:1;28564:9;28560:17;28553:47;28617:131;28743:4;28617:131;:::i;:::-;28609:139;;28336:419;;;:::o;28761:194::-;28801:4;28821:20;28839:1;28821:20;:::i;:::-;28816:25;;28855:20;28873:1;28855:20;:::i;:::-;28850:25;;28899:1;28896;28892:9;28884:17;;28923:1;28917:4;28914:11;28911:37;;;28928:18;;:::i;:::-;28911:37;28761:194;;;;:::o;28961:114::-;29028:6;29062:5;29056:12;29046:22;;28961:114;;;:::o;29081:184::-;29180:11;29214:6;29209:3;29202:19;29254:4;29249:3;29245:14;29230:29;;29081:184;;;;:::o;29271:132::-;29338:4;29361:3;29353:11;;29391:4;29386:3;29382:14;29374:22;;29271:132;;;:::o;29409:108::-;29486:24;29504:5;29486:24;:::i;:::-;29481:3;29474:37;29409:108;;:::o;29523:179::-;29592:10;29613:46;29655:3;29647:6;29613:46;:::i;:::-;29691:4;29686:3;29682:14;29668:28;;29523:179;;;;:::o;29708:113::-;29778:4;29810;29805:3;29801:14;29793:22;;29708:113;;;:::o;29857:732::-;29976:3;30005:54;30053:5;30005:54;:::i;:::-;30075:86;30154:6;30149:3;30075:86;:::i;:::-;30068:93;;30185:56;30235:5;30185:56;:::i;:::-;30264:7;30295:1;30280:284;30305:6;30302:1;30299:13;30280:284;;;30381:6;30375:13;30408:63;30467:3;30452:13;30408:63;:::i;:::-;30401:70;;30494:60;30547:6;30494:60;:::i;:::-;30484:70;;30340:224;30327:1;30324;30320:9;30315:14;;30280:284;;;30284:14;30580:3;30573:10;;29981:608;;;29857:732;;;;:::o;30595:831::-;30858:4;30896:3;30885:9;30881:19;30873:27;;30910:71;30978:1;30967:9;30963:17;30954:6;30910:71;:::i;:::-;30991:80;31067:2;31056:9;31052:18;31043:6;30991:80;:::i;:::-;31118:9;31112:4;31108:20;31103:2;31092:9;31088:18;31081:48;31146:108;31249:4;31240:6;31146:108;:::i;:::-;31138:116;;31264:72;31332:2;31321:9;31317:18;31308:6;31264:72;:::i;:::-;31346:73;31414:3;31403:9;31399:19;31390:6;31346:73;:::i;:::-;30595:831;;;;;;;;:::o;31432:177::-;31572:29;31568:1;31560:6;31556:14;31549:53;31432:177;:::o;31615:366::-;31757:3;31778:67;31842:2;31837:3;31778:67;:::i;:::-;31771:74;;31854:93;31943:3;31854:93;:::i;:::-;31972:2;31967:3;31963:12;31956:19;;31615:366;;;:::o;31987:419::-;32153:4;32191:2;32180:9;32176:18;32168:26;;32240:9;32234:4;32230:20;32226:1;32215:9;32211:17;32204:47;32268:131;32394:4;32268:131;:::i;:::-;32260:139;;31987:419;;;:::o

Swarm Source

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