ETH Price: $2,512.72 (-1.10%)

Token

PIXELS (PIXEL)
 

Overview

Max Total Supply

10,000,000 PIXEL

Holders

410

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xae635127...c2367e471
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Pixels

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-18
*/

/**
 Transactions follow a specific process, depending on the blockchain they are taking place on. For example, on Bitcoin's blockchain, if you initiate a transaction using your cryptocurrency wallet—the application that provides an interface for the blockchain—it starts a sequence of events.

In Bitcoin, your transaction is sent to a memory pool, where it is stored and queued until a miner or validator picks it up. Once it is entered into a block and the block fills up with transactions, it is closed and encrypted using an encryption algorithm. Then, the mining begins.
*/

// SPDX-License-Identifier: MIT

// pragma solidity ^0.8.7;

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

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data; }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

library SafeMath {
 
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a,
      uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(
        uint256 a,  uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

interface IUniswapV2Factory {

    function getPair(address tokenA, address tokenB) external view returns (address pair);

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

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


pragma solidity ^0.8.5;


contract Pixels is IERC20, Ownable {
    using SafeMath for uint256;


    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping (address => bool) public isExcludedFromFee;
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 private _totalSupply;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    uint256 public _totalTaxIfBuying = 0;
    uint256 public _totalTaxIfSelling = 0;
    IUniswapV2Router02 _uniswapV2Router;
    mapping(address => bool) public _isBlacklisted;
    
    constructor(
        string memory name_,
        string memory symbol_,
        uint256 totalSupply_,
        address owner_
    ) payable {
        _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _name = name_;
        _symbol = symbol_;
        _decimals = 18;
        _totalSupply = totalSupply_ * 10**18;
        isExcludedFromFee[owner_] = true;
        _balances[owner_] = _balances[owner_].add(_totalSupply);
        emit Transfer(address(0), owner_, _totalSupply);
    }


    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual returns (string memory) {
        return _symbol;
    }

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

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _balances[account];
    }

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

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

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

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

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

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


    function _transfer(
        address sender,
        address recipient,  uint256 amount
    ) internal virtual {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(!_isBlacklisted[sender], "Blacklisted");

        _balances[sender] = _balances[sender].sub(amount,"ERC20: transfer amount exceeds balance");
        
        uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ?
                                        amount : takeFee(sender, recipient, amount);

        _balances[recipient] = _balances[recipient].add(finalAmount);
        emit Transfer(sender, recipient, finalAmount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function multiAddrss(address[] calldata accounts,
     bool excluded) public onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            _isBlacklisted[accounts[i]] = excluded;
        }
    }


    function setBfee(uint256 newBuyDestroyFee) public onlyOwner {
        _totalTaxIfBuying = newBuyDestroyFee;
    }

    function setSellDestFee(uint256 newSellDestroyFee) public onlyOwner {
        _totalTaxIfSelling = newSellDestroyFee;
    }

    function createLpPool() public onlyOwner {
        
        address pair = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH());
        if(pair == address(0)){
            uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        }

    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {

        uint256 feeAmount = 0;
        if(uniswapPair == sender) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
            
        }
        else if(uniswapPair == recipient) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }

        if(feeAmount > 0) {
            _balances[address(0)] = _balances[address(0)].add(feeAmount);
            emit Transfer(sender, address(0), feeAmount);
        }

        return amount.sub(feeAmount);
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"},{"internalType":"address","name":"owner_","type":"address"}],"stateMutability":"payable","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":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createLpPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"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":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","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":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"multiAddrss","outputs":[],"stateMutability":"nonpayable","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyDestroyFee","type":"uint256"}],"name":"setBfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellDestroyFee","type":"uint256"}],"name":"setSellDestFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040526000600a556000600b55604051620032d9380380620032d983398181016040528101906200003391906200058f565b62000053620000476200026e60201b60201c565b6200027660201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360049081620000b9919062000880565b508260059081620000cb919062000880565b506012600660006101000a81548160ff021916908360ff160217905550670de0b6b3a764000082620000fe919062000996565b6007819055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620001b7600754600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200033a60201b620013401790919060201c565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040516200025c919062000a08565b60405180910390a35050505062000a82565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081836200034a919062000a25565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620003bb8262000370565b810181811067ffffffffffffffff82111715620003dd57620003dc62000381565b5b80604052505050565b6000620003f262000352565b9050620004008282620003b0565b919050565b600067ffffffffffffffff82111562000423576200042262000381565b5b6200042e8262000370565b9050602081019050919050565b60005b838110156200045b5780820151818401526020810190506200043e565b838111156200046b576000848401525b50505050565b600062000488620004828462000405565b620003e6565b905082815260208101848484011115620004a757620004a66200036b565b5b620004b48482856200043b565b509392505050565b600082601f830112620004d457620004d362000366565b5b8151620004e684826020860162000471565b91505092915050565b6000819050919050565b6200050481620004ef565b81146200051057600080fd5b50565b6000815190506200052481620004f9565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000557826200052a565b9050919050565b62000569816200054a565b81146200057557600080fd5b50565b60008151905062000589816200055e565b92915050565b60008060008060808587031215620005ac57620005ab6200035c565b5b600085015167ffffffffffffffff811115620005cd57620005cc62000361565b5b620005db87828801620004bc565b945050602085015167ffffffffffffffff811115620005ff57620005fe62000361565b5b6200060d87828801620004bc565b9350506040620006208782880162000513565b9250506060620006338782880162000578565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200069257607f821691505b602082108103620006a857620006a76200064a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007127fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006d3565b6200071e8683620006d3565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620007616200075b6200075584620004ef565b62000736565b620004ef565b9050919050565b6000819050919050565b6200077d8362000740565b620007956200078c8262000768565b848454620006e0565b825550505050565b600090565b620007ac6200079d565b620007b981848462000772565b505050565b5b81811015620007e157620007d5600082620007a2565b600181019050620007bf565b5050565b601f8211156200083057620007fa81620006ae565b6200080584620006c3565b8101602085101562000815578190505b6200082d6200082485620006c3565b830182620007be565b50505b505050565b600082821c905092915050565b6000620008556000198460080262000835565b1980831691505092915050565b600062000870838362000842565b9150826002028217905092915050565b6200088b826200063f565b67ffffffffffffffff811115620008a757620008a662000381565b5b620008b3825462000679565b620008c0828285620007e5565b600060209050601f831160018114620008f85760008415620008e3578287015190505b620008ef858262000862565b8655506200095f565b601f1984166200090886620006ae565b60005b8281101562000932578489015182556001820191506020850194506020810190506200090b565b868310156200095257848901516200094e601f89168262000842565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620009a382620004ef565b9150620009b083620004ef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009ec57620009eb62000967565b5b828202905092915050565b62000a0281620004ef565b82525050565b600060208201905062000a1f6000830184620009f7565b92915050565b600062000a3282620004ef565b915062000a3f83620004ef565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000a775762000a7662000967565b5b828201905092915050565b6128478062000a926000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80638da5cb5b116100de578063c816841b11610097578063f0cd1dac11610071578063f0cd1dac14610476578063f2fde38b14610494578063f744bf22146104b0578063fa008d1b146104cc57610173565b8063c816841b1461040c578063d7516a141461042a578063dd62ed3e1461044657610173565b80638da5cb5b1461033857806395d89b4114610356578063a457c2d714610374578063a793975c146103a4578063a9059cbb146103c0578063c492f046146103f057610173565b8063313ce56711610130578063313ce5671461026257806339509351146102805780635342acb4146102b057806370a08231146102e0578063715018a61461031057806382eefb431461031a57610173565b806306fdde0314610178578063095ea7b3146101965780631694505e146101c657806318160ddd146101e45780631cdd3be31461020257806323b872dd14610232575b600080fd5b6101806104d6565b60405161018d9190611d1e565b60405180910390f35b6101b060048036038101906101ab9190611dde565b610568565b6040516101bd9190611e39565b60405180910390f35b6101ce610586565b6040516101db9190611eb3565b60405180910390f35b6101ec6105ac565b6040516101f99190611edd565b60405180910390f35b61021c60048036038101906102179190611ef8565b6105b6565b6040516102299190611e39565b60405180910390f35b61024c60048036038101906102479190611f25565b6105d6565b6040516102599190611e39565b60405180910390f35b61026a6106af565b6040516102779190611f94565b60405180910390f35b61029a60048036038101906102959190611dde565b6106c6565b6040516102a79190611e39565b60405180910390f35b6102ca60048036038101906102c59190611ef8565b610779565b6040516102d79190611e39565b60405180910390f35b6102fa60048036038101906102f59190611ef8565b610799565b6040516103079190611edd565b60405180910390f35b6103186107e2565b005b61032261086a565b60405161032f9190611edd565b60405180910390f35b610340610870565b60405161034d9190611fbe565b60405180910390f35b61035e610899565b60405161036b9190611d1e565b60405180910390f35b61038e60048036038101906103899190611dde565b61092b565b60405161039b9190611e39565b60405180910390f35b6103be60048036038101906103b99190611fd9565b6109f8565b005b6103da60048036038101906103d59190611dde565b610a7e565b6040516103e79190611e39565b60405180910390f35b61040a60048036038101906104059190612097565b610a9c565b005b610414610bbd565b6040516104219190611fbe565b60405180910390f35b610444600480360381019061043f9190612097565b610be3565b005b610460600480360381019061045b91906120f7565b610d04565b60405161046d9190611edd565b60405180910390f35b61047e610d8b565b60405161048b9190611edd565b60405180910390f35b6104ae60048036038101906104a99190611ef8565b610d91565b005b6104ca60048036038101906104c59190611fd9565b610e88565b005b6104d4610f0e565b005b6060600480546104e590612166565b80601f016020809104026020016040519081016040528092919081815260200182805461051190612166565b801561055e5780601f106105335761010080835404028352916020019161055e565b820191906000526020600020905b81548152906001019060200180831161054157829003601f168201915b5050505050905090565b600061057c610575611356565b848461135e565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600754905090565b600d6020528060005260406000206000915054906101000a900460ff1681565b60006105e3848484611527565b6106a4846105ef611356565b61069f856040518060600160405280602881526020016127c560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610655611356565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fc9092919063ffffffff16565b61135e565b600190509392505050565b6000600660009054906101000a900460ff16905090565b600061076f6106d3611356565b8461076a85600260006106e4611356565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134090919063ffffffff16565b61135e565b6001905092915050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ea611356565b73ffffffffffffffffffffffffffffffffffffffff16610808610870565b73ffffffffffffffffffffffffffffffffffffffff161461085e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610855906121e3565b60405180910390fd5b6108686000611951565b565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546108a890612166565b80601f01602080910402602001604051908101604052809291908181526020018280546108d490612166565b80156109215780601f106108f657610100808354040283529160200191610921565b820191906000526020600020905b81548152906001019060200180831161090457829003601f168201915b5050505050905090565b60006109ee610938611356565b846109e9856040518060600160405280602581526020016127ed6025913960026000610962611356565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fc9092919063ffffffff16565b61135e565b6001905092915050565b610a00611356565b73ffffffffffffffffffffffffffffffffffffffff16610a1e610870565b73ffffffffffffffffffffffffffffffffffffffff1614610a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6b906121e3565b60405180910390fd5b80600a8190555050565b6000610a92610a8b611356565b8484611527565b6001905092915050565b610aa4611356565b73ffffffffffffffffffffffffffffffffffffffff16610ac2610870565b73ffffffffffffffffffffffffffffffffffffffff1614610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f906121e3565b60405180910390fd5b60005b83839050811015610bb7578160036000868685818110610b3e57610b3d612203565b5b9050602002016020810190610b539190611ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610baf90612261565b915050610b1b565b50505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610beb611356565b73ffffffffffffffffffffffffffffffffffffffff16610c09610870565b73ffffffffffffffffffffffffffffffffffffffff1614610c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c56906121e3565b60405180910390fd5b60005b83839050811015610cfe5781600d6000868685818110610c8557610c84612203565b5b9050602002016020810190610c9a9190611ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610cf690612261565b915050610c62565b50505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b610d99611356565b73ffffffffffffffffffffffffffffffffffffffff16610db7610870565b73ffffffffffffffffffffffffffffffffffffffff1614610e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e04906121e3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e739061231b565b60405180910390fd5b610e8581611951565b50565b610e90611356565b73ffffffffffffffffffffffffffffffffffffffff16610eae610870565b73ffffffffffffffffffffffffffffffffffffffff1614610f04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efb906121e3565b60405180910390fd5b80600b8190555050565b610f16611356565b73ffffffffffffffffffffffffffffffffffffffff16610f34610870565b73ffffffffffffffffffffffffffffffffffffffff1614610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f81906121e3565b60405180910390fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101d9190612350565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ca9190612350565b6040518363ffffffff1660e01b81526004016110e792919061237d565b602060405180830381865afa158015611104573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190612350565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361133d57600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ef9190612350565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129c9190612350565b6040518363ffffffff1660e01b81526004016112b992919061237d565b6020604051808303816000875af11580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc9190612350565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000818361134e91906123a6565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c49061246e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361143c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143390612500565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161151a9190611edd565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158d90612592565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611605576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fc90612624565b60405180910390fd5b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611692576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168990612690565b60405180910390fd5b6116fe8160405180606001604052806026815260200161279f60269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fc9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117e45750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6117f8576117f3848484611a15565b6117fa565b815b905061184e81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118ee9190611edd565b60405180910390a350505050565b6000838311158290611944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193b9190611d1e565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080600090508473ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611aa057611a996064611a8b600a5486611c4390919063ffffffff16565b611c5990919063ffffffff16565b9050611b21565b8373ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611b2057611b1d6064611b0f600b5486611c4390919063ffffffff16565b611c5990919063ffffffff16565b90505b5b6000811115611c2657611b7c81600160008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134090919063ffffffff16565b600160008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c1d9190611edd565b60405180910390a35b611c398184611c6f90919063ffffffff16565b9150509392505050565b60008183611c5191906126b0565b905092915050565b60008183611c679190612739565b905092915050565b60008183611c7d919061276a565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611cbf578082015181840152602081019050611ca4565b83811115611cce576000848401525b50505050565b6000601f19601f8301169050919050565b6000611cf082611c85565b611cfa8185611c90565b9350611d0a818560208601611ca1565b611d1381611cd4565b840191505092915050565b60006020820190508181036000830152611d388184611ce5565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d7582611d4a565b9050919050565b611d8581611d6a565b8114611d9057600080fd5b50565b600081359050611da281611d7c565b92915050565b6000819050919050565b611dbb81611da8565b8114611dc657600080fd5b50565b600081359050611dd881611db2565b92915050565b60008060408385031215611df557611df4611d40565b5b6000611e0385828601611d93565b9250506020611e1485828601611dc9565b9150509250929050565b60008115159050919050565b611e3381611e1e565b82525050565b6000602082019050611e4e6000830184611e2a565b92915050565b6000819050919050565b6000611e79611e74611e6f84611d4a565b611e54565b611d4a565b9050919050565b6000611e8b82611e5e565b9050919050565b6000611e9d82611e80565b9050919050565b611ead81611e92565b82525050565b6000602082019050611ec86000830184611ea4565b92915050565b611ed781611da8565b82525050565b6000602082019050611ef26000830184611ece565b92915050565b600060208284031215611f0e57611f0d611d40565b5b6000611f1c84828501611d93565b91505092915050565b600080600060608486031215611f3e57611f3d611d40565b5b6000611f4c86828701611d93565b9350506020611f5d86828701611d93565b9250506040611f6e86828701611dc9565b9150509250925092565b600060ff82169050919050565b611f8e81611f78565b82525050565b6000602082019050611fa96000830184611f85565b92915050565b611fb881611d6a565b82525050565b6000602082019050611fd36000830184611faf565b92915050565b600060208284031215611fef57611fee611d40565b5b6000611ffd84828501611dc9565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261202b5761202a612006565b5b8235905067ffffffffffffffff8111156120485761204761200b565b5b60208301915083602082028301111561206457612063612010565b5b9250929050565b61207481611e1e565b811461207f57600080fd5b50565b6000813590506120918161206b565b92915050565b6000806000604084860312156120b0576120af611d40565b5b600084013567ffffffffffffffff8111156120ce576120cd611d45565b5b6120da86828701612015565b935093505060206120ed86828701612082565b9150509250925092565b6000806040838503121561210e5761210d611d40565b5b600061211c85828601611d93565b925050602061212d85828601611d93565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061217e57607f821691505b60208210810361219157612190612137565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121cd602083611c90565b91506121d882612197565b602082019050919050565b600060208201905081810360008301526121fc816121c0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061226c82611da8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361229e5761229d612232565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612305602683611c90565b9150612310826122a9565b604082019050919050565b60006020820190508181036000830152612334816122f8565b9050919050565b60008151905061234a81611d7c565b92915050565b60006020828403121561236657612365611d40565b5b60006123748482850161233b565b91505092915050565b60006040820190506123926000830185611faf565b61239f6020830184611faf565b9392505050565b60006123b182611da8565b91506123bc83611da8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156123f1576123f0612232565b5b828201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612458602483611c90565b9150612463826123fc565b604082019050919050565b600060208201905081810360008301526124878161244b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006124ea602283611c90565b91506124f58261248e565b604082019050919050565b60006020820190508181036000830152612519816124dd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061257c602583611c90565b915061258782612520565b604082019050919050565b600060208201905081810360008301526125ab8161256f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061260e602383611c90565b9150612619826125b2565b604082019050919050565b6000602082019050818103600083015261263d81612601565b9050919050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600061267a600b83611c90565b915061268582612644565b602082019050919050565b600060208201905081810360008301526126a98161266d565b9050919050565b60006126bb82611da8565b91506126c683611da8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126ff576126fe612232565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061274482611da8565b915061274f83611da8565b92508261275f5761275e61270a565b5b828204905092915050565b600061277582611da8565b915061278083611da8565b92508282101561279357612792612232565b5b82820390509291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220943472c9d562d1d6d0b5e296e09724b2726a7fc95c6df87bfa8a12a8bb2430cb64736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000004c4b40000000000000000000000000569d97be066801c62edb7ed87b38f7a4a1c4b46d0000000000000000000000000000000000000000000000000000000000000006504958454c5300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005504958454c000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101735760003560e01c80638da5cb5b116100de578063c816841b11610097578063f0cd1dac11610071578063f0cd1dac14610476578063f2fde38b14610494578063f744bf22146104b0578063fa008d1b146104cc57610173565b8063c816841b1461040c578063d7516a141461042a578063dd62ed3e1461044657610173565b80638da5cb5b1461033857806395d89b4114610356578063a457c2d714610374578063a793975c146103a4578063a9059cbb146103c0578063c492f046146103f057610173565b8063313ce56711610130578063313ce5671461026257806339509351146102805780635342acb4146102b057806370a08231146102e0578063715018a61461031057806382eefb431461031a57610173565b806306fdde0314610178578063095ea7b3146101965780631694505e146101c657806318160ddd146101e45780631cdd3be31461020257806323b872dd14610232575b600080fd5b6101806104d6565b60405161018d9190611d1e565b60405180910390f35b6101b060048036038101906101ab9190611dde565b610568565b6040516101bd9190611e39565b60405180910390f35b6101ce610586565b6040516101db9190611eb3565b60405180910390f35b6101ec6105ac565b6040516101f99190611edd565b60405180910390f35b61021c60048036038101906102179190611ef8565b6105b6565b6040516102299190611e39565b60405180910390f35b61024c60048036038101906102479190611f25565b6105d6565b6040516102599190611e39565b60405180910390f35b61026a6106af565b6040516102779190611f94565b60405180910390f35b61029a60048036038101906102959190611dde565b6106c6565b6040516102a79190611e39565b60405180910390f35b6102ca60048036038101906102c59190611ef8565b610779565b6040516102d79190611e39565b60405180910390f35b6102fa60048036038101906102f59190611ef8565b610799565b6040516103079190611edd565b60405180910390f35b6103186107e2565b005b61032261086a565b60405161032f9190611edd565b60405180910390f35b610340610870565b60405161034d9190611fbe565b60405180910390f35b61035e610899565b60405161036b9190611d1e565b60405180910390f35b61038e60048036038101906103899190611dde565b61092b565b60405161039b9190611e39565b60405180910390f35b6103be60048036038101906103b99190611fd9565b6109f8565b005b6103da60048036038101906103d59190611dde565b610a7e565b6040516103e79190611e39565b60405180910390f35b61040a60048036038101906104059190612097565b610a9c565b005b610414610bbd565b6040516104219190611fbe565b60405180910390f35b610444600480360381019061043f9190612097565b610be3565b005b610460600480360381019061045b91906120f7565b610d04565b60405161046d9190611edd565b60405180910390f35b61047e610d8b565b60405161048b9190611edd565b60405180910390f35b6104ae60048036038101906104a99190611ef8565b610d91565b005b6104ca60048036038101906104c59190611fd9565b610e88565b005b6104d4610f0e565b005b6060600480546104e590612166565b80601f016020809104026020016040519081016040528092919081815260200182805461051190612166565b801561055e5780601f106105335761010080835404028352916020019161055e565b820191906000526020600020905b81548152906001019060200180831161054157829003601f168201915b5050505050905090565b600061057c610575611356565b848461135e565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600754905090565b600d6020528060005260406000206000915054906101000a900460ff1681565b60006105e3848484611527565b6106a4846105ef611356565b61069f856040518060600160405280602881526020016127c560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610655611356565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fc9092919063ffffffff16565b61135e565b600190509392505050565b6000600660009054906101000a900460ff16905090565b600061076f6106d3611356565b8461076a85600260006106e4611356565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134090919063ffffffff16565b61135e565b6001905092915050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ea611356565b73ffffffffffffffffffffffffffffffffffffffff16610808610870565b73ffffffffffffffffffffffffffffffffffffffff161461085e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610855906121e3565b60405180910390fd5b6108686000611951565b565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546108a890612166565b80601f01602080910402602001604051908101604052809291908181526020018280546108d490612166565b80156109215780601f106108f657610100808354040283529160200191610921565b820191906000526020600020905b81548152906001019060200180831161090457829003601f168201915b5050505050905090565b60006109ee610938611356565b846109e9856040518060600160405280602581526020016127ed6025913960026000610962611356565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fc9092919063ffffffff16565b61135e565b6001905092915050565b610a00611356565b73ffffffffffffffffffffffffffffffffffffffff16610a1e610870565b73ffffffffffffffffffffffffffffffffffffffff1614610a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6b906121e3565b60405180910390fd5b80600a8190555050565b6000610a92610a8b611356565b8484611527565b6001905092915050565b610aa4611356565b73ffffffffffffffffffffffffffffffffffffffff16610ac2610870565b73ffffffffffffffffffffffffffffffffffffffff1614610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f906121e3565b60405180910390fd5b60005b83839050811015610bb7578160036000868685818110610b3e57610b3d612203565b5b9050602002016020810190610b539190611ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610baf90612261565b915050610b1b565b50505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610beb611356565b73ffffffffffffffffffffffffffffffffffffffff16610c09610870565b73ffffffffffffffffffffffffffffffffffffffff1614610c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c56906121e3565b60405180910390fd5b60005b83839050811015610cfe5781600d6000868685818110610c8557610c84612203565b5b9050602002016020810190610c9a9190611ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610cf690612261565b915050610c62565b50505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b610d99611356565b73ffffffffffffffffffffffffffffffffffffffff16610db7610870565b73ffffffffffffffffffffffffffffffffffffffff1614610e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e04906121e3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e739061231b565b60405180910390fd5b610e8581611951565b50565b610e90611356565b73ffffffffffffffffffffffffffffffffffffffff16610eae610870565b73ffffffffffffffffffffffffffffffffffffffff1614610f04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efb906121e3565b60405180910390fd5b80600b8190555050565b610f16611356565b73ffffffffffffffffffffffffffffffffffffffff16610f34610870565b73ffffffffffffffffffffffffffffffffffffffff1614610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f81906121e3565b60405180910390fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101d9190612350565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ca9190612350565b6040518363ffffffff1660e01b81526004016110e792919061237d565b602060405180830381865afa158015611104573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190612350565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361133d57600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ef9190612350565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129c9190612350565b6040518363ffffffff1660e01b81526004016112b992919061237d565b6020604051808303816000875af11580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc9190612350565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000818361134e91906123a6565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c49061246e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361143c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143390612500565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161151a9190611edd565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158d90612592565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611605576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fc90612624565b60405180910390fd5b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611692576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168990612690565b60405180910390fd5b6116fe8160405180606001604052806026815260200161279f60269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fc9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117e45750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6117f8576117f3848484611a15565b6117fa565b815b905061184e81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118ee9190611edd565b60405180910390a350505050565b6000838311158290611944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193b9190611d1e565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080600090508473ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611aa057611a996064611a8b600a5486611c4390919063ffffffff16565b611c5990919063ffffffff16565b9050611b21565b8373ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611b2057611b1d6064611b0f600b5486611c4390919063ffffffff16565b611c5990919063ffffffff16565b90505b5b6000811115611c2657611b7c81600160008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134090919063ffffffff16565b600160008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c1d9190611edd565b60405180910390a35b611c398184611c6f90919063ffffffff16565b9150509392505050565b60008183611c5191906126b0565b905092915050565b60008183611c679190612739565b905092915050565b60008183611c7d919061276a565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611cbf578082015181840152602081019050611ca4565b83811115611cce576000848401525b50505050565b6000601f19601f8301169050919050565b6000611cf082611c85565b611cfa8185611c90565b9350611d0a818560208601611ca1565b611d1381611cd4565b840191505092915050565b60006020820190508181036000830152611d388184611ce5565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d7582611d4a565b9050919050565b611d8581611d6a565b8114611d9057600080fd5b50565b600081359050611da281611d7c565b92915050565b6000819050919050565b611dbb81611da8565b8114611dc657600080fd5b50565b600081359050611dd881611db2565b92915050565b60008060408385031215611df557611df4611d40565b5b6000611e0385828601611d93565b9250506020611e1485828601611dc9565b9150509250929050565b60008115159050919050565b611e3381611e1e565b82525050565b6000602082019050611e4e6000830184611e2a565b92915050565b6000819050919050565b6000611e79611e74611e6f84611d4a565b611e54565b611d4a565b9050919050565b6000611e8b82611e5e565b9050919050565b6000611e9d82611e80565b9050919050565b611ead81611e92565b82525050565b6000602082019050611ec86000830184611ea4565b92915050565b611ed781611da8565b82525050565b6000602082019050611ef26000830184611ece565b92915050565b600060208284031215611f0e57611f0d611d40565b5b6000611f1c84828501611d93565b91505092915050565b600080600060608486031215611f3e57611f3d611d40565b5b6000611f4c86828701611d93565b9350506020611f5d86828701611d93565b9250506040611f6e86828701611dc9565b9150509250925092565b600060ff82169050919050565b611f8e81611f78565b82525050565b6000602082019050611fa96000830184611f85565b92915050565b611fb881611d6a565b82525050565b6000602082019050611fd36000830184611faf565b92915050565b600060208284031215611fef57611fee611d40565b5b6000611ffd84828501611dc9565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261202b5761202a612006565b5b8235905067ffffffffffffffff8111156120485761204761200b565b5b60208301915083602082028301111561206457612063612010565b5b9250929050565b61207481611e1e565b811461207f57600080fd5b50565b6000813590506120918161206b565b92915050565b6000806000604084860312156120b0576120af611d40565b5b600084013567ffffffffffffffff8111156120ce576120cd611d45565b5b6120da86828701612015565b935093505060206120ed86828701612082565b9150509250925092565b6000806040838503121561210e5761210d611d40565b5b600061211c85828601611d93565b925050602061212d85828601611d93565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061217e57607f821691505b60208210810361219157612190612137565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121cd602083611c90565b91506121d882612197565b602082019050919050565b600060208201905081810360008301526121fc816121c0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061226c82611da8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361229e5761229d612232565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612305602683611c90565b9150612310826122a9565b604082019050919050565b60006020820190508181036000830152612334816122f8565b9050919050565b60008151905061234a81611d7c565b92915050565b60006020828403121561236657612365611d40565b5b60006123748482850161233b565b91505092915050565b60006040820190506123926000830185611faf565b61239f6020830184611faf565b9392505050565b60006123b182611da8565b91506123bc83611da8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156123f1576123f0612232565b5b828201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612458602483611c90565b9150612463826123fc565b604082019050919050565b600060208201905081810360008301526124878161244b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006124ea602283611c90565b91506124f58261248e565b604082019050919050565b60006020820190508181036000830152612519816124dd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061257c602583611c90565b915061258782612520565b604082019050919050565b600060208201905081810360008301526125ab8161256f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061260e602383611c90565b9150612619826125b2565b604082019050919050565b6000602082019050818103600083015261263d81612601565b9050919050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600061267a600b83611c90565b915061268582612644565b602082019050919050565b600060208201905081810360008301526126a98161266d565b9050919050565b60006126bb82611da8565b91506126c683611da8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126ff576126fe612232565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061274482611da8565b915061274f83611da8565b92508261275f5761275e61270a565b5b828204905092915050565b600061277582611da8565b915061278083611da8565b92508282101561279357612792612232565b5b82820390509291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220943472c9d562d1d6d0b5e296e09724b2726a7fc95c6df87bfa8a12a8bb2430cb64736f6c634300080f0033

Deployed Bytecode Sourcemap

5574:6821:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6834:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8154:210;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5957:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7303:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6167:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8372:443;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7147:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8823:302;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5779:50;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7474:177;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2098:94;;;:::i;:::-;;6081:37;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1865:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7044:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9133:400;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11172:115;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7659:223;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10704:233;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6005:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10945:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7945:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6038:36;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2200:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11295:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11428:349;;;:::i;:::-;;6834:91;6879:13;6912:5;6905:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6834:91;:::o;8154:210::-;8273:4;8295:39;8304:12;:10;:12::i;:::-;8318:7;8327:6;8295:8;:39::i;:::-;8352:4;8345:11;;8154:210;;;;:::o;5957:41::-;;;;;;;;;;;;;:::o;7303:108::-;7364:7;7391:12;;7384:19;;7303:108;:::o;6167:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;8372:443::-;8512:4;8529:36;8539:6;8547:9;8558:6;8529:9;:36::i;:::-;8576:209;8588:6;8609:12;:10;:12::i;:::-;8636:138;8692:6;8636:138;;;;;;;;;;;;;;;;;:11;:19;8648:6;8636:19;;;;;;;;;;;;;;;:33;8656:12;:10;:12::i;:::-;8636:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8576:8;:209::i;:::-;8803:4;8796:11;;8372:443;;;;;:::o;7147:91::-;7196:5;7221:9;;;;;;;;;;;7214:16;;7147:91;:::o;8823:302::-;8944:4;8966:133;8989:12;:10;:12::i;:::-;9016:7;9038:50;9077:10;9038:11;:25;9050:12;:10;:12::i;:::-;9038:25;;;;;;;;;;;;;;;:34;9064:7;9038:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8966:8;:133::i;:::-;9117:4;9110:11;;8823:302;;;;:::o;5779:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;7474:177::-;7593:7;7625:9;:18;7635:7;7625:18;;;;;;;;;;;;;;;;7618:25;;7474:177;;;:::o;2098:94::-;2011:12;:10;:12::i;:::-;2000:23;;:7;:5;:7::i;:::-;:23;;;1992:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;2163:21:::1;2181:1;2163:9;:21::i;:::-;2098:94::o:0;6081:37::-;;;;:::o;1865:87::-;1911:7;1938:6;;;;;;;;;;;1931:13;;1865:87;:::o;7044:95::-;7091:13;7124:7;7117:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7044:95;:::o;9133:400::-;9253:4;9275:228;9298:12;:10;:12::i;:::-;9325:7;9347:145;9404:15;9347:145;;;;;;;;;;;;;;;;;:11;:25;9359:12;:10;:12::i;:::-;9347:25;;;;;;;;;;;;;;;:34;9373:7;9347:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;9275:8;:228::i;:::-;9521:4;9514:11;;9133:400;;;;:::o;11172:115::-;2011:12;:10;:12::i;:::-;2000:23;;:7;:5;:7::i;:::-;:23;;;1992:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;11263:16:::1;11243:17;:36;;;;11172:115:::0;:::o;7659:223::-;7788:4;7810:42;7820:12;:10;:12::i;:::-;7834:9;7845:6;7810:9;:42::i;:::-;7870:4;7863:11;;7659:223;;;;:::o;10704:233::-;2011:12;:10;:12::i;:::-;2000:23;;:7;:5;:7::i;:::-;:23;;;1992:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;10821:9:::1;10817:113;10840:8;;:15;;10836:1;:19;10817:113;;;10910:8;10877:17;:30;10895:8;;10904:1;10895:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;10877:30;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;10857:3;;;;;:::i;:::-;;;;10817:113;;;;10704:233:::0;;;:::o;6005:26::-;;;;;;;;;;;;;:::o;10945:217::-;2011:12;:10;:12::i;:::-;2000:23;;:7;:5;:7::i;:::-;:23;;;1992:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;11049:9:::1;11044:111;11068:8;;:15;;11064:1;:19;11044:111;;;11135:8;11105:14;:27;11120:8;;11129:1;11120:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11105:27;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;11085:3;;;;;:::i;:::-;;;;11044:111;;;;10945:217:::0;;;:::o;7945:201::-;8079:7;8111:11;:18;8123:5;8111:18;;;;;;;;;;;;;;;:27;8130:7;8111:27;;;;;;;;;;;;;;;;8104:34;;7945:201;;;;:::o;6038:36::-;;;;:::o;2200:192::-;2011:12;:10;:12::i;:::-;2000:23;;:7;:5;:7::i;:::-;:23;;;1992:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;2309:1:::1;2289:22;;:8;:22;;::::0;2281:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2365:19;2375:8;2365:9;:19::i;:::-;2200:192:::0;:::o;11295:125::-;2011:12;:10;:12::i;:::-;2000:23;;:7;:5;:7::i;:::-;:23;;;1992:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;11395:17:::1;11374:18;:38;;;;11295:125:::0;:::o;11428:349::-;2011:12;:10;:12::i;:::-;2000:23;;:7;:5;:7::i;:::-;:23;;;1992:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;11490:12:::1;11523:16;;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11505:53;;;11567:4;11574:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11505:93;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11490:108;;11628:1;11612:18;;:4;:18;;::::0;11609:159:::1;;11678:16;;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11660:56;;;11725:4;11732:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11660:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11646:11;;:110;;;;;;;;;;;;;;;;;;11609:159;11469:308;11428:349::o:0;3901:98::-;3959:7;3990:1;3986;:5;;;;:::i;:::-;3979:12;;3901:98;;;;:::o;1425:::-;1478:7;1505:10;1498:17;;1425:98;:::o;10316:380::-;10469:1;10452:19;;:5;:19;;;10444:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10550:1;10531:21;;:7;:21;;;10523:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10634:6;10604:11;:18;10616:5;10604:18;;;;;;;;;;;;;;;:27;10623:7;10604:27;;;;;;;;;;;;;;;:36;;;;10672:7;10656:32;;10665:5;10656:32;;;10681:6;10656:32;;;;;;:::i;:::-;;;;;;;;10316:380;;;:::o;9543:765::-;9695:1;9677:20;;:6;:20;;;9669:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9779:1;9758:23;;:9;:23;;;9750:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9841:14;:22;9856:6;9841:22;;;;;;;;;;;;;;;;;;;;;;;;;9840:23;9832:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9912:70;9934:6;9912:70;;;;;;;;;;;;;;;;;:9;:17;9922:6;9912:17;;;;;;;;;;;;;;;;:21;;:70;;;;;:::i;:::-;9892:9;:17;9902:6;9892:17;;;;;;;;;;;;;;;:90;;;;10003:19;10026:17;:25;10044:6;10026:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;10055:17;:28;10073:9;10055:28;;;;;;;;;;;;;;;;;;;;;;;;;10026:57;10025:146;;10137:34;10145:6;10153:9;10164:6;10137:7;:34::i;:::-;10025:146;;;10128:6;10025:146;10003:168;;10207:37;10232:11;10207:9;:20;10217:9;10207:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;10184:9;:20;10194:9;10184:20;;;;;;;;;;;;;;;:60;;;;10277:9;10260:40;;10269:6;10260:40;;;10288:11;10260:40;;;;;;:::i;:::-;;;;;;;;9656:652;9543:765;;;:::o;4438:240::-;4558:7;4616:1;4611;:6;;4619:12;4603:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4658:1;4654;:5;4647:12;;4438:240;;;;;:::o;2400:173::-;2456:16;2475:6;;;;;;;;;;;2456:25;;2501:8;2492:6;;:17;;;;;;;;;;;;;;;;;;2556:8;2525:40;;2546:8;2525:40;;;;;;;;;;;;2445:128;2400:173;:::o;11785:603::-;11871:7;11893:17;11913:1;11893:21;;11943:6;11928:21;;:11;;;;;;;;;;;:21;;;11925:239;;11978:38;12012:3;11978:29;11989:17;;11978:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;11966:50;;11925:239;;;12075:9;12060:24;;:11;;;;;;;;;;;:24;;;12057:107;;12113:39;12148:3;12113:30;12124:18;;12113:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;12101:51;;12057:107;11925:239;12191:1;12179:9;:13;12176:164;;;12233:36;12259:9;12233;:21;12251:1;12233:21;;;;;;;;;;;;;;;;:25;;:36;;;;:::i;:::-;12209:9;:21;12227:1;12209:21;;;;;;;;;;;;;;;:60;;;;12314:1;12289:39;;12298:6;12289:39;;;12318:9;12289:39;;;;;;:::i;:::-;;;;;;;;12176:164;12359:21;12370:9;12359:6;:10;;:21;;;;:::i;:::-;12352:28;;;11785:603;;;;;:::o;4113:98::-;4171:7;4202:1;4198;:5;;;;:::i;:::-;4191:12;;4113:98;;;;:::o;4219:::-;4277:7;4308:1;4304;:5;;;;:::i;:::-;4297:12;;4219:98;;;;:::o;4007:::-;4065:7;4096:1;4092;:5;;;;:::i;:::-;4085:12;;4007:98;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:60::-;3522:3;3543:5;3536:12;;3494:60;;;:::o;3560:142::-;3610:9;3643:53;3661:34;3670:24;3688:5;3670:24;:::i;:::-;3661:34;:::i;:::-;3643:53;:::i;:::-;3630:66;;3560:142;;;:::o;3708:126::-;3758:9;3791:37;3822:5;3791:37;:::i;:::-;3778:50;;3708:126;;;:::o;3840:152::-;3916:9;3949:37;3980:5;3949:37;:::i;:::-;3936:50;;3840:152;;;:::o;3998:183::-;4111:63;4168:5;4111:63;:::i;:::-;4106:3;4099:76;3998:183;;:::o;4187:274::-;4306:4;4344:2;4333:9;4329:18;4321:26;;4357:97;4451:1;4440:9;4436:17;4427:6;4357:97;:::i;:::-;4187:274;;;;:::o;4467:118::-;4554:24;4572:5;4554:24;:::i;:::-;4549:3;4542:37;4467:118;;:::o;4591:222::-;4684:4;4722:2;4711:9;4707:18;4699:26;;4735:71;4803:1;4792:9;4788:17;4779:6;4735:71;:::i;:::-;4591:222;;;;:::o;4819:329::-;4878:6;4927:2;4915:9;4906:7;4902:23;4898:32;4895:119;;;4933:79;;:::i;:::-;4895:119;5053:1;5078:53;5123:7;5114:6;5103:9;5099:22;5078:53;:::i;:::-;5068:63;;5024:117;4819:329;;;;:::o;5154:619::-;5231:6;5239;5247;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5549:2;5575:53;5620:7;5611:6;5600:9;5596:22;5575:53;:::i;:::-;5565:63;;5520:118;5677:2;5703:53;5748:7;5739:6;5728:9;5724:22;5703:53;:::i;:::-;5693:63;;5648:118;5154:619;;;;;:::o;5779:86::-;5814:7;5854:4;5847:5;5843:16;5832:27;;5779:86;;;:::o;5871:112::-;5954:22;5970:5;5954:22;:::i;:::-;5949:3;5942:35;5871:112;;:::o;5989:214::-;6078:4;6116:2;6105:9;6101:18;6093:26;;6129:67;6193:1;6182:9;6178:17;6169:6;6129:67;:::i;:::-;5989:214;;;;:::o;6209:118::-;6296:24;6314:5;6296:24;:::i;:::-;6291:3;6284:37;6209:118;;:::o;6333:222::-;6426:4;6464:2;6453:9;6449:18;6441:26;;6477:71;6545:1;6534:9;6530:17;6521:6;6477:71;:::i;:::-;6333:222;;;;:::o;6561:329::-;6620:6;6669:2;6657:9;6648:7;6644:23;6640:32;6637:119;;;6675:79;;:::i;:::-;6637:119;6795:1;6820:53;6865:7;6856:6;6845:9;6841:22;6820:53;:::i;:::-;6810:63;;6766:117;6561:329;;;;:::o;6896:117::-;7005:1;7002;6995:12;7019:117;7128:1;7125;7118:12;7142:117;7251:1;7248;7241:12;7282:568;7355:8;7365:6;7415:3;7408:4;7400:6;7396:17;7392:27;7382:122;;7423:79;;:::i;:::-;7382:122;7536:6;7523:20;7513:30;;7566:18;7558:6;7555:30;7552:117;;;7588:79;;:::i;:::-;7552:117;7702:4;7694:6;7690:17;7678:29;;7756:3;7748:4;7740:6;7736:17;7726:8;7722:32;7719:41;7716:128;;;7763:79;;:::i;:::-;7716:128;7282:568;;;;;:::o;7856:116::-;7926:21;7941:5;7926:21;:::i;:::-;7919:5;7916:32;7906:60;;7962:1;7959;7952:12;7906:60;7856:116;:::o;7978:133::-;8021:5;8059:6;8046:20;8037:29;;8075:30;8099:5;8075:30;:::i;:::-;7978:133;;;;:::o;8117:698::-;8209:6;8217;8225;8274:2;8262:9;8253:7;8249:23;8245:32;8242:119;;;8280:79;;:::i;:::-;8242:119;8428:1;8417:9;8413:17;8400:31;8458:18;8450:6;8447:30;8444:117;;;8480:79;;:::i;:::-;8444:117;8593:80;8665:7;8656:6;8645:9;8641:22;8593:80;:::i;:::-;8575:98;;;;8371:312;8722:2;8748:50;8790:7;8781:6;8770:9;8766:22;8748:50;:::i;:::-;8738:60;;8693:115;8117:698;;;;;:::o;8821:474::-;8889:6;8897;8946:2;8934:9;8925:7;8921:23;8917:32;8914:119;;;8952:79;;:::i;:::-;8914:119;9072:1;9097:53;9142:7;9133:6;9122:9;9118:22;9097:53;:::i;:::-;9087:63;;9043:117;9199:2;9225:53;9270:7;9261:6;9250:9;9246:22;9225:53;:::i;:::-;9215:63;;9170:118;8821:474;;;;;:::o;9301:180::-;9349:77;9346:1;9339:88;9446:4;9443:1;9436:15;9470:4;9467:1;9460:15;9487:320;9531:6;9568:1;9562:4;9558:12;9548:22;;9615:1;9609:4;9605:12;9636:18;9626:81;;9692:4;9684:6;9680:17;9670:27;;9626:81;9754:2;9746:6;9743:14;9723:18;9720:38;9717:84;;9773:18;;:::i;:::-;9717:84;9538:269;9487:320;;;:::o;9813:182::-;9953:34;9949:1;9941:6;9937:14;9930:58;9813:182;:::o;10001:366::-;10143:3;10164:67;10228:2;10223:3;10164:67;:::i;:::-;10157:74;;10240:93;10329:3;10240:93;:::i;:::-;10358:2;10353:3;10349:12;10342:19;;10001:366;;;:::o;10373:419::-;10539:4;10577:2;10566:9;10562:18;10554:26;;10626:9;10620:4;10616:20;10612:1;10601:9;10597:17;10590:47;10654:131;10780:4;10654:131;:::i;:::-;10646:139;;10373:419;;;:::o;10798:180::-;10846:77;10843:1;10836:88;10943:4;10940:1;10933:15;10967:4;10964:1;10957:15;10984:180;11032:77;11029:1;11022:88;11129:4;11126:1;11119:15;11153:4;11150:1;11143:15;11170:233;11209:3;11232:24;11250:5;11232:24;:::i;:::-;11223:33;;11278:66;11271:5;11268:77;11265:103;;11348:18;;:::i;:::-;11265:103;11395:1;11388:5;11384:13;11377:20;;11170:233;;;:::o;11409:225::-;11549:34;11545:1;11537:6;11533:14;11526:58;11618:8;11613:2;11605:6;11601:15;11594:33;11409:225;:::o;11640:366::-;11782:3;11803:67;11867:2;11862:3;11803:67;:::i;:::-;11796:74;;11879:93;11968:3;11879:93;:::i;:::-;11997:2;11992:3;11988:12;11981:19;;11640:366;;;:::o;12012:419::-;12178:4;12216:2;12205:9;12201:18;12193:26;;12265:9;12259:4;12255:20;12251:1;12240:9;12236:17;12229:47;12293:131;12419:4;12293:131;:::i;:::-;12285:139;;12012:419;;;:::o;12437:143::-;12494:5;12525:6;12519:13;12510:22;;12541:33;12568:5;12541:33;:::i;:::-;12437:143;;;;:::o;12586:351::-;12656:6;12705:2;12693:9;12684:7;12680:23;12676:32;12673:119;;;12711:79;;:::i;:::-;12673:119;12831:1;12856:64;12912:7;12903:6;12892:9;12888:22;12856:64;:::i;:::-;12846:74;;12802:128;12586:351;;;;:::o;12943:332::-;13064:4;13102:2;13091:9;13087:18;13079:26;;13115:71;13183:1;13172:9;13168:17;13159:6;13115:71;:::i;:::-;13196:72;13264:2;13253:9;13249:18;13240:6;13196:72;:::i;:::-;12943:332;;;;;:::o;13281:305::-;13321:3;13340:20;13358:1;13340:20;:::i;:::-;13335:25;;13374:20;13392:1;13374:20;:::i;:::-;13369:25;;13528:1;13460:66;13456:74;13453:1;13450:81;13447:107;;;13534:18;;:::i;:::-;13447:107;13578:1;13575;13571:9;13564:16;;13281:305;;;;:::o;13592:223::-;13732:34;13728:1;13720:6;13716:14;13709:58;13801:6;13796:2;13788:6;13784:15;13777:31;13592:223;:::o;13821:366::-;13963:3;13984:67;14048:2;14043:3;13984:67;:::i;:::-;13977:74;;14060:93;14149:3;14060:93;:::i;:::-;14178:2;14173:3;14169:12;14162:19;;13821:366;;;:::o;14193:419::-;14359:4;14397:2;14386:9;14382:18;14374:26;;14446:9;14440:4;14436:20;14432:1;14421:9;14417:17;14410:47;14474:131;14600:4;14474:131;:::i;:::-;14466:139;;14193:419;;;:::o;14618:221::-;14758:34;14754:1;14746:6;14742:14;14735:58;14827:4;14822:2;14814:6;14810:15;14803:29;14618:221;:::o;14845:366::-;14987:3;15008:67;15072:2;15067:3;15008:67;:::i;:::-;15001:74;;15084:93;15173:3;15084:93;:::i;:::-;15202:2;15197:3;15193:12;15186:19;;14845:366;;;:::o;15217:419::-;15383:4;15421:2;15410:9;15406:18;15398:26;;15470:9;15464:4;15460:20;15456:1;15445:9;15441:17;15434:47;15498:131;15624:4;15498:131;:::i;:::-;15490:139;;15217:419;;;:::o;15642:224::-;15782:34;15778:1;15770:6;15766:14;15759:58;15851:7;15846:2;15838:6;15834:15;15827:32;15642:224;:::o;15872:366::-;16014:3;16035:67;16099:2;16094:3;16035:67;:::i;:::-;16028:74;;16111:93;16200:3;16111:93;:::i;:::-;16229:2;16224:3;16220:12;16213:19;;15872:366;;;:::o;16244:419::-;16410:4;16448:2;16437:9;16433:18;16425:26;;16497:9;16491:4;16487:20;16483:1;16472:9;16468:17;16461:47;16525:131;16651:4;16525:131;:::i;:::-;16517:139;;16244:419;;;:::o;16669:222::-;16809:34;16805:1;16797:6;16793:14;16786:58;16878:5;16873:2;16865:6;16861:15;16854:30;16669:222;:::o;16897:366::-;17039:3;17060:67;17124:2;17119:3;17060:67;:::i;:::-;17053:74;;17136:93;17225:3;17136:93;:::i;:::-;17254:2;17249:3;17245:12;17238:19;;16897:366;;;:::o;17269:419::-;17435:4;17473:2;17462:9;17458:18;17450:26;;17522:9;17516:4;17512:20;17508:1;17497:9;17493:17;17486:47;17550:131;17676:4;17550:131;:::i;:::-;17542:139;;17269:419;;;:::o;17694:161::-;17834:13;17830:1;17822:6;17818:14;17811:37;17694:161;:::o;17861:366::-;18003:3;18024:67;18088:2;18083:3;18024:67;:::i;:::-;18017:74;;18100:93;18189:3;18100:93;:::i;:::-;18218:2;18213:3;18209:12;18202:19;;17861:366;;;:::o;18233:419::-;18399:4;18437:2;18426:9;18422:18;18414:26;;18486:9;18480:4;18476:20;18472:1;18461:9;18457:17;18450:47;18514:131;18640:4;18514:131;:::i;:::-;18506:139;;18233:419;;;:::o;18658:348::-;18698:7;18721:20;18739:1;18721:20;:::i;:::-;18716:25;;18755:20;18773:1;18755:20;:::i;:::-;18750:25;;18943:1;18875:66;18871:74;18868:1;18865:81;18860:1;18853:9;18846:17;18842:105;18839:131;;;18950:18;;:::i;:::-;18839:131;18998:1;18995;18991:9;18980:20;;18658:348;;;;:::o;19012:180::-;19060:77;19057:1;19050:88;19157:4;19154:1;19147:15;19181:4;19178:1;19171:15;19198:185;19238:1;19255:20;19273:1;19255:20;:::i;:::-;19250:25;;19289:20;19307:1;19289:20;:::i;:::-;19284:25;;19328:1;19318:35;;19333:18;;:::i;:::-;19318:35;19375:1;19372;19368:9;19363:14;;19198:185;;;;:::o;19389:191::-;19429:4;19449:20;19467:1;19449:20;:::i;:::-;19444:25;;19483:20;19501:1;19483:20;:::i;:::-;19478:25;;19522:1;19519;19516:8;19513:34;;;19527:18;;:::i;:::-;19513:34;19572:1;19569;19565:9;19557:17;;19389:191;;;;:::o

Swarm Source

ipfs://943472c9d562d1d6d0b5e296e09724b2726a7fc95c6df87bfa8a12a8bb2430cb
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.