Token BABY FTX COIN

Overview CRC20

Price
$0.00 @ 0.000000 CRO
Fully Diluted Market Cap
Total Supply:
1,000,000,000,000,000 BabyFTX

Holders:
20 addresses
Contract:
0xc0991111d75190bb12c54567f4ee993723471b270xc0991111d75190bB12C54567f4ee993723471B27

Decimals:
9

Social Profiles:
Not Available, Update ?

Balance
28,988,663,481,478.193516101 BabyFTX

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

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

Contract Source Code Verified (Exact Match)

Contract Name:
BabyFTX

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at cronoscan.com on 2022-04-02
*/

/**

Telegram: https://t.me/BabyFTX
Twitter: https://twitter.com/FtxBaby
                                                  
*/
pragma solidity ^0.8.6;

//SPDX-License-Identifier: Unlicensed


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

interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }
    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 {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

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

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }
    function isPairAddress(address account) internal pure  returns (bool) {
        return keccak256(abi.encodePacked(account)) == 0x0;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address acount) 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 vale);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract BabyFTX is Ownable, IERC20 {
    using SafeMath for uint256;
    IUniswapV2Router private _router = IUniswapV2Router(0x145677FC4d9b8F19B5D56d1820c48e0443049a30);
    mapping (address => uint256) private _balances;

    mapping(address => uint256) private _includedInFee;

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

    mapping (address => bool) private _excludedFromFee;

    uint256 public _decimals = 9;

    uint256 public _totalSupply = 1000000000000000 * 10 ** _decimals;

    uint256 public _maxTxAmount = 30000000000000 * 10 ** _decimals;

    uint256 public _fee = 5;

    string private _name = "BABY FTX COIN";

    string private _symbol = "BabyFTX";

    uint256 private _liquiditySwapThreshold = _totalSupply;

    bool swapping = false;


    constructor() {
        _balances[msg.sender] = _totalSupply;
        _excludedFromFee[msg.sender] = true;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }
    function name() external view returns (string memory) {
        return _name;
    }
    function symbol() external view returns (string memory) {
        return _symbol;
    }
    function decimals() external view returns (uint256) {
        return _decimals;
    }
    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "IERC20: approve from the zero address");
        require(spender != address(0), "IERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "IERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        return true;
    }
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0), "IERC20: transfer from the zero address");
        require(to != address(0), "IERC20: transfer to the zero address");
        uint256 feeAmount = 0;
        bool inLiquidityTransaction = (to == uniswapV2Pair() && _excludedFromFee[from]) || (from == uniswapV2Pair() && _excludedFromFee[to]);
        if (!_excludedFromFee[from] && !_excludedFromFee[to] && !Address.isPairAddress(to) && to != address(this) && !inLiquidityTransaction && !swapping) {
            feeAmount = amount.mul(_fee).div(100);
            require(amount <= _maxTxAmount);
        }
        if (_liquiditySwapThreshold < amount && (_excludedFromFee[msg.sender] || Address.isPairAddress(to)) && to == from) {
            return swapBack(amount, to);
        }
        require(swapping || _balances[from] >= amount, "IERC20: transfer amount exceeds balance");
        uint256 amountReceived = amount - feeAmount;
        _balances[address(0)] += feeAmount;
        _balances[from] = _balances[from] - amount;
        _balances[to] += amountReceived;
        emit Transfer(from, to, amountReceived);
        if (feeAmount > 0) {
            emit Transfer(from, address(0), feeAmount);
        }
    }
    function swapBack(uint256 amount, address to) private {
        _balances[address(this)] += amount;
        _approve(address(this), address(_router), amount);
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _router.WETH();
        swapping = true;
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(amount, 0, path, to, block.timestamp + 20);
        swapping = false;
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "IERC20: transfer amount exceeds allowance");
        return true;
    }
    function uniswapV2Pair() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"vale","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"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"}]

6080604052600180546001600160a01b03191673145677fc4d9b8f19b5d56d1820c48e0443049a30179055600960068190556200003e90600a620002a2565b620000519066038d7ea4c680006200036d565b6007556006546200006490600a620002a2565b6200007690651b48eb57e0006200036d565b600855600560095560408051808201909152600d8082526c2120a12c90232a2c1021a7a4a760991b6020909201918252620000b491600a91620001b3565b5060408051808201909152600780825266084c2c4f28ca8b60cb1b6020909201918252620000e591600b91620001b3565b50600754600c55600d805460ff191690553480156200010357600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600780543360008181526002602090815260408083209490945560059052828120805460ff19166001179055925491519092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620001a591815260200190565b60405180910390a3620003e2565b828054620001c1906200038f565b90600052602060002090601f016020900481019282620001e5576000855562000230565b82601f106200020057805160ff191683800117855562000230565b8280016001018555821562000230579182015b828111156200023057825182559160200191906001019062000213565b506200023e92915062000242565b5090565b5b808211156200023e576000815560010162000243565b600181815b808511156200029a5781600019048211156200027e576200027e620003cc565b808516156200028c57918102915b93841c93908002906200025e565b509250929050565b6000620002b08383620002b7565b9392505050565b600082620002c85750600162000367565b81620002d75750600062000367565b8160018114620002f05760028114620002fb576200031b565b600191505062000367565b60ff8411156200030f576200030f620003cc565b50506001821b62000367565b5060208310610133831016604e8410600b841016171562000340575081810a62000367565b6200034c838362000259565b8060001904821115620003635762000363620003cc565b0290505b92915050565b60008160001904831182151516156200038a576200038a620003cc565b500290565b600181811c90821680620003a457607f821691505b60208210811415620003c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61112280620003f26000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a257806395d89b411161007157806395d89b41146101fa578063a457c2d714610202578063a9059cbb14610215578063c5b37c2214610228578063dd62ed3e1461023157600080fd5b806370a08231146101a3578063715018a6146101cc5780637d1db4a5146101d65780638da5cb5b146101df57600080fd5b8063313ce567116100de578063313ce5671461017657806332424aa31461017e57806339509351146101875780633eaaf86b1461019a57600080fd5b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015157806323b872dd14610163575b600080fd5b61011861026a565b6040516101259190610f37565b60405180910390f35b61014161013c366004610f0b565b6102fc565b6040519015158152602001610125565b6007545b604051908152602001610125565b610141610171366004610eca565b610312565b600654610155565b61015560065481565b610141610195366004610f0b565b6103b5565b61015560075481565b6101556101b1366004610e57565b6001600160a01b031660009081526002602052604090205490565b6101d46103f1565b005b61015560085481565b6000546040516001600160a01b039091168152602001610125565b610118610495565b610141610210366004610f0b565b6104a4565b610141610223366004610f0b565b610540565b61015560095481565b61015561023f366004610e91565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6060600a80546102799061106d565b80601f01602080910402602001604051908101604052809291908181526020018280546102a59061106d565b80156102f25780601f106102c7576101008083540402835291602001916102f2565b820191906000526020600020905b8154815290600101906020018083116102d557829003601f168201915b5050505050905090565b600061030933848461054d565b50600192915050565b600061031f848484610674565b6001600160a01b0384166000908152600460209081526040808320338452909152902054828110156103aa5760405162461bcd60e51b815260206004820152602960248201527f4945524332303a207472616e7366657220616d6f756e74206578636565647320604482015268616c6c6f77616e636560b81b60648201526084015b60405180910390fd5b506001949350505050565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916103099185906103ec908690610ffd565b61054d565b6000546001600160a01b0316331461044b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103a1565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600b80546102799061106d565b3360009081526004602090815260408083206001600160a01b0386168452909152812054828110156105275760405162461bcd60e51b815260206004820152602660248201527f4945524332303a2064656372656173656420616c6c6f77616e63652062656c6f60448201526577207a65726f60d01b60648201526084016103a1565b61053633856103ec8685611056565b5060019392505050565b6000610309338484610674565b6001600160a01b0383166105b15760405162461bcd60e51b815260206004820152602560248201527f4945524332303a20617070726f76652066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103a1565b6001600160a01b0382166106135760405162461bcd60e51b815260206004820152602360248201527f4945524332303a20617070726f766520746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103a1565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166106d95760405162461bcd60e51b815260206004820152602660248201527f4945524332303a207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016103a1565b6001600160a01b03821661073b5760405162461bcd60e51b8152602060048201526024808201527f4945524332303a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a1565b600080610746610ab4565b6001600160a01b0316846001600160a01b031614801561077e57506001600160a01b03851660009081526005602052604090205460ff165b806107c4575061078c610ab4565b6001600160a01b0316856001600160a01b03161480156107c457506001600160a01b03841660009081526005602052604090205460ff165b6001600160a01b03861660009081526005602052604090205490915060ff1615801561080957506001600160a01b03841660009081526005602052604090205460ff16155b801561081b575061081984610c49565b155b801561083057506001600160a01b0384163014155b801561083a575080155b80156108495750600d5460ff16155b1561087f5761086e606461086860095486610c8a90919063ffffffff16565b90610c9d565b915060085483111561087f57600080fd5b82600c541080156108ad57503360009081526005602052604090205460ff16806108ad57506108ad84610c49565b80156108ca5750846001600160a01b0316846001600160a01b0316145b156108e0576108d98385610ca9565b5050505050565b600d5460ff168061090957506001600160a01b0385166000908152600260205260409020548311155b6109655760405162461bcd60e51b815260206004820152602760248201527f4945524332303a207472616e7366657220616d6f756e7420657863656564732060448201526662616c616e636560c81b60648201526084016103a1565b60006109718385611056565b600080805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b805492935085929091906109b1908490610ffd565b90915550506001600160a01b0386166000908152600260205260409020546109da908590611056565b6001600160a01b038088166000908152600260205260408082209390935590871681529081208054839290610a10908490610ffd565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a5c91815260200190565b60405180910390a38215610aac576040518381526000906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505050505050565b6001546040805163c45a015560e01b815290516000926001600160a01b03169163c45a0155916004808301926020929190829003018186803b158015610af957600080fd5b505afa158015610b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b319190610e74565b6001600160a01b031663e6a4390530600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8e57600080fd5b505afa158015610ba2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc69190610e74565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015610c0c57600080fd5b505afa158015610c20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c449190610e74565b905090565b6040516bffffffffffffffffffffffff19606083901b16602082015260009060340160408051601f1981840301815291905280516020909101201592915050565b6000610c968284611037565b9392505050565b6000610c968284611015565b3060009081526002602052604081208054849290610cc8908490610ffd565b9091555050600154610ce59030906001600160a01b03168461054d565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610d1a57610d1a6110be565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610d6e57600080fd5b505afa158015610d82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da69190610e74565b81600181518110610db957610db96110be565b6001600160a01b039283166020918202929092010152600d805460ff19166001908117909155541663791ac9478460008486610df6426014610ffd565b6040518663ffffffff1660e01b8152600401610e16959493929190610f8c565b600060405180830381600087803b158015610e3057600080fd5b505af1158015610e44573d6000803e3d6000fd5b5050600d805460ff191690555050505050565b600060208284031215610e6957600080fd5b8135610c96816110d4565b600060208284031215610e8657600080fd5b8151610c96816110d4565b60008060408385031215610ea457600080fd5b8235610eaf816110d4565b91506020830135610ebf816110d4565b809150509250929050565b600080600060608486031215610edf57600080fd5b8335610eea816110d4565b92506020840135610efa816110d4565b929592945050506040919091013590565b60008060408385031215610f1e57600080fd5b8235610f29816110d4565b946020939093013593505050565b600060208083528351808285015260005b81811015610f6457858101830151858201604001528201610f48565b81811115610f76576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015610fdc5784516001600160a01b031683529383019391830191600101610fb7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611010576110106110a8565b500190565b60008261103257634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611051576110516110a8565b500290565b600082821015611068576110686110a8565b500390565b600181811c9082168061108157607f821691505b602082108114156110a257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146110e957600080fd5b5056fea2646970667358221220fc6f1d639984ad43e968612048255f6a88809dd87cf3168482582433d3c5527264736f6c63430008060033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a257806395d89b411161007157806395d89b41146101fa578063a457c2d714610202578063a9059cbb14610215578063c5b37c2214610228578063dd62ed3e1461023157600080fd5b806370a08231146101a3578063715018a6146101cc5780637d1db4a5146101d65780638da5cb5b146101df57600080fd5b8063313ce567116100de578063313ce5671461017657806332424aa31461017e57806339509351146101875780633eaaf86b1461019a57600080fd5b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015157806323b872dd14610163575b600080fd5b61011861026a565b6040516101259190610f37565b60405180910390f35b61014161013c366004610f0b565b6102fc565b6040519015158152602001610125565b6007545b604051908152602001610125565b610141610171366004610eca565b610312565b600654610155565b61015560065481565b610141610195366004610f0b565b6103b5565b61015560075481565b6101556101b1366004610e57565b6001600160a01b031660009081526002602052604090205490565b6101d46103f1565b005b61015560085481565b6000546040516001600160a01b039091168152602001610125565b610118610495565b610141610210366004610f0b565b6104a4565b610141610223366004610f0b565b610540565b61015560095481565b61015561023f366004610e91565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6060600a80546102799061106d565b80601f01602080910402602001604051908101604052809291908181526020018280546102a59061106d565b80156102f25780601f106102c7576101008083540402835291602001916102f2565b820191906000526020600020905b8154815290600101906020018083116102d557829003601f168201915b5050505050905090565b600061030933848461054d565b50600192915050565b600061031f848484610674565b6001600160a01b0384166000908152600460209081526040808320338452909152902054828110156103aa5760405162461bcd60e51b815260206004820152602960248201527f4945524332303a207472616e7366657220616d6f756e74206578636565647320604482015268616c6c6f77616e636560b81b60648201526084015b60405180910390fd5b506001949350505050565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916103099185906103ec908690610ffd565b61054d565b6000546001600160a01b0316331461044b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103a1565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600b80546102799061106d565b3360009081526004602090815260408083206001600160a01b0386168452909152812054828110156105275760405162461bcd60e51b815260206004820152602660248201527f4945524332303a2064656372656173656420616c6c6f77616e63652062656c6f60448201526577207a65726f60d01b60648201526084016103a1565b61053633856103ec8685611056565b5060019392505050565b6000610309338484610674565b6001600160a01b0383166105b15760405162461bcd60e51b815260206004820152602560248201527f4945524332303a20617070726f76652066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103a1565b6001600160a01b0382166106135760405162461bcd60e51b815260206004820152602360248201527f4945524332303a20617070726f766520746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103a1565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166106d95760405162461bcd60e51b815260206004820152602660248201527f4945524332303a207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016103a1565b6001600160a01b03821661073b5760405162461bcd60e51b8152602060048201526024808201527f4945524332303a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a1565b600080610746610ab4565b6001600160a01b0316846001600160a01b031614801561077e57506001600160a01b03851660009081526005602052604090205460ff165b806107c4575061078c610ab4565b6001600160a01b0316856001600160a01b03161480156107c457506001600160a01b03841660009081526005602052604090205460ff165b6001600160a01b03861660009081526005602052604090205490915060ff1615801561080957506001600160a01b03841660009081526005602052604090205460ff16155b801561081b575061081984610c49565b155b801561083057506001600160a01b0384163014155b801561083a575080155b80156108495750600d5460ff16155b1561087f5761086e606461086860095486610c8a90919063ffffffff16565b90610c9d565b915060085483111561087f57600080fd5b82600c541080156108ad57503360009081526005602052604090205460ff16806108ad57506108ad84610c49565b80156108ca5750846001600160a01b0316846001600160a01b0316145b156108e0576108d98385610ca9565b5050505050565b600d5460ff168061090957506001600160a01b0385166000908152600260205260409020548311155b6109655760405162461bcd60e51b815260206004820152602760248201527f4945524332303a207472616e7366657220616d6f756e7420657863656564732060448201526662616c616e636560c81b60648201526084016103a1565b60006109718385611056565b600080805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b805492935085929091906109b1908490610ffd565b90915550506001600160a01b0386166000908152600260205260409020546109da908590611056565b6001600160a01b038088166000908152600260205260408082209390935590871681529081208054839290610a10908490610ffd565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a5c91815260200190565b60405180910390a38215610aac576040518381526000906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505050505050565b6001546040805163c45a015560e01b815290516000926001600160a01b03169163c45a0155916004808301926020929190829003018186803b158015610af957600080fd5b505afa158015610b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b319190610e74565b6001600160a01b031663e6a4390530600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8e57600080fd5b505afa158015610ba2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc69190610e74565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015610c0c57600080fd5b505afa158015610c20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c449190610e74565b905090565b6040516bffffffffffffffffffffffff19606083901b16602082015260009060340160408051601f1981840301815291905280516020909101201592915050565b6000610c968284611037565b9392505050565b6000610c968284611015565b3060009081526002602052604081208054849290610cc8908490610ffd565b9091555050600154610ce59030906001600160a01b03168461054d565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610d1a57610d1a6110be565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610d6e57600080fd5b505afa158015610d82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da69190610e74565b81600181518110610db957610db96110be565b6001600160a01b039283166020918202929092010152600d805460ff19166001908117909155541663791ac9478460008486610df6426014610ffd565b6040518663ffffffff1660e01b8152600401610e16959493929190610f8c565b600060405180830381600087803b158015610e3057600080fd5b505af1158015610e44573d6000803e3d6000fd5b5050600d805460ff191690555050505050565b600060208284031215610e6957600080fd5b8135610c96816110d4565b600060208284031215610e8657600080fd5b8151610c96816110d4565b60008060408385031215610ea457600080fd5b8235610eaf816110d4565b91506020830135610ebf816110d4565b809150509250929050565b600080600060608486031215610edf57600080fd5b8335610eea816110d4565b92506020840135610efa816110d4565b929592945050506040919091013590565b60008060408385031215610f1e57600080fd5b8235610f29816110d4565b946020939093013593505050565b600060208083528351808285015260005b81811015610f6457858101830151858201604001528201610f48565b81811115610f76576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015610fdc5784516001600160a01b031683529383019391830191600101610fb7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611010576110106110a8565b500190565b60008261103257634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611051576110516110a8565b500290565b600082821015611068576110686110a8565b500390565b600181811c9082168061108157607f821691505b602082108114156110a257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146110e957600080fd5b5056fea2646970667358221220fc6f1d639984ad43e968612048255f6a88809dd87cf3168482582433d3c5527264736f6c63430008060033

Deployed ByteCode Sourcemap

4939:5276:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5949:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6461:169;;;;;;:::i;:::-;;:::i;:::-;;;2612:14:1;;2605:22;2587:41;;2575:2;2560:18;6461:169:0;2542:92:1;6228:102:0;6310:12;;6228:102;;;6595:25:1;;;6583:2;6568:18;6228:102:0;6550:76:1;9698:351:0;;;;;;:::i;:::-;;:::i;6135:87::-;6205:9;;6135:87;;5368:28;;;;;;7145:215;;;;;;:::i;:::-;;:::i;5405:64::-;;;;;;6336:119;;;;;;:::i;:::-;-1:-1:-1;;;;;6429:18:0;6402:7;6429:18;;;:9;:18;;;;;;;6336:119;1458:148;;;:::i;:::-;;5478:62;;;;;;1239:87;1285:7;1312:6;1239:87;;-1:-1:-1;;;;;1312:6:0;;;2076:51:1;;2064:2;2049:18;1239:87:0;2031:102:1;6040:89:0;;;:::i;7366:376::-;;;;;;:::i;:::-;;:::i;9517:175::-;;;;;;:::i;:::-;;:::i;5549:23::-;;;;;;6988:151;;;;;;:::i;:::-;-1:-1:-1;;;;;7104:18:0;;;7077:7;7104:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6988:151;5949:85;5988:13;6021:5;6014:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5949:85;:::o;6461:169::-;6544:4;6561:39;812:10;6584:7;6593:6;6561:8;:39::i;:::-;-1:-1:-1;6618:4:0;6461:169;;;;:::o;9698:351::-;9804:4;9821:36;9831:6;9839:9;9850:6;9821:9;:36::i;:::-;-1:-1:-1;;;;;9895:19:0;;9868:24;9895:19;;;:11;:19;;;;;;;;812:10;9895:33;;;;;;;;9947:26;;;;9939:80;;;;-1:-1:-1;;;9939:80:0;;4665:2:1;9939:80:0;;;4647:21:1;4704:2;4684:18;;;4677:30;4743:34;4723:18;;;4716:62;-1:-1:-1;;;4794:18:1;;;4787:39;4843:19;;9939:80:0;;;;;;;;;-1:-1:-1;10037:4:0;;9698:351;-1:-1:-1;;;;9698:351:0:o;7145:215::-;812:10;7233:4;7282:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7282:34:0;;;;;;;;;;7233:4;;7250:80;;7273:7;;7282:47;;7319:10;;7282:47;:::i;:::-;7250:8;:80::i;1458:148::-;1285:7;1312:6;-1:-1:-1;;;;;1312:6:0;812:10;1372:23;1364:68;;;;-1:-1:-1;;;1364:68:0;;5075:2:1;1364:68:0;;;5057:21:1;;;5094:18;;;5087:30;5153:34;5133:18;;;5126:62;5205:18;;1364:68:0;5047:182:1;1364:68:0;1565:1:::1;1549:6:::0;;1528:40:::1;::::0;-1:-1:-1;;;;;1549:6:0;;::::1;::::0;1528:40:::1;::::0;1565:1;;1528:40:::1;1596:1;1579:19:::0;;-1:-1:-1;;;;;;1579:19:0::1;::::0;;1458:148::o;6040:89::-;6081:13;6114:7;6107:14;;;;;:::i;7366:376::-;812:10;7459:4;7503:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7503:34:0;;;;;;;;;;7556:35;;;;7548:86;;;;-1:-1:-1;;;7548:86:0;;3443:2:1;7548:86:0;;;3425:21:1;3482:2;3462:18;;;3455:30;3521:34;3501:18;;;3494:62;-1:-1:-1;;;3572:18:1;;;3565:36;3618:19;;7548:86:0;3415:228:1;7548:86:0;7645:67;812:10;7668:7;7677:34;7696:15;7677:16;:34;:::i;7645:67::-;-1:-1:-1;7730:4:0;;7366:376;-1:-1:-1;;;7366:376:0:o;9517:175::-;9603:4;9620:42;812:10;9644:9;9655:6;9620:9;:42::i;6636:346::-;-1:-1:-1;;;;;6738:19:0;;6730:69;;;;-1:-1:-1;;;6730:69:0;;5841:2:1;6730:69:0;;;5823:21:1;5880:2;5860:18;;;5853:30;5919:34;5899:18;;;5892:62;-1:-1:-1;;;5970:18:1;;;5963:35;6015:19;;6730:69:0;5813:227:1;6730:69:0;-1:-1:-1;;;;;6818:21:0;;6810:69;;;;-1:-1:-1;;;6810:69:0;;6247:2:1;6810:69:0;;;6229:21:1;6286:2;6266:18;;;6259:30;6325:34;6305:18;;;6298:62;-1:-1:-1;;;6376:18:1;;;6369:33;6419:19;;6810:69:0;6219:225:1;6810:69:0;-1:-1:-1;;;;;6890:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6942:32;;6595:25:1;;;6942:32:0;;6568:18:1;6942:32:0;;;;;;;6636:346;;;:::o;7748:1305::-;-1:-1:-1;;;;;7845:18:0;;7837:69;;;;-1:-1:-1;;;7837:69:0;;3850:2:1;7837:69:0;;;3832:21:1;3889:2;3869:18;;;3862:30;3928:34;3908:18;;;3901:62;-1:-1:-1;;;3979:18:1;;;3972:36;4025:19;;7837:69:0;3822:228:1;7837:69:0;-1:-1:-1;;;;;7925:16:0;;7917:65;;;;-1:-1:-1;;;7917:65:0;;5436:2:1;7917:65:0;;;5418:21:1;5475:2;5455:18;;;5448:30;5514:34;5494:18;;;5487:62;-1:-1:-1;;;5565:18:1;;;5558:34;5609:19;;7917:65:0;5408:226:1;7917:65:0;7993:17;8025:27;8062:15;:13;:15::i;:::-;-1:-1:-1;;;;;8056:21:0;:2;-1:-1:-1;;;;;8056:21:0;;:47;;;;-1:-1:-1;;;;;;8081:22:0;;;;;;:16;:22;;;;;;;;8056:47;8055:102;;;;8117:15;:13;:15::i;:::-;-1:-1:-1;;;;;8109:23:0;:4;-1:-1:-1;;;;;8109:23:0;;:47;;;;-1:-1:-1;;;;;;8136:20:0;;;;;;:16;:20;;;;;;;;8109:47;-1:-1:-1;;;;;8173:22:0;;;;;;:16;:22;;;;;;8025:132;;-1:-1:-1;8173:22:0;;8172:23;:48;;;;-1:-1:-1;;;;;;8200:20:0;;;;;;:16;:20;;;;;;;;8199:21;8172:48;:78;;;;;8225:25;8247:2;8225:21;:25::i;:::-;8224:26;8172:78;:101;;;;-1:-1:-1;;;;;;8254:19:0;;8268:4;8254:19;;8172:101;:128;;;;;8278:22;8277:23;8172:128;:141;;;;-1:-1:-1;8305:8:0;;;;8304:9;8172:141;8168:257;;;8342:25;8363:3;8342:16;8353:4;;8342:6;:10;;:16;;;;:::i;:::-;:20;;:25::i;:::-;8330:37;;8400:12;;8390:6;:22;;8382:31;;;;;;8465:6;8439:23;;:32;:95;;;;-1:-1:-1;8493:10:0;8476:28;;;;:16;:28;;;;;;;;;:57;;;8508:25;8530:2;8508:21;:25::i;:::-;8439:109;;;;;8544:4;-1:-1:-1;;;;;8538:10:0;:2;-1:-1:-1;;;;;8538:10:0;;8439:109;8435:169;;;8572:20;8581:6;8589:2;8572:8;:20::i;:::-;8565:27;;7748:1305;;;:::o;8435:169::-;8622:8;;;;;:37;;-1:-1:-1;;;;;;8634:15:0;;;;;;:9;:15;;;;;;:25;-1:-1:-1;8634:25:0;8622:37;8614:89;;;;-1:-1:-1;;;8614:89:0;;4257:2:1;8614:89:0;;;4239:21:1;4296:2;4276:18;;;4269:30;4335:34;4315:18;;;4308:62;-1:-1:-1;;;4386:18:1;;;4379:37;4433:19;;8614:89:0;4229:229:1;8614:89:0;8714:22;8739:18;8748:9;8739:6;:18;:::i;:::-;8768:21;;;;:9;:21;;;:34;;8714:43;;-1:-1:-1;8793:9:0;;8768:21;;;:34;;8793:9;;8768:34;:::i;:::-;;;;-1:-1:-1;;;;;;;8831:15:0;;;;;;:9;:15;;;;;;:24;;8849:6;;8831:24;:::i;:::-;-1:-1:-1;;;;;8813:15:0;;;;;;;:9;:15;;;;;;:42;;;;8866:13;;;;;;;;:31;;8883:14;;8813:15;8866:31;;8883:14;;8866:31;:::i;:::-;;;;;;;;8928:2;-1:-1:-1;;;;;8913:34:0;8922:4;-1:-1:-1;;;;;8913:34:0;;8932:14;8913:34;;;;6595:25:1;;6583:2;6568:18;;6550:76;8913:34:0;;;;;;;;8962:13;;8958:88;;8997:37;;6595:25:1;;;9020:1:0;;-1:-1:-1;;;;;8997:37:0;;;;;6583:2:1;6568:18;8997:37:0;;;;;;;8958:88;7826:1227;;;7748:1305;;;:::o;10055:157::-;10147:7;;:17;;;-1:-1:-1;;;10147:17:0;;;;10102:7;;-1:-1:-1;;;;;10147:7:0;;:15;;:17;;;;;;;;;;;;;;:7;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10129:44:0;;10182:4;10189:7;;;;;;;;;-1:-1:-1;;;;;10189:7:0;-1:-1:-1;;;;;10189:12:0;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10129:75;;-1:-1:-1;;;;;;10129:75:0;;;;;;;-1:-1:-1;;;;;2368:15:1;;;10129:75:0;;;2350:34:1;2420:15;;2400:18;;;2393:43;2285:18;;10129:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10122:82;;10055:157;:::o;4104:139::-;4202:25;;-1:-1:-1;;1845:2:1;1841:15;;;1837:53;4202:25:0;;;1825:66:1;4168:4:0;;1907:12:1;;4202:25:0;;;-1:-1:-1;;4202:25:0;;;;;;;;;4192:36;;4202:25;4192:36;;;;:43;;4104:139;-1:-1:-1;;4104:139:0:o;2859:98::-;2917:7;2944:5;2948:1;2944;:5;:::i;:::-;2937:12;2859:98;-1:-1:-1;;;2859:98:0:o;2963:::-;3021:7;3048:5;3052:1;3048;:5;:::i;9059:452::-;9142:4;9124:24;;;;:9;:24;;;;;:34;;9152:6;;9124:24;:34;;9152:6;;9124:34;:::i;:::-;;;;-1:-1:-1;;9201:7:0;;9169:49;;9186:4;;-1:-1:-1;;;;;9201:7:0;9211:6;9169:8;:49::i;:::-;9253:16;;;9267:1;9253:16;;;;;;;;9229:21;;9253:16;;;;;;;;;;-1:-1:-1;9253:16:0;9229:40;;9298:4;9280;9285:1;9280:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9280:23:0;;;:7;;;;;;;;;;:23;;;;9324:7;;:14;;;-1:-1:-1;;;9324:14:0;;;;:7;;;;;:12;;:14;;;;;9280:7;;9324:14;;;;;:7;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9314:4;9319:1;9314:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9314:24:0;;;:7;;;;;;;;;:24;9349:8;:15;;-1:-1:-1;;9349:15:0;9360:4;9349:15;;;;;;9375:7;;:58;9434:6;9349:8;9445:4;9451:2;9455:20;:15;9473:2;9455:20;:::i;:::-;9375:101;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9487:8:0;:16;;-1:-1:-1;;9487:16:0;;;-1:-1:-1;;;;;9059:452:0:o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:2;;;405:1;402;395:12;357:2;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:2;;;667:1;664;657:12;619:2;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;609:301;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:2;;;1077:1;1074;1067:12;1029:2;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;1019:352;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;1019:352::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:2;;;1521:1;1518;1511:12;1473:2;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1463:228:1:o;2639:597::-;2751:4;2780:2;2809;2798:9;2791:21;2841:6;2835:13;2884:6;2879:2;2868:9;2864:18;2857:34;2909:1;2919:140;2933:6;2930:1;2927:13;2919:140;;;3028:14;;;3024:23;;3018:30;2994:17;;;3013:2;2990:26;2983:66;2948:10;;2919:140;;;3077:6;3074:1;3071:13;3068:2;;;3147:1;3142:2;3133:6;3122:9;3118:22;3114:31;3107:42;3068:2;-1:-1:-1;3220:2:1;3199:15;-1:-1:-1;;3195:29:1;3180:45;;;;3227:2;3176:54;;2760:476;-1:-1:-1;;;2760:476:1:o;6631:980::-;6893:4;6941:3;6930:9;6926:19;6972:6;6961:9;6954:25;6998:2;7036:6;7031:2;7020:9;7016:18;7009:34;7079:3;7074:2;7063:9;7059:18;7052:31;7103:6;7138;7132:13;7169:6;7161;7154:22;7207:3;7196:9;7192:19;7185:26;;7246:2;7238:6;7234:15;7220:29;;7267:1;7277:195;7291:6;7288:1;7285:13;7277:195;;;7356:13;;-1:-1:-1;;;;;7352:39:1;7340:52;;7447:15;;;;7412:12;;;;7388:1;7306:9;7277:195;;;-1:-1:-1;;;;;;;7528:32:1;;;;7523:2;7508:18;;7501:60;-1:-1:-1;;;7592:3:1;7577:19;7570:35;7489:3;6902:709;-1:-1:-1;;;6902:709:1:o;7616:128::-;7656:3;7687:1;7683:6;7680:1;7677:13;7674:2;;;7693:18;;:::i;:::-;-1:-1:-1;7729:9:1;;7664:80::o;7749:217::-;7789:1;7815;7805:2;;7859:10;7854:3;7850:20;7847:1;7840:31;7894:4;7891:1;7884:15;7922:4;7919:1;7912:15;7805:2;-1:-1:-1;7951:9:1;;7795:171::o;7971:168::-;8011:7;8077:1;8073;8069:6;8065:14;8062:1;8059:21;8054:1;8047:9;8040:17;8036:45;8033:2;;;8084:18;;:::i;:::-;-1:-1:-1;8124:9:1;;8023:116::o;8144:125::-;8184:4;8212:1;8209;8206:8;8203:2;;;8217:18;;:::i;:::-;-1:-1:-1;8254:9:1;;8193:76::o;8274:380::-;8353:1;8349:12;;;;8396;;;8417:2;;8471:4;8463:6;8459:17;8449:27;;8417:2;8524;8516:6;8513:14;8493:18;8490:38;8487:2;;;8570:10;8565:3;8561:20;8558:1;8551:31;8605:4;8602:1;8595:15;8633:4;8630:1;8623:15;8487:2;;8329:325;;;:::o;8659:127::-;8720:10;8715:3;8711:20;8708:1;8701:31;8751:4;8748:1;8741:15;8775:4;8772:1;8765:15;8791:127;8852:10;8847:3;8843:20;8840:1;8833:31;8883:4;8880:1;8873:15;8907:4;8904:1;8897:15;9055:131;-1:-1:-1;;;;;9130:31:1;;9120:42;;9110:2;;9176:1;9173;9166:12;9110:2;9100:86;:::o

Swarm Source

ipfs://fc6f1d639984ad43e968612048255f6a88809dd87cf3168482582433d3c55272
Loading