ETH Price: $1,614.98 (-9.34%)

Token

FedNow (FED)
 

Overview

Max Total Supply

8,000,000,000 FED

Holders

29

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
55,955,424.015393410507292159 FED

Value
$0.00
0xf0A516a6959c044CF571cC6551cDd509e49995CD
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:
FedNow

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-10
*/

/*
https://t.me/thefednow
https://fuckthefed.io
*/

// 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 FedNow 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 = 8000000000 * 10**_decimals;
    uint256 private constant minimumSwapAmount = 3200000 * 10**_decimals;
    uint256 private constant onePercent = 80000000 * 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 = "FedNow";
    string private constant _symbol = "FED";

    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  = 0x6de3A173460d604AfbbD87672990bAe718643b6c;
        SecFeesWallet = 0x6de3A173460d604AfbbD87672990bAe718643b6c;
        _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 ProcessPayments() 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 RemoveLimts() external onlyOwner {
        MaximumOneTrxAmount = _totalSupply;
        MxWalletSize = _totalSupply;
    }

    function EditTaxes(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=70;} 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

API
[{"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":"EditTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"FeesAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"ProcessPayments","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RemoveLimts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"SecFeesWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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"}]

60c060405260026012600a620000169190620007b3565b6304c4b40062000027919062000804565b6200003391906200087e565b6005556012600a620000469190620007b3565b6304c4b40062000057919062000804565b6006556012600a6200006a9190620007b3565b6304c4b4006200007b919062000804565b600262000089919062000804565b6007556019600955602d600a556000600c60146101000a81548160ff021916908315150217905550348015620000be57600080fd5b506000620000d16200061160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000232573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000258919062000920565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000308919062000920565b6040518363ffffffff1660e01b81526004016200032792919062000963565b6020604051808303816000875af115801562000347573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036d919062000920565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550736de3a173460d604afbbd87672990bae718643b6c73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050736de3a173460d604afbbd87672990bae718643b6c73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506012600a6200044d9190620007b3565b6401dcd650006200045f919062000804565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620005836200061160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620005e29190620007b3565b6401dcd65000620005f4919062000804565b604051620006039190620009a1565b60405180910390a3620009be565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006a7578086048111156200067f576200067e62000619565b5b60018516156200068f5780820291505b80810290506200069f8562000648565b94506200065f565b94509492505050565b600082620006c2576001905062000795565b81620006d2576000905062000795565b8160018114620006eb5760028114620006f6576200072c565b600191505062000795565b60ff8411156200070b576200070a62000619565b5b8360020a91508482111562000725576200072462000619565b5b5062000795565b5060208310610133831016604e8410600b8410161715620007665782820a90508381111562000760576200075f62000619565b5b62000795565b62000775848484600162000655565b925090508184048111156200078f576200078e62000619565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007c0826200079c565b9150620007cd83620007a6565b9250620007fc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006b0565b905092915050565b600062000811826200079c565b91506200081e836200079c565b92508282026200082e816200079c565b9150828204841483151762000848576200084762000619565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200088b826200079c565b915062000898836200079c565b925082620008ab57620008aa6200084f565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008e882620008bb565b9050919050565b620008fa81620008db565b81146200090657600080fd5b50565b6000815190506200091a81620008ef565b92915050565b600060208284031215620009395762000938620008b6565b5b6000620009498482850162000909565b91505092915050565b6200095d81620008db565b82525050565b60006040820190506200097a600083018562000952565b62000989602083018462000952565b9392505050565b6200099b816200079c565b82525050565b6000602082019050620009b8600083018462000990565b92915050565b60805160a051612d8b62000a006000396000818161081c01528181610e1f0152611aab0152600081816108b401528181610b4b0152611b430152612d8b6000f3fe6080604052600436106101855760003560e01c8063715018a6116100d1578063a9059cbb1161008a578063d7f7385811610064578063d7f7385814610537578063dd62ed3e14610560578063ef2997e31461059d578063f2fde38b146105b45761018c565b8063a9059cbb146104b8578063c5c95259146104f5578063cc1776d31461050c5761018c565b8063715018a6146103de5780637c4c75eb146103f55780638da5cb5b1461040c57806395d89b411461043757806397b2ebfe14610462578063a414f3e21461048d5761018c565b80632d34b9ed1161013e5780634f7041a5116101185780634f7041a514610322578063506caca11461034d5780636cae5a691461037657806370a08231146103a15761018c565b80632d34b9ed146102a3578063313ce567146102cc57806349bd5a5e146102f75761018c565b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101f9578063230b33501461022457806323b872dd1461024f57806328176f891461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105dd565b6040516101b39190611fd1565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de919061208c565b61061a565b6040516101f091906120e7565b60405180910390f35b34801561020557600080fd5b5061020e610638565b60405161021b9190612111565b60405180910390f35b34801561023057600080fd5b5061023961065d565b6040516102469190612111565b60405180910390f35b34801561025b57600080fd5b506102766004803603810190610271919061212c565b610663565b60405161028391906120e7565b60405180910390f35b34801561029857600080fd5b506102a1610783565b005b3480156102af57600080fd5b506102ca60048036038101906102c5919061217f565b610941565b005b3480156102d857600080fd5b506102e1610a1e565b6040516102ee91906121c8565b60405180910390f35b34801561030357600080fd5b5061030c610a27565b60405161031991906121f2565b60405180910390f35b34801561032e57600080fd5b50610337610a4d565b6040516103449190612111565b60405180910390f35b34801561035957600080fd5b50610374600480360381019061036f919061220d565b610a53565b005b34801561038257600080fd5b5061038b610b49565b60405161039891906121f2565b60405180910390f35b3480156103ad57600080fd5b506103c860048036038101906103c3919061217f565b610b6d565b6040516103d59190612111565b60405180910390f35b3480156103ea57600080fd5b506103f3610bb6565b005b34801561040157600080fd5b5061040a610d09565b005b34801561041857600080fd5b50610421610db7565b60405161042e91906121f2565b60405180910390f35b34801561044357600080fd5b5061044c610de0565b6040516104599190611fd1565b60405180910390f35b34801561046e57600080fd5b50610477610e1d565b60405161048491906121f2565b60405180910390f35b34801561049957600080fd5b506104a2610e41565b6040516104af9190612111565b60405180910390f35b3480156104c457600080fd5b506104df60048036038101906104da919061208c565b610e47565b6040516104ec91906120e7565b60405180910390f35b34801561050157600080fd5b5061050a610e65565b005b34801561051857600080fd5b50610521610f44565b60405161052e9190612111565b60405180910390f35b34801561054357600080fd5b5061055e6004803603810190610559919061217f565b610f4a565b005b34801561056c57600080fd5b506105876004803603810190610582919061224d565b611027565b6040516105949190612111565b60405180910390f35b3480156105a957600080fd5b506105b26110ae565b005b3480156105c057600080fd5b506105db60048036038101906105d6919061217f565b611167565b005b60606040518060400160405280600681526020017f4665644e6f770000000000000000000000000000000000000000000000000000815250905090565b600061062e610627611208565b8484611210565b6001905092915050565b60006012600a61064891906123ef565b6401dcd65000610658919061243a565b905090565b60065481565b60006106708484846113d9565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106bb611208565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107775782811015610762576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610759906124ee565b60405180910390fd5b6107768561076e611208565b858403611210565b5b60019150509392505050565b61078b611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080f9061255a565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16600a4761085e91906125a9565b60405161086a9061260b565b60006040518083038185875af1925050503d80600081146108a7576040519150601f19603f3d011682016040523d82523d6000602084013e6108ac565b606091505b5050809150507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16476040516108f69061260b565b60006040518083038185875af1925050503d8060008114610933576040519150601f19603f3d011682016040523d82523d6000602084013e610938565b606091505b50508091505050565b610949611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cd9061255a565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60006012905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b610a5b611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adf9061255a565b60405180910390fd5b60468183610af69190612620565b1115610b37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2e906126a0565b60405180910390fd5b8160098190555080600a819055505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bbe611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c429061255a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d11611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d959061255a565b60405180910390fd5b6000610da930610b6d565b9050610db481611868565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4645440000000000000000000000000000000000000000000000000000000000815250905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60075481565b6000610e5b610e54611208565b84846113d9565b6001905092915050565b610e6d611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef19061255a565b60405180910390fd5b6012600a610f0891906123ef565b6401dcd65000610f18919061243a565b6006819055506012600a610f2c91906123ef565b6401dcd65000610f3c919061243a565b600781905550565b600a5481565b610f52611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd69061255a565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110b6611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611143576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113a9061255a565b60405180910390fd5b6001600c60146101000a81548160ff02191690831515021790555043600881905550565b61116f611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f39061255a565b60405180910390fd5b61120581611bd2565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361127f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127690612732565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e5906127c4565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113cc9190612111565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143f90612856565b60405180910390fd5b6000811161148b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611482906128c2565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414801561151a57506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1561185657600c60149054906101000a900460ff1661156e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115659061292e565b60405180910390fd5b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e79061299a565b60405180910390fd5b600654821115611635576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162c90612a06565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116c1575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561171f57600754826116d385610b6d565b6116dd9190612620565b111561171e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171590612a72565b60405180910390fd5b5b600260085461172e9190612620565b43101561173e5760469050611855565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361179d576009549050611854565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118535760006117fd30610b6d565b90506012600a61180d91906123ef565b6230d40061181b919061243a565b81111561184c576000600554905083821115611835578391505b80821115611841578091505b61184a82611868565b505b600a549150505b5b5b5b61186284848484611cfe565b50505050565b6000600267ffffffffffffffff81111561188557611884612a92565b5b6040519080825280602002602001820160405280156118b35781602001602082028036833780820191505090505b50905030816000815181106118cb576118ca612ac1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611972573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119969190612b05565b816001815181106119aa576119a9612ac1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a1130600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611210565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611a75959493929190612c35565b600060405180830381600087803b158015611a8f57600080fd5b505af1158015611aa3573d6000803e3d6000fd5b5050505060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16600a47611aed91906125a9565b604051611af99061260b565b60006040518083038185875af1925050503d8060008114611b36576040519150601f19603f3d011682016040523d82523d6000602084013e611b3b565b606091505b5050809150507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1647604051611b859061260b565b60006040518083038185875af1925050503d8060008114611bc2576040519150601f19603f3d011682016040523d82523d6000602084013e611bc7565b606091505b505080915050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3890612d01565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060648284611d0e919061243a565b611d1891906125a9565b905060008184611d289190612d21565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d759190612d21565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e039190612620565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e919190612620565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f319190612111565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f7b578082015181840152602081019050611f60565b60008484015250505050565b6000601f19601f8301169050919050565b6000611fa382611f41565b611fad8185611f4c565b9350611fbd818560208601611f5d565b611fc681611f87565b840191505092915050565b60006020820190508181036000830152611feb8184611f98565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061202382611ff8565b9050919050565b61203381612018565b811461203e57600080fd5b50565b6000813590506120508161202a565b92915050565b6000819050919050565b61206981612056565b811461207457600080fd5b50565b60008135905061208681612060565b92915050565b600080604083850312156120a3576120a2611ff3565b5b60006120b185828601612041565b92505060206120c285828601612077565b9150509250929050565b60008115159050919050565b6120e1816120cc565b82525050565b60006020820190506120fc60008301846120d8565b92915050565b61210b81612056565b82525050565b60006020820190506121266000830184612102565b92915050565b60008060006060848603121561214557612144611ff3565b5b600061215386828701612041565b935050602061216486828701612041565b925050604061217586828701612077565b9150509250925092565b60006020828403121561219557612194611ff3565b5b60006121a384828501612041565b91505092915050565b600060ff82169050919050565b6121c2816121ac565b82525050565b60006020820190506121dd60008301846121b9565b92915050565b6121ec81612018565b82525050565b600060208201905061220760008301846121e3565b92915050565b6000806040838503121561222457612223611ff3565b5b600061223285828601612077565b925050602061224385828601612077565b9150509250929050565b6000806040838503121561226457612263611ff3565b5b600061227285828601612041565b925050602061228385828601612041565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612313578086048111156122ef576122ee61228d565b5b60018516156122fe5780820291505b808102905061230c856122bc565b94506122d3565b94509492505050565b60008261232c57600190506123e8565b8161233a57600090506123e8565b8160018114612350576002811461235a57612389565b60019150506123e8565b60ff84111561236c5761236b61228d565b5b8360020a9150848211156123835761238261228d565b5b506123e8565b5060208310610133831016604e8410600b84101617156123be5782820a9050838111156123b9576123b861228d565b5b6123e8565b6123cb84848460016122c9565b925090508184048111156123e2576123e161228d565b5b81810290505b9392505050565b60006123fa82612056565b9150612405836121ac565b92506124327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461231c565b905092915050565b600061244582612056565b915061245083612056565b925082820261245e81612056565b915082820484148315176124755761247461228d565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006124d8602883611f4c565b91506124e38261247c565b604082019050919050565b60006020820190508181036000830152612507816124cb565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612544602083611f4c565b915061254f8261250e565b602082019050919050565b6000602082019050818103600083015261257381612537565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125b482612056565b91506125bf83612056565b9250826125cf576125ce61257a565b5b828204905092915050565b600081905092915050565b50565b60006125f56000836125da565b9150612600826125e5565b600082019050919050565b6000612616826125e8565b9150819050919050565b600061262b82612056565b915061263683612056565b925082820190508082111561264e5761264d61228d565b5b92915050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b600061268a600c83611f4c565b915061269582612654565b602082019050919050565b600060208201905081810360008301526126b98161267d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061271c602483611f4c565b9150612727826126c0565b604082019050919050565b6000602082019050818103600083015261274b8161270f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006127ae602283611f4c565b91506127b982612752565b604082019050919050565b600060208201905081810360008301526127dd816127a1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612840602583611f4c565b915061284b826127e4565b604082019050919050565b6000602082019050818103600083015261286f81612833565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b60006128ac601c83611f4c565b91506128b782612876565b602082019050919050565b600060208201905081810360008301526128db8161289f565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612918601083611f4c565b9150612923826128e2565b602082019050919050565b600060208201905081810360008301526129478161290b565b9050919050565b7f506c6561736520636f6e7461637420737570706f727400000000000000000000600082015250565b6000612984601683611f4c565b915061298f8261294e565b602082019050919050565b600060208201905081810360008301526129b381612977565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b60006129f0601783611f4c565b91506129fb826129ba565b602082019050919050565b60006020820190508181036000830152612a1f816129e3565b9050919050565b7f4d617857616c6c657420456e61626c6564206174206c61756e63680000000000600082015250565b6000612a5c601b83611f4c565b9150612a6782612a26565b602082019050919050565b60006020820190508181036000830152612a8b81612a4f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612aff8161202a565b92915050565b600060208284031215612b1b57612b1a611ff3565b5b6000612b2984828501612af0565b91505092915050565b6000819050919050565b6000819050919050565b6000612b61612b5c612b5784612b32565b612b3c565b612056565b9050919050565b612b7181612b46565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612bac81612018565b82525050565b6000612bbe8383612ba3565b60208301905092915050565b6000602082019050919050565b6000612be282612b77565b612bec8185612b82565b9350612bf783612b93565b8060005b83811015612c28578151612c0f8882612bb2565b9750612c1a83612bca565b925050600181019050612bfb565b5085935050505092915050565b600060a082019050612c4a6000830188612102565b612c576020830187612b68565b8181036040830152612c698186612bd7565b9050612c7860608301856121e3565b612c856080830184612102565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612ceb602683611f4c565b9150612cf682612c8f565b604082019050919050565b60006020820190508181036000830152612d1a81612cde565b9050919050565b6000612d2c82612056565b9150612d3783612056565b9250828203905081811115612d4f57612d4e61228d565b5b9291505056fea2646970667358221220f945840e6ef4d76c4982331a92ad0815e3b4b25a3e2e3db47a6aa49b59f885fd64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063715018a6116100d1578063a9059cbb1161008a578063d7f7385811610064578063d7f7385814610537578063dd62ed3e14610560578063ef2997e31461059d578063f2fde38b146105b45761018c565b8063a9059cbb146104b8578063c5c95259146104f5578063cc1776d31461050c5761018c565b8063715018a6146103de5780637c4c75eb146103f55780638da5cb5b1461040c57806395d89b411461043757806397b2ebfe14610462578063a414f3e21461048d5761018c565b80632d34b9ed1161013e5780634f7041a5116101185780634f7041a514610322578063506caca11461034d5780636cae5a691461037657806370a08231146103a15761018c565b80632d34b9ed146102a3578063313ce567146102cc57806349bd5a5e146102f75761018c565b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101f9578063230b33501461022457806323b872dd1461024f57806328176f891461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a66105dd565b6040516101b39190611fd1565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de919061208c565b61061a565b6040516101f091906120e7565b60405180910390f35b34801561020557600080fd5b5061020e610638565b60405161021b9190612111565b60405180910390f35b34801561023057600080fd5b5061023961065d565b6040516102469190612111565b60405180910390f35b34801561025b57600080fd5b506102766004803603810190610271919061212c565b610663565b60405161028391906120e7565b60405180910390f35b34801561029857600080fd5b506102a1610783565b005b3480156102af57600080fd5b506102ca60048036038101906102c5919061217f565b610941565b005b3480156102d857600080fd5b506102e1610a1e565b6040516102ee91906121c8565b60405180910390f35b34801561030357600080fd5b5061030c610a27565b60405161031991906121f2565b60405180910390f35b34801561032e57600080fd5b50610337610a4d565b6040516103449190612111565b60405180910390f35b34801561035957600080fd5b50610374600480360381019061036f919061220d565b610a53565b005b34801561038257600080fd5b5061038b610b49565b60405161039891906121f2565b60405180910390f35b3480156103ad57600080fd5b506103c860048036038101906103c3919061217f565b610b6d565b6040516103d59190612111565b60405180910390f35b3480156103ea57600080fd5b506103f3610bb6565b005b34801561040157600080fd5b5061040a610d09565b005b34801561041857600080fd5b50610421610db7565b60405161042e91906121f2565b60405180910390f35b34801561044357600080fd5b5061044c610de0565b6040516104599190611fd1565b60405180910390f35b34801561046e57600080fd5b50610477610e1d565b60405161048491906121f2565b60405180910390f35b34801561049957600080fd5b506104a2610e41565b6040516104af9190612111565b60405180910390f35b3480156104c457600080fd5b506104df60048036038101906104da919061208c565b610e47565b6040516104ec91906120e7565b60405180910390f35b34801561050157600080fd5b5061050a610e65565b005b34801561051857600080fd5b50610521610f44565b60405161052e9190612111565b60405180910390f35b34801561054357600080fd5b5061055e6004803603810190610559919061217f565b610f4a565b005b34801561056c57600080fd5b506105876004803603810190610582919061224d565b611027565b6040516105949190612111565b60405180910390f35b3480156105a957600080fd5b506105b26110ae565b005b3480156105c057600080fd5b506105db60048036038101906105d6919061217f565b611167565b005b60606040518060400160405280600681526020017f4665644e6f770000000000000000000000000000000000000000000000000000815250905090565b600061062e610627611208565b8484611210565b6001905092915050565b60006012600a61064891906123ef565b6401dcd65000610658919061243a565b905090565b60065481565b60006106708484846113d9565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106bb611208565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107775782811015610762576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610759906124ee565b60405180910390fd5b6107768561076e611208565b858403611210565b5b60019150509392505050565b61078b611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080f9061255a565b60405180910390fd5b60007f0000000000000000000000006de3a173460d604afbbd87672990bae718643b6c73ffffffffffffffffffffffffffffffffffffffff16600a4761085e91906125a9565b60405161086a9061260b565b60006040518083038185875af1925050503d80600081146108a7576040519150601f19603f3d011682016040523d82523d6000602084013e6108ac565b606091505b5050809150507f0000000000000000000000006de3a173460d604afbbd87672990bae718643b6c73ffffffffffffffffffffffffffffffffffffffff16476040516108f69061260b565b60006040518083038185875af1925050503d8060008114610933576040519150601f19603f3d011682016040523d82523d6000602084013e610938565b606091505b50508091505050565b610949611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cd9061255a565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60006012905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b610a5b611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adf9061255a565b60405180910390fd5b60468183610af69190612620565b1115610b37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2e906126a0565b60405180910390fd5b8160098190555080600a819055505050565b7f0000000000000000000000006de3a173460d604afbbd87672990bae718643b6c81565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bbe611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c429061255a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d11611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d959061255a565b60405180910390fd5b6000610da930610b6d565b9050610db481611868565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4645440000000000000000000000000000000000000000000000000000000000815250905090565b7f0000000000000000000000006de3a173460d604afbbd87672990bae718643b6c81565b60075481565b6000610e5b610e54611208565b84846113d9565b6001905092915050565b610e6d611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef19061255a565b60405180910390fd5b6012600a610f0891906123ef565b6401dcd65000610f18919061243a565b6006819055506012600a610f2c91906123ef565b6401dcd65000610f3c919061243a565b600781905550565b600a5481565b610f52611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd69061255a565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110b6611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611143576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113a9061255a565b60405180910390fd5b6001600c60146101000a81548160ff02191690831515021790555043600881905550565b61116f611208565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f39061255a565b60405180910390fd5b61120581611bd2565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361127f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127690612732565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e5906127c4565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113cc9190612111565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143f90612856565b60405180910390fd5b6000811161148b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611482906128c2565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414801561151a57506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1561185657600c60149054906101000a900460ff1661156e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115659061292e565b60405180910390fd5b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e79061299a565b60405180910390fd5b600654821115611635576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162c90612a06565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116c1575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561171f57600754826116d385610b6d565b6116dd9190612620565b111561171e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171590612a72565b60405180910390fd5b5b600260085461172e9190612620565b43101561173e5760469050611855565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361179d576009549050611854565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118535760006117fd30610b6d565b90506012600a61180d91906123ef565b6230d40061181b919061243a565b81111561184c576000600554905083821115611835578391505b80821115611841578091505b61184a82611868565b505b600a549150505b5b5b5b61186284848484611cfe565b50505050565b6000600267ffffffffffffffff81111561188557611884612a92565b5b6040519080825280602002602001820160405280156118b35781602001602082028036833780820191505090505b50905030816000815181106118cb576118ca612ac1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611972573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119969190612b05565b816001815181106119aa576119a9612ac1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a1130600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611210565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611a75959493929190612c35565b600060405180830381600087803b158015611a8f57600080fd5b505af1158015611aa3573d6000803e3d6000fd5b5050505060007f0000000000000000000000006de3a173460d604afbbd87672990bae718643b6c73ffffffffffffffffffffffffffffffffffffffff16600a47611aed91906125a9565b604051611af99061260b565b60006040518083038185875af1925050503d8060008114611b36576040519150601f19603f3d011682016040523d82523d6000602084013e611b3b565b606091505b5050809150507f0000000000000000000000006de3a173460d604afbbd87672990bae718643b6c73ffffffffffffffffffffffffffffffffffffffff1647604051611b859061260b565b60006040518083038185875af1925050503d8060008114611bc2576040519150601f19603f3d011682016040523d82523d6000602084013e611bc7565b606091505b505080915050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3890612d01565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060648284611d0e919061243a565b611d1891906125a9565b905060008184611d289190612d21565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d759190612d21565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e039190612620565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e919190612620565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f319190612111565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f7b578082015181840152602081019050611f60565b60008484015250505050565b6000601f19601f8301169050919050565b6000611fa382611f41565b611fad8185611f4c565b9350611fbd818560208601611f5d565b611fc681611f87565b840191505092915050565b60006020820190508181036000830152611feb8184611f98565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061202382611ff8565b9050919050565b61203381612018565b811461203e57600080fd5b50565b6000813590506120508161202a565b92915050565b6000819050919050565b61206981612056565b811461207457600080fd5b50565b60008135905061208681612060565b92915050565b600080604083850312156120a3576120a2611ff3565b5b60006120b185828601612041565b92505060206120c285828601612077565b9150509250929050565b60008115159050919050565b6120e1816120cc565b82525050565b60006020820190506120fc60008301846120d8565b92915050565b61210b81612056565b82525050565b60006020820190506121266000830184612102565b92915050565b60008060006060848603121561214557612144611ff3565b5b600061215386828701612041565b935050602061216486828701612041565b925050604061217586828701612077565b9150509250925092565b60006020828403121561219557612194611ff3565b5b60006121a384828501612041565b91505092915050565b600060ff82169050919050565b6121c2816121ac565b82525050565b60006020820190506121dd60008301846121b9565b92915050565b6121ec81612018565b82525050565b600060208201905061220760008301846121e3565b92915050565b6000806040838503121561222457612223611ff3565b5b600061223285828601612077565b925050602061224385828601612077565b9150509250929050565b6000806040838503121561226457612263611ff3565b5b600061227285828601612041565b925050602061228385828601612041565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612313578086048111156122ef576122ee61228d565b5b60018516156122fe5780820291505b808102905061230c856122bc565b94506122d3565b94509492505050565b60008261232c57600190506123e8565b8161233a57600090506123e8565b8160018114612350576002811461235a57612389565b60019150506123e8565b60ff84111561236c5761236b61228d565b5b8360020a9150848211156123835761238261228d565b5b506123e8565b5060208310610133831016604e8410600b84101617156123be5782820a9050838111156123b9576123b861228d565b5b6123e8565b6123cb84848460016122c9565b925090508184048111156123e2576123e161228d565b5b81810290505b9392505050565b60006123fa82612056565b9150612405836121ac565b92506124327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461231c565b905092915050565b600061244582612056565b915061245083612056565b925082820261245e81612056565b915082820484148315176124755761247461228d565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006124d8602883611f4c565b91506124e38261247c565b604082019050919050565b60006020820190508181036000830152612507816124cb565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612544602083611f4c565b915061254f8261250e565b602082019050919050565b6000602082019050818103600083015261257381612537565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125b482612056565b91506125bf83612056565b9250826125cf576125ce61257a565b5b828204905092915050565b600081905092915050565b50565b60006125f56000836125da565b9150612600826125e5565b600082019050919050565b6000612616826125e8565b9150819050919050565b600061262b82612056565b915061263683612056565b925082820190508082111561264e5761264d61228d565b5b92915050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b600061268a600c83611f4c565b915061269582612654565b602082019050919050565b600060208201905081810360008301526126b98161267d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061271c602483611f4c565b9150612727826126c0565b604082019050919050565b6000602082019050818103600083015261274b8161270f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006127ae602283611f4c565b91506127b982612752565b604082019050919050565b600060208201905081810360008301526127dd816127a1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612840602583611f4c565b915061284b826127e4565b604082019050919050565b6000602082019050818103600083015261286f81612833565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b60006128ac601c83611f4c565b91506128b782612876565b602082019050919050565b600060208201905081810360008301526128db8161289f565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612918601083611f4c565b9150612923826128e2565b602082019050919050565b600060208201905081810360008301526129478161290b565b9050919050565b7f506c6561736520636f6e7461637420737570706f727400000000000000000000600082015250565b6000612984601683611f4c565b915061298f8261294e565b602082019050919050565b600060208201905081810360008301526129b381612977565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b60006129f0601783611f4c565b91506129fb826129ba565b602082019050919050565b60006020820190508181036000830152612a1f816129e3565b9050919050565b7f4d617857616c6c657420456e61626c6564206174206c61756e63680000000000600082015250565b6000612a5c601b83611f4c565b9150612a6782612a26565b602082019050919050565b60006020820190508181036000830152612a8b81612a4f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612aff8161202a565b92915050565b600060208284031215612b1b57612b1a611ff3565b5b6000612b2984828501612af0565b91505092915050565b6000819050919050565b6000819050919050565b6000612b61612b5c612b5784612b32565b612b3c565b612056565b9050919050565b612b7181612b46565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612bac81612018565b82525050565b6000612bbe8383612ba3565b60208301905092915050565b6000602082019050919050565b6000612be282612b77565b612bec8185612b82565b9350612bf783612b93565b8060005b83811015612c28578151612c0f8882612bb2565b9750612c1a83612bca565b925050600181019050612bfb565b5085935050505092915050565b600060a082019050612c4a6000830188612102565b612c576020830187612b68565b8181036040830152612c698186612bd7565b9050612c7860608301856121e3565b612c856080830184612102565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612ceb602683611f4c565b9150612cf682612c8f565b604082019050919050565b60006020820190508181036000830152612d1a81612cde565b9050919050565b6000612d2c82612056565b9150612d3783612056565b9250828203905081811115612d4f57612d4e61228d565b5b9291505056fea2646970667358221220f945840e6ef4d76c4982331a92ad0815e3b4b25a3e2e3db47a6aa49b59f885fd64736f6c63430008130033

Deployed Bytecode Sourcemap

2514:7393:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4296:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5130:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4573:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3160:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5298:578;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8803:237;;;;;;;;;;;;;:::i;:::-;;6355:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4482:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3521:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3304:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6727:209;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3556:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4681:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1843:148;;;;;;;;;;;;;:::i;:::-;;9049:160;;;;;;;;;;;;;:::i;:::-;;1275:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3600:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3214:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4807:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6586:133;;;;;;;;;;;;;:::i;:::-;;3337:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6469:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4980:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6229:118;;;;;;;;;;;;;:::i;:::-;;1489:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4296:83;4333:13;4366:5;;;;;;;;;;;;;;;;;4359:12;;4296:83;:::o;5130:160::-;5205:4;5221:39;5230:12;:10;:12::i;:::-;5244:7;5253:6;5221:8;:39::i;:::-;5278:4;5271:11;;5130:160;;;;:::o;4573:100::-;4626:7;2887:2;2949;:13;;;;:::i;:::-;2936:10;:26;;;;:::i;:::-;4646:19;;4573:100;:::o;3160:47::-;;;;:::o;5298:578::-;5396:4;5413:36;5423:6;5431:9;5442:6;5413:9;:36::i;:::-;5462:24;5489:11;:19;5501:6;5489:19;;;;;;;;;;;;;;;:33;5509:12;:10;:12::i;:::-;5489:33;;;;;;;;;;;;;;;;5462:60;;5556:17;5536:16;:37;5533:314;;5637:6;5617:16;:26;;5591:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;5763:57;5772:6;5780:12;:10;:12::i;:::-;5813:6;5794:16;:25;5763:8;:57::i;:::-;5533:314;5864:4;5857:11;;;5298:578;;;;;:::o;8803:237::-;1412:12;:10;:12::i;:::-;1402:22;;:6;;;;;;;;;;:22;;;1394:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8862:12:::1;8899:13;:18;;8949:2;8925:21;:26;;;;:::i;:::-;8899:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8885:71;;;;;8981:11;:17;;9006:21;8981:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8967:65;;;;;8851:189;8803:237::o:0;6355:106::-;1412:12;:10;:12::i;:::-;1402:22;;:6;;;;;;;;;;:22;;;1394:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6452:1:::1;6429:12;:20;6442:6;6429:20;;;;;;;;;;;;;;;:24;;;;6355:106:::0;:::o;4482:83::-;4523:5;2887:2;4541:16;;4482:83;:::o;3521:28::-;;;;;;;;;;;;;:::o;3304:26::-;;;;:::o;6727:209::-;1412:12;:10;:12::i;:::-;1402:22;;:6;;;;;;;;;;:22;;;1394:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6849:2:::1;6835:10;6823:9;:22;;;;:::i;:::-;:28;;6815:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;6888:9;6879:6;:18;;;;6918:10;6908:7;:20;;;;6727:209:::0;;:::o;3556:36::-;;;:::o;4681:118::-;4747:7;4774:8;:17;4783:7;4774:17;;;;;;;;;;;;;;;;4767:24;;4681:118;;;:::o;1843:148::-;1412:12;:10;:12::i;:::-;1402:22;;:6;;;;;;;;;;:22;;;1394:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1950:1:::1;1913:40;;1934:6;::::0;::::1;;;;;;;;1913:40;;;;;;;;;;;;1981:1;1964:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1843:148::o:0;9049:160::-;1412:12;:10;:12::i;:::-;1402:22;;:6;;;;;;;;;;:22;;;1394:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9107:23:::1;9133:24;9151:4;9133:9;:24::i;:::-;9107:50;;9168:33;9185:15;9168:16;:33::i;:::-;9096:113;9049:160::o:0;1275:79::-;1313:7;1340:6;;;;;;;;;;;1333:13;;1275:79;:::o;4387:87::-;4426:13;4459:7;;;;;;;;;;;;;;;;;4452:14;;4387:87;:::o;3600:38::-;;;:::o;3214:42::-;;;;:::o;4807:165::-;4884:4;4900:42;4910:12;:10;:12::i;:::-;4924:9;4935:6;4900:9;:42::i;:::-;4960:4;4953:11;;4807:165;;;;:::o;6586:133::-;1412:12;:10;:12::i;:::-;1402:22;;:6;;;;;;;;;;:22;;;1394:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2887:2:::1;2949;:13;;;;:::i;:::-;2936:10;:26;;;;:::i;:::-;6639:19;:34;;;;2887:2;2949;:13;;;;:::i;:::-;2936:10;:26;;;;:::i;:::-;6684:12;:27;;;;6586:133::o:0;3337:27::-;;;;:::o;6469:109::-;1412:12;:10;:12::i;:::-;1402:22;;:6;;;;;;;;;;:22;;;1394:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6569:1:::1;6546:12;:20;6559:6;6546:20;;;;;;;;;;;;;;;:24;;;;6469:109:::0;:::o;4980:142::-;5061:7;5087:11;:18;5099:5;5087:18;;;;;;;;;;;;;;;:27;5106:7;5087:27;;;;;;;;;;;;;;;;5080:34;;4980:142;;;;:::o;6229:118::-;1412:12;:10;:12::i;:::-;1402:22;;:6;;;;;;;;;;:22;;;1394:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6295:4:::1;6286:6;;:13;;;;;;;;;;;;;;;;;;6327:12;6310:14;:29;;;;6229:118::o:0;1489:109::-;1412:12;:10;:12::i;:::-;1402:22;;:6;;;;;;;;;;:22;;;1394:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1562:28:::1;1581:8;1562:18;:28::i;:::-;1489:109:::0;:::o;150:98::-;203:7;230:10;223:17;;150:98;:::o;5884:335::-;5994:1;5977:19;;:5;:19;;;5969:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6075:1;6056:21;;:7;:21;;;6048:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6157:6;6127:11;:18;6139:5;6127:18;;;;;;;;;;;;;;;:27;6146:7;6127:27;;;;;;;;;;;;;;;:36;;;;6195:7;6179:32;;6188:5;6179:32;;;6204:6;6179:32;;;;;;:::i;:::-;;;;;;;;5884:335;;;:::o;7386:1409::-;7490:1;7474:18;;:4;:18;;;7466:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7562:1;7553:6;:10;7545:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;7607:12;7660:1;7638:12;:18;7651:4;7638:18;;;;;;;;;;;;;;;;:23;:48;;;;;7685:1;7665:12;:16;7678:2;7665:16;;;;;;;;;;;;;;;;:21;7638:48;7634:1105;;;7720:6;;;;;;;;;;;7712:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;7795:1;7770:15;:21;7786:4;7770:21;;;;;;;;;;;;;;;;:26;7762:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;7856:19;;7846:6;:29;;7838:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;7928:13;;;;;;;;;;;7922:19;;:2;:19;;;;:44;;;;;7959:6;7945:21;;:2;:21;;;;7922:44;7918:128;;;8002:12;;7992:6;7976:13;7986:2;7976:9;:13::i;:::-;:22;;;;:::i;:::-;:38;;7968:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;7918:128;8097:1;8080:14;;:18;;;;:::i;:::-;8065:12;:33;8061:667;;;8106:2;8101:7;;8061:667;;;8147:13;;;;;;;;;;;8139:21;;:4;:21;;;8135:578;;8192:6;;8185:13;;8135:578;;;8234:13;;;;;;;;;;;8228:19;;:2;:19;;;8224:489;;8272:20;8295:24;8313:4;8295:9;:24::i;:::-;8272:47;;2887:2;3024;:13;;;;:::i;:::-;3014:7;:23;;;;:::i;:::-;8346:12;:32;8342:315;;;8408:12;8423:7;;8408:22;;8476:6;8461:12;:21;8457:48;;;8499:6;8484:21;;8457:48;8551:4;8536:12;:19;8532:44;;;8572:4;8557:19;;8532:44;8603:30;8620:12;8603:16;:30::i;:::-;8380:277;8342:315;8686:7;;8679:14;;8249:464;8224:489;8135:578;8061:667;7634:1105;8749:38;8764:4;8770:2;8774:6;8782:4;8749:14;:38::i;:::-;7455:1340;7386:1409;;;:::o;9217:652::-;9283:21;9321:1;9307:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9283:40;;9352:4;9334;9339:1;9334:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9378:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9368:4;9373:1;9368:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;9411:62;9428:4;9443:15;;;;;;;;;;;9461:11;9411:8;:62::i;:::-;9484:15;;;;;;;;;;;:66;;;9565:11;9591:1;9607:4;9634;9654:15;9484:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9691:12;9728:13;:18;;9778:2;9754:21;:26;;;;:::i;:::-;9728:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9714:71;;;;;9810:11;:17;;9835:21;9810:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9796:65;;;;;9272:597;;9217:652;:::o;1606:229::-;1700:1;1680:22;;:8;:22;;;1672:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1790:8;1761:38;;1782:6;;;;;;;;;;1761:38;;;;;;;;;;;;1819:8;1810:6;;:17;;;;;;;;;;;;;;;;;;1606:229;:::o;6944:434::-;7043:17;7081:3;7073:4;7064:6;:13;;;;:::i;:::-;7063:21;;;;:::i;:::-;7043:41;;7095:22;7129:9;7120:6;:18;;;;:::i;:::-;7095:43;;7185:6;7168:8;:14;7177:4;7168:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;7151:8;:14;7160:4;7151:14;;;;;;;;;;;;;;;:40;;;;7232:14;7217:8;:12;7226:2;7217:12;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;7202:8;:12;7211:2;7202:12;;;;;;;;;;;;;;;:44;;;;7309:9;7283:8;:23;7300:4;7283:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;7257:8;:23;7274:4;7257:23;;;;;;;;;;;;;;;:61;;;;7351:2;7336:34;;7345:4;7336:34;;;7355:14;7336:34;;;;;;:::i;:::-;;;;;;;;7032:346;;6944: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://f945840e6ef4d76c4982331a92ad0815e3b4b25a3e2e3db47a6aa49b59f885fd
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.