ETH Price: $3,456.80 (-0.76%)
Gas: 2 Gwei

Token

Balenciaga Musk (ELONCIAGA)
 

Overview

Max Total Supply

1,000,000 ELONCIAGA

Holders

9

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
17,000 ELONCIAGA

Value
$0.00
0x8ab18461a73079d8a95af2ceb91bb680f45aa168
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:
BalenciagaMusk

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-31
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.11;

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 BalenciagaMusk is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=30;
    uint256 private _reduceSellTaxAt=40;
    uint256 private _preventSwapBefore=10;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;
    string private constant _name = unicode"Balenciaga Musk";
    string private constant _symbol = unicode"ELONCIAGA";
    uint256 public _maxTxAmount =   20000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000 * 10**_decimals;
    uint256 public _taxSwapThreshold=5000 * 10**_decimals;
    uint256 public _maxTaxSwap=20000 * 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 () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = 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()) {
            require(!bots[from] && !bots[to]);
            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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

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

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

    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;
    }

    

    receive() external payable {}

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

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":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":"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":[{"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"}]

60806040526001600660006101000a81548160ff021916908315150217905550600f600755601960085560006009556000600a55601e600b556028600c55600a600d556000600e556008600a62000057919062000625565b614e2062000066919062000676565b600f556008600a62000079919062000625565b614e2062000088919062000676565b6010556008600a6200009b919062000625565b611388620000aa919062000676565b6011556008600a620000bd919062000625565b614e20620000cc919062000676565b6012556000601460156101000a81548160ff0219169083151502179055506000601460166101000a81548160ff0219169083151502179055503480156200011257600080fd5b506000620001256200045a60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001d36200045a60201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a62000223919062000625565b620f424062000233919062000676565b60016000620002476200045a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200029b6200046260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003ce6200045a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a6200042d919062000625565b620f42406200043d919062000676565b6040516200044c9190620006e8565b60405180910390a362000705565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200051957808604811115620004f157620004f06200048b565b5b6001851615620005015780820291505b80810290506200051185620004ba565b9450620004d1565b94509492505050565b60008262000534576001905062000607565b8162000544576000905062000607565b81600181146200055d576002811462000568576200059e565b600191505062000607565b60ff8411156200057d576200057c6200048b565b5b8360020a9150848211156200059757620005966200048b565b5b5062000607565b5060208310610133831016604e8410600b8410161715620005d85782820a905083811115620005d257620005d16200048b565b5b62000607565b620005e78484846001620004c7565b925090508184048111156200060157620006006200048b565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000632826200060e565b91506200063f8362000618565b92506200066e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000522565b905092915050565b600062000683826200060e565b915062000690836200060e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006cc57620006cb6200048b565b5b828202905092915050565b620006e2816200060e565b82525050565b6000602082019050620006ff6000830184620006d7565b92915050565b61361f80620007156000396000f3fe6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb146103ff578063bf474bed1461043c578063c876d0b914610467578063c9567bf914610492578063d34628cc146104a9578063dd62ed3e146104d257610140565b8063751039fc1461033c5780637d1db4a5146103535780638da5cb5b1461037e5780638f9a55c0146103a957806395d89b41146103d457610140565b8063313ce567116100fd578063313ce5671461024057806331c2d8471461026b5780633bbac5791461029457806351bc3c85146102d157806370a08231146102e8578063715018a61461032557610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61050f565b60405161016791906124e9565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906125b3565b61054c565b6040516101a4919061260e565b60405180910390f35b3480156101b957600080fd5b506101c261056a565b6040516101cf9190612638565b60405180910390f35b3480156101e457600080fd5b506101ed610570565b6040516101fa9190612638565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612653565b610593565b604051610237919061260e565b60405180910390f35b34801561024c57600080fd5b5061025561066c565b60405161026291906126c2565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612825565b610675565b005b3480156102a057600080fd5b506102bb60048036038101906102b6919061286e565b61079f565b6040516102c8919061260e565b60405180910390f35b3480156102dd57600080fd5b506102e66107f5565b005b3480156102f457600080fd5b5061030f600480360381019061030a919061286e565b610892565b60405161031c9190612638565b60405180910390f35b34801561033157600080fd5b5061033a6108db565b005b34801561034857600080fd5b50610351610a2e565b005b34801561035f57600080fd5b50610368610b76565b6040516103759190612638565b60405180910390f35b34801561038a57600080fd5b50610393610b7c565b6040516103a091906128aa565b60405180910390f35b3480156103b557600080fd5b506103be610ba5565b6040516103cb9190612638565b60405180910390f35b3480156103e057600080fd5b506103e9610bab565b6040516103f691906124e9565b60405180910390f35b34801561040b57600080fd5b50610426600480360381019061042191906125b3565b610be8565b604051610433919061260e565b60405180910390f35b34801561044857600080fd5b50610451610c06565b60405161045e9190612638565b60405180910390f35b34801561047357600080fd5b5061047c610c0c565b604051610489919061260e565b60405180910390f35b34801561049e57600080fd5b506104a7610c1f565b005b3480156104b557600080fd5b506104d060048036038101906104cb9190612825565b611153565b005b3480156104de57600080fd5b506104f960048036038101906104f491906128c5565b61127d565b6040516105069190612638565b60405180910390f35b60606040518060400160405280600f81526020017f42616c656e6369616761204d75736b0000000000000000000000000000000000815250905090565b6000610560610559611304565b848461130c565b6001905092915050565b60125481565b60006008600a6105809190612a67565b620f424061058e9190612ab2565b905090565b60006105a08484846114d7565b610661846105ac611304565b61065c856040518060600160405280602881526020016135c260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610612611304565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1e9092919063ffffffff16565b61130c565b600190509392505050565b60006008905090565b61067d611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070190612b58565b60405180910390fd5b60005b815181101561079b5760006004600084848151811061072f5761072e612b78565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061079390612ba7565b91505061070d565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610836611304565b73ffffffffffffffffffffffffffffffffffffffff161461085657600080fd5b600061086130610892565b905060008111156108765761087581611f82565b5b6000479050600081111561088e5761088d816121fb565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108e3611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610970576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096790612b58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a36611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aba90612b58565b60405180910390fd5b6008600a610ad19190612a67565b620f4240610adf9190612ab2565b600f819055506008600a610af39190612a67565b620f4240610b019190612ab2565b6010819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610b519190612a67565b620f4240610b5f9190612ab2565b604051610b6c9190612638565b60405180910390a1565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600981526020017f454c4f4e43494147410000000000000000000000000000000000000000000000815250905090565b6000610bfc610bf5611304565b84846114d7565b6001905092915050565b60115481565b600660009054906101000a900460ff1681565b610c27611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cab90612b58565b60405180910390fd5b60148054906101000a900460ff1615610d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf990612c3c565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d9f30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610d8c9190612a67565b620f4240610d9a9190612ab2565b61130c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e309190612c71565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190612c71565b6040518363ffffffff1660e01b8152600401610efa929190612c9e565b6020604051808303816000875af1158015610f19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3d9190612c71565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fc630610892565b600080610fd1610b7c565b426040518863ffffffff1660e01b8152600401610ff396959493929190612d0c565b60606040518083038185885af1158015611011573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110369190612d82565b505050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110d8929190612dd5565b6020604051808303816000875af11580156110f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111b9190612e2a565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b61115b611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111df90612b58565b60405180910390fd5b60005b81518110156112795760016004600084848151811061120d5761120c612b78565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061127190612ba7565b9150506111eb565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137390612ec9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e390612f5b565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ca9190612638565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153e90612fed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ae9061307f565b60405180910390fd5b600081116115fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f190613111565b60405180910390fd5b6000611604610b7c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116725750611642610b7c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c6157600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561171b5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61172457600080fd5b6117606064611752600b54600e541161173f57600754611743565b6009545b8561226790919063ffffffff16565b6122e290919063ffffffff16565b9050600660009054906101000a900460ff16156118ef57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118235750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118ee5743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106118a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a0906131c9565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561199a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119f05750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aab57600f54821115611a3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3190613235565b60405180910390fd5b60105482611a4785610892565b611a519190613255565b1115611a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a89906132f7565b60405180910390fd5b600e6000815480929190611aa590612ba7565b91905055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b3457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b7857611b756064611b67600c54600e5411611b5457600854611b58565b600a545b8561226790919063ffffffff16565b6122e290919063ffffffff16565b90505b6000611b8330610892565b9050601460159054906101000a900460ff16158015611bef5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c075750601460169054906101000a900460ff165b8015611c14575060115481115b8015611c235750600d54600e54115b15611c5f57611c45611c4084611c3b8460125461232c565b61232c565b611f82565b60004790506000811115611c5d57611c5c476121fb565b5b505b505b6000811115611d6557611cbc81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234590919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d5c9190612638565b60405180910390a35b611db782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5e611e1082846123a390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234590919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f0384866123a390919063ffffffff16565b604051611f109190612638565b60405180910390a350505050565b6000838311158290611f66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5d91906124e9565b60405180910390fd5b5060008385611f759190613317565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fba57611fb96126e2565b5b604051908082528060200260200182016040528015611fe85781602001602082028036833780820191505090505b509050308160008151811061200057611fff612b78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cb9190612c71565b816001815181106120df576120de612b78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061214630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461130c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121aa959493929190613409565b600060405180830381600087803b1580156121c457600080fd5b505af11580156121d8573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612263573d6000803e3d6000fd5b5050565b60008083141561227a57600090506122dc565b600082846122889190612ab2565b90508284826122979190613492565b146122d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ce90613535565b60405180910390fd5b809150505b92915050565b600061232483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123ed565b905092915050565b600081831161233b578261233d565b815b905092915050565b60008082846123549190613255565b905083811015612399576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612390906135a1565b60405180910390fd5b8091505092915050565b60006123e583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f1e565b905092915050565b60008083118290612434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242b91906124e9565b60405180910390fd5b50600083856124439190613492565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561248a57808201518184015260208101905061246f565b83811115612499576000848401525b50505050565b6000601f19601f8301169050919050565b60006124bb82612450565b6124c5818561245b565b93506124d581856020860161246c565b6124de8161249f565b840191505092915050565b6000602082019050818103600083015261250381846124b0565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061254a8261251f565b9050919050565b61255a8161253f565b811461256557600080fd5b50565b60008135905061257781612551565b92915050565b6000819050919050565b6125908161257d565b811461259b57600080fd5b50565b6000813590506125ad81612587565b92915050565b600080604083850312156125ca576125c9612515565b5b60006125d885828601612568565b92505060206125e98582860161259e565b9150509250929050565b60008115159050919050565b612608816125f3565b82525050565b600060208201905061262360008301846125ff565b92915050565b6126328161257d565b82525050565b600060208201905061264d6000830184612629565b92915050565b60008060006060848603121561266c5761266b612515565b5b600061267a86828701612568565b935050602061268b86828701612568565b925050604061269c8682870161259e565b9150509250925092565b600060ff82169050919050565b6126bc816126a6565b82525050565b60006020820190506126d760008301846126b3565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61271a8261249f565b810181811067ffffffffffffffff82111715612739576127386126e2565b5b80604052505050565b600061274c61250b565b90506127588282612711565b919050565b600067ffffffffffffffff821115612778576127776126e2565b5b602082029050602081019050919050565b600080fd5b60006127a161279c8461275d565b612742565b905080838252602082019050602084028301858111156127c4576127c3612789565b5b835b818110156127ed57806127d98882612568565b8452602084019350506020810190506127c6565b5050509392505050565b600082601f83011261280c5761280b6126dd565b5b813561281c84826020860161278e565b91505092915050565b60006020828403121561283b5761283a612515565b5b600082013567ffffffffffffffff8111156128595761285861251a565b5b612865848285016127f7565b91505092915050565b60006020828403121561288457612883612515565b5b600061289284828501612568565b91505092915050565b6128a48161253f565b82525050565b60006020820190506128bf600083018461289b565b92915050565b600080604083850312156128dc576128db612515565b5b60006128ea85828601612568565b92505060206128fb85828601612568565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561298b5780860481111561296757612966612905565b5b60018516156129765780820291505b808102905061298485612934565b945061294b565b94509492505050565b6000826129a45760019050612a60565b816129b25760009050612a60565b81600181146129c857600281146129d257612a01565b6001915050612a60565b60ff8411156129e4576129e3612905565b5b8360020a9150848211156129fb576129fa612905565b5b50612a60565b5060208310610133831016604e8410600b8410161715612a365782820a905083811115612a3157612a30612905565b5b612a60565b612a438484846001612941565b92509050818404811115612a5a57612a59612905565b5b81810290505b9392505050565b6000612a728261257d565b9150612a7d836126a6565b9250612aaa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612994565b905092915050565b6000612abd8261257d565b9150612ac88361257d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b0157612b00612905565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b4260208361245b565b9150612b4d82612b0c565b602082019050919050565b60006020820190508181036000830152612b7181612b35565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612bb28261257d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612be557612be4612905565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612c2660178361245b565b9150612c3182612bf0565b602082019050919050565b60006020820190508181036000830152612c5581612c19565b9050919050565b600081519050612c6b81612551565b92915050565b600060208284031215612c8757612c86612515565b5b6000612c9584828501612c5c565b91505092915050565b6000604082019050612cb3600083018561289b565b612cc0602083018461289b565b9392505050565b6000819050919050565b6000819050919050565b6000612cf6612cf1612cec84612cc7565b612cd1565b61257d565b9050919050565b612d0681612cdb565b82525050565b600060c082019050612d21600083018961289b565b612d2e6020830188612629565b612d3b6040830187612cfd565b612d486060830186612cfd565b612d55608083018561289b565b612d6260a0830184612629565b979650505050505050565b600081519050612d7c81612587565b92915050565b600080600060608486031215612d9b57612d9a612515565b5b6000612da986828701612d6d565b9350506020612dba86828701612d6d565b9250506040612dcb86828701612d6d565b9150509250925092565b6000604082019050612dea600083018561289b565b612df76020830184612629565b9392505050565b612e07816125f3565b8114612e1257600080fd5b50565b600081519050612e2481612dfe565b92915050565b600060208284031215612e4057612e3f612515565b5b6000612e4e84828501612e15565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612eb360248361245b565b9150612ebe82612e57565b604082019050919050565b60006020820190508181036000830152612ee281612ea6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f4560228361245b565b9150612f5082612ee9565b604082019050919050565b60006020820190508181036000830152612f7481612f38565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612fd760258361245b565b9150612fe282612f7b565b604082019050919050565b6000602082019050818103600083015261300681612fca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061306960238361245b565b91506130748261300d565b604082019050919050565b600060208201905081810360008301526130988161305c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006130fb60298361245b565b91506131068261309f565b604082019050919050565b6000602082019050818103600083015261312a816130ee565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006131b360498361245b565b91506131be82613131565b606082019050919050565b600060208201905081810360008301526131e2816131a6565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061321f60198361245b565b915061322a826131e9565b602082019050919050565b6000602082019050818103600083015261324e81613212565b9050919050565b60006132608261257d565b915061326b8361257d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132a05761329f612905565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006132e1601a8361245b565b91506132ec826132ab565b602082019050919050565b60006020820190508181036000830152613310816132d4565b9050919050565b60006133228261257d565b915061332d8361257d565b9250828210156133405761333f612905565b5b828203905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6133808161253f565b82525050565b60006133928383613377565b60208301905092915050565b6000602082019050919050565b60006133b68261334b565b6133c08185613356565b93506133cb83613367565b8060005b838110156133fc5781516133e38882613386565b97506133ee8361339e565b9250506001810190506133cf565b5085935050505092915050565b600060a08201905061341e6000830188612629565b61342b6020830187612cfd565b818103604083015261343d81866133ab565b905061344c606083018561289b565b6134596080830184612629565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061349d8261257d565b91506134a88361257d565b9250826134b8576134b7613463565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061351f60218361245b565b915061352a826134c3565b604082019050919050565b6000602082019050818103600083015261354e81613512565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061358b601b8361245b565b915061359682613555565b602082019050919050565b600060208201905081810360008301526135ba8161357e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122045673e29dc6a2c741569d9fb5c2eb94d7ade51f0e81b8981165fe1b30693929764736f6c634300080b0033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb146103ff578063bf474bed1461043c578063c876d0b914610467578063c9567bf914610492578063d34628cc146104a9578063dd62ed3e146104d257610140565b8063751039fc1461033c5780637d1db4a5146103535780638da5cb5b1461037e5780638f9a55c0146103a957806395d89b41146103d457610140565b8063313ce567116100fd578063313ce5671461024057806331c2d8471461026b5780633bbac5791461029457806351bc3c85146102d157806370a08231146102e8578063715018a61461032557610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61050f565b60405161016791906124e9565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906125b3565b61054c565b6040516101a4919061260e565b60405180910390f35b3480156101b957600080fd5b506101c261056a565b6040516101cf9190612638565b60405180910390f35b3480156101e457600080fd5b506101ed610570565b6040516101fa9190612638565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612653565b610593565b604051610237919061260e565b60405180910390f35b34801561024c57600080fd5b5061025561066c565b60405161026291906126c2565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612825565b610675565b005b3480156102a057600080fd5b506102bb60048036038101906102b6919061286e565b61079f565b6040516102c8919061260e565b60405180910390f35b3480156102dd57600080fd5b506102e66107f5565b005b3480156102f457600080fd5b5061030f600480360381019061030a919061286e565b610892565b60405161031c9190612638565b60405180910390f35b34801561033157600080fd5b5061033a6108db565b005b34801561034857600080fd5b50610351610a2e565b005b34801561035f57600080fd5b50610368610b76565b6040516103759190612638565b60405180910390f35b34801561038a57600080fd5b50610393610b7c565b6040516103a091906128aa565b60405180910390f35b3480156103b557600080fd5b506103be610ba5565b6040516103cb9190612638565b60405180910390f35b3480156103e057600080fd5b506103e9610bab565b6040516103f691906124e9565b60405180910390f35b34801561040b57600080fd5b50610426600480360381019061042191906125b3565b610be8565b604051610433919061260e565b60405180910390f35b34801561044857600080fd5b50610451610c06565b60405161045e9190612638565b60405180910390f35b34801561047357600080fd5b5061047c610c0c565b604051610489919061260e565b60405180910390f35b34801561049e57600080fd5b506104a7610c1f565b005b3480156104b557600080fd5b506104d060048036038101906104cb9190612825565b611153565b005b3480156104de57600080fd5b506104f960048036038101906104f491906128c5565b61127d565b6040516105069190612638565b60405180910390f35b60606040518060400160405280600f81526020017f42616c656e6369616761204d75736b0000000000000000000000000000000000815250905090565b6000610560610559611304565b848461130c565b6001905092915050565b60125481565b60006008600a6105809190612a67565b620f424061058e9190612ab2565b905090565b60006105a08484846114d7565b610661846105ac611304565b61065c856040518060600160405280602881526020016135c260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610612611304565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1e9092919063ffffffff16565b61130c565b600190509392505050565b60006008905090565b61067d611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070190612b58565b60405180910390fd5b60005b815181101561079b5760006004600084848151811061072f5761072e612b78565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061079390612ba7565b91505061070d565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610836611304565b73ffffffffffffffffffffffffffffffffffffffff161461085657600080fd5b600061086130610892565b905060008111156108765761087581611f82565b5b6000479050600081111561088e5761088d816121fb565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108e3611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610970576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096790612b58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a36611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aba90612b58565b60405180910390fd5b6008600a610ad19190612a67565b620f4240610adf9190612ab2565b600f819055506008600a610af39190612a67565b620f4240610b019190612ab2565b6010819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610b519190612a67565b620f4240610b5f9190612ab2565b604051610b6c9190612638565b60405180910390a1565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600981526020017f454c4f4e43494147410000000000000000000000000000000000000000000000815250905090565b6000610bfc610bf5611304565b84846114d7565b6001905092915050565b60115481565b600660009054906101000a900460ff1681565b610c27611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cab90612b58565b60405180910390fd5b60148054906101000a900460ff1615610d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf990612c3c565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d9f30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610d8c9190612a67565b620f4240610d9a9190612ab2565b61130c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e309190612c71565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190612c71565b6040518363ffffffff1660e01b8152600401610efa929190612c9e565b6020604051808303816000875af1158015610f19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3d9190612c71565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fc630610892565b600080610fd1610b7c565b426040518863ffffffff1660e01b8152600401610ff396959493929190612d0c565b60606040518083038185885af1158015611011573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110369190612d82565b505050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110d8929190612dd5565b6020604051808303816000875af11580156110f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111b9190612e2a565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b61115b611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111df90612b58565b60405180910390fd5b60005b81518110156112795760016004600084848151811061120d5761120c612b78565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061127190612ba7565b9150506111eb565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137390612ec9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e390612f5b565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ca9190612638565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153e90612fed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ae9061307f565b60405180910390fd5b600081116115fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f190613111565b60405180910390fd5b6000611604610b7c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116725750611642610b7c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c6157600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561171b5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61172457600080fd5b6117606064611752600b54600e541161173f57600754611743565b6009545b8561226790919063ffffffff16565b6122e290919063ffffffff16565b9050600660009054906101000a900460ff16156118ef57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118235750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118ee5743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106118a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a0906131c9565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561199a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119f05750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aab57600f54821115611a3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3190613235565b60405180910390fd5b60105482611a4785610892565b611a519190613255565b1115611a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a89906132f7565b60405180910390fd5b600e6000815480929190611aa590612ba7565b91905055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b3457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b7857611b756064611b67600c54600e5411611b5457600854611b58565b600a545b8561226790919063ffffffff16565b6122e290919063ffffffff16565b90505b6000611b8330610892565b9050601460159054906101000a900460ff16158015611bef5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c075750601460169054906101000a900460ff165b8015611c14575060115481115b8015611c235750600d54600e54115b15611c5f57611c45611c4084611c3b8460125461232c565b61232c565b611f82565b60004790506000811115611c5d57611c5c476121fb565b5b505b505b6000811115611d6557611cbc81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234590919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d5c9190612638565b60405180910390a35b611db782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5e611e1082846123a390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234590919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f0384866123a390919063ffffffff16565b604051611f109190612638565b60405180910390a350505050565b6000838311158290611f66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5d91906124e9565b60405180910390fd5b5060008385611f759190613317565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fba57611fb96126e2565b5b604051908082528060200260200182016040528015611fe85781602001602082028036833780820191505090505b509050308160008151811061200057611fff612b78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cb9190612c71565b816001815181106120df576120de612b78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061214630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461130c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121aa959493929190613409565b600060405180830381600087803b1580156121c457600080fd5b505af11580156121d8573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612263573d6000803e3d6000fd5b5050565b60008083141561227a57600090506122dc565b600082846122889190612ab2565b90508284826122979190613492565b146122d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ce90613535565b60405180910390fd5b809150505b92915050565b600061232483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123ed565b905092915050565b600081831161233b578261233d565b815b905092915050565b60008082846123549190613255565b905083811015612399576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612390906135a1565b60405180910390fd5b8091505092915050565b60006123e583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f1e565b905092915050565b60008083118290612434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242b91906124e9565b60405180910390fd5b50600083856124439190613492565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561248a57808201518184015260208101905061246f565b83811115612499576000848401525b50505050565b6000601f19601f8301169050919050565b60006124bb82612450565b6124c5818561245b565b93506124d581856020860161246c565b6124de8161249f565b840191505092915050565b6000602082019050818103600083015261250381846124b0565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061254a8261251f565b9050919050565b61255a8161253f565b811461256557600080fd5b50565b60008135905061257781612551565b92915050565b6000819050919050565b6125908161257d565b811461259b57600080fd5b50565b6000813590506125ad81612587565b92915050565b600080604083850312156125ca576125c9612515565b5b60006125d885828601612568565b92505060206125e98582860161259e565b9150509250929050565b60008115159050919050565b612608816125f3565b82525050565b600060208201905061262360008301846125ff565b92915050565b6126328161257d565b82525050565b600060208201905061264d6000830184612629565b92915050565b60008060006060848603121561266c5761266b612515565b5b600061267a86828701612568565b935050602061268b86828701612568565b925050604061269c8682870161259e565b9150509250925092565b600060ff82169050919050565b6126bc816126a6565b82525050565b60006020820190506126d760008301846126b3565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61271a8261249f565b810181811067ffffffffffffffff82111715612739576127386126e2565b5b80604052505050565b600061274c61250b565b90506127588282612711565b919050565b600067ffffffffffffffff821115612778576127776126e2565b5b602082029050602081019050919050565b600080fd5b60006127a161279c8461275d565b612742565b905080838252602082019050602084028301858111156127c4576127c3612789565b5b835b818110156127ed57806127d98882612568565b8452602084019350506020810190506127c6565b5050509392505050565b600082601f83011261280c5761280b6126dd565b5b813561281c84826020860161278e565b91505092915050565b60006020828403121561283b5761283a612515565b5b600082013567ffffffffffffffff8111156128595761285861251a565b5b612865848285016127f7565b91505092915050565b60006020828403121561288457612883612515565b5b600061289284828501612568565b91505092915050565b6128a48161253f565b82525050565b60006020820190506128bf600083018461289b565b92915050565b600080604083850312156128dc576128db612515565b5b60006128ea85828601612568565b92505060206128fb85828601612568565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561298b5780860481111561296757612966612905565b5b60018516156129765780820291505b808102905061298485612934565b945061294b565b94509492505050565b6000826129a45760019050612a60565b816129b25760009050612a60565b81600181146129c857600281146129d257612a01565b6001915050612a60565b60ff8411156129e4576129e3612905565b5b8360020a9150848211156129fb576129fa612905565b5b50612a60565b5060208310610133831016604e8410600b8410161715612a365782820a905083811115612a3157612a30612905565b5b612a60565b612a438484846001612941565b92509050818404811115612a5a57612a59612905565b5b81810290505b9392505050565b6000612a728261257d565b9150612a7d836126a6565b9250612aaa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612994565b905092915050565b6000612abd8261257d565b9150612ac88361257d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b0157612b00612905565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b4260208361245b565b9150612b4d82612b0c565b602082019050919050565b60006020820190508181036000830152612b7181612b35565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612bb28261257d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612be557612be4612905565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612c2660178361245b565b9150612c3182612bf0565b602082019050919050565b60006020820190508181036000830152612c5581612c19565b9050919050565b600081519050612c6b81612551565b92915050565b600060208284031215612c8757612c86612515565b5b6000612c9584828501612c5c565b91505092915050565b6000604082019050612cb3600083018561289b565b612cc0602083018461289b565b9392505050565b6000819050919050565b6000819050919050565b6000612cf6612cf1612cec84612cc7565b612cd1565b61257d565b9050919050565b612d0681612cdb565b82525050565b600060c082019050612d21600083018961289b565b612d2e6020830188612629565b612d3b6040830187612cfd565b612d486060830186612cfd565b612d55608083018561289b565b612d6260a0830184612629565b979650505050505050565b600081519050612d7c81612587565b92915050565b600080600060608486031215612d9b57612d9a612515565b5b6000612da986828701612d6d565b9350506020612dba86828701612d6d565b9250506040612dcb86828701612d6d565b9150509250925092565b6000604082019050612dea600083018561289b565b612df76020830184612629565b9392505050565b612e07816125f3565b8114612e1257600080fd5b50565b600081519050612e2481612dfe565b92915050565b600060208284031215612e4057612e3f612515565b5b6000612e4e84828501612e15565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612eb360248361245b565b9150612ebe82612e57565b604082019050919050565b60006020820190508181036000830152612ee281612ea6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f4560228361245b565b9150612f5082612ee9565b604082019050919050565b60006020820190508181036000830152612f7481612f38565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612fd760258361245b565b9150612fe282612f7b565b604082019050919050565b6000602082019050818103600083015261300681612fca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061306960238361245b565b91506130748261300d565b604082019050919050565b600060208201905081810360008301526130988161305c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006130fb60298361245b565b91506131068261309f565b604082019050919050565b6000602082019050818103600083015261312a816130ee565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006131b360498361245b565b91506131be82613131565b606082019050919050565b600060208201905081810360008301526131e2816131a6565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061321f60198361245b565b915061322a826131e9565b602082019050919050565b6000602082019050818103600083015261324e81613212565b9050919050565b60006132608261257d565b915061326b8361257d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132a05761329f612905565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006132e1601a8361245b565b91506132ec826132ab565b602082019050919050565b60006020820190508181036000830152613310816132d4565b9050919050565b60006133228261257d565b915061332d8361257d565b9250828210156133405761333f612905565b5b828203905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6133808161253f565b82525050565b60006133928383613377565b60208301905092915050565b6000602082019050919050565b60006133b68261334b565b6133c08185613356565b93506133cb83613367565b8060005b838110156133fc5781516133e38882613386565b97506133ee8361339e565b9250506001810190506133cf565b5085935050505092915050565b600060a08201905061341e6000830188612629565b61342b6020830187612cfd565b818103604083015261343d81866133ab565b905061344c606083018561289b565b6134596080830184612629565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061349d8261257d565b91506134a88361257d565b9250826134b8576134b7613463565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061351f60218361245b565b915061352a826134c3565b604082019050919050565b6000602082019050818103600083015261354e81613512565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061358b601b8361245b565b915061359682613555565b602082019050919050565b600060208201905081810360008301526135ba8161357e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122045673e29dc6a2c741569d9fb5c2eb94d7ade51f0e81b8981165fe1b30693929764736f6c634300080b0033

Deployed Bytecode Sourcemap

3473:8466:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5408:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6241:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4687:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5685:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6410:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5594:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10603:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10773:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11588:348;;;;;;;;;;;;;:::i;:::-;;5788:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2554:148;;;;;;;;;;;;;:::i;:::-;;10127:196;;;;;;;;;;;;;:::i;:::-;;4507:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2340:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4567:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5499:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5915:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4627:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3869:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10864:671;;;;;;;;;;;;;:::i;:::-;;10431:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6090:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5408:83;5445:13;5478:5;;;;;;;;;;;;;;;;;5471:12;;5408:83;:::o;6241:161::-;6316:4;6333:39;6342:12;:10;:12::i;:::-;6356:7;6365:6;6333:8;:39::i;:::-;6390:4;6383:11;;6241:161;;;;:::o;4687:48::-;;;;:::o;5685:95::-;5738:7;4312:1;4365:2;:13;;;;:::i;:::-;4355:7;:23;;;;:::i;:::-;5758:14;;5685:95;:::o;6410:313::-;6508:4;6525:36;6535:6;6543:9;6554:6;6525:9;:36::i;:::-;6572:121;6581:6;6589:12;:10;:12::i;:::-;6603:89;6641:6;6603:89;;;;;;;;;;;;;;;;;:11;:19;6615:6;6603:19;;;;;;;;;;;;;;;:33;6623:12;:10;:12::i;:::-;6603:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6572:8;:121::i;:::-;6711:4;6704:11;;6410:313;;;;;:::o;5594:83::-;5635:5;4312:1;5653:16;;5594:83;:::o;10603:162::-;2477:12;:10;:12::i;:::-;2467:22;;:6;;;;;;;;;;:22;;;2459:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10676:6:::1;10671:87;10692:6;:13;10688:1;:17;10671:87;;;10743:5;10725:4;:15;10730:6;10737:1;10730:9;;;;;;;;:::i;:::-;;;;;;;;10725:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;10707:3;;;;;:::i;:::-;;;;10671:87;;;;10603:162:::0;:::o;10773:83::-;10820:4;10841;:7;10846:1;10841:7;;;;;;;;;;;;;;;;;;;;;;;;;10834:14;;10773:83;;;:::o;11588:348::-;11652:10;;;;;;;;;;;11638:24;;:12;:10;:12::i;:::-;:24;;;11630:33;;;;;;11674:20;11695:24;11713:4;11695:9;:24::i;:::-;11674:45;;11746:1;11733:12;:14;11730:73;;;11761:30;11778:12;11761:16;:30::i;:::-;11730:73;11813:18;11832:21;11813:40;;11878:1;11867:10;:12;11864:65;;;11893:24;11906:10;11893:12;:24::i;:::-;11864:65;11619:317;;11588:348::o;5788:119::-;5854:7;5881:9;:18;5891:7;5881:18;;;;;;;;;;;;;;;;5874:25;;5788:119;;;:::o;2554:148::-;2477:12;:10;:12::i;:::-;2467:22;;:6;;;;;;;;;;:22;;;2459:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2661:1:::1;2624:40;;2645:6;::::0;::::1;;;;;;;;2624:40;;;;;;;;;;;;2692:1;2675:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2554:148::o:0;10127:196::-;2477:12;:10;:12::i;:::-;2467:22;;:6;;;;;;;;;;:22;;;2459:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4312:1:::1;4365:2;:13;;;;:::i;:::-;4355:7;:23;;;;:::i;:::-;10180:12;:22;;;;4312:1;4365:2;:13;;;;:::i;:::-;4355:7;:23;;;;:::i;:::-;10213:14;:22;;;;10267:5;10246:20;;:26;;;;;;;;;;;;;;;;;;10288:27;4312:1;4365:2;:13;;;;:::i;:::-;4355:7;:23;;;;:::i;:::-;10288:27;;;;;;:::i;:::-;;;;;;;;10127:196::o:0;4507:53::-;;;;:::o;2340:79::-;2378:7;2405:6;;;;;;;;;;;2398:13;;2340:79;:::o;4567:53::-;;;;:::o;5499:87::-;5538:13;5571:7;;;;;;;;;;;;;;;;;5564:14;;5499:87;:::o;5915:167::-;5993:4;6010:42;6020:12;:10;:12::i;:::-;6034:9;6045:6;6010:9;:42::i;:::-;6070:4;6063:11;;5915:167;;;;:::o;4627:53::-;;;;:::o;3869:39::-;;;;;;;;;;;;;:::o;10864:671::-;2477:12;:10;:12::i;:::-;2467:22;;:6;;;;;;;;;;:22;;;2459:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10928:11:::1;::::0;::::1;;;;;;;;10927:12;10919:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11014:42;10977:15;;:80;;;;;;;;;;;;;;;;;;11068:58;11085:4;11100:15;;;;;;;;;;;4312:1;4365:2;:13;;;;:::i;:::-;4355:7;:23;;;;:::i;:::-;11068:8;:58::i;:::-;11171:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11153:55;;;11217:4;11224:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11153:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11137:13;;:110;;;;;;;;;;;;;;;;;;11258:15;;;;;;;;;;;:31;;;11297:21;11328:4;11334:24;11352:4;11334:9;:24::i;:::-;11359:1;11361::::0;11363:7:::1;:5;:7::i;:::-;11371:15;11258:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11405:13;;;;;;;;;;;11398:29;;;11436:15;;;;;;;;;;;11454:14;11398:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11494:4;11480:11;;:18;;;;;;;;;;;;;;;;;;11523:4;11509:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;10864:671::o:0;10431:164::-;2477:12;:10;:12::i;:::-;2467:22;;:6;;;;;;;;;;:22;;;2459:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10505:6:::1;10500:88;10521:5;:12;10517:1;:16;10500:88;;;10572:4;10555;:14;10560:5;10566:1;10560:8;;;;;;;;:::i;:::-;;;;;;;;10555:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10535:3;;;;;:::i;:::-;;;;10500:88;;;;10431:164:::0;:::o;6090:143::-;6171:7;6198:11;:18;6210:5;6198:18;;;;;;;;;;;;;;;:27;6217:7;6198:27;;;;;;;;;;;;;;;;6191:34;;6090:143;;;;:::o;95:98::-;148:7;175:10;168:17;;95:98;:::o;6731:335::-;6841:1;6824:19;;:5;:19;;;;6816:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6922:1;6903:21;;:7;:21;;;;6895:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7004:6;6974:11;:18;6986:5;6974:18;;;;;;;;;;;;;;;:27;6993:7;6974:27;;;;;;;;;;;;;;;:36;;;;7042:7;7026:32;;7035:5;7026:32;;;7051:6;7026:32;;;;;;:::i;:::-;;;;;;;;6731:335;;;:::o;7074:2446::-;7178:1;7162:18;;:4;:18;;;;7154:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7255:1;7241:16;;:2;:16;;;;7233:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7325:1;7316:6;:10;7308:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7383:17;7425:7;:5;:7::i;:::-;7417:15;;:4;:15;;;;:32;;;;;7442:7;:5;:7::i;:::-;7436:13;;:2;:13;;;;7417:32;7413:1751;;;7475:4;:10;7480:4;7475:10;;;;;;;;;;;;;;;;;;;;;;;;;7474:11;:24;;;;;7490:4;:8;7495:2;7490:8;;;;;;;;;;;;;;;;;;;;;;;;;7489:9;7474:24;7466:33;;;;;;7526:76;7598:3;7526:67;7548:15;;7538:9;;:25;7537:55;;7578:14;;7537:55;;;7565:12;;7537:55;7526:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7514:88;;7623:20;;;;;;;;;;;7619:508;;;7684:15;;;;;;;;;;;7670:30;;:2;:30;;;;:62;;;;;7718:13;;;;;;;;;;;7704:28;;:2;:28;;;;7670:62;7666:444;;;7868:12;7795:28;:39;7824:9;7795:39;;;;;;;;;;;;;;;;:85;7759:250;;;;;;;;;;;;:::i;:::-;;;;;;;;;8076:12;8034:28;:39;8063:9;8034:39;;;;;;;;;;;;;;;:54;;;;7666:444;7619:508;8155:13;;;;;;;;;;;8147:21;;:4;:21;;;:55;;;;;8186:15;;;;;;;;;;;8172:30;;:2;:30;;;;8147:55;:83;;;;;8208:18;:22;8227:2;8208:22;;;;;;;;;;;;;;;;;;;;;;;;;8206:24;8147:83;8143:313;;;8270:12;;8260:6;:22;;8252:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8365:14;;8355:6;8339:13;8349:2;8339:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8331:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8429:9;;:11;;;;;;;;;:::i;:::-;;;;;;8143:313;8481:13;;;;;;;;;;;8475:19;;:2;:19;;;:43;;;;;8513:4;8498:20;;:4;:20;;;;8475:43;8472:174;;;8551:79;8626:3;8551:70;8573:16;;8563:9;;:26;8562:58;;8605:15;;8562:58;;;8591:13;;8562:58;8551:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8539:91;;8472:174;8662:28;8693:24;8711:4;8693:9;:24::i;:::-;8662:55;;8737:6;;;;;;;;;;;8736:7;:32;;;;;8755:13;;;;;;;;;;;8747:21;;:2;:21;;;8736:32;:47;;;;;8772:11;;;;;;;;;;;8736:47;:89;;;;;8808:17;;8787:20;:38;8736:89;:121;;;;;8839:18;;8829:9;;:28;8736:121;8732:421;;;8878:67;8895:49;8899:6;8906:37;8910:20;8931:11;;8906:3;:37::i;:::-;8895:3;:49::i;:::-;8878:16;:67::i;:::-;8964:26;8993:21;8964:50;;9057:1;9036:18;:22;9033:105;;;9083:35;9096:21;9083:12;:35::i;:::-;9033:105;8859:294;8732:421;7451:1713;7413:1751;9189:1;9179:9;:11;9176:161;;;9229:39;9258:9;9229;:24;9247:4;9229:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9204:9;:24;9222:4;9204:24;;;;;;;;;;;;;;;:64;;;;9309:4;9286:39;;9295:4;9286:39;;;9315:9;9286:39;;;;;;:::i;:::-;;;;;;;;9176:161;9363:27;9383:6;9363:9;:15;9373:4;9363:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9347:9;:15;9357:4;9347:15;;;;;;;;;;;;;;;:43;;;;9415:40;9433:21;9444:9;9433:6;:10;;:21;;;;:::i;:::-;9415:9;:13;9425:2;9415:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9401:9;:13;9411:2;9401:13;;;;;;;;;;;;;;;:54;;;;9486:2;9471:41;;9480:4;9471:41;;;9490:21;9501:9;9490:6;:10;;:21;;;;:::i;:::-;9471:41;;;;;;:::i;:::-;;;;;;;;7143:2377;7074:2446;;;:::o;1232:190::-;1318:7;1351:1;1346;:6;;1354:12;1338:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1378:9;1394:1;1390;:5;;;;:::i;:::-;1378:17;;1413:1;1406:8;;;1232:190;;;;;:::o;9636:483::-;5026:4;5017:6;;:13;;;;;;;;;;;;;;;;;;9714:21:::1;9752:1;9738:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9714:40;;9783:4;9765;9770:1;9765:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9809:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9799:4;9804:1;9799:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9842:62;9859:4;9874:15;;;;;;;;;;;9892:11;9842:8;:62::i;:::-;9915:15;;;;;;;;;;;:66;;;9996:11;10022:1;10038:4;10065;10085:15;9915:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9703:416;5062:5:::0;5053:6;;:14;;;;;;;;;;;;;;;;;;9636:483;:::o;10331:92::-;10388:10;;;;;;;;;;;:19;;:27;10408:6;10388:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10331:92;:::o;1430:246::-;1488:7;1517:1;1512;:6;1508:47;;;1542:1;1535:8;;;;1508:47;1565:9;1581:1;1577;:5;;;;:::i;:::-;1565:17;;1610:1;1605;1601;:5;;;;:::i;:::-;:10;1593:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1667:1;1660:8;;;1430:246;;;;;:::o;1684:132::-;1742:7;1769:39;1773:1;1776;1769:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1762:46;;1684:132;;;;:::o;9530:98::-;9587:7;9614:1;9612;:3;9611:9;;9619:1;9611:9;;;9617:1;9611:9;9604:16;;9530:98;;;;:::o;901:179::-;959:7;979:9;995:1;991;:5;;;;:::i;:::-;979:17;;1020:1;1015;:6;;1007:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1071:1;1064:8;;;901:179;;;;:::o;1088:136::-;1146:7;1173:43;1177:1;1180;1173:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1166:50;;1088:136;;;;:::o;1824:189::-;1910:7;1942:1;1938;:5;1945:12;1930:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1969:9;1985:1;1981;:5;;;;:::i;:::-;1969:17;;2004:1;1997:8;;;1824: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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:117::-;5010:1;5007;5000:12;5024:180;5072:77;5069:1;5062:88;5169:4;5166:1;5159:15;5193:4;5190:1;5183:15;5210:281;5293:27;5315:4;5293:27;:::i;:::-;5285:6;5281:40;5423:6;5411:10;5408:22;5387:18;5375:10;5372:34;5369:62;5366:88;;;5434:18;;:::i;:::-;5366:88;5474:10;5470:2;5463:22;5253:238;5210:281;;:::o;5497:129::-;5531:6;5558:20;;:::i;:::-;5548:30;;5587:33;5615:4;5607:6;5587:33;:::i;:::-;5497:129;;;:::o;5632:311::-;5709:4;5799:18;5791:6;5788:30;5785:56;;;5821:18;;:::i;:::-;5785:56;5871:4;5863:6;5859:17;5851:25;;5931:4;5925;5921:15;5913:23;;5632:311;;;:::o;5949:117::-;6058:1;6055;6048:12;6089:710;6185:5;6210:81;6226:64;6283:6;6226:64;:::i;:::-;6210:81;:::i;:::-;6201:90;;6311:5;6340:6;6333:5;6326:21;6374:4;6367:5;6363:16;6356:23;;6427:4;6419:6;6415:17;6407:6;6403:30;6456:3;6448:6;6445:15;6442:122;;;6475:79;;:::i;:::-;6442:122;6590:6;6573:220;6607:6;6602:3;6599:15;6573:220;;;6682:3;6711:37;6744:3;6732:10;6711:37;:::i;:::-;6706:3;6699:50;6778:4;6773:3;6769:14;6762:21;;6649:144;6633:4;6628:3;6624:14;6617:21;;6573:220;;;6577:21;6191:608;;6089:710;;;;;:::o;6822:370::-;6893:5;6942:3;6935:4;6927:6;6923:17;6919:27;6909:122;;6950:79;;:::i;:::-;6909:122;7067:6;7054:20;7092:94;7182:3;7174:6;7167:4;7159:6;7155:17;7092:94;:::i;:::-;7083:103;;6899:293;6822:370;;;;:::o;7198:539::-;7282:6;7331:2;7319:9;7310:7;7306:23;7302:32;7299:119;;;7337:79;;:::i;:::-;7299:119;7485:1;7474:9;7470:17;7457:31;7515:18;7507:6;7504:30;7501:117;;;7537:79;;:::i;:::-;7501:117;7642:78;7712:7;7703:6;7692:9;7688:22;7642:78;:::i;:::-;7632:88;;7428:302;7198:539;;;;:::o;7743:329::-;7802:6;7851:2;7839:9;7830:7;7826:23;7822:32;7819:119;;;7857:79;;:::i;:::-;7819:119;7977:1;8002:53;8047:7;8038:6;8027:9;8023:22;8002:53;:::i;:::-;7992:63;;7948:117;7743:329;;;;:::o;8078:118::-;8165:24;8183:5;8165:24;:::i;:::-;8160:3;8153:37;8078:118;;:::o;8202:222::-;8295:4;8333:2;8322:9;8318:18;8310:26;;8346:71;8414:1;8403:9;8399:17;8390:6;8346:71;:::i;:::-;8202:222;;;;:::o;8430:474::-;8498:6;8506;8555:2;8543:9;8534:7;8530:23;8526:32;8523:119;;;8561:79;;:::i;:::-;8523:119;8681:1;8706:53;8751:7;8742:6;8731:9;8727:22;8706:53;:::i;:::-;8696:63;;8652:117;8808:2;8834:53;8879:7;8870:6;8859:9;8855:22;8834:53;:::i;:::-;8824:63;;8779:118;8430:474;;;;;:::o;8910:180::-;8958:77;8955:1;8948:88;9055:4;9052:1;9045:15;9079:4;9076:1;9069:15;9096:102;9138:8;9185:5;9182:1;9178:13;9157:34;;9096:102;;;:::o;9204:848::-;9265:5;9272:4;9296:6;9287:15;;9320:5;9311:14;;9334:712;9355:1;9345:8;9342:15;9334:712;;;9450:4;9445:3;9441:14;9435:4;9432:24;9429:50;;;9459:18;;:::i;:::-;9429:50;9509:1;9499:8;9495:16;9492:451;;;9924:4;9917:5;9913:16;9904:25;;9492:451;9974:4;9968;9964:15;9956:23;;10004:32;10027:8;10004:32;:::i;:::-;9992:44;;9334:712;;;9204:848;;;;;;;:::o;10058:1073::-;10112:5;10303:8;10293:40;;10324:1;10315:10;;10326:5;;10293:40;10352:4;10342:36;;10369:1;10360:10;;10371:5;;10342:36;10438:4;10486:1;10481:27;;;;10522:1;10517:191;;;;10431:277;;10481:27;10499:1;10490:10;;10501:5;;;10517:191;10562:3;10552:8;10549:17;10546:43;;;10569:18;;:::i;:::-;10546:43;10618:8;10615:1;10611:16;10602:25;;10653:3;10646:5;10643:14;10640:40;;;10660:18;;:::i;:::-;10640:40;10693:5;;;10431:277;;10817:2;10807:8;10804:16;10798:3;10792:4;10789:13;10785:36;10767:2;10757:8;10754:16;10749:2;10743:4;10740:12;10736:35;10720:111;10717:246;;;10873:8;10867:4;10863:19;10854:28;;10908:3;10901:5;10898:14;10895:40;;;10915:18;;:::i;:::-;10895:40;10948:5;;10717:246;10988:42;11026:3;11016:8;11010:4;11007:1;10988:42;:::i;:::-;10973:57;;;;11062:4;11057:3;11053:14;11046:5;11043:25;11040:51;;;11071:18;;:::i;:::-;11040:51;11120:4;11113:5;11109:16;11100:25;;10058:1073;;;;;;:::o;11137:281::-;11195:5;11219:23;11237:4;11219:23;:::i;:::-;11211:31;;11263:25;11279:8;11263:25;:::i;:::-;11251:37;;11307:104;11344:66;11334:8;11328:4;11307:104;:::i;:::-;11298:113;;11137:281;;;;:::o;11424:348::-;11464:7;11487:20;11505:1;11487:20;:::i;:::-;11482:25;;11521:20;11539:1;11521:20;:::i;:::-;11516:25;;11709:1;11641:66;11637:74;11634:1;11631:81;11626:1;11619:9;11612:17;11608:105;11605:131;;;11716:18;;:::i;:::-;11605:131;11764:1;11761;11757:9;11746:20;;11424:348;;;;:::o;11778:182::-;11918:34;11914:1;11906:6;11902:14;11895:58;11778:182;:::o;11966:366::-;12108:3;12129:67;12193:2;12188:3;12129:67;:::i;:::-;12122:74;;12205:93;12294:3;12205:93;:::i;:::-;12323:2;12318:3;12314:12;12307:19;;11966:366;;;:::o;12338:419::-;12504:4;12542:2;12531:9;12527:18;12519:26;;12591:9;12585:4;12581:20;12577:1;12566:9;12562:17;12555:47;12619:131;12745:4;12619:131;:::i;:::-;12611:139;;12338:419;;;:::o;12763:180::-;12811:77;12808:1;12801:88;12908:4;12905:1;12898:15;12932:4;12929:1;12922:15;12949:233;12988:3;13011:24;13029:5;13011:24;:::i;:::-;13002:33;;13057:66;13050:5;13047:77;13044:103;;;13127:18;;:::i;:::-;13044:103;13174:1;13167:5;13163:13;13156:20;;12949:233;;;:::o;13188:173::-;13328:25;13324:1;13316:6;13312:14;13305:49;13188:173;:::o;13367:366::-;13509:3;13530:67;13594:2;13589:3;13530:67;:::i;:::-;13523:74;;13606:93;13695:3;13606:93;:::i;:::-;13724:2;13719:3;13715:12;13708:19;;13367:366;;;:::o;13739:419::-;13905:4;13943:2;13932:9;13928:18;13920:26;;13992:9;13986:4;13982:20;13978:1;13967:9;13963:17;13956:47;14020:131;14146:4;14020:131;:::i;:::-;14012:139;;13739:419;;;:::o;14164:143::-;14221:5;14252:6;14246:13;14237:22;;14268:33;14295:5;14268:33;:::i;:::-;14164:143;;;;:::o;14313:351::-;14383:6;14432:2;14420:9;14411:7;14407:23;14403:32;14400:119;;;14438:79;;:::i;:::-;14400:119;14558:1;14583:64;14639:7;14630:6;14619:9;14615:22;14583:64;:::i;:::-;14573:74;;14529:128;14313:351;;;;:::o;14670:332::-;14791:4;14829:2;14818:9;14814:18;14806:26;;14842:71;14910:1;14899:9;14895:17;14886:6;14842:71;:::i;:::-;14923:72;14991:2;14980:9;14976:18;14967:6;14923:72;:::i;:::-;14670:332;;;;;:::o;15008:85::-;15053:7;15082:5;15071:16;;15008:85;;;:::o;15099:60::-;15127:3;15148:5;15141:12;;15099:60;;;:::o;15165:158::-;15223:9;15256:61;15274:42;15283:32;15309:5;15283:32;:::i;:::-;15274:42;:::i;:::-;15256:61;:::i;:::-;15243:74;;15165:158;;;:::o;15329:147::-;15424:45;15463:5;15424:45;:::i;:::-;15419:3;15412:58;15329:147;;:::o;15482:807::-;15731:4;15769:3;15758:9;15754:19;15746:27;;15783:71;15851:1;15840:9;15836:17;15827:6;15783:71;:::i;:::-;15864:72;15932:2;15921:9;15917:18;15908:6;15864:72;:::i;:::-;15946:80;16022:2;16011:9;16007:18;15998:6;15946:80;:::i;:::-;16036;16112:2;16101:9;16097:18;16088:6;16036:80;:::i;:::-;16126:73;16194:3;16183:9;16179:19;16170:6;16126:73;:::i;:::-;16209;16277:3;16266:9;16262:19;16253:6;16209:73;:::i;:::-;15482:807;;;;;;;;;:::o;16295:143::-;16352:5;16383:6;16377:13;16368:22;;16399:33;16426:5;16399:33;:::i;:::-;16295:143;;;;:::o;16444:663::-;16532:6;16540;16548;16597:2;16585:9;16576:7;16572:23;16568:32;16565:119;;;16603:79;;:::i;:::-;16565:119;16723:1;16748:64;16804:7;16795:6;16784:9;16780:22;16748:64;:::i;:::-;16738:74;;16694:128;16861:2;16887:64;16943:7;16934:6;16923:9;16919:22;16887:64;:::i;:::-;16877:74;;16832:129;17000:2;17026:64;17082:7;17073:6;17062:9;17058:22;17026:64;:::i;:::-;17016:74;;16971:129;16444:663;;;;;:::o;17113:332::-;17234:4;17272:2;17261:9;17257:18;17249:26;;17285:71;17353:1;17342:9;17338:17;17329:6;17285:71;:::i;:::-;17366:72;17434:2;17423:9;17419:18;17410:6;17366:72;:::i;:::-;17113:332;;;;;:::o;17451:116::-;17521:21;17536:5;17521:21;:::i;:::-;17514:5;17511:32;17501:60;;17557:1;17554;17547:12;17501:60;17451:116;:::o;17573:137::-;17627:5;17658:6;17652:13;17643:22;;17674:30;17698:5;17674:30;:::i;:::-;17573:137;;;;:::o;17716:345::-;17783:6;17832:2;17820:9;17811:7;17807:23;17803:32;17800:119;;;17838:79;;:::i;:::-;17800:119;17958:1;17983:61;18036:7;18027:6;18016:9;18012:22;17983:61;:::i;:::-;17973:71;;17929:125;17716:345;;;;:::o;18067:223::-;18207:34;18203:1;18195:6;18191:14;18184:58;18276:6;18271:2;18263:6;18259:15;18252:31;18067:223;:::o;18296:366::-;18438:3;18459:67;18523:2;18518:3;18459:67;:::i;:::-;18452:74;;18535:93;18624:3;18535:93;:::i;:::-;18653:2;18648:3;18644:12;18637:19;;18296:366;;;:::o;18668:419::-;18834:4;18872:2;18861:9;18857:18;18849:26;;18921:9;18915:4;18911:20;18907:1;18896:9;18892:17;18885:47;18949:131;19075:4;18949:131;:::i;:::-;18941:139;;18668:419;;;:::o;19093:221::-;19233:34;19229:1;19221:6;19217:14;19210:58;19302:4;19297:2;19289:6;19285:15;19278:29;19093:221;:::o;19320:366::-;19462:3;19483:67;19547:2;19542:3;19483:67;:::i;:::-;19476:74;;19559:93;19648:3;19559:93;:::i;:::-;19677:2;19672:3;19668:12;19661:19;;19320:366;;;:::o;19692:419::-;19858:4;19896:2;19885:9;19881:18;19873:26;;19945:9;19939:4;19935:20;19931:1;19920:9;19916:17;19909:47;19973:131;20099:4;19973:131;:::i;:::-;19965:139;;19692:419;;;:::o;20117:224::-;20257:34;20253:1;20245:6;20241:14;20234:58;20326:7;20321:2;20313:6;20309:15;20302:32;20117:224;:::o;20347:366::-;20489:3;20510:67;20574:2;20569:3;20510:67;:::i;:::-;20503:74;;20586:93;20675:3;20586:93;:::i;:::-;20704:2;20699:3;20695:12;20688:19;;20347:366;;;:::o;20719:419::-;20885:4;20923:2;20912:9;20908:18;20900:26;;20972:9;20966:4;20962:20;20958:1;20947:9;20943:17;20936:47;21000:131;21126:4;21000:131;:::i;:::-;20992:139;;20719:419;;;:::o;21144:222::-;21284:34;21280:1;21272:6;21268:14;21261:58;21353:5;21348:2;21340:6;21336:15;21329:30;21144:222;:::o;21372:366::-;21514:3;21535:67;21599:2;21594:3;21535:67;:::i;:::-;21528:74;;21611:93;21700:3;21611:93;:::i;:::-;21729:2;21724:3;21720:12;21713:19;;21372:366;;;:::o;21744:419::-;21910:4;21948:2;21937:9;21933:18;21925:26;;21997:9;21991:4;21987:20;21983:1;21972:9;21968:17;21961:47;22025:131;22151:4;22025:131;:::i;:::-;22017:139;;21744:419;;;:::o;22169:228::-;22309:34;22305:1;22297:6;22293:14;22286:58;22378:11;22373:2;22365:6;22361:15;22354:36;22169:228;:::o;22403:366::-;22545:3;22566:67;22630:2;22625:3;22566:67;:::i;:::-;22559:74;;22642:93;22731:3;22642:93;:::i;:::-;22760:2;22755:3;22751:12;22744:19;;22403:366;;;:::o;22775:419::-;22941:4;22979:2;22968:9;22964:18;22956:26;;23028:9;23022:4;23018:20;23014:1;23003:9;22999:17;22992:47;23056:131;23182:4;23056:131;:::i;:::-;23048:139;;22775:419;;;:::o;23200:297::-;23340:34;23336:1;23328:6;23324:14;23317:58;23409:34;23404:2;23396:6;23392:15;23385:59;23478:11;23473:2;23465:6;23461:15;23454:36;23200:297;:::o;23503:366::-;23645:3;23666:67;23730:2;23725:3;23666:67;:::i;:::-;23659:74;;23742:93;23831:3;23742:93;:::i;:::-;23860:2;23855:3;23851:12;23844:19;;23503:366;;;:::o;23875:419::-;24041:4;24079:2;24068:9;24064:18;24056:26;;24128:9;24122:4;24118:20;24114:1;24103:9;24099:17;24092:47;24156:131;24282:4;24156:131;:::i;:::-;24148:139;;23875:419;;;:::o;24300:175::-;24440:27;24436:1;24428:6;24424:14;24417:51;24300:175;:::o;24481:366::-;24623:3;24644:67;24708:2;24703:3;24644:67;:::i;:::-;24637:74;;24720:93;24809:3;24720:93;:::i;:::-;24838:2;24833:3;24829:12;24822:19;;24481:366;;;:::o;24853:419::-;25019:4;25057:2;25046:9;25042:18;25034:26;;25106:9;25100:4;25096:20;25092:1;25081:9;25077:17;25070:47;25134:131;25260:4;25134:131;:::i;:::-;25126:139;;24853:419;;;:::o;25278:305::-;25318:3;25337:20;25355:1;25337:20;:::i;:::-;25332:25;;25371:20;25389:1;25371:20;:::i;:::-;25366:25;;25525:1;25457:66;25453:74;25450:1;25447:81;25444:107;;;25531:18;;:::i;:::-;25444:107;25575:1;25572;25568:9;25561:16;;25278:305;;;;:::o;25589:176::-;25729:28;25725:1;25717:6;25713:14;25706:52;25589:176;:::o;25771:366::-;25913:3;25934:67;25998:2;25993:3;25934:67;:::i;:::-;25927:74;;26010:93;26099:3;26010:93;:::i;:::-;26128:2;26123:3;26119:12;26112:19;;25771:366;;;:::o;26143:419::-;26309:4;26347:2;26336:9;26332:18;26324:26;;26396:9;26390:4;26386:20;26382:1;26371:9;26367:17;26360:47;26424:131;26550:4;26424:131;:::i;:::-;26416:139;;26143:419;;;:::o;26568:191::-;26608:4;26628:20;26646:1;26628:20;:::i;:::-;26623:25;;26662:20;26680:1;26662:20;:::i;:::-;26657:25;;26701:1;26698;26695:8;26692:34;;;26706:18;;:::i;:::-;26692:34;26751:1;26748;26744:9;26736:17;;26568:191;;;;:::o;26765:114::-;26832:6;26866:5;26860:12;26850:22;;26765:114;;;:::o;26885:184::-;26984:11;27018:6;27013:3;27006:19;27058:4;27053:3;27049:14;27034:29;;26885:184;;;;:::o;27075:132::-;27142:4;27165:3;27157:11;;27195:4;27190:3;27186:14;27178:22;;27075:132;;;:::o;27213:108::-;27290:24;27308:5;27290:24;:::i;:::-;27285:3;27278:37;27213:108;;:::o;27327:179::-;27396:10;27417:46;27459:3;27451:6;27417:46;:::i;:::-;27495:4;27490:3;27486:14;27472:28;;27327:179;;;;:::o;27512:113::-;27582:4;27614;27609:3;27605:14;27597:22;;27512:113;;;:::o;27661:732::-;27780:3;27809:54;27857:5;27809:54;:::i;:::-;27879:86;27958:6;27953:3;27879:86;:::i;:::-;27872:93;;27989:56;28039:5;27989:56;:::i;:::-;28068:7;28099:1;28084:284;28109:6;28106:1;28103:13;28084:284;;;28185:6;28179:13;28212:63;28271:3;28256:13;28212:63;:::i;:::-;28205:70;;28298:60;28351:6;28298:60;:::i;:::-;28288:70;;28144:224;28131:1;28128;28124:9;28119:14;;28084:284;;;28088:14;28384:3;28377:10;;27785:608;;;27661:732;;;;:::o;28399:831::-;28662:4;28700:3;28689:9;28685:19;28677:27;;28714:71;28782:1;28771:9;28767:17;28758:6;28714:71;:::i;:::-;28795:80;28871:2;28860:9;28856:18;28847:6;28795:80;:::i;:::-;28922:9;28916:4;28912:20;28907:2;28896:9;28892:18;28885:48;28950:108;29053:4;29044:6;28950:108;:::i;:::-;28942:116;;29068:72;29136:2;29125:9;29121:18;29112:6;29068:72;:::i;:::-;29150:73;29218:3;29207:9;29203:19;29194:6;29150:73;:::i;:::-;28399:831;;;;;;;;:::o;29236:180::-;29284:77;29281:1;29274:88;29381:4;29378:1;29371:15;29405:4;29402:1;29395:15;29422:185;29462:1;29479:20;29497:1;29479:20;:::i;:::-;29474:25;;29513:20;29531:1;29513:20;:::i;:::-;29508:25;;29552:1;29542:35;;29557:18;;:::i;:::-;29542:35;29599:1;29596;29592:9;29587:14;;29422:185;;;;:::o;29613:220::-;29753:34;29749:1;29741:6;29737:14;29730:58;29822:3;29817:2;29809:6;29805:15;29798:28;29613:220;:::o;29839:366::-;29981:3;30002:67;30066:2;30061:3;30002:67;:::i;:::-;29995:74;;30078:93;30167:3;30078:93;:::i;:::-;30196:2;30191:3;30187:12;30180:19;;29839:366;;;:::o;30211:419::-;30377:4;30415:2;30404:9;30400:18;30392:26;;30464:9;30458:4;30454:20;30450:1;30439:9;30435:17;30428:47;30492:131;30618:4;30492:131;:::i;:::-;30484:139;;30211:419;;;:::o;30636:177::-;30776:29;30772:1;30764:6;30760:14;30753:53;30636:177;:::o;30819:366::-;30961:3;30982:67;31046:2;31041:3;30982:67;:::i;:::-;30975:74;;31058:93;31147:3;31058:93;:::i;:::-;31176:2;31171:3;31167:12;31160:19;;30819:366;;;:::o;31191:419::-;31357:4;31395:2;31384:9;31380:18;31372:26;;31444:9;31438:4;31434:20;31430:1;31419:9;31415:17;31408:47;31472:131;31598:4;31472:131;:::i;:::-;31464:139;;31191:419;;;:::o

Swarm Source

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