ETH Price: $3,320.35 (+0.38%)
Gas: 10 Gwei

Token

Yoda AI (YODA)
 

Overview

Max Total Supply

100,000,000 YODA

Holders

26

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,124,925 YODA

Value
$0.00
0x819862d5727179684762da20d0ce5226783f3396
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:
YodaAI

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-02-14
*/

/*

                    ____
                 _.' :  `._
             .-.'`.  ;   .'`.-.
    __      / : ___\ ;  /___ ; \      __
  ,'_ ""--.:__;".-.";: :".-.":__;.--"" _`,
  :' `.t""--.. '<@.`;_  ',@>` ..--""j.' `;
       `:-.._J '-.-'L__ `-- ' L_..-;'
         "-.__ ;  .-"  "-.  : __.-"
             L ' /.------.\ ' J
              "-.   "--"   .-"
             __.l"-:_JL_;-";.__
          .-j/'.;  ;""""  / .'\"-.
        .' /:`. "-.:     .-" .';  `.
     .-"  / ;  "-. "-..-" .-"  :    "-.
  .+"-.  : :      "-.__.-"      ;-._   \
  ; \  `.; ;                    : : "+. ;
  :  ;   ; ;                    : ;  : \:
 : `."-; ;  ;                  :  ;   ,/;
  ;    -: ;  :                ;  : .-"'  :
  :\     \  : ;             : \.-"      :
   ;`.    \  ; :            ;.'_..--  / ;
   :  "-.  "-:  ;          :/."      .'  :
     \       .-`.\        /t-""  ":-+.   :
      `.  .-"    `l    __/ /`. :  ; ; \  ;
        \   .-" .-"-.-"  .' .'j \  /   ;/
         \ / .-"   /.     .'.' ;_:'    ;
          :-""-.`./-.'     /    `.___.'
                \ `t  ._  /  
                 "-.t-._:'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
*/


// SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;
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;
    }
}

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract YodaAI is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Yoda AI";
    string constant _symbol = "YODA";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 100000000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = 1500000 * (10 ** _decimals);

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 liquidityFee = 35; 
    uint256 marketingFee = 60;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address internal marketingFeeReceiver = 0x9C5BFAC63eF240D790eD1a50b5275653BB2C90A9;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 2; // 0.5%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }



    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[0x9C5BFAC63eF240D790eD1a50b5275653BB2C90A9] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0x9C5BFAC63eF240D790eD1a50b5275653BB2C90A9] = true;
        isTxLimitExempt[DEAD] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(); } 

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
               0x9C5BFAC63eF240D790eD1a50b5275653BB2C90A9,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function Launch() external onlyOwner {
        require(liquidityFee > 20, "Can only be used once");     
        liquidityFee = 3;
        marketingFee = 22;
        totalFee = liquidityFee + marketingFee;
        }

    function setFee(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner {
         require((_liquidityFee+_marketingFee) <= 12, "ERC20: total tax cannot exceed 12%");
         liquidityFee = _liquidityFee; 
         marketingFee = _marketingFee;
         totalFee = liquidityFee + marketingFee;
    }    
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

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":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"Launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062000955565b6305f5e100620000bd919062000a92565b6003556009600a620000d0919062000955565b6216e360620000e0919062000a92565b6004556023600955603c600a55600a54600954620000ff919062000865565b600b556064600c55739c5bfac63ef240d790ed1a50b5275653bb2c90a9600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60146101000a81548160ff02191690831515021790555060026103e86003546200018b9190620008c2565b62000197919062000a92565b601055348015620001a757600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002b657600080fd5b505afa158015620002cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f19190620007c7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037557600080fd5b505afa1580156200038a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b09190620007c7565b306040518363ffffffff1660e01b8152600401620003d09291906200081b565b602060405180830381600087803b158015620003eb57600080fd5b505af115801562000400573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004269190620007c7565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600160076000739c5bfac63ef240d790ed1a50b5275653bb2c90a973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000739c5bfac63ef240d790ed1a50b5275653bb2c90a973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620007a1919062000848565b60405180910390a35062000bc8565b600081519050620007c18162000bae565b92915050565b600060208284031215620007e057620007df62000b9c565b5b6000620007f084828501620007b0565b91505092915050565b620008048162000af3565b82525050565b620008158162000b27565b82525050565b6000604082019050620008326000830185620007f9565b620008416020830184620007f9565b9392505050565b60006020820190506200085f60008301846200080a565b92915050565b6000620008728262000b27565b91506200087f8362000b27565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620008b757620008b662000b3e565b5b828201905092915050565b6000620008cf8262000b27565b9150620008dc8362000b27565b925082620008ef57620008ee62000b6d565b5b828204905092915050565b6000808291508390505b60018511156200094c5780860481111562000924576200092362000b3e565b5b6001851615620009345780820291505b8081029050620009448562000ba1565b945062000904565b94509492505050565b6000620009628262000b27565b91506200096f8362000b31565b92506200099e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009a6565b905092915050565b600082620009b8576001905062000a8b565b81620009c8576000905062000a8b565b8160018114620009e15760028114620009ec5762000a22565b600191505062000a8b565b60ff84111562000a015762000a0062000b3e565b5b8360020a91508482111562000a1b5762000a1a62000b3e565b5b5062000a8b565b5060208310610133831016604e8410600b841016171562000a5c5782820a90508381111562000a565762000a5562000b3e565b5b62000a8b565b62000a6b8484846001620008fa565b9250905081840481111562000a855762000a8462000b3e565b5b81810290505b9392505050565b600062000a9f8262000b27565b915062000aac8362000b27565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ae85762000ae762000b3e565b5b828202905092915050565b600062000b008262000b07565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b60008160011c9050919050565b62000bb98162000af3565b811462000bc557600080fd5b50565b61280b8062000bd86000396000f3fe6080604052600436106101235760003560e01c80636c0a24eb116100a057806395d89b411161006457806395d89b41146103e4578063a8aa1b311461040f578063a9059cbb1461043a578063dd62ed3e14610477578063f887ea40146104b45761012a565b80636c0a24eb1461030f5780636ddd17131461033a57806370a0823114610365578063715018a6146103a2578063893d20e8146103b95761012a565b806323b872dd116100e757806323b872dd146102045780632f54bf6e14610241578063313ce5671461027e57806352f7c988146102a9578063571ac8b0146102d25761012a565b806302ac81681461012f5780630445b6671461014657806306fdde0314610171578063095ea7b31461019c57806318160ddd146101d95761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104df565b005b34801561015257600080fd5b5061015b610594565b6040516101689190612243565b60405180910390f35b34801561017d57600080fd5b5061018661059a565b6040516101939190612141565b60405180910390f35b3480156101a857600080fd5b506101c360048036038101906101be9190611d77565b6105d7565b6040516101d0919061210b565b60405180910390f35b3480156101e557600080fd5b506101ee6106c9565b6040516101fb9190612243565b60405180910390f35b34801561021057600080fd5b5061022b60048036038101906102269190611d24565b6106d3565b604051610238919061210b565b60405180910390f35b34801561024d57600080fd5b5061026860048036038101906102639190611c8a565b6108d3565b604051610275919061210b565b60405180910390f35b34801561028a57600080fd5b5061029361092c565b6040516102a091906122e1565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611db7565b610935565b005b3480156102de57600080fd5b506102f960048036038101906102f49190611c8a565b6109f4565b604051610306919061210b565b60405180910390f35b34801561031b57600080fd5b50610324610a27565b6040516103319190612243565b60405180910390f35b34801561034657600080fd5b5061034f610a2d565b60405161035c919061210b565b60405180910390f35b34801561037157600080fd5b5061038c60048036038101906103879190611c8a565b610a40565b6040516103999190612243565b60405180910390f35b3480156103ae57600080fd5b506103b7610a89565b005b3480156103c557600080fd5b506103ce610b4c565b6040516103db919061208f565b60405180910390f35b3480156103f057600080fd5b506103f9610b75565b6040516104069190612141565b60405180910390f35b34801561041b57600080fd5b50610424610bb2565b604051610431919061208f565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c9190611d77565b610bd8565b60405161046e919061210b565b60405180910390f35b34801561048357600080fd5b5061049e60048036038101906104999190611ce4565b610bed565b6040516104ab9190612243565b60405180910390f35b3480156104c057600080fd5b506104c9610c74565b6040516104d69190612126565b60405180910390f35b6104e8336108d3565b610527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051e90612223565b60405180910390fd5b60146009541161056c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610563906121a3565b60405180910390fd5b60036009819055506016600a81905550600a5460095461058c919061235c565b600b81905550565b60105481565b60606040518060400160405280600781526020017f596f646120414900000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106b79190612243565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146108bf5761083e826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c9a9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6108ca848484610cfe565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b61093e336108d3565b61097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097490612223565b60405180910390fd5b600c818361098b919061235c565b11156109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c3906121c3565b60405180910390fd5b8160098190555080600a81905550600a546009546109ea919061235c565b600b819055505050565b6000610a20827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6105d7565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a92336108d3565b610ad1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac890612223565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610b42919061208f565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f594f444100000000000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610be5338484610cfe565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd99190612141565b60405180910390fd5b5060008385610cf1919061243d565b9050809150509392505050565b6000601160009054906101000a900460ff1615610d2757610d208484846110c7565b90506110c0565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610dd35750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610ebc57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e7c575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e79919061235c565b11155b610ebb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb290612163565b60405180910390fd5b5b610ec461129a565b15610ed257610ed1611371565b5b610f5b826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c9a9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610fa9856118cb565b610fb35782610fbe565b610fbd8584611922565b5b905061101281600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6690919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110b29190612243565b60405180910390a360019150505b9392505050565b6000611152826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c9a9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111e782600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6690919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112879190612243565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156113075750601160009054906101000a900460ff16155b801561131f5750600f60149054906101000a900460ff165b801561136c5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006113d160026113c3600b546113b560095487611ac490919063ffffffff16565b611b3f90919063ffffffff16565b611b3f90919063ffffffff16565b905060006113e88284611b8990919063ffffffff16565b90506000600267ffffffffffffffff811115611407576114066125ce565b5b6040519080825280602002602001820160405280156114355781602001602082028036833780820191505090505b509050308160008151811061144d5761144c61259f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ef57600080fd5b505afa158015611503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115279190611cb7565b8160018151811061153b5761153a61259f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016115de95949392919061225e565b600060405180830381600087803b1580156115f857600080fd5b505af115801561160c573d6000803e3d6000fd5b5050505060006116258247611b8990919063ffffffff16565b905060006116536116426002600954611b3f90919063ffffffff16565b600b54611b8990919063ffffffff16565b9050600061169160026116838461167560095488611ac490919063ffffffff16565b611b3f90919063ffffffff16565b611b3f90919063ffffffff16565b905060006116bc836116ae600a5487611ac490919063ffffffff16565b611b3f90919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161170a9061207a565b600060405180830381858888f193505050503d8060008114611748576040519150601f19603f3d011682016040523d82523d6000602084013e61174d565b606091505b5050905080611791576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611788906121e3565b60405180910390fd5b60008911156118a457600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080739c5bfac63ef240d790ed1a50b5275653bb2c90a9426040518863ffffffff1660e01b8152600401611815969594939291906120aa565b6060604051808303818588803b15801561182e57600080fd5b505af1158015611842573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118679190611df7565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a60405161189b9291906122b8565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008061194e600c54611940600b5486611ac490919063ffffffff16565b611b3f90919063ffffffff16565b90506119a281600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6690919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a429190612243565b60405180910390a3611a5d8184611b8990919063ffffffff16565b91505092915050565b6000808284611a75919061235c565b905083811015611aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab190612183565b60405180910390fd5b8091505092915050565b600080831415611ad75760009050611b39565b60008284611ae591906123e3565b9050828482611af491906123b2565b14611b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2b90612203565b60405180910390fd5b809150505b92915050565b6000611b8183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bd3565b905092915050565b6000611bcb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c9a565b905092915050565b60008083118290611c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c119190612141565b60405180910390fd5b5060008385611c2991906123b2565b9050809150509392505050565b600081359050611c45816127a7565b92915050565b600081519050611c5a816127a7565b92915050565b600081359050611c6f816127be565b92915050565b600081519050611c84816127be565b92915050565b600060208284031215611ca057611c9f6125fd565b5b6000611cae84828501611c36565b91505092915050565b600060208284031215611ccd57611ccc6125fd565b5b6000611cdb84828501611c4b565b91505092915050565b60008060408385031215611cfb57611cfa6125fd565b5b6000611d0985828601611c36565b9250506020611d1a85828601611c36565b9150509250929050565b600080600060608486031215611d3d57611d3c6125fd565b5b6000611d4b86828701611c36565b9350506020611d5c86828701611c36565b9250506040611d6d86828701611c60565b9150509250925092565b60008060408385031215611d8e57611d8d6125fd565b5b6000611d9c85828601611c36565b9250506020611dad85828601611c60565b9150509250929050565b60008060408385031215611dce57611dcd6125fd565b5b6000611ddc85828601611c60565b9250506020611ded85828601611c60565b9150509250929050565b600080600060608486031215611e1057611e0f6125fd565b5b6000611e1e86828701611c75565b9350506020611e2f86828701611c75565b9250506040611e4086828701611c75565b9150509250925092565b6000611e568383611e62565b60208301905092915050565b611e6b81612471565b82525050565b611e7a81612471565b82525050565b6000611e8b8261230c565b611e95818561232f565b9350611ea0836122fc565b8060005b83811015611ed1578151611eb88882611e4a565b9750611ec383612322565b925050600181019050611ea4565b5085935050505092915050565b611ee781612483565b82525050565b611ef6816124c6565b82525050565b611f05816124d8565b82525050565b6000611f1682612317565b611f20818561234b565b9350611f3081856020860161250e565b611f3981612602565b840191505092915050565b6000611f5160258361234b565b9150611f5c82612613565b604082019050919050565b6000611f74601b8361234b565b9150611f7f82612662565b602082019050919050565b6000611f9760158361234b565b9150611fa28261268b565b602082019050919050565b6000611fba60228361234b565b9150611fc5826126b4565b604082019050919050565b6000611fdd601e8361234b565b9150611fe882612703565b602082019050919050565b600061200060218361234b565b915061200b8261272c565b604082019050919050565b600061202360068361234b565b915061202e8261277b565b602082019050919050565b6000612046600083612340565b9150612051826127a4565b600082019050919050565b612065816124af565b82525050565b612074816124b9565b82525050565b600061208582612039565b9150819050919050565b60006020820190506120a46000830184611e71565b92915050565b600060c0820190506120bf6000830189611e71565b6120cc602083018861205c565b6120d96040830187611efc565b6120e66060830186611efc565b6120f36080830185611e71565b61210060a083018461205c565b979650505050505050565b60006020820190506121206000830184611ede565b92915050565b600060208201905061213b6000830184611eed565b92915050565b6000602082019050818103600083015261215b8184611f0b565b905092915050565b6000602082019050818103600083015261217c81611f44565b9050919050565b6000602082019050818103600083015261219c81611f67565b9050919050565b600060208201905081810360008301526121bc81611f8a565b9050919050565b600060208201905081810360008301526121dc81611fad565b9050919050565b600060208201905081810360008301526121fc81611fd0565b9050919050565b6000602082019050818103600083015261221c81611ff3565b9050919050565b6000602082019050818103600083015261223c81612016565b9050919050565b6000602082019050612258600083018461205c565b92915050565b600060a082019050612273600083018861205c565b6122806020830187611efc565b81810360408301526122928186611e80565b90506122a16060830185611e71565b6122ae608083018461205c565b9695505050505050565b60006040820190506122cd600083018561205c565b6122da602083018461205c565b9392505050565b60006020820190506122f6600083018461206b565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612367826124af565b9150612372836124af565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156123a7576123a6612541565b5b828201905092915050565b60006123bd826124af565b91506123c8836124af565b9250826123d8576123d7612570565b5b828204905092915050565b60006123ee826124af565b91506123f9836124af565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561243257612431612541565b5b828202905092915050565b6000612448826124af565b9150612453836124af565b92508282101561246657612465612541565b5b828203905092915050565b600061247c8261248f565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006124d1826124ea565b9050919050565b60006124e3826124af565b9050919050565b60006124f5826124fc565b9050919050565b60006125078261248f565b9050919050565b60005b8381101561252c578082015181840152602081019050612511565b8381111561253b576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f43616e206f6e6c792062652075736564206f6e63650000000000000000000000600082015250565b7f45524332303a20746f74616c207461782063616e6e6f7420657863656564203160008201527f3225000000000000000000000000000000000000000000000000000000000000602082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b6127b081612471565b81146127bb57600080fd5b50565b6127c7816124af565b81146127d257600080fd5b5056fea26469706673582212203a6abe9858a7015e6e6ec782263e5f10e0ce90f9e8046248279ecbb3cb5079f464736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80636c0a24eb116100a057806395d89b411161006457806395d89b41146103e4578063a8aa1b311461040f578063a9059cbb1461043a578063dd62ed3e14610477578063f887ea40146104b45761012a565b80636c0a24eb1461030f5780636ddd17131461033a57806370a0823114610365578063715018a6146103a2578063893d20e8146103b95761012a565b806323b872dd116100e757806323b872dd146102045780632f54bf6e14610241578063313ce5671461027e57806352f7c988146102a9578063571ac8b0146102d25761012a565b806302ac81681461012f5780630445b6671461014657806306fdde0314610171578063095ea7b31461019c57806318160ddd146101d95761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104df565b005b34801561015257600080fd5b5061015b610594565b6040516101689190612243565b60405180910390f35b34801561017d57600080fd5b5061018661059a565b6040516101939190612141565b60405180910390f35b3480156101a857600080fd5b506101c360048036038101906101be9190611d77565b6105d7565b6040516101d0919061210b565b60405180910390f35b3480156101e557600080fd5b506101ee6106c9565b6040516101fb9190612243565b60405180910390f35b34801561021057600080fd5b5061022b60048036038101906102269190611d24565b6106d3565b604051610238919061210b565b60405180910390f35b34801561024d57600080fd5b5061026860048036038101906102639190611c8a565b6108d3565b604051610275919061210b565b60405180910390f35b34801561028a57600080fd5b5061029361092c565b6040516102a091906122e1565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611db7565b610935565b005b3480156102de57600080fd5b506102f960048036038101906102f49190611c8a565b6109f4565b604051610306919061210b565b60405180910390f35b34801561031b57600080fd5b50610324610a27565b6040516103319190612243565b60405180910390f35b34801561034657600080fd5b5061034f610a2d565b60405161035c919061210b565b60405180910390f35b34801561037157600080fd5b5061038c60048036038101906103879190611c8a565b610a40565b6040516103999190612243565b60405180910390f35b3480156103ae57600080fd5b506103b7610a89565b005b3480156103c557600080fd5b506103ce610b4c565b6040516103db919061208f565b60405180910390f35b3480156103f057600080fd5b506103f9610b75565b6040516104069190612141565b60405180910390f35b34801561041b57600080fd5b50610424610bb2565b604051610431919061208f565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c9190611d77565b610bd8565b60405161046e919061210b565b60405180910390f35b34801561048357600080fd5b5061049e60048036038101906104999190611ce4565b610bed565b6040516104ab9190612243565b60405180910390f35b3480156104c057600080fd5b506104c9610c74565b6040516104d69190612126565b60405180910390f35b6104e8336108d3565b610527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051e90612223565b60405180910390fd5b60146009541161056c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610563906121a3565b60405180910390fd5b60036009819055506016600a81905550600a5460095461058c919061235c565b600b81905550565b60105481565b60606040518060400160405280600781526020017f596f646120414900000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106b79190612243565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146108bf5761083e826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c9a9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6108ca848484610cfe565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b61093e336108d3565b61097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097490612223565b60405180910390fd5b600c818361098b919061235c565b11156109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c3906121c3565b60405180910390fd5b8160098190555080600a81905550600a546009546109ea919061235c565b600b819055505050565b6000610a20827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6105d7565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a92336108d3565b610ad1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac890612223565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610b42919061208f565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f594f444100000000000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610be5338484610cfe565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd99190612141565b60405180910390fd5b5060008385610cf1919061243d565b9050809150509392505050565b6000601160009054906101000a900460ff1615610d2757610d208484846110c7565b90506110c0565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610dd35750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610ebc57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e7c575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e79919061235c565b11155b610ebb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb290612163565b60405180910390fd5b5b610ec461129a565b15610ed257610ed1611371565b5b610f5b826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c9a9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610fa9856118cb565b610fb35782610fbe565b610fbd8584611922565b5b905061101281600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6690919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110b29190612243565b60405180910390a360019150505b9392505050565b6000611152826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c9a9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111e782600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6690919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112879190612243565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156113075750601160009054906101000a900460ff16155b801561131f5750600f60149054906101000a900460ff165b801561136c5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006113d160026113c3600b546113b560095487611ac490919063ffffffff16565b611b3f90919063ffffffff16565b611b3f90919063ffffffff16565b905060006113e88284611b8990919063ffffffff16565b90506000600267ffffffffffffffff811115611407576114066125ce565b5b6040519080825280602002602001820160405280156114355781602001602082028036833780820191505090505b509050308160008151811061144d5761144c61259f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ef57600080fd5b505afa158015611503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115279190611cb7565b8160018151811061153b5761153a61259f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016115de95949392919061225e565b600060405180830381600087803b1580156115f857600080fd5b505af115801561160c573d6000803e3d6000fd5b5050505060006116258247611b8990919063ffffffff16565b905060006116536116426002600954611b3f90919063ffffffff16565b600b54611b8990919063ffffffff16565b9050600061169160026116838461167560095488611ac490919063ffffffff16565b611b3f90919063ffffffff16565b611b3f90919063ffffffff16565b905060006116bc836116ae600a5487611ac490919063ffffffff16565b611b3f90919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161170a9061207a565b600060405180830381858888f193505050503d8060008114611748576040519150601f19603f3d011682016040523d82523d6000602084013e61174d565b606091505b5050905080611791576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611788906121e3565b60405180910390fd5b60008911156118a457600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080739c5bfac63ef240d790ed1a50b5275653bb2c90a9426040518863ffffffff1660e01b8152600401611815969594939291906120aa565b6060604051808303818588803b15801561182e57600080fd5b505af1158015611842573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118679190611df7565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a60405161189b9291906122b8565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008061194e600c54611940600b5486611ac490919063ffffffff16565b611b3f90919063ffffffff16565b90506119a281600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6690919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a429190612243565b60405180910390a3611a5d8184611b8990919063ffffffff16565b91505092915050565b6000808284611a75919061235c565b905083811015611aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab190612183565b60405180910390fd5b8091505092915050565b600080831415611ad75760009050611b39565b60008284611ae591906123e3565b9050828482611af491906123b2565b14611b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2b90612203565b60405180910390fd5b809150505b92915050565b6000611b8183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bd3565b905092915050565b6000611bcb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c9a565b905092915050565b60008083118290611c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c119190612141565b60405180910390fd5b5060008385611c2991906123b2565b9050809150509392505050565b600081359050611c45816127a7565b92915050565b600081519050611c5a816127a7565b92915050565b600081359050611c6f816127be565b92915050565b600081519050611c84816127be565b92915050565b600060208284031215611ca057611c9f6125fd565b5b6000611cae84828501611c36565b91505092915050565b600060208284031215611ccd57611ccc6125fd565b5b6000611cdb84828501611c4b565b91505092915050565b60008060408385031215611cfb57611cfa6125fd565b5b6000611d0985828601611c36565b9250506020611d1a85828601611c36565b9150509250929050565b600080600060608486031215611d3d57611d3c6125fd565b5b6000611d4b86828701611c36565b9350506020611d5c86828701611c36565b9250506040611d6d86828701611c60565b9150509250925092565b60008060408385031215611d8e57611d8d6125fd565b5b6000611d9c85828601611c36565b9250506020611dad85828601611c60565b9150509250929050565b60008060408385031215611dce57611dcd6125fd565b5b6000611ddc85828601611c60565b9250506020611ded85828601611c60565b9150509250929050565b600080600060608486031215611e1057611e0f6125fd565b5b6000611e1e86828701611c75565b9350506020611e2f86828701611c75565b9250506040611e4086828701611c75565b9150509250925092565b6000611e568383611e62565b60208301905092915050565b611e6b81612471565b82525050565b611e7a81612471565b82525050565b6000611e8b8261230c565b611e95818561232f565b9350611ea0836122fc565b8060005b83811015611ed1578151611eb88882611e4a565b9750611ec383612322565b925050600181019050611ea4565b5085935050505092915050565b611ee781612483565b82525050565b611ef6816124c6565b82525050565b611f05816124d8565b82525050565b6000611f1682612317565b611f20818561234b565b9350611f3081856020860161250e565b611f3981612602565b840191505092915050565b6000611f5160258361234b565b9150611f5c82612613565b604082019050919050565b6000611f74601b8361234b565b9150611f7f82612662565b602082019050919050565b6000611f9760158361234b565b9150611fa28261268b565b602082019050919050565b6000611fba60228361234b565b9150611fc5826126b4565b604082019050919050565b6000611fdd601e8361234b565b9150611fe882612703565b602082019050919050565b600061200060218361234b565b915061200b8261272c565b604082019050919050565b600061202360068361234b565b915061202e8261277b565b602082019050919050565b6000612046600083612340565b9150612051826127a4565b600082019050919050565b612065816124af565b82525050565b612074816124b9565b82525050565b600061208582612039565b9150819050919050565b60006020820190506120a46000830184611e71565b92915050565b600060c0820190506120bf6000830189611e71565b6120cc602083018861205c565b6120d96040830187611efc565b6120e66060830186611efc565b6120f36080830185611e71565b61210060a083018461205c565b979650505050505050565b60006020820190506121206000830184611ede565b92915050565b600060208201905061213b6000830184611eed565b92915050565b6000602082019050818103600083015261215b8184611f0b565b905092915050565b6000602082019050818103600083015261217c81611f44565b9050919050565b6000602082019050818103600083015261219c81611f67565b9050919050565b600060208201905081810360008301526121bc81611f8a565b9050919050565b600060208201905081810360008301526121dc81611fad565b9050919050565b600060208201905081810360008301526121fc81611fd0565b9050919050565b6000602082019050818103600083015261221c81611ff3565b9050919050565b6000602082019050818103600083015261223c81612016565b9050919050565b6000602082019050612258600083018461205c565b92915050565b600060a082019050612273600083018861205c565b6122806020830187611efc565b81810360408301526122928186611e80565b90506122a16060830185611e71565b6122ae608083018461205c565b9695505050505050565b60006040820190506122cd600083018561205c565b6122da602083018461205c565b9392505050565b60006020820190506122f6600083018461206b565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612367826124af565b9150612372836124af565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156123a7576123a6612541565b5b828201905092915050565b60006123bd826124af565b91506123c8836124af565b9250826123d8576123d7612570565b5b828204905092915050565b60006123ee826124af565b91506123f9836124af565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561243257612431612541565b5b828202905092915050565b6000612448826124af565b9150612453836124af565b92508282101561246657612465612541565b5b828203905092915050565b600061247c8261248f565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006124d1826124ea565b9050919050565b60006124e3826124af565b9050919050565b60006124f5826124fc565b9050919050565b60006125078261248f565b9050919050565b60005b8381101561252c578082015181840152602081019050612511565b8381111561253b576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f43616e206f6e6c792062652075736564206f6e63650000000000000000000000600082015250565b7f45524332303a20746f74616c207461782063616e6e6f7420657863656564203160008201527f3225000000000000000000000000000000000000000000000000000000000000602082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b6127b081612471565b81146127bb57600080fd5b50565b6127c7816124af565b81146127d257600080fd5b5056fea26469706673582212203a6abe9858a7015e6e6ec782263e5f10e0ce90f9e8046248279ecbb3cb5079f464736f6c63430008070033

Deployed Bytecode Sourcemap

5263:7417:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12063:220;;;;;;;;;;;;;:::i;:::-;;6271:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7360:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7782:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7090:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8300:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3501:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7184:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12291:314;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8006:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5650:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6234:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7530:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3610:131;;;;;;;;;;;;;:::i;:::-;;7446:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7270:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6206:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8136:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7641:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6175:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12063:220;3454:19;3462:10;3454:7;:19::i;:::-;3446:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12134:2:::1;12119:12;;:17;12111:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;12193:1;12178:12;:16;;;;12220:2;12205:12;:17;;;;12259:12;;12244;;:27;;;;:::i;:::-;12233:8;:38;;;;12063:220::o:0;6271:54::-;;;;:::o;7360:80::-;7408:13;7432:5;;;;;;;;;;;;;;;;;7425:12;;7360:80;:::o;7782:216::-;7857:4;7909:6;7874:11;:23;7886:10;7874:23;;;;;;;;;;;;;;;:32;7898:7;7874:32;;;;;;;;;;;;;;;:41;;;;7952:7;7931:37;;7940:10;7931:37;;;7961:6;7931:37;;;;;;:::i;:::-;;;;;;;;7986:4;7979:11;;7782:216;;;;:::o;7090:88::-;7145:7;7163:12;;7156:19;;7090:88;:::o;8300:370::-;8400:4;8455:17;8420:11;:19;8432:6;8420:19;;;;;;;;;;;;;;;:31;8440:10;8420:31;;;;;;;;;;;;;;;;:52;8417:186;;8522:69;8558:6;8522:69;;;;;;;;;;;;;;;;;:11;:19;8534:6;8522:19;;;;;;;;;;;;;;;:31;8542:10;8522:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8488:11;:19;8500:6;8488:19;;;;;;;;;;;;;;;:31;8508:10;8488:31;;;;;;;;;;;;;;;:103;;;;8417:186;8622:40;8636:6;8644:9;8655:6;8622:13;:40::i;:::-;8615:47;;8300:370;;;;;:::o;3501:103::-;3556:4;3591:5;;;;;;;;;;;3580:16;;:7;:16;;;3573:23;;3501:103;;;:::o;7184:80::-;7236:5;5581:1;7245:16;;7184:80;:::o;12291:314::-;3454:19;3462:10;3454:7;:19::i;:::-;3446:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12425:2:::1;12407:13;12393;:27;;;;:::i;:::-;12392:35;;12384:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;12493:13;12478:12;:28;;;;12534:13;12519:12;:28;;;;12585:12;;12570;;:27;;;;:::i;:::-;12559:8;:38;;;;12291:314:::0;;:::o;8006:122::-;8061:4;8085:35;8093:7;8102:17;8085:7;:35::i;:::-;8078:42;;8006:122;;;:::o;5650:61::-;;;;:::o;6234:30::-;;;;;;;;;;;;;:::o;7530:105::-;7596:7;7614:9;:18;7624:7;7614:18;;;;;;;;;;;;;;;;7607:25;;7530:105;;;:::o;3610:131::-;3454:19;3462:10;3454:7;:19::i;:::-;3446:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3683:1:::1;3667:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;3701:32;3730:1;3701:32;;;;;;:::i;:::-;;;;;;;;3610:131::o:0;7446:78::-;7498:7;7516:5;;;;;;;;;;;7509:12;;7446:78;:::o;7270:84::-;7320:13;7344:7;;;;;;;;;;;;;;;;;7337:14;;7270:84;:::o;6206:19::-;;;;;;;;;;;;;:::o;8136:156::-;8216:4;8240:44;8254:10;8266:9;8277:6;8240:13;:44::i;:::-;8233:51;;8136:156;;;;:::o;7641:133::-;7725:7;7743:11;:19;7755:6;7743:19;;;;;;;;;;;;;;;:28;7763:7;7743:28;;;;;;;;;;;;;;;;7736:35;;7641:133;;;;:::o;6175:24::-;;;;;;;;;;;;;:::o;1590:190::-;1676:7;1709:1;1704;:6;;1712:12;1696:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1736:9;1752:1;1748;:5;;;;:::i;:::-;1736:17;;1771:1;1764:8;;;1590:190;;;;;:::o;8678:792::-;8770:4;8790:6;;;;;;;;;;;8787:63;;;8806:41;8821:6;8829:9;8840:6;8806:14;:41::i;:::-;8799:48;;;;8787:63;8887:4;;;;;;;;;;;8874:17;;:9;:17;;;;:38;;;;;8908:4;;;;;;;;;;;8895:17;;:9;:17;;;;8874:38;8870:200;;;8937:15;:26;8953:9;8937:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;9000:16;;8990:6;8967:9;:20;8977:9;8967:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;8937:79;8929:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;8870:200;9093:16;:14;:16::i;:::-;9090:35;;;9112:10;:8;:10::i;:::-;9090:35;9158:53;9180:6;9158:53;;;;;;;;;;;;;;;;;:9;:17;9168:6;9158:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9138:9;:17;9148:6;9138:17;;;;;;;;;;;;;;;:73;;;;9224:22;9249:21;9263:6;9249:13;:21::i;:::-;:56;;9299:6;9249:56;;;9273:23;9281:6;9289;9273:7;:23::i;:::-;9249:56;9224:81;;9339:40;9364:14;9339:9;:20;9349:9;9339:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;9316:9;:20;9326:9;9316:20;;;;;;;;;;;;;;;:63;;;;9414:9;9397:43;;9406:6;9397:43;;;9425:14;9397:43;;;;;;:::i;:::-;;;;;;;;9458:4;9451:11;;;8678:792;;;;;;:::o;9482:330::-;9575:4;9612:53;9634:6;9612:53;;;;;;;;;;;;;;;;;:9;:17;9622:6;9612:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9592:9;:17;9602:6;9592:17;;;;;;;;;;;;;;;:73;;;;9699:32;9724:6;9699:9;:20;9709:9;9699:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9676:9;:20;9686:9;9676:20;;;;;;;;;;;;;;;:55;;;;9764:9;9747:35;;9756:6;9747:35;;;9775:6;9747:35;;;;;;:::i;:::-;;;;;;;;9800:4;9793:11;;9482:330;;;;;:::o;10279:197::-;10328:4;10366;;;;;;;;;;;10352:18;;:10;:18;;;;:38;;;;;10384:6;;;;;;;;;;;10383:7;10352:38;:62;;;;;10403:11;;;;;;;;;;;10352:62;:116;;;;;10455:13;;10427:9;:24;10445:4;10427:24;;;;;;;;;;;;;;;;:41;;10352:116;10345:123;;10279:197;:::o;10484:1571::-;6389:4;6380:6;;:13;;;;;;;;;;;;;;;;;;10533:28:::1;10564:13;;10533:44;;10588:23;10614:59;10671:1;10614:52;10657:8;;10614:38;10639:12;;10614:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;10588:85;;10684:20;10707:41;10732:15;10707:20;:24;;:41;;;;:::i;:::-;10684:64;;10761:21;10799:1;10785:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10761:40;;10830:4;10812;10817:1;10812:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10856:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10846:4;10851:1;10846:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10882:21;10906;10882:45;;10940:6;;;;;;;;;;;:57;;;11012:12;11039:1;11055:4;11082;11102:15;10940:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11139:17;11159:40;11185:13;11159:21;:25;;:40;;;;:::i;:::-;11139:60;;11210:19;11232:33;11245:19;11262:1;11245:12;;:16;;:19;;;;:::i;:::-;11232:8;;:12;;:33;;;;:::i;:::-;11210:55;;11276:26;11305:51;11354:1;11305:44;11337:11;11305:27;11319:12;;11305:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;11276:80;;11367:26;11396:44;11428:11;11396:27;11410:12;;11396:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;11367:73;;11456:21;11514:20;;;;;;;;;;;11506:34;;11548:18;11573:5;11506:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11455:128;;;11602:16;11594:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;11687:1;11669:15;:19;11666:382;;;11704:6;;;;;;;;;;;:22;;;11734:18;11780:4;11804:15;11838:1;11858::::0;11877:42:::1;11938:15;11704:264;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11988:48;12000:18;12020:15;11988:48;;;;;;;:::i;:::-;;;;;;;;11666:382;10522:1533;;;;;;;;;;6407:5:::0;6398:6;;:14;;;;;;;;;;;;;;;;;;10484:1571::o;9820:114::-;9882:4;9907:11;:19;9919:6;9907:19;;;;;;;;;;;;;;;;;;;;;;;;;9906:20;9899:27;;9820:114;;;:::o;9942:329::-;10009:7;10029:17;10049:40;10074:14;;10049:20;10060:8;;10049:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;10029:60;;10127:39;10156:9;10127;:24;10145:4;10127:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10100:9;:24;10118:4;10100:24;;;;;;;;;;;;;;;:66;;;;10207:4;10182:42;;10191:6;10182:42;;;10214:9;10182:42;;;;;;:::i;:::-;;;;;;;;10242:21;10253:9;10242:6;:10;;:21;;;;:::i;:::-;10235:28;;;9942:329;;;;:::o;1263:179::-;1321:7;1341:9;1357:1;1353;:5;;;;:::i;:::-;1341:17;;1382:1;1377;:6;;1369:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1433:1;1426:8;;;1263:179;;;;:::o;1786:246::-;1844:7;1873:1;1868;:6;1864:47;;;1898:1;1891:8;;;;1864:47;1921:9;1937:1;1933;:5;;;;:::i;:::-;1921:17;;1966:1;1961;1957;:5;;;;:::i;:::-;:10;1949:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2023:1;2016:8;;;1786:246;;;;;:::o;2038:132::-;2096:7;2123:39;2127:1;2130;2123:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2116:46;;2038:132;;;;:::o;1448:136::-;1506:7;1533:43;1537:1;1540;1533:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1526:50;;1448:136;;;;:::o;2176:189::-;2262:7;2294:1;2290;:5;2297:12;2282:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2321:9;2337:1;2333;:5;;;;:::i;:::-;2321:17;;2356:1;2349:8;;;2176:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;301:139;;;;:::o;446:143::-;503:5;534:6;528:13;519:22;;550:33;577:5;550:33;:::i;:::-;446:143;;;;:::o;595:329::-;654:6;703:2;691:9;682:7;678:23;674:32;671:119;;;709:79;;:::i;:::-;671:119;829:1;854:53;899:7;890:6;879:9;875:22;854:53;:::i;:::-;844:63;;800:117;595:329;;;;:::o;930:351::-;1000:6;1049:2;1037:9;1028:7;1024:23;1020:32;1017:119;;;1055:79;;:::i;:::-;1017:119;1175:1;1200:64;1256:7;1247:6;1236:9;1232:22;1200:64;:::i;:::-;1190:74;;1146:128;930:351;;;;:::o;1287:474::-;1355:6;1363;1412:2;1400:9;1391:7;1387:23;1383:32;1380:119;;;1418:79;;:::i;:::-;1380:119;1538:1;1563:53;1608:7;1599:6;1588:9;1584:22;1563:53;:::i;:::-;1553:63;;1509:117;1665:2;1691:53;1736:7;1727:6;1716:9;1712:22;1691:53;:::i;:::-;1681:63;;1636:118;1287:474;;;;;:::o;1767:619::-;1844:6;1852;1860;1909:2;1897:9;1888:7;1884:23;1880:32;1877:119;;;1915:79;;:::i;:::-;1877:119;2035:1;2060:53;2105:7;2096:6;2085:9;2081:22;2060:53;:::i;:::-;2050:63;;2006:117;2162:2;2188:53;2233:7;2224:6;2213:9;2209:22;2188:53;:::i;:::-;2178:63;;2133:118;2290:2;2316:53;2361:7;2352:6;2341:9;2337:22;2316:53;:::i;:::-;2306:63;;2261:118;1767:619;;;;;:::o;2392:474::-;2460:6;2468;2517:2;2505:9;2496:7;2492:23;2488:32;2485:119;;;2523:79;;:::i;:::-;2485:119;2643:1;2668:53;2713:7;2704:6;2693:9;2689:22;2668:53;:::i;:::-;2658:63;;2614:117;2770:2;2796:53;2841:7;2832:6;2821:9;2817:22;2796:53;:::i;:::-;2786:63;;2741:118;2392:474;;;;;:::o;2872:::-;2940:6;2948;2997:2;2985:9;2976:7;2972:23;2968:32;2965:119;;;3003:79;;:::i;:::-;2965:119;3123:1;3148:53;3193:7;3184:6;3173:9;3169:22;3148:53;:::i;:::-;3138:63;;3094:117;3250:2;3276:53;3321:7;3312:6;3301:9;3297:22;3276:53;:::i;:::-;3266:63;;3221:118;2872:474;;;;;:::o;3352:663::-;3440:6;3448;3456;3505:2;3493:9;3484:7;3480:23;3476:32;3473:119;;;3511:79;;:::i;:::-;3473:119;3631:1;3656:64;3712:7;3703:6;3692:9;3688:22;3656:64;:::i;:::-;3646:74;;3602:128;3769:2;3795:64;3851:7;3842:6;3831:9;3827:22;3795:64;:::i;:::-;3785:74;;3740:129;3908:2;3934:64;3990:7;3981:6;3970:9;3966:22;3934:64;:::i;:::-;3924:74;;3879:129;3352:663;;;;;:::o;4021:179::-;4090:10;4111:46;4153:3;4145:6;4111:46;:::i;:::-;4189:4;4184:3;4180:14;4166:28;;4021:179;;;;:::o;4206:108::-;4283:24;4301:5;4283:24;:::i;:::-;4278:3;4271:37;4206:108;;:::o;4320:118::-;4407:24;4425:5;4407:24;:::i;:::-;4402:3;4395:37;4320:118;;:::o;4474:732::-;4593:3;4622:54;4670:5;4622:54;:::i;:::-;4692:86;4771:6;4766:3;4692:86;:::i;:::-;4685:93;;4802:56;4852:5;4802:56;:::i;:::-;4881:7;4912:1;4897:284;4922:6;4919:1;4916:13;4897:284;;;4998:6;4992:13;5025:63;5084:3;5069:13;5025:63;:::i;:::-;5018:70;;5111:60;5164:6;5111:60;:::i;:::-;5101:70;;4957:224;4944:1;4941;4937:9;4932:14;;4897:284;;;4901:14;5197:3;5190:10;;4598:608;;;4474:732;;;;:::o;5212:109::-;5293:21;5308:5;5293:21;:::i;:::-;5288:3;5281:34;5212:109;;:::o;5327:167::-;5432:55;5481:5;5432:55;:::i;:::-;5427:3;5420:68;5327:167;;:::o;5500:147::-;5595:45;5634:5;5595:45;:::i;:::-;5590:3;5583:58;5500:147;;:::o;5653:364::-;5741:3;5769:39;5802:5;5769:39;:::i;:::-;5824:71;5888:6;5883:3;5824:71;:::i;:::-;5817:78;;5904:52;5949:6;5944:3;5937:4;5930:5;5926:16;5904:52;:::i;:::-;5981:29;6003:6;5981:29;:::i;:::-;5976:3;5972:39;5965:46;;5745:272;5653:364;;;;:::o;6023:366::-;6165:3;6186:67;6250:2;6245:3;6186:67;:::i;:::-;6179:74;;6262:93;6351:3;6262:93;:::i;:::-;6380:2;6375:3;6371:12;6364:19;;6023:366;;;:::o;6395:::-;6537:3;6558:67;6622:2;6617:3;6558:67;:::i;:::-;6551:74;;6634:93;6723:3;6634:93;:::i;:::-;6752:2;6747:3;6743:12;6736:19;;6395:366;;;:::o;6767:::-;6909:3;6930:67;6994:2;6989:3;6930:67;:::i;:::-;6923:74;;7006:93;7095:3;7006:93;:::i;:::-;7124:2;7119:3;7115:12;7108:19;;6767:366;;;:::o;7139:::-;7281:3;7302:67;7366:2;7361:3;7302:67;:::i;:::-;7295:74;;7378:93;7467:3;7378:93;:::i;:::-;7496:2;7491:3;7487:12;7480:19;;7139:366;;;:::o;7511:::-;7653:3;7674:67;7738:2;7733:3;7674:67;:::i;:::-;7667:74;;7750:93;7839:3;7750:93;:::i;:::-;7868:2;7863:3;7859:12;7852:19;;7511:366;;;:::o;7883:::-;8025:3;8046:67;8110:2;8105:3;8046:67;:::i;:::-;8039:74;;8122:93;8211:3;8122:93;:::i;:::-;8240:2;8235:3;8231:12;8224:19;;7883:366;;;:::o;8255:365::-;8397:3;8418:66;8482:1;8477:3;8418:66;:::i;:::-;8411:73;;8493:93;8582:3;8493:93;:::i;:::-;8611:2;8606:3;8602:12;8595:19;;8255:365;;;:::o;8626:398::-;8785:3;8806:83;8887:1;8882:3;8806:83;:::i;:::-;8799:90;;8898:93;8987:3;8898:93;:::i;:::-;9016:1;9011:3;9007:11;9000:18;;8626:398;;;:::o;9030:118::-;9117:24;9135:5;9117:24;:::i;:::-;9112:3;9105:37;9030:118;;:::o;9154:112::-;9237:22;9253:5;9237:22;:::i;:::-;9232:3;9225:35;9154:112;;:::o;9272:379::-;9456:3;9478:147;9621:3;9478:147;:::i;:::-;9471:154;;9642:3;9635:10;;9272:379;;;:::o;9657:222::-;9750:4;9788:2;9777:9;9773:18;9765:26;;9801:71;9869:1;9858:9;9854:17;9845:6;9801:71;:::i;:::-;9657:222;;;;:::o;9885:807::-;10134:4;10172:3;10161:9;10157:19;10149:27;;10186:71;10254:1;10243:9;10239:17;10230:6;10186:71;:::i;:::-;10267:72;10335:2;10324:9;10320:18;10311:6;10267:72;:::i;:::-;10349:80;10425:2;10414:9;10410:18;10401:6;10349:80;:::i;:::-;10439;10515:2;10504:9;10500:18;10491:6;10439:80;:::i;:::-;10529:73;10597:3;10586:9;10582:19;10573:6;10529:73;:::i;:::-;10612;10680:3;10669:9;10665:19;10656:6;10612:73;:::i;:::-;9885:807;;;;;;;;;:::o;10698:210::-;10785:4;10823:2;10812:9;10808:18;10800:26;;10836:65;10898:1;10887:9;10883:17;10874:6;10836:65;:::i;:::-;10698:210;;;;:::o;10914:258::-;11025:4;11063:2;11052:9;11048:18;11040:26;;11076:89;11162:1;11151:9;11147:17;11138:6;11076:89;:::i;:::-;10914:258;;;;:::o;11178:313::-;11291:4;11329:2;11318:9;11314:18;11306:26;;11378:9;11372:4;11368:20;11364:1;11353:9;11349:17;11342:47;11406:78;11479:4;11470:6;11406:78;:::i;:::-;11398:86;;11178:313;;;;:::o;11497:419::-;11663:4;11701:2;11690:9;11686:18;11678:26;;11750:9;11744:4;11740:20;11736:1;11725:9;11721:17;11714:47;11778:131;11904:4;11778:131;:::i;:::-;11770:139;;11497:419;;;:::o;11922:::-;12088:4;12126:2;12115:9;12111:18;12103:26;;12175:9;12169:4;12165:20;12161:1;12150:9;12146:17;12139:47;12203:131;12329:4;12203:131;:::i;:::-;12195:139;;11922:419;;;:::o;12347:::-;12513:4;12551:2;12540:9;12536:18;12528:26;;12600:9;12594:4;12590:20;12586:1;12575:9;12571:17;12564:47;12628:131;12754:4;12628:131;:::i;:::-;12620:139;;12347:419;;;:::o;12772:::-;12938:4;12976:2;12965:9;12961:18;12953:26;;13025:9;13019:4;13015:20;13011:1;13000:9;12996:17;12989:47;13053:131;13179:4;13053:131;:::i;:::-;13045:139;;12772:419;;;:::o;13197:::-;13363:4;13401:2;13390:9;13386:18;13378:26;;13450:9;13444:4;13440:20;13436:1;13425:9;13421:17;13414:47;13478:131;13604:4;13478:131;:::i;:::-;13470:139;;13197:419;;;:::o;13622:::-;13788:4;13826:2;13815:9;13811:18;13803:26;;13875:9;13869:4;13865:20;13861:1;13850:9;13846:17;13839:47;13903:131;14029:4;13903:131;:::i;:::-;13895:139;;13622:419;;;:::o;14047:::-;14213:4;14251:2;14240:9;14236:18;14228:26;;14300:9;14294:4;14290:20;14286:1;14275:9;14271:17;14264:47;14328:131;14454:4;14328:131;:::i;:::-;14320:139;;14047:419;;;:::o;14472:222::-;14565:4;14603:2;14592:9;14588:18;14580:26;;14616:71;14684:1;14673:9;14669:17;14660:6;14616:71;:::i;:::-;14472:222;;;;:::o;14700:831::-;14963:4;15001:3;14990:9;14986:19;14978:27;;15015:71;15083:1;15072:9;15068:17;15059:6;15015:71;:::i;:::-;15096:80;15172:2;15161:9;15157:18;15148:6;15096:80;:::i;:::-;15223:9;15217:4;15213:20;15208:2;15197:9;15193:18;15186:48;15251:108;15354:4;15345:6;15251:108;:::i;:::-;15243:116;;15369:72;15437:2;15426:9;15422:18;15413:6;15369:72;:::i;:::-;15451:73;15519:3;15508:9;15504:19;15495:6;15451:73;:::i;:::-;14700:831;;;;;;;;:::o;15537:332::-;15658:4;15696:2;15685:9;15681:18;15673:26;;15709:71;15777:1;15766:9;15762:17;15753:6;15709:71;:::i;:::-;15790:72;15858:2;15847:9;15843:18;15834:6;15790:72;:::i;:::-;15537:332;;;;;:::o;15875:214::-;15964:4;16002:2;15991:9;15987:18;15979:26;;16015:67;16079:1;16068:9;16064:17;16055:6;16015:67;:::i;:::-;15875:214;;;;:::o;16176:132::-;16243:4;16266:3;16258:11;;16296:4;16291:3;16287:14;16279:22;;16176:132;;;:::o;16314:114::-;16381:6;16415:5;16409:12;16399:22;;16314:114;;;:::o;16434:99::-;16486:6;16520:5;16514:12;16504:22;;16434:99;;;:::o;16539:113::-;16609:4;16641;16636:3;16632:14;16624:22;;16539:113;;;:::o;16658:184::-;16757:11;16791:6;16786:3;16779:19;16831:4;16826:3;16822:14;16807:29;;16658:184;;;;:::o;16848:147::-;16949:11;16986:3;16971:18;;16848:147;;;;:::o;17001:169::-;17085:11;17119:6;17114:3;17107:19;17159:4;17154:3;17150:14;17135:29;;17001:169;;;;:::o;17176:305::-;17216:3;17235:20;17253:1;17235:20;:::i;:::-;17230:25;;17269:20;17287:1;17269:20;:::i;:::-;17264:25;;17423:1;17355:66;17351:74;17348:1;17345:81;17342:107;;;17429:18;;:::i;:::-;17342:107;17473:1;17470;17466:9;17459:16;;17176:305;;;;:::o;17487:185::-;17527:1;17544:20;17562:1;17544:20;:::i;:::-;17539:25;;17578:20;17596:1;17578:20;:::i;:::-;17573:25;;17617:1;17607:35;;17622:18;;:::i;:::-;17607:35;17664:1;17661;17657:9;17652:14;;17487:185;;;;:::o;17678:348::-;17718:7;17741:20;17759:1;17741:20;:::i;:::-;17736:25;;17775:20;17793:1;17775:20;:::i;:::-;17770:25;;17963:1;17895:66;17891:74;17888:1;17885:81;17880:1;17873:9;17866:17;17862:105;17859:131;;;17970:18;;:::i;:::-;17859:131;18018:1;18015;18011:9;18000:20;;17678:348;;;;:::o;18032:191::-;18072:4;18092:20;18110:1;18092:20;:::i;:::-;18087:25;;18126:20;18144:1;18126:20;:::i;:::-;18121:25;;18165:1;18162;18159:8;18156:34;;;18170:18;;:::i;:::-;18156:34;18215:1;18212;18208:9;18200:17;;18032:191;;;;:::o;18229:96::-;18266:7;18295:24;18313:5;18295:24;:::i;:::-;18284:35;;18229:96;;;:::o;18331:90::-;18365:7;18408:5;18401:13;18394:21;18383:32;;18331:90;;;:::o;18427:126::-;18464:7;18504:42;18497:5;18493:54;18482:65;;18427:126;;;:::o;18559:77::-;18596:7;18625:5;18614:16;;18559:77;;;:::o;18642:86::-;18677:7;18717:4;18710:5;18706:16;18695:27;;18642:86;;;:::o;18734:144::-;18802:9;18835:37;18866:5;18835:37;:::i;:::-;18822:50;;18734:144;;;:::o;18884:121::-;18942:9;18975:24;18993:5;18975:24;:::i;:::-;18962:37;;18884:121;;;:::o;19011:126::-;19061:9;19094:37;19125:5;19094:37;:::i;:::-;19081:50;;19011:126;;;:::o;19143:113::-;19193:9;19226:24;19244:5;19226:24;:::i;:::-;19213:37;;19143:113;;;:::o;19262:307::-;19330:1;19340:113;19354:6;19351:1;19348:13;19340:113;;;19439:1;19434:3;19430:11;19424:18;19420:1;19415:3;19411:11;19404:39;19376:2;19373:1;19369:10;19364:15;;19340:113;;;19471:6;19468:1;19465:13;19462:101;;;19551:1;19542:6;19537:3;19533:16;19526:27;19462:101;19311:258;19262:307;;;:::o;19575:180::-;19623:77;19620:1;19613:88;19720:4;19717:1;19710:15;19744:4;19741:1;19734:15;19761:180;19809:77;19806:1;19799:88;19906:4;19903:1;19896:15;19930:4;19927:1;19920:15;19947:180;19995:77;19992:1;19985:88;20092:4;20089:1;20082:15;20116:4;20113:1;20106:15;20133:180;20181:77;20178:1;20171:88;20278:4;20275:1;20268:15;20302:4;20299:1;20292:15;20442:117;20551:1;20548;20541:12;20565:102;20606:6;20657:2;20653:7;20648:2;20641:5;20637:14;20633:28;20623:38;;20565:102;;;:::o;20673:224::-;20813:34;20809:1;20801:6;20797:14;20790:58;20882:7;20877:2;20869:6;20865:15;20858:32;20673:224;:::o;20903:177::-;21043:29;21039:1;21031:6;21027:14;21020:53;20903:177;:::o;21086:171::-;21226:23;21222:1;21214:6;21210:14;21203:47;21086:171;:::o;21263:221::-;21403:34;21399:1;21391:6;21387:14;21380:58;21472:4;21467:2;21459:6;21455:15;21448:29;21263:221;:::o;21490:180::-;21630:32;21626:1;21618:6;21614:14;21607:56;21490:180;:::o;21676:220::-;21816:34;21812:1;21804:6;21800:14;21793:58;21885:3;21880:2;21872:6;21868:15;21861:28;21676:220;:::o;21902:156::-;22042:8;22038:1;22030:6;22026:14;22019:32;21902:156;:::o;22064:114::-;;:::o;22184:122::-;22257:24;22275:5;22257:24;:::i;:::-;22250:5;22247:35;22237:63;;22296:1;22293;22286:12;22237:63;22184:122;:::o;22312:::-;22385:24;22403:5;22385:24;:::i;:::-;22378:5;22375:35;22365:63;;22424:1;22421;22414:12;22365:63;22312:122;:::o

Swarm Source

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