ETH Price: $3,457.24 (+1.52%)
Gas: 9 Gwei

Token

Pepenomics 2.0 (PEPENOMICS2.O)
 

Overview

Max Total Supply

420,690,000,000,000 PEPENOMICS2.O

Holders

155

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000000000000001 PEPENOMICS2.O

Value
$0.00
0x4bc4218f4244315584d315786e4503f2eb4b5645
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:
PEPENOMICS2

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-01
*/

/*
PEPENOMICS 2.O

https://t.me/pepenomics20
https://twitter.com/pepenomics20
https://pepenomics20.vip/

*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom( address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract PEPENOMICS2 is Context, IERC20, Ownable {
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _FreeWallets;
    mapping(address => uint256) private _BlockedAddress;
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 420690000000000 * 10**_decimals;
    uint256 private constant minimumSwapAmount = 1682760000000 * 10**_decimals;
    uint256 private constant onePercent = 4206900000000 * 10**_decimals;
    uint256 private maxSwap = onePercent / 2;
    uint256 public MaximumOneTrxAmount = onePercent;
    uint256 public MxWalletSize = 2*onePercent;

    uint256 private InitialBlockNo;

    uint256 public buyTax = 25;
    uint256 public sellTax = 45;
    
    string private constant _name = "Pepenomics 2.0";
    string private constant _symbol = "PEPENOMICS2.O";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address immutable public FeesAddress ;
    address immutable public SecFeesWallet;

    bool private launch = false;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        FeesAddress  = 0x3F42D851226527CcA6aa89D7a71171eFa1904A54;
        SecFeesWallet = 0x17555640dA2379f902EB3369e33D5Ba4976CD80a;
        _balance[msg.sender] = _totalSupply;
        _FreeWallets[FeesAddress ] = 1;
        _FreeWallets[msg.sender] = 1;
        _FreeWallets[address(this)] = 1;

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

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address recipient, uint256 amount)public override returns (bool){
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256){
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool){
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if(currentAllowance != type(uint256).max) { 
            require(
                currentAllowance >= amount,
                "ERC20: transfer amount exceeds allowance"
            );
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }


    function StartTrading() external onlyOwner {
        launch = true;
        InitialBlockNo = block.number;
    }

    function _addExcludedWallet(address wallet) external onlyOwner {
        _FreeWallets[wallet] = 1;
    }

    function _RemoveExcludedWallet(address wallet) external onlyOwner {
        _FreeWallets[wallet] = 0;
    }

    function FreeFromLimits() external onlyOwner {
        MaximumOneTrxAmount = _totalSupply;
        MxWalletSize = _totalSupply;
    }

    function ChangeTaxes(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax + newSellTax <= 70, "Tax too high");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function _tokenTransfer(address from, address to, uint256 amount, uint256 _tax) private {
        uint256 taxTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxTokens;

        emit Transfer(from, to, transferAmount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "ERC20: no tokens transferred");
        uint256 _tax = 0;
        if (_FreeWallets[from] == 0 && _FreeWallets[to] == 0)
        {
            require(launch, "Trading not open");
            require(_BlockedAddress[from] == 0, "Please contact support");
            require(amount <= MaximumOneTrxAmount, "MaxTx Enabled at launch");
            if (to != uniswapV2Pair && to != address(0xdead)) require(balanceOf(to) + amount <= MxWalletSize, "MaxWallet Enabled at launch");
            if (block.number < InitialBlockNo + 2) {_tax=45;} else {
                if (from == uniswapV2Pair) {
                    _tax = buyTax;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));
                    if (tokensToSwap > minimumSwapAmount) { 
                        uint256 mxSw = maxSwap;
                        if (tokensToSwap > amount) tokensToSwap = amount;
                        if (tokensToSwap > mxSw) tokensToSwap = mxSw;
                        swapTokensForEth(tokensToSwap);
                    }
                    _tax = sellTax;
                }
            }
        }
        _tokenTransfer(from, to, amount, _tax);
    }

    function manualSendBalance() external onlyOwner {
        bool success;
        (success, ) = SecFeesWallet.call{value: address(this).balance / 10}("");
        (success, ) = FeesAddress .call{value: address(this).balance}("");
    } 

    function manualSwapTokens() external onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        bool success;
        (success, ) = SecFeesWallet.call{value: address(this).balance / 10}("");
        (success, ) = FeesAddress .call{value: address(this).balance}("");
    }
    receive() external payable {}
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"ChangeTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"FeesAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FreeFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MaximumOneTrxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SecFeesWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"StartTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"_RemoveExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"_addExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","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":"manualSendBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405260026012600a620000169190620007bd565b6503d37ec7b5006200002991906200080e565b62000035919062000888565b6005556012600a620000489190620007bd565b6503d37ec7b5006200005b91906200080e565b6006556012600a6200006e9190620007bd565b6503d37ec7b5006200008191906200080e565b60026200008f91906200080e565b6007556019600955602d600a556000600c60146101000a81548160ff021916908315150217905550348015620000c457600080fd5b506000620000d76200061b60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000238573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025e91906200092a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030e91906200092a565b6040518363ffffffff1660e01b81526004016200032d9291906200096d565b6020604051808303816000875af11580156200034d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037391906200092a565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733f42d851226527cca6aa89d7a71171efa1904a5473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250507317555640da2379f902eb3369e33d5ba4976cd80a73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506012600a620004539190620007bd565b66017e9d8602b4006200046791906200080e565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200058b6200061b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620005ea9190620007bd565b66017e9d8602b400620005fe91906200080e565b6040516200060d9190620009ab565b60405180910390a3620009c8565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006b15780860481111562000689576200068862000623565b5b6001851615620006995780820291505b8081029050620006a98562000652565b945062000669565b94509492505050565b600082620006cc57600190506200079f565b81620006dc57600090506200079f565b8160018114620006f55760028114620007005762000736565b60019150506200079f565b60ff84111562000715576200071462000623565b5b8360020a9150848211156200072f576200072e62000623565b5b506200079f565b5060208310610133831016604e8410600b8410161715620007705782820a9050838111156200076a576200076962000623565b5b6200079f565b6200077f84848460016200065f565b9250905081840481111562000799576200079862000623565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007ca82620007a6565b9150620007d783620007b0565b9250620008067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006ba565b905092915050565b60006200081b82620007a6565b91506200082883620007a6565b92508282026200083881620007a6565b9150828204841483151762000852576200085162000623565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200089582620007a6565b9150620008a283620007a6565b925082620008b557620008b462000859565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008f282620008c5565b9050919050565b6200090481620008e5565b81146200091057600080fd5b50565b6000815190506200092481620008f9565b92915050565b600060208284031215620009435762000942620008c0565b5b6000620009538482850162000913565b91505092915050565b6200096781620008e5565b82525050565b60006040820190506200098460008301856200095c565b6200099360208301846200095c565b9392505050565b620009a581620007a6565b82525050565b6000602082019050620009c260008301846200099a565b92915050565b60805160a051612d9462000a0a6000396000818161081e01528181610e0e0152611ab40152600081816108b601528181610b3a0152611b4c0152612d946000f3fe6080604052600436106101855760003560e01c8063715018a6116100d1578063a9059cbb1161008a578063d7f7385811610064578063d7f7385814610525578063dd62ed3e1461054e578063e5d51dc71461058b578063f2fde38b146105b45761018c565b8063a9059cbb146104a6578063bf6a1c0d146104e3578063cc1776d3146104fa5761018c565b8063715018a6146103cc5780637c4c75eb146103e35780638da5cb5b146103fa57806395d89b411461042557806397b2ebfe14610450578063a414f3e21461047b5761018c565b80632d34b9ed1161013e5780634f7041a5116101185780634f7041a5146103225780635080c8351461034d5780636cae5a691461036457806370a082311461038f5761018c565b80632d34b9ed146102a3578063313ce567146102cc57806349bd5a5e146102f75761018c565b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101f9578063230b33501461022457806323b872dd1461024f57806328176f891461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105dd565b6040516101b39190611fda565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de9190612095565b61061a565b6040516101f091906120f0565b60405180910390f35b34801561020557600080fd5b5061020e610638565b60405161021b919061211a565b60405180910390f35b34801561023057600080fd5b5061023961065f565b604051610246919061211a565b60405180910390f35b34801561025b57600080fd5b5061027660048036038101906102719190612135565b610665565b60405161028391906120f0565b60405180910390f35b34801561029857600080fd5b506102a1610785565b005b3480156102af57600080fd5b506102ca60048036038101906102c59190612188565b610943565b005b3480156102d857600080fd5b506102e1610a20565b6040516102ee91906121d1565b60405180910390f35b34801561030357600080fd5b5061030c610a29565b60405161031991906121fb565b60405180910390f35b34801561032e57600080fd5b50610337610a4f565b604051610344919061211a565b60405180910390f35b34801561035957600080fd5b50610362610a55565b005b34801561037057600080fd5b50610379610b38565b60405161038691906121fb565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b19190612188565b610b5c565b6040516103c3919061211a565b60405180910390f35b3480156103d857600080fd5b506103e1610ba5565b005b3480156103ef57600080fd5b506103f8610cf8565b005b34801561040657600080fd5b5061040f610da6565b60405161041c91906121fb565b60405180910390f35b34801561043157600080fd5b5061043a610dcf565b6040516104479190611fda565b60405180910390f35b34801561045c57600080fd5b50610465610e0c565b60405161047291906121fb565b60405180910390f35b34801561048757600080fd5b50610490610e30565b60405161049d919061211a565b60405180910390f35b3480156104b257600080fd5b506104cd60048036038101906104c89190612095565b610e36565b6040516104da91906120f0565b60405180910390f35b3480156104ef57600080fd5b506104f8610e54565b005b34801561050657600080fd5b5061050f610f0d565b60405161051c919061211a565b60405180910390f35b34801561053157600080fd5b5061054c60048036038101906105479190612188565b610f13565b005b34801561055a57600080fd5b5061057560048036038101906105709190612216565b610ff0565b604051610582919061211a565b60405180910390f35b34801561059757600080fd5b506105b260048036038101906105ad9190612256565b611077565b005b3480156105c057600080fd5b506105db60048036038101906105d69190612188565b61116d565b005b60606040518060400160405280600e81526020017f506570656e6f6d69637320322e30000000000000000000000000000000000000815250905090565b600061062e61062761120e565b8484611216565b6001905092915050565b60006012600a61064891906123f8565b66017e9d8602b40061065a9190612443565b905090565b60065481565b60006106728484846113df565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106bd61120e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107795782811015610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075b906124f7565b60405180910390fd5b6107788561077061120e565b858403611216565b5b60019150509392505050565b61078d61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461081a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081190612563565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16600a4761086091906125b2565b60405161086c90612614565b60006040518083038185875af1925050503d80600081146108a9576040519150601f19603f3d011682016040523d82523d6000602084013e6108ae565b606091505b5050809150507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16476040516108f890612614565b60006040518083038185875af1925050503d8060008114610935576040519150601f19603f3d011682016040523d82523d6000602084013e61093a565b606091505b50508091505050565b61094b61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cf90612563565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60006012905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b610a5d61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae190612563565b60405180910390fd5b6012600a610af891906123f8565b66017e9d8602b400610b0a9190612443565b6006819055506012600a610b1e91906123f8565b66017e9d8602b400610b309190612443565b600781905550565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bad61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190612563565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d0061120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8490612563565b60405180910390fd5b6000610d9830610b5c565b9050610da381611871565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600d81526020017f504550454e4f4d494353322e4f00000000000000000000000000000000000000815250905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60075481565b6000610e4a610e4361120e565b84846113df565b6001905092915050565b610e5c61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee090612563565b60405180910390fd5b6001600c60146101000a81548160ff02191690831515021790555043600881905550565b600a5481565b610f1b61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9f90612563565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61107f61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461110c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110390612563565b60405180910390fd5b6046818361111a9190612629565b111561115b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611152906126a9565b60405180910390fd5b8160098190555080600a819055505050565b61117561120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f990612563565b60405180910390fd5b61120b81611bdb565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127c9061273b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112eb906127cd565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113d2919061211a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361144e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114459061285f565b60405180910390fd5b60008111611491576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611488906128cb565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414801561152057506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1561185f57600c60149054906101000a900460ff16611574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156b90612937565b60405180910390fd5b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146115f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ed906129a3565b60405180910390fd5b60065482111561163b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163290612a0f565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116c7575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561172557600754826116d985610b5c565b6116e39190612629565b1115611724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171b90612a7b565b60405180910390fd5b5b60026008546117349190612629565b43101561174457602d905061185e565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036117a357600954905061185d565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361185c57600061180330610b5c565b90506012600a61181391906123f8565b650187cc4fe2006118249190612443565b81111561185557600060055490508382111561183e578391505b8082111561184a578091505b61185382611871565b505b600a549150505b5b5b5b61186b84848484611d07565b50505050565b6000600267ffffffffffffffff81111561188e5761188d612a9b565b5b6040519080825280602002602001820160405280156118bc5781602001602082028036833780820191505090505b50905030816000815181106118d4576118d3612aca565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561197b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199f9190612b0e565b816001815181106119b3576119b2612aca565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a1a30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611216565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611a7e959493929190612c3e565b600060405180830381600087803b158015611a9857600080fd5b505af1158015611aac573d6000803e3d6000fd5b5050505060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16600a47611af691906125b2565b604051611b0290612614565b60006040518083038185875af1925050503d8060008114611b3f576040519150601f19603f3d011682016040523d82523d6000602084013e611b44565b606091505b5050809150507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1647604051611b8e90612614565b60006040518083038185875af1925050503d8060008114611bcb576040519150601f19603f3d011682016040523d82523d6000602084013e611bd0565b606091505b505080915050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4190612d0a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060648284611d179190612443565b611d2191906125b2565b905060008184611d319190612d2a565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7e9190612d2a565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0c9190612629565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9a9190612629565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f3a919061211a565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f84578082015181840152602081019050611f69565b60008484015250505050565b6000601f19601f8301169050919050565b6000611fac82611f4a565b611fb68185611f55565b9350611fc6818560208601611f66565b611fcf81611f90565b840191505092915050565b60006020820190508181036000830152611ff48184611fa1565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061202c82612001565b9050919050565b61203c81612021565b811461204757600080fd5b50565b60008135905061205981612033565b92915050565b6000819050919050565b6120728161205f565b811461207d57600080fd5b50565b60008135905061208f81612069565b92915050565b600080604083850312156120ac576120ab611ffc565b5b60006120ba8582860161204a565b92505060206120cb85828601612080565b9150509250929050565b60008115159050919050565b6120ea816120d5565b82525050565b600060208201905061210560008301846120e1565b92915050565b6121148161205f565b82525050565b600060208201905061212f600083018461210b565b92915050565b60008060006060848603121561214e5761214d611ffc565b5b600061215c8682870161204a565b935050602061216d8682870161204a565b925050604061217e86828701612080565b9150509250925092565b60006020828403121561219e5761219d611ffc565b5b60006121ac8482850161204a565b91505092915050565b600060ff82169050919050565b6121cb816121b5565b82525050565b60006020820190506121e660008301846121c2565b92915050565b6121f581612021565b82525050565b600060208201905061221060008301846121ec565b92915050565b6000806040838503121561222d5761222c611ffc565b5b600061223b8582860161204a565b925050602061224c8582860161204a565b9150509250929050565b6000806040838503121561226d5761226c611ffc565b5b600061227b85828601612080565b925050602061228c85828601612080565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561231c578086048111156122f8576122f7612296565b5b60018516156123075780820291505b8081029050612315856122c5565b94506122dc565b94509492505050565b60008261233557600190506123f1565b8161234357600090506123f1565b8160018114612359576002811461236357612392565b60019150506123f1565b60ff84111561237557612374612296565b5b8360020a91508482111561238c5761238b612296565b5b506123f1565b5060208310610133831016604e8410600b84101617156123c75782820a9050838111156123c2576123c1612296565b5b6123f1565b6123d484848460016122d2565b925090508184048111156123eb576123ea612296565b5b81810290505b9392505050565b60006124038261205f565b915061240e836121b5565b925061243b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612325565b905092915050565b600061244e8261205f565b91506124598361205f565b92508282026124678161205f565b9150828204841483151761247e5761247d612296565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006124e1602883611f55565b91506124ec82612485565b604082019050919050565b60006020820190508181036000830152612510816124d4565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061254d602083611f55565b915061255882612517565b602082019050919050565b6000602082019050818103600083015261257c81612540565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125bd8261205f565b91506125c88361205f565b9250826125d8576125d7612583565b5b828204905092915050565b600081905092915050565b50565b60006125fe6000836125e3565b9150612609826125ee565b600082019050919050565b600061261f826125f1565b9150819050919050565b60006126348261205f565b915061263f8361205f565b925082820190508082111561265757612656612296565b5b92915050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b6000612693600c83611f55565b915061269e8261265d565b602082019050919050565b600060208201905081810360008301526126c281612686565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612725602483611f55565b9150612730826126c9565b604082019050919050565b6000602082019050818103600083015261275481612718565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006127b7602283611f55565b91506127c28261275b565b604082019050919050565b600060208201905081810360008301526127e6816127aa565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612849602583611f55565b9150612854826127ed565b604082019050919050565b600060208201905081810360008301526128788161283c565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b60006128b5601c83611f55565b91506128c08261287f565b602082019050919050565b600060208201905081810360008301526128e4816128a8565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612921601083611f55565b915061292c826128eb565b602082019050919050565b6000602082019050818103600083015261295081612914565b9050919050565b7f506c6561736520636f6e7461637420737570706f727400000000000000000000600082015250565b600061298d601683611f55565b915061299882612957565b602082019050919050565b600060208201905081810360008301526129bc81612980565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b60006129f9601783611f55565b9150612a04826129c3565b602082019050919050565b60006020820190508181036000830152612a28816129ec565b9050919050565b7f4d617857616c6c657420456e61626c6564206174206c61756e63680000000000600082015250565b6000612a65601b83611f55565b9150612a7082612a2f565b602082019050919050565b60006020820190508181036000830152612a9481612a58565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612b0881612033565b92915050565b600060208284031215612b2457612b23611ffc565b5b6000612b3284828501612af9565b91505092915050565b6000819050919050565b6000819050919050565b6000612b6a612b65612b6084612b3b565b612b45565b61205f565b9050919050565b612b7a81612b4f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612bb581612021565b82525050565b6000612bc78383612bac565b60208301905092915050565b6000602082019050919050565b6000612beb82612b80565b612bf58185612b8b565b9350612c0083612b9c565b8060005b83811015612c31578151612c188882612bbb565b9750612c2383612bd3565b925050600181019050612c04565b5085935050505092915050565b600060a082019050612c53600083018861210b565b612c606020830187612b71565b8181036040830152612c728186612be0565b9050612c8160608301856121ec565b612c8e608083018461210b565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612cf4602683611f55565b9150612cff82612c98565b604082019050919050565b60006020820190508181036000830152612d2381612ce7565b9050919050565b6000612d358261205f565b9150612d408361205f565b9250828203905081811115612d5857612d57612296565b5b9291505056fea2646970667358221220a553e9a6832eb09c02ba41818330a5bd54fa4a25c587c257e01a391c893c511864736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063715018a6116100d1578063a9059cbb1161008a578063d7f7385811610064578063d7f7385814610525578063dd62ed3e1461054e578063e5d51dc71461058b578063f2fde38b146105b45761018c565b8063a9059cbb146104a6578063bf6a1c0d146104e3578063cc1776d3146104fa5761018c565b8063715018a6146103cc5780637c4c75eb146103e35780638da5cb5b146103fa57806395d89b411461042557806397b2ebfe14610450578063a414f3e21461047b5761018c565b80632d34b9ed1161013e5780634f7041a5116101185780634f7041a5146103225780635080c8351461034d5780636cae5a691461036457806370a082311461038f5761018c565b80632d34b9ed146102a3578063313ce567146102cc57806349bd5a5e146102f75761018c565b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101f9578063230b33501461022457806323b872dd1461024f57806328176f891461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105dd565b6040516101b39190611fda565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de9190612095565b61061a565b6040516101f091906120f0565b60405180910390f35b34801561020557600080fd5b5061020e610638565b60405161021b919061211a565b60405180910390f35b34801561023057600080fd5b5061023961065f565b604051610246919061211a565b60405180910390f35b34801561025b57600080fd5b5061027660048036038101906102719190612135565b610665565b60405161028391906120f0565b60405180910390f35b34801561029857600080fd5b506102a1610785565b005b3480156102af57600080fd5b506102ca60048036038101906102c59190612188565b610943565b005b3480156102d857600080fd5b506102e1610a20565b6040516102ee91906121d1565b60405180910390f35b34801561030357600080fd5b5061030c610a29565b60405161031991906121fb565b60405180910390f35b34801561032e57600080fd5b50610337610a4f565b604051610344919061211a565b60405180910390f35b34801561035957600080fd5b50610362610a55565b005b34801561037057600080fd5b50610379610b38565b60405161038691906121fb565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b19190612188565b610b5c565b6040516103c3919061211a565b60405180910390f35b3480156103d857600080fd5b506103e1610ba5565b005b3480156103ef57600080fd5b506103f8610cf8565b005b34801561040657600080fd5b5061040f610da6565b60405161041c91906121fb565b60405180910390f35b34801561043157600080fd5b5061043a610dcf565b6040516104479190611fda565b60405180910390f35b34801561045c57600080fd5b50610465610e0c565b60405161047291906121fb565b60405180910390f35b34801561048757600080fd5b50610490610e30565b60405161049d919061211a565b60405180910390f35b3480156104b257600080fd5b506104cd60048036038101906104c89190612095565b610e36565b6040516104da91906120f0565b60405180910390f35b3480156104ef57600080fd5b506104f8610e54565b005b34801561050657600080fd5b5061050f610f0d565b60405161051c919061211a565b60405180910390f35b34801561053157600080fd5b5061054c60048036038101906105479190612188565b610f13565b005b34801561055a57600080fd5b5061057560048036038101906105709190612216565b610ff0565b604051610582919061211a565b60405180910390f35b34801561059757600080fd5b506105b260048036038101906105ad9190612256565b611077565b005b3480156105c057600080fd5b506105db60048036038101906105d69190612188565b61116d565b005b60606040518060400160405280600e81526020017f506570656e6f6d69637320322e30000000000000000000000000000000000000815250905090565b600061062e61062761120e565b8484611216565b6001905092915050565b60006012600a61064891906123f8565b66017e9d8602b40061065a9190612443565b905090565b60065481565b60006106728484846113df565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106bd61120e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107795782811015610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075b906124f7565b60405180910390fd5b6107788561077061120e565b858403611216565b5b60019150509392505050565b61078d61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461081a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081190612563565b60405180910390fd5b60007f00000000000000000000000017555640da2379f902eb3369e33d5ba4976cd80a73ffffffffffffffffffffffffffffffffffffffff16600a4761086091906125b2565b60405161086c90612614565b60006040518083038185875af1925050503d80600081146108a9576040519150601f19603f3d011682016040523d82523d6000602084013e6108ae565b606091505b5050809150507f0000000000000000000000003f42d851226527cca6aa89d7a71171efa1904a5473ffffffffffffffffffffffffffffffffffffffff16476040516108f890612614565b60006040518083038185875af1925050503d8060008114610935576040519150601f19603f3d011682016040523d82523d6000602084013e61093a565b606091505b50508091505050565b61094b61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cf90612563565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60006012905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b610a5d61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae190612563565b60405180910390fd5b6012600a610af891906123f8565b66017e9d8602b400610b0a9190612443565b6006819055506012600a610b1e91906123f8565b66017e9d8602b400610b309190612443565b600781905550565b7f0000000000000000000000003f42d851226527cca6aa89d7a71171efa1904a5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bad61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190612563565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d0061120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8490612563565b60405180910390fd5b6000610d9830610b5c565b9050610da381611871565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600d81526020017f504550454e4f4d494353322e4f00000000000000000000000000000000000000815250905090565b7f00000000000000000000000017555640da2379f902eb3369e33d5ba4976cd80a81565b60075481565b6000610e4a610e4361120e565b84846113df565b6001905092915050565b610e5c61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee090612563565b60405180910390fd5b6001600c60146101000a81548160ff02191690831515021790555043600881905550565b600a5481565b610f1b61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9f90612563565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61107f61120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461110c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110390612563565b60405180910390fd5b6046818361111a9190612629565b111561115b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611152906126a9565b60405180910390fd5b8160098190555080600a819055505050565b61117561120e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f990612563565b60405180910390fd5b61120b81611bdb565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127c9061273b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112eb906127cd565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113d2919061211a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361144e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114459061285f565b60405180910390fd5b60008111611491576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611488906128cb565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414801561152057506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1561185f57600c60149054906101000a900460ff16611574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156b90612937565b60405180910390fd5b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146115f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ed906129a3565b60405180910390fd5b60065482111561163b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163290612a0f565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116c7575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561172557600754826116d985610b5c565b6116e39190612629565b1115611724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171b90612a7b565b60405180910390fd5b5b60026008546117349190612629565b43101561174457602d905061185e565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036117a357600954905061185d565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361185c57600061180330610b5c565b90506012600a61181391906123f8565b650187cc4fe2006118249190612443565b81111561185557600060055490508382111561183e578391505b8082111561184a578091505b61185382611871565b505b600a549150505b5b5b5b61186b84848484611d07565b50505050565b6000600267ffffffffffffffff81111561188e5761188d612a9b565b5b6040519080825280602002602001820160405280156118bc5781602001602082028036833780820191505090505b50905030816000815181106118d4576118d3612aca565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561197b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199f9190612b0e565b816001815181106119b3576119b2612aca565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a1a30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611216565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611a7e959493929190612c3e565b600060405180830381600087803b158015611a9857600080fd5b505af1158015611aac573d6000803e3d6000fd5b5050505060007f00000000000000000000000017555640da2379f902eb3369e33d5ba4976cd80a73ffffffffffffffffffffffffffffffffffffffff16600a47611af691906125b2565b604051611b0290612614565b60006040518083038185875af1925050503d8060008114611b3f576040519150601f19603f3d011682016040523d82523d6000602084013e611b44565b606091505b5050809150507f0000000000000000000000003f42d851226527cca6aa89d7a71171efa1904a5473ffffffffffffffffffffffffffffffffffffffff1647604051611b8e90612614565b60006040518083038185875af1925050503d8060008114611bcb576040519150601f19603f3d011682016040523d82523d6000602084013e611bd0565b606091505b505080915050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4190612d0a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060648284611d179190612443565b611d2191906125b2565b905060008184611d319190612d2a565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7e9190612d2a565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0c9190612629565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9a9190612629565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f3a919061211a565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f84578082015181840152602081019050611f69565b60008484015250505050565b6000601f19601f8301169050919050565b6000611fac82611f4a565b611fb68185611f55565b9350611fc6818560208601611f66565b611fcf81611f90565b840191505092915050565b60006020820190508181036000830152611ff48184611fa1565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061202c82612001565b9050919050565b61203c81612021565b811461204757600080fd5b50565b60008135905061205981612033565b92915050565b6000819050919050565b6120728161205f565b811461207d57600080fd5b50565b60008135905061208f81612069565b92915050565b600080604083850312156120ac576120ab611ffc565b5b60006120ba8582860161204a565b92505060206120cb85828601612080565b9150509250929050565b60008115159050919050565b6120ea816120d5565b82525050565b600060208201905061210560008301846120e1565b92915050565b6121148161205f565b82525050565b600060208201905061212f600083018461210b565b92915050565b60008060006060848603121561214e5761214d611ffc565b5b600061215c8682870161204a565b935050602061216d8682870161204a565b925050604061217e86828701612080565b9150509250925092565b60006020828403121561219e5761219d611ffc565b5b60006121ac8482850161204a565b91505092915050565b600060ff82169050919050565b6121cb816121b5565b82525050565b60006020820190506121e660008301846121c2565b92915050565b6121f581612021565b82525050565b600060208201905061221060008301846121ec565b92915050565b6000806040838503121561222d5761222c611ffc565b5b600061223b8582860161204a565b925050602061224c8582860161204a565b9150509250929050565b6000806040838503121561226d5761226c611ffc565b5b600061227b85828601612080565b925050602061228c85828601612080565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561231c578086048111156122f8576122f7612296565b5b60018516156123075780820291505b8081029050612315856122c5565b94506122dc565b94509492505050565b60008261233557600190506123f1565b8161234357600090506123f1565b8160018114612359576002811461236357612392565b60019150506123f1565b60ff84111561237557612374612296565b5b8360020a91508482111561238c5761238b612296565b5b506123f1565b5060208310610133831016604e8410600b84101617156123c75782820a9050838111156123c2576123c1612296565b5b6123f1565b6123d484848460016122d2565b925090508184048111156123eb576123ea612296565b5b81810290505b9392505050565b60006124038261205f565b915061240e836121b5565b925061243b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612325565b905092915050565b600061244e8261205f565b91506124598361205f565b92508282026124678161205f565b9150828204841483151761247e5761247d612296565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006124e1602883611f55565b91506124ec82612485565b604082019050919050565b60006020820190508181036000830152612510816124d4565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061254d602083611f55565b915061255882612517565b602082019050919050565b6000602082019050818103600083015261257c81612540565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125bd8261205f565b91506125c88361205f565b9250826125d8576125d7612583565b5b828204905092915050565b600081905092915050565b50565b60006125fe6000836125e3565b9150612609826125ee565b600082019050919050565b600061261f826125f1565b9150819050919050565b60006126348261205f565b915061263f8361205f565b925082820190508082111561265757612656612296565b5b92915050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b6000612693600c83611f55565b915061269e8261265d565b602082019050919050565b600060208201905081810360008301526126c281612686565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612725602483611f55565b9150612730826126c9565b604082019050919050565b6000602082019050818103600083015261275481612718565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006127b7602283611f55565b91506127c28261275b565b604082019050919050565b600060208201905081810360008301526127e6816127aa565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612849602583611f55565b9150612854826127ed565b604082019050919050565b600060208201905081810360008301526128788161283c565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b60006128b5601c83611f55565b91506128c08261287f565b602082019050919050565b600060208201905081810360008301526128e4816128a8565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612921601083611f55565b915061292c826128eb565b602082019050919050565b6000602082019050818103600083015261295081612914565b9050919050565b7f506c6561736520636f6e7461637420737570706f727400000000000000000000600082015250565b600061298d601683611f55565b915061299882612957565b602082019050919050565b600060208201905081810360008301526129bc81612980565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b60006129f9601783611f55565b9150612a04826129c3565b602082019050919050565b60006020820190508181036000830152612a28816129ec565b9050919050565b7f4d617857616c6c657420456e61626c6564206174206c61756e63680000000000600082015250565b6000612a65601b83611f55565b9150612a7082612a2f565b602082019050919050565b60006020820190508181036000830152612a9481612a58565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612b0881612033565b92915050565b600060208284031215612b2457612b23611ffc565b5b6000612b3284828501612af9565b91505092915050565b6000819050919050565b6000819050919050565b6000612b6a612b65612b6084612b3b565b612b45565b61205f565b9050919050565b612b7a81612b4f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612bb581612021565b82525050565b6000612bc78383612bac565b60208301905092915050565b6000602082019050919050565b6000612beb82612b80565b612bf58185612b8b565b9350612c0083612b9c565b8060005b83811015612c31578151612c188882612bbb565b9750612c2383612bd3565b925050600181019050612c04565b5085935050505092915050565b600060a082019050612c53600083018861210b565b612c606020830187612b71565b8181036040830152612c728186612be0565b9050612c8160608301856121ec565b612c8e608083018461210b565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612cf4602683611f55565b9150612cff82612c98565b604082019050919050565b60006020820190508181036000830152612d2381612ce7565b9050919050565b6000612d358261205f565b9150612d408361205f565b9250828203905081811115612d5857612d57612296565b5b9291505056fea2646970667358221220a553e9a6832eb09c02ba41818330a5bd54fa4a25c587c257e01a391c893c511864736f6c63430008130033

Deployed Bytecode Sourcemap

2575:7434:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4396:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5230:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4673:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3242:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5398:578;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8905:237;;;;;;;;;;;;;:::i;:::-;;6452:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4582:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3621:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3386:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6683:136;;;;;;;;;;;;;:::i;:::-;;3656:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4781:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1904:148;;;;;;;;;;;;;:::i;:::-;;9151:160;;;;;;;;;;;;;:::i;:::-;;1336:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4487:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3700:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3296:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4907:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6329:115;;;;;;;;;;;;;:::i;:::-;;3419:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6566:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5080:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6827:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1550:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4396:83;4433:13;4466:5;;;;;;;;;;;;;;;;;4459:12;;4396:83;:::o;5230:160::-;5305:4;5321:39;5330:12;:10;:12::i;:::-;5344:7;5353:6;5321:8;:39::i;:::-;5378:4;5371:11;;5230:160;;;;:::o;4673:100::-;4726:7;2953:2;3020;:13;;;;:::i;:::-;3002:15;:31;;;;:::i;:::-;4746:19;;4673:100;:::o;3242:47::-;;;;:::o;5398:578::-;5496:4;5513:36;5523:6;5531:9;5542:6;5513:9;:36::i;:::-;5562:24;5589:11;:19;5601:6;5589:19;;;;;;;;;;;;;;;:33;5609:12;:10;:12::i;:::-;5589:33;;;;;;;;;;;;;;;;5562:60;;5656:17;5636:16;:37;5633:314;;5737:6;5717:16;:26;;5691:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;5863:57;5872:6;5880:12;:10;:12::i;:::-;5913:6;5894:16;:25;5863:8;:57::i;:::-;5633:314;5964:4;5957:11;;;5398:578;;;;;:::o;8905:237::-;1473:12;:10;:12::i;:::-;1463:22;;:6;;;;;;;;;;:22;;;1455:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8964:12:::1;9001:13;:18;;9051:2;9027:21;:26;;;;:::i;:::-;9001:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8987:71;;;;;9083:11;:17;;9108:21;9083:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9069:65;;;;;8953:189;8905:237::o:0;6452:106::-;1473:12;:10;:12::i;:::-;1463:22;;:6;;;;;;;;;;:22;;;1455:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6549:1:::1;6526:12;:20;6539:6;6526:20;;;;;;;;;;;;;;;:24;;;;6452:106:::0;:::o;4582:83::-;4623:5;2953:2;4641:16;;4582:83;:::o;3621:28::-;;;;;;;;;;;;;:::o;3386:26::-;;;;:::o;6683:136::-;1473:12;:10;:12::i;:::-;1463:22;;:6;;;;;;;;;;:22;;;1455:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2953:2:::1;3020;:13;;;;:::i;:::-;3002:15;:31;;;;:::i;:::-;6739:19;:34;;;;2953:2;3020;:13;;;;:::i;:::-;3002:15;:31;;;;:::i;:::-;6784:12;:27;;;;6683:136::o:0;3656:36::-;;;:::o;4781:118::-;4847:7;4874:8;:17;4883:7;4874:17;;;;;;;;;;;;;;;;4867:24;;4781:118;;;:::o;1904:148::-;1473:12;:10;:12::i;:::-;1463:22;;:6;;;;;;;;;;:22;;;1455:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2011:1:::1;1974:40;;1995:6;::::0;::::1;;;;;;;;1974:40;;;;;;;;;;;;2042:1;2025:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1904:148::o:0;9151:160::-;1473:12;:10;:12::i;:::-;1463:22;;:6;;;;;;;;;;:22;;;1455:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9209:23:::1;9235:24;9253:4;9235:9;:24::i;:::-;9209:50;;9270:33;9287:15;9270:16;:33::i;:::-;9198:113;9151:160::o:0;1336:79::-;1374:7;1401:6;;;;;;;;;;;1394:13;;1336:79;:::o;4487:87::-;4526:13;4559:7;;;;;;;;;;;;;;;;;4552:14;;4487:87;:::o;3700:38::-;;;:::o;3296:42::-;;;;:::o;4907:165::-;4984:4;5000:42;5010:12;:10;:12::i;:::-;5024:9;5035:6;5000:9;:42::i;:::-;5060:4;5053:11;;4907:165;;;;:::o;6329:115::-;1473:12;:10;:12::i;:::-;1463:22;;:6;;;;;;;;;;:22;;;1455:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6392:4:::1;6383:6;;:13;;;;;;;;;;;;;;;;;;6424:12;6407:14;:29;;;;6329:115::o:0;3419:27::-;;;;:::o;6566:109::-;1473:12;:10;:12::i;:::-;1463:22;;:6;;;;;;;;;;:22;;;1455:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6666:1:::1;6643:12;:20;6656:6;6643:20;;;;;;;;;;;;;;;:24;;;;6566:109:::0;:::o;5080:142::-;5161:7;5187:11;:18;5199:5;5187:18;;;;;;;;;;;;;;;:27;5206:7;5187:27;;;;;;;;;;;;;;;;5180:34;;5080:142;;;;:::o;6827:211::-;1473:12;:10;:12::i;:::-;1463:22;;:6;;;;;;;;;;:22;;;1455:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6951:2:::1;6937:10;6925:9;:22;;;;:::i;:::-;:28;;6917:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;6990:9;6981:6;:18;;;;7020:10;7010:7;:20;;;;6827:211:::0;;:::o;1550:109::-;1473:12;:10;:12::i;:::-;1463:22;;:6;;;;;;;;;;:22;;;1455:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1623:28:::1;1642:8;1623:18;:28::i;:::-;1550:109:::0;:::o;211:98::-;264:7;291:10;284:17;;211:98;:::o;5984:335::-;6094:1;6077:19;;:5;:19;;;6069:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6175:1;6156:21;;:7;:21;;;6148:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6257:6;6227:11;:18;6239:5;6227:18;;;;;;;;;;;;;;;:27;6246:7;6227:27;;;;;;;;;;;;;;;:36;;;;6295:7;6279:32;;6288:5;6279:32;;;6304:6;6279:32;;;;;;:::i;:::-;;;;;;;;5984:335;;;:::o;7488:1409::-;7592:1;7576:18;;:4;:18;;;7568:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7664:1;7655:6;:10;7647:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;7709:12;7762:1;7740:12;:18;7753:4;7740:18;;;;;;;;;;;;;;;;:23;:48;;;;;7787:1;7767:12;:16;7780:2;7767:16;;;;;;;;;;;;;;;;:21;7740:48;7736:1105;;;7822:6;;;;;;;;;;;7814:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;7897:1;7872:15;:21;7888:4;7872:21;;;;;;;;;;;;;;;;:26;7864:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;7958:19;;7948:6;:29;;7940:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8030:13;;;;;;;;;;;8024:19;;:2;:19;;;;:44;;;;;8061:6;8047:21;;:2;:21;;;;8024:44;8020:128;;;8104:12;;8094:6;8078:13;8088:2;8078:9;:13::i;:::-;:22;;;;:::i;:::-;:38;;8070:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;8020:128;8199:1;8182:14;;:18;;;;:::i;:::-;8167:12;:33;8163:667;;;8208:2;8203:7;;8163:667;;;8249:13;;;;;;;;;;;8241:21;;:4;:21;;;8237:578;;8294:6;;8287:13;;8237:578;;;8336:13;;;;;;;;;;;8330:19;;:2;:19;;;8326:489;;8374:20;8397:24;8415:4;8397:9;:24::i;:::-;8374:47;;2953:2;3101;:13;;;;:::i;:::-;3085;:29;;;;:::i;:::-;8448:12;:32;8444:315;;;8510:12;8525:7;;8510:22;;8578:6;8563:12;:21;8559:48;;;8601:6;8586:21;;8559:48;8653:4;8638:12;:19;8634:44;;;8674:4;8659:19;;8634:44;8705:30;8722:12;8705:16;:30::i;:::-;8482:277;8444:315;8788:7;;8781:14;;8351:464;8326:489;8237:578;8163:667;7736:1105;8851:38;8866:4;8872:2;8876:6;8884:4;8851:14;:38::i;:::-;7557:1340;7488:1409;;;:::o;9319:652::-;9385:21;9423:1;9409:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9385:40;;9454:4;9436;9441:1;9436:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9480:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9470:4;9475:1;9470:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;9513:62;9530:4;9545:15;;;;;;;;;;;9563:11;9513:8;:62::i;:::-;9586:15;;;;;;;;;;;:66;;;9667:11;9693:1;9709:4;9736;9756:15;9586:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9793:12;9830:13;:18;;9880:2;9856:21;:26;;;;:::i;:::-;9830:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9816:71;;;;;9912:11;:17;;9937:21;9912:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9898:65;;;;;9374:597;;9319:652;:::o;1667:229::-;1761:1;1741:22;;:8;:22;;;1733:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1851:8;1822:38;;1843:6;;;;;;;;;;1822:38;;;;;;;;;;;;1880:8;1871:6;;:17;;;;;;;;;;;;;;;;;;1667:229;:::o;7046:434::-;7145:17;7183:3;7175:4;7166:6;:13;;;;:::i;:::-;7165:21;;;;:::i;:::-;7145:41;;7197:22;7231:9;7222:6;:18;;;;:::i;:::-;7197:43;;7287:6;7270:8;:14;7279:4;7270:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;7253:8;:14;7262:4;7253:14;;;;;;;;;;;;;;;:40;;;;7334:14;7319:8;:12;7328:2;7319:12;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;7304:8;:12;7313:2;7304:12;;;;;;;;;;;;;;;:44;;;;7411:9;7385:8;:23;7402:4;7385:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;7359:8;:23;7376:4;7359:23;;;;;;;;;;;;;;;:61;;;;7453:2;7438:34;;7447:4;7438:34;;;7457:14;7438:34;;;;;;:::i;:::-;;;;;;;;7134:346;;7046:434;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:180::-;6548:77;6545:1;6538:88;6645:4;6642:1;6635:15;6669:4;6666:1;6659:15;6686:102;6728:8;6775:5;6772:1;6768:13;6747:34;;6686:102;;;:::o;6794:848::-;6855:5;6862:4;6886:6;6877:15;;6910:5;6901:14;;6924:712;6945:1;6935:8;6932:15;6924:712;;;7040:4;7035:3;7031:14;7025:4;7022:24;7019:50;;;7049:18;;:::i;:::-;7019:50;7099:1;7089:8;7085:16;7082:451;;;7514:4;7507:5;7503:16;7494:25;;7082:451;7564:4;7558;7554:15;7546:23;;7594:32;7617:8;7594:32;:::i;:::-;7582:44;;6924:712;;;6794:848;;;;;;;:::o;7648:1073::-;7702:5;7893:8;7883:40;;7914:1;7905:10;;7916:5;;7883:40;7942:4;7932:36;;7959:1;7950:10;;7961:5;;7932:36;8028:4;8076:1;8071:27;;;;8112:1;8107:191;;;;8021:277;;8071:27;8089:1;8080:10;;8091:5;;;8107:191;8152:3;8142:8;8139:17;8136:43;;;8159:18;;:::i;:::-;8136:43;8208:8;8205:1;8201:16;8192:25;;8243:3;8236:5;8233:14;8230:40;;;8250:18;;:::i;:::-;8230:40;8283:5;;;8021:277;;8407:2;8397:8;8394:16;8388:3;8382:4;8379:13;8375:36;8357:2;8347:8;8344:16;8339:2;8333:4;8330:12;8326:35;8310:111;8307:246;;;8463:8;8457:4;8453:19;8444:28;;8498:3;8491:5;8488:14;8485:40;;;8505:18;;:::i;:::-;8485:40;8538:5;;8307:246;8578:42;8616:3;8606:8;8600:4;8597:1;8578:42;:::i;:::-;8563:57;;;;8652:4;8647:3;8643:14;8636:5;8633:25;8630:51;;;8661:18;;:::i;:::-;8630:51;8710:4;8703:5;8699:16;8690:25;;7648:1073;;;;;;:::o;8727:281::-;8785:5;8809:23;8827:4;8809:23;:::i;:::-;8801:31;;8853:25;8869:8;8853:25;:::i;:::-;8841:37;;8897:104;8934:66;8924:8;8918:4;8897:104;:::i;:::-;8888:113;;8727:281;;;;:::o;9014:410::-;9054:7;9077:20;9095:1;9077:20;:::i;:::-;9072:25;;9111:20;9129:1;9111:20;:::i;:::-;9106:25;;9166:1;9163;9159:9;9188:30;9206:11;9188:30;:::i;:::-;9177:41;;9367:1;9358:7;9354:15;9351:1;9348:22;9328:1;9321:9;9301:83;9278:139;;9397:18;;:::i;:::-;9278:139;9062:362;9014:410;;;;:::o;9430:227::-;9570:34;9566:1;9558:6;9554:14;9547:58;9639:10;9634:2;9626:6;9622:15;9615:35;9430:227;:::o;9663:366::-;9805:3;9826:67;9890:2;9885:3;9826:67;:::i;:::-;9819:74;;9902:93;9991:3;9902:93;:::i;:::-;10020:2;10015:3;10011:12;10004:19;;9663:366;;;:::o;10035:419::-;10201:4;10239:2;10228:9;10224:18;10216:26;;10288:9;10282:4;10278:20;10274:1;10263:9;10259:17;10252:47;10316:131;10442:4;10316:131;:::i;:::-;10308:139;;10035:419;;;:::o;10460:182::-;10600:34;10596:1;10588:6;10584:14;10577:58;10460:182;:::o;10648:366::-;10790:3;10811:67;10875:2;10870:3;10811:67;:::i;:::-;10804:74;;10887:93;10976:3;10887:93;:::i;:::-;11005:2;11000:3;10996:12;10989:19;;10648:366;;;:::o;11020:419::-;11186:4;11224:2;11213:9;11209:18;11201:26;;11273:9;11267:4;11263:20;11259:1;11248:9;11244:17;11237:47;11301:131;11427:4;11301:131;:::i;:::-;11293:139;;11020:419;;;:::o;11445:180::-;11493:77;11490:1;11483:88;11590:4;11587:1;11580:15;11614:4;11611:1;11604:15;11631:185;11671:1;11688:20;11706:1;11688:20;:::i;:::-;11683:25;;11722:20;11740:1;11722:20;:::i;:::-;11717:25;;11761:1;11751:35;;11766:18;;:::i;:::-;11751:35;11808:1;11805;11801:9;11796:14;;11631:185;;;;:::o;11822:147::-;11923:11;11960:3;11945:18;;11822:147;;;;:::o;11975:114::-;;:::o;12095:398::-;12254:3;12275:83;12356:1;12351:3;12275:83;:::i;:::-;12268:90;;12367:93;12456:3;12367:93;:::i;:::-;12485:1;12480:3;12476:11;12469:18;;12095:398;;;:::o;12499:379::-;12683:3;12705:147;12848:3;12705:147;:::i;:::-;12698:154;;12869:3;12862:10;;12499:379;;;:::o;12884:191::-;12924:3;12943:20;12961:1;12943:20;:::i;:::-;12938:25;;12977:20;12995:1;12977:20;:::i;:::-;12972:25;;13020:1;13017;13013:9;13006:16;;13041:3;13038:1;13035:10;13032:36;;;13048:18;;:::i;:::-;13032:36;12884:191;;;;:::o;13081:162::-;13221:14;13217:1;13209:6;13205:14;13198:38;13081:162;:::o;13249:366::-;13391:3;13412:67;13476:2;13471:3;13412:67;:::i;:::-;13405:74;;13488:93;13577:3;13488:93;:::i;:::-;13606:2;13601:3;13597:12;13590:19;;13249:366;;;:::o;13621:419::-;13787:4;13825:2;13814:9;13810:18;13802:26;;13874:9;13868:4;13864:20;13860:1;13849:9;13845:17;13838:47;13902:131;14028:4;13902:131;:::i;:::-;13894:139;;13621:419;;;:::o;14046:223::-;14186:34;14182:1;14174:6;14170:14;14163:58;14255:6;14250:2;14242:6;14238:15;14231:31;14046:223;:::o;14275:366::-;14417:3;14438:67;14502:2;14497:3;14438:67;:::i;:::-;14431:74;;14514:93;14603:3;14514:93;:::i;:::-;14632:2;14627:3;14623:12;14616:19;;14275:366;;;:::o;14647:419::-;14813:4;14851:2;14840:9;14836:18;14828:26;;14900:9;14894:4;14890:20;14886:1;14875:9;14871:17;14864:47;14928:131;15054:4;14928:131;:::i;:::-;14920:139;;14647:419;;;:::o;15072:221::-;15212:34;15208:1;15200:6;15196:14;15189:58;15281:4;15276:2;15268:6;15264:15;15257:29;15072:221;:::o;15299:366::-;15441:3;15462:67;15526:2;15521:3;15462:67;:::i;:::-;15455:74;;15538:93;15627:3;15538:93;:::i;:::-;15656:2;15651:3;15647:12;15640:19;;15299:366;;;:::o;15671:419::-;15837:4;15875:2;15864:9;15860:18;15852:26;;15924:9;15918:4;15914:20;15910:1;15899:9;15895:17;15888:47;15952:131;16078:4;15952:131;:::i;:::-;15944:139;;15671:419;;;:::o;16096:224::-;16236:34;16232:1;16224:6;16220:14;16213:58;16305:7;16300:2;16292:6;16288:15;16281:32;16096:224;:::o;16326:366::-;16468:3;16489:67;16553:2;16548:3;16489:67;:::i;:::-;16482:74;;16565:93;16654:3;16565:93;:::i;:::-;16683:2;16678:3;16674:12;16667:19;;16326:366;;;:::o;16698:419::-;16864:4;16902:2;16891:9;16887:18;16879:26;;16951:9;16945:4;16941:20;16937:1;16926:9;16922:17;16915:47;16979:131;17105:4;16979:131;:::i;:::-;16971:139;;16698:419;;;:::o;17123:178::-;17263:30;17259:1;17251:6;17247:14;17240:54;17123:178;:::o;17307:366::-;17449:3;17470:67;17534:2;17529:3;17470:67;:::i;:::-;17463:74;;17546:93;17635:3;17546:93;:::i;:::-;17664:2;17659:3;17655:12;17648:19;;17307:366;;;:::o;17679:419::-;17845:4;17883:2;17872:9;17868:18;17860:26;;17932:9;17926:4;17922:20;17918:1;17907:9;17903:17;17896:47;17960:131;18086:4;17960:131;:::i;:::-;17952:139;;17679:419;;;:::o;18104:166::-;18244:18;18240:1;18232:6;18228:14;18221:42;18104:166;:::o;18276:366::-;18418:3;18439:67;18503:2;18498:3;18439:67;:::i;:::-;18432:74;;18515:93;18604:3;18515:93;:::i;:::-;18633:2;18628:3;18624:12;18617:19;;18276:366;;;:::o;18648:419::-;18814:4;18852:2;18841:9;18837:18;18829:26;;18901:9;18895:4;18891:20;18887:1;18876:9;18872:17;18865:47;18929:131;19055:4;18929:131;:::i;:::-;18921:139;;18648:419;;;:::o;19073:172::-;19213:24;19209:1;19201:6;19197:14;19190:48;19073:172;:::o;19251:366::-;19393:3;19414:67;19478:2;19473:3;19414:67;:::i;:::-;19407:74;;19490:93;19579:3;19490:93;:::i;:::-;19608:2;19603:3;19599:12;19592:19;;19251:366;;;:::o;19623:419::-;19789:4;19827:2;19816:9;19812:18;19804:26;;19876:9;19870:4;19866:20;19862:1;19851:9;19847:17;19840:47;19904:131;20030:4;19904:131;:::i;:::-;19896:139;;19623:419;;;:::o;20048:173::-;20188:25;20184:1;20176:6;20172:14;20165:49;20048:173;:::o;20227:366::-;20369:3;20390:67;20454:2;20449:3;20390:67;:::i;:::-;20383:74;;20466:93;20555:3;20466:93;:::i;:::-;20584:2;20579:3;20575:12;20568:19;;20227:366;;;:::o;20599:419::-;20765:4;20803:2;20792:9;20788:18;20780:26;;20852:9;20846:4;20842:20;20838:1;20827:9;20823:17;20816:47;20880:131;21006:4;20880:131;:::i;:::-;20872:139;;20599:419;;;:::o;21024:177::-;21164:29;21160:1;21152:6;21148:14;21141:53;21024:177;:::o;21207:366::-;21349:3;21370:67;21434:2;21429:3;21370:67;:::i;:::-;21363:74;;21446:93;21535:3;21446:93;:::i;:::-;21564:2;21559:3;21555:12;21548:19;;21207:366;;;:::o;21579:419::-;21745:4;21783:2;21772:9;21768:18;21760:26;;21832:9;21826:4;21822:20;21818:1;21807:9;21803:17;21796:47;21860:131;21986:4;21860:131;:::i;:::-;21852:139;;21579:419;;;:::o;22004:180::-;22052:77;22049:1;22042:88;22149:4;22146:1;22139:15;22173:4;22170:1;22163:15;22190:180;22238:77;22235:1;22228:88;22335:4;22332:1;22325:15;22359:4;22356:1;22349:15;22376:143;22433:5;22464:6;22458:13;22449:22;;22480:33;22507:5;22480:33;:::i;:::-;22376:143;;;;:::o;22525:351::-;22595:6;22644:2;22632:9;22623:7;22619:23;22615:32;22612:119;;;22650:79;;:::i;:::-;22612:119;22770:1;22795:64;22851:7;22842:6;22831:9;22827:22;22795:64;:::i;:::-;22785:74;;22741:128;22525:351;;;;:::o;22882:85::-;22927:7;22956:5;22945:16;;22882:85;;;:::o;22973:60::-;23001:3;23022:5;23015:12;;22973:60;;;:::o;23039:158::-;23097:9;23130:61;23148:42;23157:32;23183:5;23157:32;:::i;:::-;23148:42;:::i;:::-;23130:61;:::i;:::-;23117:74;;23039:158;;;:::o;23203:147::-;23298:45;23337:5;23298:45;:::i;:::-;23293:3;23286:58;23203:147;;:::o;23356:114::-;23423:6;23457:5;23451:12;23441:22;;23356:114;;;:::o;23476:184::-;23575:11;23609:6;23604:3;23597:19;23649:4;23644:3;23640:14;23625:29;;23476:184;;;;:::o;23666:132::-;23733:4;23756:3;23748:11;;23786:4;23781:3;23777:14;23769:22;;23666:132;;;:::o;23804:108::-;23881:24;23899:5;23881:24;:::i;:::-;23876:3;23869:37;23804:108;;:::o;23918:179::-;23987:10;24008:46;24050:3;24042:6;24008:46;:::i;:::-;24086:4;24081:3;24077:14;24063:28;;23918:179;;;;:::o;24103:113::-;24173:4;24205;24200:3;24196:14;24188:22;;24103:113;;;:::o;24252:732::-;24371:3;24400:54;24448:5;24400:54;:::i;:::-;24470:86;24549:6;24544:3;24470:86;:::i;:::-;24463:93;;24580:56;24630:5;24580:56;:::i;:::-;24659:7;24690:1;24675:284;24700:6;24697:1;24694:13;24675:284;;;24776:6;24770:13;24803:63;24862:3;24847:13;24803:63;:::i;:::-;24796:70;;24889:60;24942:6;24889:60;:::i;:::-;24879:70;;24735:224;24722:1;24719;24715:9;24710:14;;24675:284;;;24679:14;24975:3;24968:10;;24376:608;;;24252:732;;;;:::o;24990:831::-;25253:4;25291:3;25280:9;25276:19;25268:27;;25305:71;25373:1;25362:9;25358:17;25349:6;25305:71;:::i;:::-;25386:80;25462:2;25451:9;25447:18;25438:6;25386:80;:::i;:::-;25513:9;25507:4;25503:20;25498:2;25487:9;25483:18;25476:48;25541:108;25644:4;25635:6;25541:108;:::i;:::-;25533:116;;25659:72;25727:2;25716:9;25712:18;25703:6;25659:72;:::i;:::-;25741:73;25809:3;25798:9;25794:19;25785:6;25741:73;:::i;:::-;24990:831;;;;;;;;:::o;25827:225::-;25967:34;25963:1;25955:6;25951:14;25944:58;26036:8;26031:2;26023:6;26019:15;26012:33;25827:225;:::o;26058:366::-;26200:3;26221:67;26285:2;26280:3;26221:67;:::i;:::-;26214:74;;26297:93;26386:3;26297:93;:::i;:::-;26415:2;26410:3;26406:12;26399:19;;26058:366;;;:::o;26430:419::-;26596:4;26634:2;26623:9;26619:18;26611:26;;26683:9;26677:4;26673:20;26669:1;26658:9;26654:17;26647:47;26711:131;26837:4;26711:131;:::i;:::-;26703:139;;26430:419;;;:::o;26855:194::-;26895:4;26915:20;26933:1;26915:20;:::i;:::-;26910:25;;26949:20;26967:1;26949:20;:::i;:::-;26944:25;;26993:1;26990;26986:9;26978:17;;27017:1;27011:4;27008:11;27005:37;;;27022:18;;:::i;:::-;27005:37;26855:194;;;;:::o

Swarm Source

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