ETH Price: $2,476.52 (+1.06%)

Token

NFL views on X up 41% (YoY)
 

Overview

Max Total Supply

1,000,000,000,000 YoY

Holders

14

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000109 YoY

Value
$0.00
0xbb01efac83826c1606582badaacbf5a7b34ee9e0
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:
YoY

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-11-24
*/

// SPDX-License-Identifier: UNLICENSED
/*
    Telegram:   https://t.me/YOYerc20
    Website:    Under Construction(Check Telegram group)
    Twitter:    Under Construction(Check Telegram group)


.-. .   .-. . .   .  . . . .-. . . 
|-  |   | | |\|   |\/| | | `-. |<  
`-' `-' `-' ' `   '  ` `-' `-' ' ` 
                                   

    ....    .....    ....    ....    .....    ....    ....    .....    ....    ....    .....    ....
    ....    .....    ....    ....    .....    ....    ....    .....    ....    ....    .....    ....
....    .....    ....    ....    .....    ....    ....    .....    ....    ....    .....    ....    
....    .....    ....    ....    .....    ....    ....    .....    ....    ....    .....    ....    
    ....    .....    ....    ....    .....   :77::.:.  ...    .....    ....    ....    .....    ....
    ....    .....    ....    ....    ..... !JGBBBGGBGP5?:     .....    ....    ....    .....    ....
....    .....    ....    ....    .....   .JB#BB##BBGGB#&B7.....    ....    ....    .....    ....    
....    .....    ....    ....    .....  .5#BB5Y?7777?JJP##J ...    ....    ....    .....    ....    
    ....    .....    ....    ....    ....!BP?7!~~!77??J5B&G   .....    ....    ....    .....    ....
    ....    .....    ....    ....    .....5J7!~~!!!77?JYPB#~  .....    ....    ....    .....    ....
....    .....    ....    ....    .....    7J7?JJ?Y555P5J5GBB!..    ....    ....    .....    ....    
....    .....    ....    ....    .....    :J55PY7YYJJ??JPGBB~ .    ....    ....    .....    ....    
    ....    .....    ....    ....    ..... !?77?7JY?77YPGPP5.  ....    ....    ....    .....    ....
    .....   .....    ....    .....   ..... ^YJJJ5BP?J5PGPGGGJ^.  ..    ....    .....   .....    ....
....    .....    ....    ....    .....    ..?5JY5PPGGY5GGBGY~5G~   ....    ....    .....    ....    
...........................................  !YYY555JJGBBPY75B##GJ~.   .............................
    ....    .....    ....    ....    .....    :JYYYY5GBPYJYGBGB####GJ~:....    ....    .....    ....
....    .....   .....    ....    .....   .... .?PPGGGPYJJPBBGB###BBB##B57:  ...    .....   .....    
....    .....    ....    ....    .....    .... .JJJY?!!YGBBBB##BBBBBBBB##G?:...    .....    ....    
    ....    .....    ....    ....    .....    .YJ~7J7?PBBBBB#BBBBBBBBGB##&&G!  ....    .....    ....
    ....    .....    ....    ....    .....   .5P^:.^JGBGBBBBBBBGBGBBBB######&7 ....    .....    ....
....    .....    ....    ....    .....    . ^P5:..~PBGGGGGBBGBGGGGBBB##BB##&&B:    .....    ....    
....    .....    ....    ....    .....    .~GJ:..?GBGGGBBBBGGGGGGBBB###B#####&7    .....    ....    
    ....    .....    ..... ......7~  .... ^GJ:.~5BGGGGBBBGGBGGGBBBBB#&BBB##&&&Y ...    .....    ....
    ....    .....    ..:!!~!7!~^~!?^  ...^GY::7GBGGBBBBBBBBGGB#######BBB###&&&5....    .....    ....
....    .....    ....   :~!!!77!:~5P5J7^^PG^:?BBBBBBBBBBBBGB#&&&########B#&##&5    .....    ....    
....    .....    ....    .:!77?:!BBBBBBBBBY:7BBBBBBBBBBBBB##&&&#####BBGG#&#&&&B.   .....    ....    
    ....    .....    ....   .^^:5&###BGGBB7^G#####BBBBBBB##&&&###BBBBGB#&&&&##P....    .....    ....
    ....    .....    ....    .. ~&@&&&##BG~Y#####BB######&&&&&&##BB#BB##&####&! ...    .....    ....
....    .....    ....    ....    ^YGB#&&#57######BB######&&&&&#####B#&&&&&&&&&J    .....    ....    
....    .....    ....    ....     ..:::~BYY####BB#######&&&&&&#BBBB#######&&&&&:   .....    ....     

*/

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 YoY 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 => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable _devWallet;

    uint256 private _initialBuyTax = 21;
    uint256 private _initialSellTax = 21;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 19;
    uint256 private _reduceSellTaxAt = 19;
    uint256 private _preventSwapBefore = 19;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000000 * 10 **_decimals;
    string private constant _name = unicode"NFL views on X up 41%";
    string private constant _symbol = unicode"YoY";
    uint256 public _maxTxAmount = 20000000000 * 10 **_decimals;
    uint256 public _maxWalletSize = 20000000000 * 10 **_decimals;
    uint256 public _taxSwapThreshold = 0 * 10 **_decimals;
    uint256 public _maxTaxSwap= 15500000000 * 10 **_decimals;

    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 () {
        _devWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_devWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public 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()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(_holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase 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++;
            }

            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 {
        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 openTrading() 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;
    }

        function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }


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

          function removeTransferDelay() external onlyOwner {
        transferDelayEnabled = false;
    }
    
    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_devWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function transferETHToDev() external onlyOwner() {
        require(address(this).balance > 0, "No ETH to transfer");
        _devWallet.transfer(address(this).balance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"removeTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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":[],"name":"transferETHToDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526001600560006101000a81548160ff02191690831515021790555060156006556015600755600060085560006009556013600a556013600b556013600c556000600d556009600a62000057919062000631565b6404a817c80062000069919062000682565b600e556009600a6200007c919062000631565b6404a817c8006200008e919062000682565b600f556009600a620000a1919062000631565b6000620000af919062000682565b6010556009600a620000c2919062000631565b64039bdf3b00620000d4919062000682565b6011556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff0219169083151502179055503480156200011a57600080fd5b5060006200012d6200046660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001db6200046660201b60201c565b600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200022b919062000631565b64e8d4a510006200023d919062000682565b60016000620002516200046660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002a56200046e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003d86200046660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000437919062000631565b64e8d4a5100062000449919062000682565b604051620004589190620006de565b60405180910390a3620006fb565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200052557808604811115620004fd57620004fc62000497565b5b60018516156200050d5780820291505b80810290506200051d85620004c6565b9450620004dd565b94509492505050565b60008262000540576001905062000613565b8162000550576000905062000613565b81600181146200056957600281146200057457620005aa565b600191505062000613565b60ff84111562000589576200058862000497565b5b8360020a915084821115620005a357620005a262000497565b5b5062000613565b5060208310610133831016604e8410600b8410161715620005e45782820a905083811115620005de57620005dd62000497565b5b62000613565b620005f38484846001620004d3565b925090508184048111156200060d576200060c62000497565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200063e826200061a565b91506200064b8362000624565b92506200067a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200052e565b905092915050565b60006200068f826200061a565b91506200069c836200061a565b9250828202620006ac816200061a565b91508282048414831517620006c657620006c562000497565b5b5092915050565b620006d8816200061a565b82525050565b6000602082019050620006f56000830184620006cd565b92915050565b6132f5806200070b6000396000f3fe60806040526004361061012e5760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb146103a5578063bf474bed146103e2578063c876d0b91461040d578063c9567bf914610438578063dd62ed3e1461044f578063f8686f071461048c57610135565b8063751039fc146102e25780637d1db4a5146102f95780638da5cb5b146103245780638f9a55c01461034f57806395d89b411461037a57610135565b8063313ce567116100f2578063313ce5671461023557806351bc3c8514610260578063692cda7a1461027757806370a082311461028e578063715018a6146102cb57610135565b806306fdde031461013a578063095ea7b3146101655780630faee56f146101a257806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104a3565b60405161015c91906122ff565b60405180910390f35b34801561017157600080fd5b5061018c600480360381019061018791906123ba565b6104e0565b6040516101999190612415565b60405180910390f35b3480156101ae57600080fd5b506101b76104fe565b6040516101c4919061243f565b60405180910390f35b3480156101d957600080fd5b506101e2610504565b6040516101ef919061243f565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a919061245a565b610529565b60405161022c9190612415565b60405180910390f35b34801561024157600080fd5b5061024a610602565b60405161025791906124c9565b60405180910390f35b34801561026c57600080fd5b5061027561060b565b005b34801561028357600080fd5b5061028c6106a8565b005b34801561029a57600080fd5b506102b560048036038101906102b091906124e4565b6107eb565b6040516102c2919061243f565b60405180910390f35b3480156102d757600080fd5b506102e0610834565b005b3480156102ee57600080fd5b506102f7610987565b005b34801561030557600080fd5b5061030e610aba565b60405161031b919061243f565b60405180910390f35b34801561033057600080fd5b50610339610ac0565b6040516103469190612520565b60405180910390f35b34801561035b57600080fd5b50610364610ae9565b604051610371919061243f565b60405180910390f35b34801561038657600080fd5b5061038f610aef565b60405161039c91906122ff565b60405180910390f35b3480156103b157600080fd5b506103cc60048036038101906103c791906123ba565b610b2c565b6040516103d99190612415565b60405180910390f35b3480156103ee57600080fd5b506103f7610b4a565b604051610404919061243f565b60405180910390f35b34801561041957600080fd5b50610422610b50565b60405161042f9190612415565b60405180910390f35b34801561044457600080fd5b5061044d610b63565b005b34801561045b57600080fd5b506104766004803603810190610471919061253b565b61109c565b604051610483919061243f565b60405180910390f35b34801561049857600080fd5b506104a1611123565b005b60606040518060400160405280601581526020017f4e464c207669657773206f6e2058207570203431250000000000000000000000815250905090565b60006104f46104ed6111d5565b84846111dd565b6001905092915050565b60115481565b60006009600a61051491906126dd565b64e8d4a510006105249190612728565b905090565b60006105368484846113a6565b6105f7846105426111d5565b6105f28560405180606001604052806028815260200161329860289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105a86111d5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3e9092919063ffffffff16565b6111dd565b600190509392505050565b60006009905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661064c6111d5565b73ffffffffffffffffffffffffffffffffffffffff161461066c57600080fd5b6000610677306107eb565b9050600081111561068c5761068b81611da2565b5b600047905060008111156106a4576106a38161201b565b5b5050565b6106b06111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461073d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610734906127b6565b60405180910390fd5b60004711610780576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077790612822565b60405180910390fd5b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156107e8573d6000803e3d6000fd5b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61083c6111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c0906127b6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61098f6111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a13906127b6565b60405180910390fd5b6009600a610a2a91906126dd565b64e8d4a51000610a3a9190612728565b600e819055506009600a610a4e91906126dd565b64e8d4a51000610a5e9190612728565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a9391906126dd565b64e8d4a51000610aa39190612728565b604051610ab0919061243f565b60405180910390a1565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600381526020017f596f590000000000000000000000000000000000000000000000000000000000815250905090565b6000610b40610b396111d5565b84846113a6565b6001905092915050565b60105481565b600560009054906101000a900460ff1681565b610b6b6111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef906127b6565b60405180910390fd5b601360149054906101000a900460ff1615610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f9061288e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ce730601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610cd291906126dd565b64e8d4a51000610ce29190612728565b6111dd565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7891906128c3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2591906128c3565b6040518363ffffffff1660e01b8152600401610e429291906128f0565b6020604051808303816000875af1158015610e61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8591906128c3565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f0e306107eb565b600080610f19610ac0565b426040518863ffffffff1660e01b8152600401610f3b9695949392919061295e565b60606040518083038185885af1158015610f59573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f7e91906129d4565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611020929190612a27565b6020604051808303816000875af115801561103f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110639190612a7c565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61112b6111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111af906127b6565b60405180910390fd5b6000600560006101000a81548160ff021916908315150217905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361124c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124390612b1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b290612bad565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611399919061243f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140c90612c3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147b90612cd1565b60405180910390fd5b600081116114c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114be90612d63565b60405180910390fd5b60006114d1610ac0565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561153f575061150f610ac0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a81576115806064611572600a54600d541161155f57600654611563565b6008545b8561208790919063ffffffff16565b61210190919063ffffffff16565b9050600560009054906101000a900460ff161561170f57601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116435750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561170e5743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106116c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c090612e1b565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117ba5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118105750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118cb57600e5482111561185a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185190612e87565b60405180910390fd5b600f5482611867856107eb565b6118719190612ea7565b11156118b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a990612f27565b60405180910390fd5b600d60008154809291906118c590612f47565b91905055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561195457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611998576119956064611987600b54600d541161197457600754611978565b6009545b8561208790919063ffffffff16565b61210190919063ffffffff16565b90505b60006119a3306107eb565b9050601360159054906101000a900460ff16158015611a0f5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a275750601360169054906101000a900460ff165b8015611a34575060105481115b8015611a435750600c54600d54115b15611a7f57611a65611a6084611a5b8460115461214b565b61214b565b611da2565b60004790506000811115611a7d57611a7c4761201b565b5b505b505b6000811115611b8557611adc81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216490919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b7c919061243f565b60405180910390a35b611bd782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121c290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c7e611c3082846121c290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216490919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d2384866121c290919063ffffffff16565b604051611d30919061243f565b60405180910390a350505050565b6000838311158290611d86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7d91906122ff565b60405180910390fd5b5060008385611d959190612f8f565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611dda57611dd9612fc3565b5b604051908082528060200260200182016040528015611e085781602001602082028036833780820191505090505b5090503081600081518110611e2057611e1f612ff2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb91906128c3565b81600181518110611eff57611efe612ff2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f6630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111dd565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fca9594939291906130df565b600060405180830381600087803b158015611fe457600080fd5b505af1158015611ff8573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612083573d6000803e3d6000fd5b5050565b600080830361209957600090506120fb565b600082846120a79190612728565b90508284826120b69190613168565b146120f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ed9061320b565b60405180910390fd5b809150505b92915050565b600061214383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061220c565b905092915050565b600081831161215a578261215c565b815b905092915050565b60008082846121739190612ea7565b9050838110156121b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121af90613277565b60405180910390fd5b8091505092915050565b600061220483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d3e565b905092915050565b60008083118290612253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224a91906122ff565b60405180910390fd5b50600083856122629190613168565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122a957808201518184015260208101905061228e565b60008484015250505050565b6000601f19601f8301169050919050565b60006122d18261226f565b6122db818561227a565b93506122eb81856020860161228b565b6122f4816122b5565b840191505092915050565b6000602082019050818103600083015261231981846122c6565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061235182612326565b9050919050565b61236181612346565b811461236c57600080fd5b50565b60008135905061237e81612358565b92915050565b6000819050919050565b61239781612384565b81146123a257600080fd5b50565b6000813590506123b48161238e565b92915050565b600080604083850312156123d1576123d0612321565b5b60006123df8582860161236f565b92505060206123f0858286016123a5565b9150509250929050565b60008115159050919050565b61240f816123fa565b82525050565b600060208201905061242a6000830184612406565b92915050565b61243981612384565b82525050565b60006020820190506124546000830184612430565b92915050565b60008060006060848603121561247357612472612321565b5b60006124818682870161236f565b93505060206124928682870161236f565b92505060406124a3868287016123a5565b9150509250925092565b600060ff82169050919050565b6124c3816124ad565b82525050565b60006020820190506124de60008301846124ba565b92915050565b6000602082840312156124fa576124f9612321565b5b60006125088482850161236f565b91505092915050565b61251a81612346565b82525050565b60006020820190506125356000830184612511565b92915050565b6000806040838503121561255257612551612321565b5b60006125608582860161236f565b92505060206125718582860161236f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612601578086048111156125dd576125dc61257b565b5b60018516156125ec5780820291505b80810290506125fa856125aa565b94506125c1565b94509492505050565b60008261261a57600190506126d6565b8161262857600090506126d6565b816001811461263e576002811461264857612677565b60019150506126d6565b60ff84111561265a5761265961257b565b5b8360020a9150848211156126715761267061257b565b5b506126d6565b5060208310610133831016604e8410600b84101617156126ac5782820a9050838111156126a7576126a661257b565b5b6126d6565b6126b984848460016125b7565b925090508184048111156126d0576126cf61257b565b5b81810290505b9392505050565b60006126e882612384565b91506126f3836124ad565b92506127207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461260a565b905092915050565b600061273382612384565b915061273e83612384565b925082820261274c81612384565b915082820484148315176127635761276261257b565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006127a060208361227a565b91506127ab8261276a565b602082019050919050565b600060208201905081810360008301526127cf81612793565b9050919050565b7f4e6f2045544820746f207472616e736665720000000000000000000000000000600082015250565b600061280c60128361227a565b9150612817826127d6565b602082019050919050565b6000602082019050818103600083015261283b816127ff565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061287860178361227a565b915061288382612842565b602082019050919050565b600060208201905081810360008301526128a78161286b565b9050919050565b6000815190506128bd81612358565b92915050565b6000602082840312156128d9576128d8612321565b5b60006128e7848285016128ae565b91505092915050565b60006040820190506129056000830185612511565b6129126020830184612511565b9392505050565b6000819050919050565b6000819050919050565b600061294861294361293e84612919565b612923565b612384565b9050919050565b6129588161292d565b82525050565b600060c0820190506129736000830189612511565b6129806020830188612430565b61298d604083018761294f565b61299a606083018661294f565b6129a76080830185612511565b6129b460a0830184612430565b979650505050505050565b6000815190506129ce8161238e565b92915050565b6000806000606084860312156129ed576129ec612321565b5b60006129fb868287016129bf565b9350506020612a0c868287016129bf565b9250506040612a1d868287016129bf565b9150509250925092565b6000604082019050612a3c6000830185612511565b612a496020830184612430565b9392505050565b612a59816123fa565b8114612a6457600080fd5b50565b600081519050612a7681612a50565b92915050565b600060208284031215612a9257612a91612321565b5b6000612aa084828501612a67565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612b0560248361227a565b9150612b1082612aa9565b604082019050919050565b60006020820190508181036000830152612b3481612af8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b9760228361227a565b9150612ba282612b3b565b604082019050919050565b60006020820190508181036000830152612bc681612b8a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c2960258361227a565b9150612c3482612bcd565b604082019050919050565b60006020820190508181036000830152612c5881612c1c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612cbb60238361227a565b9150612cc682612c5f565b604082019050919050565b60006020820190508181036000830152612cea81612cae565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d4d60298361227a565b9150612d5882612cf1565b604082019050919050565b60006020820190508181036000830152612d7c81612d40565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b6000612e0560488361227a565b9150612e1082612d83565b606082019050919050565b60006020820190508181036000830152612e3481612df8565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612e7160198361227a565b9150612e7c82612e3b565b602082019050919050565b60006020820190508181036000830152612ea081612e64565b9050919050565b6000612eb282612384565b9150612ebd83612384565b9250828201905080821115612ed557612ed461257b565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612f11601a8361227a565b9150612f1c82612edb565b602082019050919050565b60006020820190508181036000830152612f4081612f04565b9050919050565b6000612f5282612384565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f8457612f8361257b565b5b600182019050919050565b6000612f9a82612384565b9150612fa583612384565b9250828203905081811115612fbd57612fbc61257b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61305681612346565b82525050565b6000613068838361304d565b60208301905092915050565b6000602082019050919050565b600061308c82613021565b613096818561302c565b93506130a18361303d565b8060005b838110156130d25781516130b9888261305c565b97506130c483613074565b9250506001810190506130a5565b5085935050505092915050565b600060a0820190506130f46000830188612430565b613101602083018761294f565b81810360408301526131138186613081565b90506131226060830185612511565b61312f6080830184612430565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061317382612384565b915061317e83612384565b92508261318e5761318d613139565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006131f560218361227a565b915061320082613199565b604082019050919050565b60006020820190508181036000830152613224816131e8565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613261601b8361227a565b915061326c8261322b565b602082019050919050565b6000602082019050818103600083015261329081613254565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204ec64687c29cf56f073e3dff1e2d8cc4797203cd560e3d2ed134a9358c2dbf3464736f6c63430008120033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb146103a5578063bf474bed146103e2578063c876d0b91461040d578063c9567bf914610438578063dd62ed3e1461044f578063f8686f071461048c57610135565b8063751039fc146102e25780637d1db4a5146102f95780638da5cb5b146103245780638f9a55c01461034f57806395d89b411461037a57610135565b8063313ce567116100f2578063313ce5671461023557806351bc3c8514610260578063692cda7a1461027757806370a082311461028e578063715018a6146102cb57610135565b806306fdde031461013a578063095ea7b3146101655780630faee56f146101a257806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104a3565b60405161015c91906122ff565b60405180910390f35b34801561017157600080fd5b5061018c600480360381019061018791906123ba565b6104e0565b6040516101999190612415565b60405180910390f35b3480156101ae57600080fd5b506101b76104fe565b6040516101c4919061243f565b60405180910390f35b3480156101d957600080fd5b506101e2610504565b6040516101ef919061243f565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a919061245a565b610529565b60405161022c9190612415565b60405180910390f35b34801561024157600080fd5b5061024a610602565b60405161025791906124c9565b60405180910390f35b34801561026c57600080fd5b5061027561060b565b005b34801561028357600080fd5b5061028c6106a8565b005b34801561029a57600080fd5b506102b560048036038101906102b091906124e4565b6107eb565b6040516102c2919061243f565b60405180910390f35b3480156102d757600080fd5b506102e0610834565b005b3480156102ee57600080fd5b506102f7610987565b005b34801561030557600080fd5b5061030e610aba565b60405161031b919061243f565b60405180910390f35b34801561033057600080fd5b50610339610ac0565b6040516103469190612520565b60405180910390f35b34801561035b57600080fd5b50610364610ae9565b604051610371919061243f565b60405180910390f35b34801561038657600080fd5b5061038f610aef565b60405161039c91906122ff565b60405180910390f35b3480156103b157600080fd5b506103cc60048036038101906103c791906123ba565b610b2c565b6040516103d99190612415565b60405180910390f35b3480156103ee57600080fd5b506103f7610b4a565b604051610404919061243f565b60405180910390f35b34801561041957600080fd5b50610422610b50565b60405161042f9190612415565b60405180910390f35b34801561044457600080fd5b5061044d610b63565b005b34801561045b57600080fd5b506104766004803603810190610471919061253b565b61109c565b604051610483919061243f565b60405180910390f35b34801561049857600080fd5b506104a1611123565b005b60606040518060400160405280601581526020017f4e464c207669657773206f6e2058207570203431250000000000000000000000815250905090565b60006104f46104ed6111d5565b84846111dd565b6001905092915050565b60115481565b60006009600a61051491906126dd565b64e8d4a510006105249190612728565b905090565b60006105368484846113a6565b6105f7846105426111d5565b6105f28560405180606001604052806028815260200161329860289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105a86111d5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3e9092919063ffffffff16565b6111dd565b600190509392505050565b60006009905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661064c6111d5565b73ffffffffffffffffffffffffffffffffffffffff161461066c57600080fd5b6000610677306107eb565b9050600081111561068c5761068b81611da2565b5b600047905060008111156106a4576106a38161201b565b5b5050565b6106b06111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461073d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610734906127b6565b60405180910390fd5b60004711610780576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077790612822565b60405180910390fd5b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156107e8573d6000803e3d6000fd5b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61083c6111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c0906127b6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61098f6111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a13906127b6565b60405180910390fd5b6009600a610a2a91906126dd565b64e8d4a51000610a3a9190612728565b600e819055506009600a610a4e91906126dd565b64e8d4a51000610a5e9190612728565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a9391906126dd565b64e8d4a51000610aa39190612728565b604051610ab0919061243f565b60405180910390a1565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600381526020017f596f590000000000000000000000000000000000000000000000000000000000815250905090565b6000610b40610b396111d5565b84846113a6565b6001905092915050565b60105481565b600560009054906101000a900460ff1681565b610b6b6111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef906127b6565b60405180910390fd5b601360149054906101000a900460ff1615610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f9061288e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ce730601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610cd291906126dd565b64e8d4a51000610ce29190612728565b6111dd565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7891906128c3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2591906128c3565b6040518363ffffffff1660e01b8152600401610e429291906128f0565b6020604051808303816000875af1158015610e61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8591906128c3565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f0e306107eb565b600080610f19610ac0565b426040518863ffffffff1660e01b8152600401610f3b9695949392919061295e565b60606040518083038185885af1158015610f59573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f7e91906129d4565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611020929190612a27565b6020604051808303816000875af115801561103f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110639190612a7c565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61112b6111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111af906127b6565b60405180910390fd5b6000600560006101000a81548160ff021916908315150217905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361124c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124390612b1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b290612bad565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611399919061243f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140c90612c3f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147b90612cd1565b60405180910390fd5b600081116114c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114be90612d63565b60405180910390fd5b60006114d1610ac0565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561153f575061150f610ac0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a81576115806064611572600a54600d541161155f57600654611563565b6008545b8561208790919063ffffffff16565b61210190919063ffffffff16565b9050600560009054906101000a900460ff161561170f57601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116435750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561170e5743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106116c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c090612e1b565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117ba5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118105750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118cb57600e5482111561185a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185190612e87565b60405180910390fd5b600f5482611867856107eb565b6118719190612ea7565b11156118b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a990612f27565b60405180910390fd5b600d60008154809291906118c590612f47565b91905055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561195457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611998576119956064611987600b54600d541161197457600754611978565b6009545b8561208790919063ffffffff16565b61210190919063ffffffff16565b90505b60006119a3306107eb565b9050601360159054906101000a900460ff16158015611a0f5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a275750601360169054906101000a900460ff165b8015611a34575060105481115b8015611a435750600c54600d54115b15611a7f57611a65611a6084611a5b8460115461214b565b61214b565b611da2565b60004790506000811115611a7d57611a7c4761201b565b5b505b505b6000811115611b8557611adc81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216490919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b7c919061243f565b60405180910390a35b611bd782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121c290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c7e611c3082846121c290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216490919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d2384866121c290919063ffffffff16565b604051611d30919061243f565b60405180910390a350505050565b6000838311158290611d86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7d91906122ff565b60405180910390fd5b5060008385611d959190612f8f565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611dda57611dd9612fc3565b5b604051908082528060200260200182016040528015611e085781602001602082028036833780820191505090505b5090503081600081518110611e2057611e1f612ff2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb91906128c3565b81600181518110611eff57611efe612ff2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f6630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111dd565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fca9594939291906130df565b600060405180830381600087803b158015611fe457600080fd5b505af1158015611ff8573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612083573d6000803e3d6000fd5b5050565b600080830361209957600090506120fb565b600082846120a79190612728565b90508284826120b69190613168565b146120f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ed9061320b565b60405180910390fd5b809150505b92915050565b600061214383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061220c565b905092915050565b600081831161215a578261215c565b815b905092915050565b60008082846121739190612ea7565b9050838110156121b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121af90613277565b60405180910390fd5b8091505092915050565b600061220483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d3e565b905092915050565b60008083118290612253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224a91906122ff565b60405180910390fd5b50600083856122629190613168565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122a957808201518184015260208101905061228e565b60008484015250505050565b6000601f19601f8301169050919050565b60006122d18261226f565b6122db818561227a565b93506122eb81856020860161228b565b6122f4816122b5565b840191505092915050565b6000602082019050818103600083015261231981846122c6565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061235182612326565b9050919050565b61236181612346565b811461236c57600080fd5b50565b60008135905061237e81612358565b92915050565b6000819050919050565b61239781612384565b81146123a257600080fd5b50565b6000813590506123b48161238e565b92915050565b600080604083850312156123d1576123d0612321565b5b60006123df8582860161236f565b92505060206123f0858286016123a5565b9150509250929050565b60008115159050919050565b61240f816123fa565b82525050565b600060208201905061242a6000830184612406565b92915050565b61243981612384565b82525050565b60006020820190506124546000830184612430565b92915050565b60008060006060848603121561247357612472612321565b5b60006124818682870161236f565b93505060206124928682870161236f565b92505060406124a3868287016123a5565b9150509250925092565b600060ff82169050919050565b6124c3816124ad565b82525050565b60006020820190506124de60008301846124ba565b92915050565b6000602082840312156124fa576124f9612321565b5b60006125088482850161236f565b91505092915050565b61251a81612346565b82525050565b60006020820190506125356000830184612511565b92915050565b6000806040838503121561255257612551612321565b5b60006125608582860161236f565b92505060206125718582860161236f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612601578086048111156125dd576125dc61257b565b5b60018516156125ec5780820291505b80810290506125fa856125aa565b94506125c1565b94509492505050565b60008261261a57600190506126d6565b8161262857600090506126d6565b816001811461263e576002811461264857612677565b60019150506126d6565b60ff84111561265a5761265961257b565b5b8360020a9150848211156126715761267061257b565b5b506126d6565b5060208310610133831016604e8410600b84101617156126ac5782820a9050838111156126a7576126a661257b565b5b6126d6565b6126b984848460016125b7565b925090508184048111156126d0576126cf61257b565b5b81810290505b9392505050565b60006126e882612384565b91506126f3836124ad565b92506127207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461260a565b905092915050565b600061273382612384565b915061273e83612384565b925082820261274c81612384565b915082820484148315176127635761276261257b565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006127a060208361227a565b91506127ab8261276a565b602082019050919050565b600060208201905081810360008301526127cf81612793565b9050919050565b7f4e6f2045544820746f207472616e736665720000000000000000000000000000600082015250565b600061280c60128361227a565b9150612817826127d6565b602082019050919050565b6000602082019050818103600083015261283b816127ff565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061287860178361227a565b915061288382612842565b602082019050919050565b600060208201905081810360008301526128a78161286b565b9050919050565b6000815190506128bd81612358565b92915050565b6000602082840312156128d9576128d8612321565b5b60006128e7848285016128ae565b91505092915050565b60006040820190506129056000830185612511565b6129126020830184612511565b9392505050565b6000819050919050565b6000819050919050565b600061294861294361293e84612919565b612923565b612384565b9050919050565b6129588161292d565b82525050565b600060c0820190506129736000830189612511565b6129806020830188612430565b61298d604083018761294f565b61299a606083018661294f565b6129a76080830185612511565b6129b460a0830184612430565b979650505050505050565b6000815190506129ce8161238e565b92915050565b6000806000606084860312156129ed576129ec612321565b5b60006129fb868287016129bf565b9350506020612a0c868287016129bf565b9250506040612a1d868287016129bf565b9150509250925092565b6000604082019050612a3c6000830185612511565b612a496020830184612430565b9392505050565b612a59816123fa565b8114612a6457600080fd5b50565b600081519050612a7681612a50565b92915050565b600060208284031215612a9257612a91612321565b5b6000612aa084828501612a67565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612b0560248361227a565b9150612b1082612aa9565b604082019050919050565b60006020820190508181036000830152612b3481612af8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b9760228361227a565b9150612ba282612b3b565b604082019050919050565b60006020820190508181036000830152612bc681612b8a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c2960258361227a565b9150612c3482612bcd565b604082019050919050565b60006020820190508181036000830152612c5881612c1c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612cbb60238361227a565b9150612cc682612c5f565b604082019050919050565b60006020820190508181036000830152612cea81612cae565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d4d60298361227a565b9150612d5882612cf1565b604082019050919050565b60006020820190508181036000830152612d7c81612d40565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b6000612e0560488361227a565b9150612e1082612d83565b606082019050919050565b60006020820190508181036000830152612e3481612df8565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612e7160198361227a565b9150612e7c82612e3b565b602082019050919050565b60006020820190508181036000830152612ea081612e64565b9050919050565b6000612eb282612384565b9150612ebd83612384565b9250828201905080821115612ed557612ed461257b565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612f11601a8361227a565b9150612f1c82612edb565b602082019050919050565b60006020820190508181036000830152612f4081612f04565b9050919050565b6000612f5282612384565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f8457612f8361257b565b5b600182019050919050565b6000612f9a82612384565b9150612fa583612384565b9250828203905081811115612fbd57612fbc61257b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61305681612346565b82525050565b6000613068838361304d565b60208301905092915050565b6000602082019050919050565b600061308c82613021565b613096818561302c565b93506130a18361303d565b8060005b838110156130d25781516130b9888261305c565b97506130c483613074565b9250506001810190506130a5565b5085935050505092915050565b600060a0820190506130f46000830188612430565b613101602083018761294f565b81810360408301526131138186613081565b90506131226060830185612511565b61312f6080830184612430565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061317382612384565b915061317e83612384565b92508261318e5761318d613139565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006131f560218361227a565b915061320082613199565b604082019050919050565b60006020820190508181036000830152613224816131e8565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613261601b8361227a565b915061326c8261322b565b602082019050919050565b6000602082019050818103600083015261329081613254565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204ec64687c29cf56f073e3dff1e2d8cc4797203cd560e3d2ed134a9358c2dbf3464736f6c63430008120033

Deployed Bytecode Sourcemap

6958:8135:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8872:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9705:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8143:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9149:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9874:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9058:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14557:348;;;;;;;;;;;;;:::i;:::-;;14913:177;;;;;;;;;;;;;:::i;:::-;;9252:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6041:148;;;;;;;;;;;;;:::i;:::-;;14132:162;;;;;;;;;;;;;:::i;:::-;;7951:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5827:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8016:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8963:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9379:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8083:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7298:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13448:672;;;;;;;;;;;;;:::i;:::-;;9554:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14411:97;;;;;;;;;;;;;:::i;:::-;;8872:83;8909:13;8942:5;;;;;;;;;;;;;;;;;8935:12;;8872:83;:::o;9705:161::-;9780:4;9797:39;9806:12;:10;:12::i;:::-;9820:7;9829:6;9797:8;:39::i;:::-;9854:4;9847:11;;9705:161;;;;:::o;8143:56::-;;;;:::o;9149:95::-;9202:7;7749:1;7808:2;:14;;;;:::i;:::-;7792:13;:30;;;;:::i;:::-;9222:14;;9149:95;:::o;9874:313::-;9972:4;9989:36;9999:6;10007:9;10018:6;9989:9;:36::i;:::-;10036:121;10045:6;10053:12;:10;:12::i;:::-;10067:89;10105:6;10067:89;;;;;;;;;;;;;;;;;:11;:19;10079:6;10067:19;;;;;;;;;;;;;;;:33;10087:12;:10;:12::i;:::-;10067:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;10036:8;:121::i;:::-;10175:4;10168:11;;9874:313;;;;;:::o;9058:83::-;9099:5;7749:1;9117:16;;9058:83;:::o;14557:348::-;14621:10;;;;;;;;;;;14607:24;;:12;:10;:12::i;:::-;:24;;;14599:33;;;;;;14643:20;14664:24;14682:4;14664:9;:24::i;:::-;14643:45;;14715:1;14702:12;:14;14699:73;;;14730:30;14747:12;14730:16;:30::i;:::-;14699:73;14782:18;14801:21;14782:40;;14847:1;14836:10;:12;14833:65;;;14862:24;14875:10;14862:12;:24::i;:::-;14833:65;14588:317;;14557:348::o;14913:177::-;5964:12;:10;:12::i;:::-;5954:22;;:6;;;;;;;;;;:22;;;5946:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15005:1:::1;14981:21;:25;14973:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;15040:10;;;;;;;;;;;:19;;:42;15060:21;15040:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;14913:177::o:0;9252:119::-;9318:7;9345:9;:18;9355:7;9345:18;;;;;;;;;;;;;;;;9338:25;;9252:119;;;:::o;6041:148::-;5964:12;:10;:12::i;:::-;5954:22;;:6;;;;;;;;;;:22;;;5946:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6148:1:::1;6111:40;;6132:6;::::0;::::1;;;;;;;;6111:40;;;;;;;;;;;;6179:1;6162:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6041:148::o:0;14132:162::-;5964:12;:10;:12::i;:::-;5954:22;;:6;;;;;;;;;;:22;;;5946:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7749:1:::1;7808:2;:14;;;;:::i;:::-;7792:13;:30;;;;:::i;:::-;14186:12;:22;;;;7749:1;7808:2;:14;;;;:::i;:::-;7792:13;:30;;;;:::i;:::-;14219:14;:24;;;;14259:27;7749:1;7808:2;:14;;;;:::i;:::-;7792:13;:30;;;;:::i;:::-;14259:27;;;;;;:::i;:::-;;;;;;;;14132:162::o:0;7951:58::-;;;;:::o;5827:79::-;5865:7;5892:6;;;;;;;;;;;5885:13;;5827:79;:::o;8016:60::-;;;;:::o;8963:87::-;9002:13;9035:7;;;;;;;;;;;;;;;;;9028:14;;8963:87;:::o;9379:167::-;9457:4;9474:42;9484:12;:10;:12::i;:::-;9498:9;9509:6;9474:9;:42::i;:::-;9534:4;9527:11;;9379:167;;;;:::o;8083:53::-;;;;:::o;7298:39::-;;;;;;;;;;;;;:::o;13448:672::-;5964:12;:10;:12::i;:::-;5954:22;;:6;;;;;;;;;;:22;;;5946:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13512:11:::1;;;;;;;;;;;13511:12;13503:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13599:42;13562:15;;:80;;;;;;;;;;;;;;;;;;13653:58;13670:4;13685:15;;;;;;;;;;;7749:1;7808:2;:14;;;;:::i;:::-;7792:13;:30;;;;:::i;:::-;13653:8;:58::i;:::-;13756:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13738:55;;;13802:4;13809:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13738:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13722:13;;:110;;;;;;;;;;;;;;;;;;13843:15;;;;;;;;;;;:31;;;13882:21;13913:4;13919:24;13937:4;13919:9;:24::i;:::-;13944:1;13946::::0;13948:7:::1;:5;:7::i;:::-;13956:15;13843:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13990:13;;;;;;;;;;;13983:29;;;14021:15;;;;;;;;;;;14039:14;13983:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14079:4;14065:11;;:18;;;;;;;;;;;;;;;;;;14108:4;14094:11;;:18;;;;;;;;;;;;;;;;;;13448:672::o:0;9554:143::-;9635:7;9662:11;:18;9674:5;9662:18;;;;;;;;;;;;;;;:27;9681:7;9662:27;;;;;;;;;;;;;;;;9655:34;;9554:143;;;;:::o;14411:97::-;5964:12;:10;:12::i;:::-;5954:22;;:6;;;;;;;;;;:22;;;5946:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14495:5:::1;14472:20;;:28;;;;;;;;;;;;;;;;;;14411:97::o:0;3584:98::-;3637:7;3664:10;3657:17;;3584:98;:::o;10195:335::-;10305:1;10288:19;;:5;:19;;;10280:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10386:1;10367:21;;:7;:21;;;10359:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10468:6;10438:11;:18;10450:5;10438:18;;;;;;;;;;;;;;;:27;10457:7;10438:27;;;;;;;;;;;;;;;:36;;;;10506:7;10490:32;;10499:5;10490:32;;;10515:6;10490:32;;;;;;:::i;:::-;;;;;;;;10195:335;;;:::o;10538:2296::-;10642:1;10626:18;;:4;:18;;;10618:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10719:1;10705:16;;:2;:16;;;10697:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10789:1;10780:6;:10;10772:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10847:17;10891:7;:5;:7::i;:::-;10883:15;;:4;:15;;;;:32;;;;;10908:7;:5;:7::i;:::-;10902:13;;:2;:13;;;;10883:32;10879:1597;;;10944:76;11016:3;10944:67;10966:15;;10956:9;;:25;10955:55;;10996:14;;10955:55;;;10983:12;;10955:55;10944:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;10932:88;;11041:20;;;;;;;;;;;11037:397;;;11102:15;;;;;;;;;;;11088:30;;:2;:30;;;;:62;;;;;11136:13;;;;;;;;;;;11122:28;;:2;:28;;;;11088:62;11084:333;;;11227:12;11185:28;:39;11214:9;11185:39;;;;;;;;;;;;;;;;:54;11177:139;;;;;;;;;;;;:::i;:::-;;;;;;;;;11383:12;11341:28;:39;11370:9;11341:39;;;;;;;;;;;;;;;:54;;;;11084:333;11037:397;11462:13;;;;;;;;;;;11454:21;;:4;:21;;;:55;;;;;11493:15;;;;;;;;;;;11479:30;;:2;:30;;;;11454:55;:83;;;;;11515:18;:22;11534:2;11515:22;;;;;;;;;;;;;;;;;;;;;;;;;11513:24;11454:83;11450:313;;;11577:12;;11567:6;:22;;11559:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;11672:14;;11662:6;11646:13;11656:2;11646:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;11638:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11736:9;;:11;;;;;;;;;:::i;:::-;;;;;;11450:313;11788:13;;;;;;;;;;;11782:19;;:2;:19;;;:43;;;;;11820:4;11805:20;;:4;:20;;;;11782:43;11779:174;;;11858:79;11933:3;11858:70;11880:16;;11870:9;;:26;11869:58;;11912:15;;11869:58;;;11898:13;;11869:58;11858:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;11846:91;;11779:174;11969:28;12000:24;12018:4;12000:9;:24::i;:::-;11969:55;;12044:6;;;;;;;;;;;12043:7;:32;;;;;12062:13;;;;;;;;;;;12054:21;;:2;:21;;;12043:32;:47;;;;;12079:11;;;;;;;;;;;12043:47;:91;;;;;12117:17;;12094:20;:40;12043:91;:125;;;;;12150:18;;12138:9;;:30;12043:125;12039:426;;;12189:68;12206:50;12210:6;12218:37;12222:20;12243:11;;12218:3;:37::i;:::-;12206:3;:50::i;:::-;12189:16;:68::i;:::-;12276:26;12305:21;12276:50;;12369:1;12348:18;:22;12345:105;;;12395:35;12408:21;12395:12;:35::i;:::-;12345:105;12170:295;12039:426;10917:1559;10879:1597;12501:1;12491:9;:11;12488:163;;;12542:39;12571:9;12542;:24;12560:4;12542:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;12517:9;:24;12535:4;12517:24;;;;;;;;;;;;;;;:64;;;;12622:4;12599:40;;12608:4;12599:40;;;12629:9;12599:40;;;;;;:::i;:::-;;;;;;;;12488:163;12677:27;12697:6;12677:9;:15;12687:4;12677:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;12661:9;:15;12671:4;12661:15;;;;;;;;;;;;;;;:43;;;;12729:40;12747:21;12758:9;12747:6;:10;;:21;;;;:::i;:::-;12729:9;:13;12739:2;12729:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;12715:9;:13;12725:2;12715:13;;;;;;;;;;;;;;;:54;;;;12800:2;12785:41;;12794:4;12785:41;;;12804:21;12815:9;12804:6;:10;;:21;;;;:::i;:::-;12785:41;;;;;;:::i;:::-;;;;;;;;10607:2227;10538:2296;;;:::o;4721:190::-;4807:7;4840:1;4835;:6;;4843:12;4827:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4867:9;4883:1;4879;:5;;;;:::i;:::-;4867:17;;4902:1;4895:8;;;4721:190;;;;;:::o;12950:483::-;8490:4;8481:6;;:13;;;;;;;;;;;;;;;;;;13028:21:::1;13066:1;13052:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13028:40;;13097:4;13079;13084:1;13079:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13123:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13113:4;13118:1;13113:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;13156:62;13173:4;13188:15;;;;;;;;;;;13206:11;13156:8;:62::i;:::-;13229:15;;;;;;;;;;;:66;;;13310:11;13336:1;13352:4;13379;13399:15;13229:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13017:416;8526:5:::0;8517:6;;:14;;;;;;;;;;;;;;;;;;12950:483;:::o;14305:92::-;14362:10;;;;;;;;;;;:19;;:27;14382:6;14362:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14305:92;:::o;4919:246::-;4977:7;5006:1;5001;:6;4997:47;;5031:1;5024:8;;;;4997:47;5054:9;5070:1;5066;:5;;;;:::i;:::-;5054:17;;5099:1;5094;5090;:5;;;;:::i;:::-;:10;5082:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;5156:1;5149:8;;;4919:246;;;;;:::o;5173:132::-;5231:7;5258:39;5262:1;5265;5258:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;5251:46;;5173:132;;;;:::o;12844:98::-;12901:7;12928:1;12926;:3;12925:9;;12933:1;12925:9;;;12931:1;12925:9;12918:16;;12844:98;;;;:::o;4390:179::-;4448:7;4468:9;4484:1;4480;:5;;;;:::i;:::-;4468:17;;4509:1;4504;:6;;4496:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4560:1;4553:8;;;4390:179;;;;:::o;4577:136::-;4635:7;4662:43;4666:1;4669;4662:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4655:50;;4577:136;;;;:::o;5313:189::-;5399:7;5431:1;5427;:5;5434:12;5419:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5458:9;5474:1;5470;:5;;;;:::i;:::-;5458:17;;5493:1;5486:8;;;5313:189;;;;;:::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;1430:117::-;1539:1;1536;1529: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:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:102;6248:8;6295:5;6292:1;6288:13;6267:34;;6206:102;;;:::o;6314:848::-;6375:5;6382:4;6406:6;6397:15;;6430:5;6421:14;;6444:712;6465:1;6455:8;6452:15;6444:712;;;6560:4;6555:3;6551:14;6545:4;6542:24;6539:50;;;6569:18;;:::i;:::-;6539:50;6619:1;6609:8;6605:16;6602:451;;;7034:4;7027:5;7023:16;7014:25;;6602:451;7084:4;7078;7074:15;7066:23;;7114:32;7137:8;7114:32;:::i;:::-;7102:44;;6444:712;;;6314:848;;;;;;;:::o;7168:1073::-;7222:5;7413:8;7403:40;;7434:1;7425:10;;7436:5;;7403:40;7462:4;7452:36;;7479:1;7470:10;;7481:5;;7452:36;7548:4;7596:1;7591:27;;;;7632:1;7627:191;;;;7541:277;;7591:27;7609:1;7600:10;;7611:5;;;7627:191;7672:3;7662:8;7659:17;7656:43;;;7679:18;;:::i;:::-;7656:43;7728:8;7725:1;7721:16;7712:25;;7763:3;7756:5;7753:14;7750:40;;;7770:18;;:::i;:::-;7750:40;7803:5;;;7541:277;;7927:2;7917:8;7914:16;7908:3;7902:4;7899:13;7895:36;7877:2;7867:8;7864:16;7859:2;7853:4;7850:12;7846:35;7830:111;7827:246;;;7983:8;7977:4;7973:19;7964:28;;8018:3;8011:5;8008:14;8005:40;;;8025:18;;:::i;:::-;8005:40;8058:5;;7827:246;8098:42;8136:3;8126:8;8120:4;8117:1;8098:42;:::i;:::-;8083:57;;;;8172:4;8167:3;8163:14;8156:5;8153:25;8150:51;;;8181:18;;:::i;:::-;8150:51;8230:4;8223:5;8219:16;8210:25;;7168:1073;;;;;;:::o;8247:281::-;8305:5;8329:23;8347:4;8329:23;:::i;:::-;8321:31;;8373:25;8389:8;8373:25;:::i;:::-;8361:37;;8417:104;8454:66;8444:8;8438:4;8417:104;:::i;:::-;8408:113;;8247:281;;;;:::o;8534:410::-;8574:7;8597:20;8615:1;8597:20;:::i;:::-;8592:25;;8631:20;8649:1;8631:20;:::i;:::-;8626:25;;8686:1;8683;8679:9;8708:30;8726:11;8708:30;:::i;:::-;8697:41;;8887:1;8878:7;8874:15;8871:1;8868:22;8848:1;8841:9;8821:83;8798:139;;8917:18;;:::i;:::-;8798:139;8582:362;8534:410;;;;:::o;8950:182::-;9090:34;9086:1;9078:6;9074:14;9067:58;8950:182;:::o;9138:366::-;9280:3;9301:67;9365:2;9360:3;9301:67;:::i;:::-;9294:74;;9377:93;9466:3;9377:93;:::i;:::-;9495:2;9490:3;9486:12;9479:19;;9138:366;;;:::o;9510:419::-;9676:4;9714:2;9703:9;9699:18;9691:26;;9763:9;9757:4;9753:20;9749:1;9738:9;9734:17;9727:47;9791:131;9917:4;9791:131;:::i;:::-;9783:139;;9510:419;;;:::o;9935:168::-;10075:20;10071:1;10063:6;10059:14;10052:44;9935:168;:::o;10109:366::-;10251:3;10272:67;10336:2;10331:3;10272:67;:::i;:::-;10265:74;;10348:93;10437:3;10348:93;:::i;:::-;10466:2;10461:3;10457:12;10450:19;;10109:366;;;:::o;10481:419::-;10647:4;10685:2;10674:9;10670:18;10662:26;;10734:9;10728:4;10724:20;10720:1;10709:9;10705:17;10698:47;10762:131;10888:4;10762:131;:::i;:::-;10754:139;;10481:419;;;:::o;10906:173::-;11046:25;11042:1;11034:6;11030:14;11023:49;10906:173;:::o;11085:366::-;11227:3;11248:67;11312:2;11307:3;11248:67;:::i;:::-;11241:74;;11324:93;11413:3;11324:93;:::i;:::-;11442:2;11437:3;11433:12;11426:19;;11085:366;;;:::o;11457:419::-;11623:4;11661:2;11650:9;11646:18;11638:26;;11710:9;11704:4;11700:20;11696:1;11685:9;11681:17;11674:47;11738:131;11864:4;11738:131;:::i;:::-;11730:139;;11457:419;;;:::o;11882:143::-;11939:5;11970:6;11964:13;11955:22;;11986:33;12013:5;11986:33;:::i;:::-;11882:143;;;;:::o;12031:351::-;12101:6;12150:2;12138:9;12129:7;12125:23;12121:32;12118:119;;;12156:79;;:::i;:::-;12118:119;12276:1;12301:64;12357:7;12348:6;12337:9;12333:22;12301:64;:::i;:::-;12291:74;;12247:128;12031:351;;;;:::o;12388:332::-;12509:4;12547:2;12536:9;12532:18;12524:26;;12560:71;12628:1;12617:9;12613:17;12604:6;12560:71;:::i;:::-;12641:72;12709:2;12698:9;12694:18;12685:6;12641:72;:::i;:::-;12388:332;;;;;:::o;12726:85::-;12771:7;12800:5;12789:16;;12726:85;;;:::o;12817:60::-;12845:3;12866:5;12859:12;;12817:60;;;:::o;12883:158::-;12941:9;12974:61;12992:42;13001:32;13027:5;13001:32;:::i;:::-;12992:42;:::i;:::-;12974:61;:::i;:::-;12961:74;;12883:158;;;:::o;13047:147::-;13142:45;13181:5;13142:45;:::i;:::-;13137:3;13130:58;13047:147;;:::o;13200:807::-;13449:4;13487:3;13476:9;13472:19;13464:27;;13501:71;13569:1;13558:9;13554:17;13545:6;13501:71;:::i;:::-;13582:72;13650:2;13639:9;13635:18;13626:6;13582:72;:::i;:::-;13664:80;13740:2;13729:9;13725:18;13716:6;13664:80;:::i;:::-;13754;13830:2;13819:9;13815:18;13806:6;13754:80;:::i;:::-;13844:73;13912:3;13901:9;13897:19;13888:6;13844:73;:::i;:::-;13927;13995:3;13984:9;13980:19;13971:6;13927:73;:::i;:::-;13200:807;;;;;;;;;:::o;14013:143::-;14070:5;14101:6;14095:13;14086:22;;14117:33;14144:5;14117:33;:::i;:::-;14013:143;;;;:::o;14162:663::-;14250:6;14258;14266;14315:2;14303:9;14294:7;14290:23;14286:32;14283:119;;;14321:79;;:::i;:::-;14283:119;14441:1;14466:64;14522:7;14513:6;14502:9;14498:22;14466:64;:::i;:::-;14456:74;;14412:128;14579:2;14605:64;14661:7;14652:6;14641:9;14637:22;14605:64;:::i;:::-;14595:74;;14550:129;14718:2;14744:64;14800:7;14791:6;14780:9;14776:22;14744:64;:::i;:::-;14734:74;;14689:129;14162:663;;;;;:::o;14831:332::-;14952:4;14990:2;14979:9;14975:18;14967:26;;15003:71;15071:1;15060:9;15056:17;15047:6;15003:71;:::i;:::-;15084:72;15152:2;15141:9;15137:18;15128:6;15084:72;:::i;:::-;14831:332;;;;;:::o;15169:116::-;15239:21;15254:5;15239:21;:::i;:::-;15232:5;15229:32;15219:60;;15275:1;15272;15265:12;15219:60;15169:116;:::o;15291:137::-;15345:5;15376:6;15370:13;15361:22;;15392:30;15416:5;15392:30;:::i;:::-;15291:137;;;;:::o;15434:345::-;15501:6;15550:2;15538:9;15529:7;15525:23;15521:32;15518:119;;;15556:79;;:::i;:::-;15518:119;15676:1;15701:61;15754:7;15745:6;15734:9;15730:22;15701:61;:::i;:::-;15691:71;;15647:125;15434:345;;;;:::o;15785:223::-;15925:34;15921:1;15913:6;15909:14;15902:58;15994:6;15989:2;15981:6;15977:15;15970:31;15785:223;:::o;16014:366::-;16156:3;16177:67;16241:2;16236:3;16177:67;:::i;:::-;16170:74;;16253:93;16342:3;16253:93;:::i;:::-;16371:2;16366:3;16362:12;16355:19;;16014:366;;;:::o;16386:419::-;16552:4;16590:2;16579:9;16575:18;16567:26;;16639:9;16633:4;16629:20;16625:1;16614:9;16610:17;16603:47;16667:131;16793:4;16667:131;:::i;:::-;16659:139;;16386:419;;;:::o;16811:221::-;16951:34;16947:1;16939:6;16935:14;16928:58;17020:4;17015:2;17007:6;17003:15;16996:29;16811:221;:::o;17038:366::-;17180:3;17201:67;17265:2;17260:3;17201:67;:::i;:::-;17194:74;;17277:93;17366:3;17277:93;:::i;:::-;17395:2;17390:3;17386:12;17379:19;;17038:366;;;:::o;17410:419::-;17576:4;17614:2;17603:9;17599:18;17591:26;;17663:9;17657:4;17653:20;17649:1;17638:9;17634:17;17627:47;17691:131;17817:4;17691:131;:::i;:::-;17683:139;;17410:419;;;:::o;17835:224::-;17975:34;17971:1;17963:6;17959:14;17952:58;18044:7;18039:2;18031:6;18027:15;18020:32;17835:224;:::o;18065:366::-;18207:3;18228:67;18292:2;18287:3;18228:67;:::i;:::-;18221:74;;18304:93;18393:3;18304:93;:::i;:::-;18422:2;18417:3;18413:12;18406:19;;18065:366;;;:::o;18437:419::-;18603:4;18641:2;18630:9;18626:18;18618:26;;18690:9;18684:4;18680:20;18676:1;18665:9;18661:17;18654:47;18718:131;18844:4;18718:131;:::i;:::-;18710:139;;18437:419;;;:::o;18862:222::-;19002:34;18998:1;18990:6;18986:14;18979:58;19071:5;19066:2;19058:6;19054:15;19047:30;18862:222;:::o;19090:366::-;19232:3;19253:67;19317:2;19312:3;19253:67;:::i;:::-;19246:74;;19329:93;19418:3;19329:93;:::i;:::-;19447:2;19442:3;19438:12;19431:19;;19090:366;;;:::o;19462:419::-;19628:4;19666:2;19655:9;19651:18;19643:26;;19715:9;19709:4;19705:20;19701:1;19690:9;19686:17;19679:47;19743:131;19869:4;19743:131;:::i;:::-;19735:139;;19462:419;;;:::o;19887:228::-;20027:34;20023:1;20015:6;20011:14;20004:58;20096:11;20091:2;20083:6;20079:15;20072:36;19887:228;:::o;20121:366::-;20263:3;20284:67;20348:2;20343:3;20284:67;:::i;:::-;20277:74;;20360:93;20449:3;20360:93;:::i;:::-;20478:2;20473:3;20469:12;20462:19;;20121:366;;;:::o;20493:419::-;20659:4;20697:2;20686:9;20682:18;20674:26;;20746:9;20740:4;20736:20;20732:1;20721:9;20717:17;20710:47;20774:131;20900:4;20774:131;:::i;:::-;20766:139;;20493:419;;;:::o;20918:296::-;21058:34;21054:1;21046:6;21042:14;21035:58;21127:34;21122:2;21114:6;21110:15;21103:59;21196:10;21191:2;21183:6;21179:15;21172:35;20918:296;:::o;21220:366::-;21362:3;21383:67;21447:2;21442:3;21383:67;:::i;:::-;21376:74;;21459:93;21548:3;21459:93;:::i;:::-;21577:2;21572:3;21568:12;21561:19;;21220:366;;;:::o;21592:419::-;21758:4;21796:2;21785:9;21781:18;21773:26;;21845:9;21839:4;21835:20;21831:1;21820:9;21816:17;21809:47;21873:131;21999:4;21873:131;:::i;:::-;21865:139;;21592:419;;;:::o;22017:175::-;22157:27;22153:1;22145:6;22141:14;22134:51;22017:175;:::o;22198:366::-;22340:3;22361:67;22425:2;22420:3;22361:67;:::i;:::-;22354:74;;22437:93;22526:3;22437:93;:::i;:::-;22555:2;22550:3;22546:12;22539:19;;22198:366;;;:::o;22570:419::-;22736:4;22774:2;22763:9;22759:18;22751:26;;22823:9;22817:4;22813:20;22809:1;22798:9;22794:17;22787:47;22851:131;22977:4;22851:131;:::i;:::-;22843:139;;22570:419;;;:::o;22995:191::-;23035:3;23054:20;23072:1;23054:20;:::i;:::-;23049:25;;23088:20;23106:1;23088:20;:::i;:::-;23083:25;;23131:1;23128;23124:9;23117:16;;23152:3;23149:1;23146:10;23143:36;;;23159:18;;:::i;:::-;23143:36;22995:191;;;;:::o;23192:176::-;23332:28;23328:1;23320:6;23316:14;23309:52;23192:176;:::o;23374:366::-;23516:3;23537:67;23601:2;23596:3;23537:67;:::i;:::-;23530:74;;23613:93;23702:3;23613:93;:::i;:::-;23731:2;23726:3;23722:12;23715:19;;23374:366;;;:::o;23746:419::-;23912:4;23950:2;23939:9;23935:18;23927:26;;23999:9;23993:4;23989:20;23985:1;23974:9;23970:17;23963:47;24027:131;24153:4;24027:131;:::i;:::-;24019:139;;23746:419;;;:::o;24171:233::-;24210:3;24233:24;24251:5;24233:24;:::i;:::-;24224:33;;24279:66;24272:5;24269:77;24266:103;;24349:18;;:::i;:::-;24266:103;24396:1;24389:5;24385:13;24378:20;;24171:233;;;:::o;24410:194::-;24450:4;24470:20;24488:1;24470:20;:::i;:::-;24465:25;;24504:20;24522:1;24504:20;:::i;:::-;24499:25;;24548:1;24545;24541:9;24533:17;;24572:1;24566:4;24563:11;24560:37;;;24577:18;;:::i;:::-;24560:37;24410:194;;;;:::o;24610:180::-;24658:77;24655:1;24648:88;24755:4;24752:1;24745:15;24779:4;24776:1;24769:15;24796:180;24844:77;24841:1;24834:88;24941:4;24938:1;24931:15;24965:4;24962:1;24955:15;24982:114;25049:6;25083:5;25077:12;25067:22;;24982:114;;;:::o;25102:184::-;25201:11;25235:6;25230:3;25223:19;25275:4;25270:3;25266:14;25251:29;;25102:184;;;;:::o;25292:132::-;25359:4;25382:3;25374:11;;25412:4;25407:3;25403:14;25395:22;;25292:132;;;:::o;25430:108::-;25507:24;25525:5;25507:24;:::i;:::-;25502:3;25495:37;25430:108;;:::o;25544:179::-;25613:10;25634:46;25676:3;25668:6;25634:46;:::i;:::-;25712:4;25707:3;25703:14;25689:28;;25544:179;;;;:::o;25729:113::-;25799:4;25831;25826:3;25822:14;25814:22;;25729:113;;;:::o;25878:732::-;25997:3;26026:54;26074:5;26026:54;:::i;:::-;26096:86;26175:6;26170:3;26096:86;:::i;:::-;26089:93;;26206:56;26256:5;26206:56;:::i;:::-;26285:7;26316:1;26301:284;26326:6;26323:1;26320:13;26301:284;;;26402:6;26396:13;26429:63;26488:3;26473:13;26429:63;:::i;:::-;26422:70;;26515:60;26568:6;26515:60;:::i;:::-;26505:70;;26361:224;26348:1;26345;26341:9;26336:14;;26301:284;;;26305:14;26601:3;26594:10;;26002:608;;;25878:732;;;;:::o;26616:831::-;26879:4;26917:3;26906:9;26902:19;26894:27;;26931:71;26999:1;26988:9;26984:17;26975:6;26931:71;:::i;:::-;27012:80;27088:2;27077:9;27073:18;27064:6;27012:80;:::i;:::-;27139:9;27133:4;27129:20;27124:2;27113:9;27109:18;27102:48;27167:108;27270:4;27261:6;27167:108;:::i;:::-;27159:116;;27285:72;27353:2;27342:9;27338:18;27329:6;27285:72;:::i;:::-;27367:73;27435:3;27424:9;27420:19;27411:6;27367:73;:::i;:::-;26616:831;;;;;;;;:::o;27453:180::-;27501:77;27498:1;27491:88;27598:4;27595:1;27588:15;27622:4;27619:1;27612:15;27639:185;27679:1;27696:20;27714:1;27696:20;:::i;:::-;27691:25;;27730:20;27748:1;27730:20;:::i;:::-;27725:25;;27769:1;27759:35;;27774:18;;:::i;:::-;27759:35;27816:1;27813;27809:9;27804:14;;27639:185;;;;:::o;27830:220::-;27970:34;27966:1;27958:6;27954:14;27947:58;28039:3;28034:2;28026:6;28022:15;28015:28;27830:220;:::o;28056:366::-;28198:3;28219:67;28283:2;28278:3;28219:67;:::i;:::-;28212:74;;28295:93;28384:3;28295:93;:::i;:::-;28413:2;28408:3;28404:12;28397:19;;28056:366;;;:::o;28428:419::-;28594:4;28632:2;28621:9;28617:18;28609:26;;28681:9;28675:4;28671:20;28667:1;28656:9;28652:17;28645:47;28709:131;28835:4;28709:131;:::i;:::-;28701:139;;28428:419;;;:::o;28853:177::-;28993:29;28989:1;28981:6;28977:14;28970:53;28853:177;:::o;29036:366::-;29178:3;29199:67;29263:2;29258:3;29199:67;:::i;:::-;29192:74;;29275:93;29364:3;29275:93;:::i;:::-;29393:2;29388:3;29384:12;29377:19;;29036:366;;;:::o;29408:419::-;29574:4;29612:2;29601:9;29597:18;29589:26;;29661:9;29655:4;29651:20;29647:1;29636:9;29632:17;29625:47;29689:131;29815:4;29689:131;:::i;:::-;29681:139;;29408:419;;;:::o

Swarm Source

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