ETH Price: $1,929.23 (+0.63%)
 

Overview

Max Total Supply

8,888,888 SECT

Holders

385

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1 SECT

Value
$0.00
0x419514286892f688a87ec8b5988e30fd8738c233
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
SectBot

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
Yes with 200000 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2024-10-10
*/

/**

    ░██████╗███████╗░█████╗░████████╗  ██████╗░░█████╗░████████╗
    ██╔════╝██╔════╝██╔══██╗╚══██╔══╝  ██╔══██╗██╔══██╗╚══██╔══╝
    ╚█████╗░█████╗░░██║░░╚═╝░░░██║░░░  ██████╦╝██║░░██║░░░██║░░░
    ░╚═══██╗██╔══╝░░██║░░██╗░░░██║░░░  ██╔══██╗██║░░██║░░░██║░░░
    ██████╔╝███████╗╚█████╔╝░░░██║░░░  ██████╦╝╚█████╔╝░░░██║░░░
    ╚═════╝░╚══════╝░╚════╝░░░░╚═╝░░░  ╚═════╝░░╚════╝░░░░╚═╝░░░

    Official Telegram: https://t.me/SectTokenPortal
    Official Twitter: https://twitter.com/thesectbot
    Official Website: https://sectbot.com
    Official Whitepaper: https://sectbot.gitbook.io/sect-bot-whitepaper/


    Sect Bot stands as the most advanced call tracking bot on the market, designed to significantly improve the monitoring and evaluation process of various calls posted within Telegram groups.
 
    It operates on an automated detection mechanism that tracks gains after each call, followed by a data analysis that ranks top performers on a dynamic leaderboard.

    Sect Bot not only enhances transparency but also fosters healthy competition among Individual group members. This is accomplished through the weekly rewards system to stimulate the top-performing callers. 

    Add SectBot to your group now: https://t.me/sectleaderboardbot

**/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.26;

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

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

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

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

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

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

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

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

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

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

    function factory() external pure returns (address);

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

interface ISecting {
    function depositRewards(uint256 reward) external;
}

contract SectBot is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 8_888_888e18;
    uint128 public minSwap = 2_500e18;
    uint128 public maxSwap = 5_000e18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address immutable uniswapV2Pair;
    address immutable WETH;
    address payable immutable marketingWallet;

    ISecting public sectingContract;

    uint64 public constant buyTax = 5;
    uint64 public constant sellTax = 5;

    uint8 public launch;
    uint8 private inSwapAndLiquify;
    uint64 public lastLiquifyTime;

    uint256 public maxTxAmount = _totalSupply * 2 / 100; //max Tx for first mins after launch

    string private constant _name = "SECT BOT";
    string private constant _symbol = "SECT";

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

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        marketingWallet = payable(0x52f0D2a879D3153655969a3F25e1e0f3BbfE5ae3);
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

        _balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function setsectingContractAddress(address _secting) external onlyOwner {
        sectingContract = ISecting(_secting);
    }

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

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

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

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function openTrading() external onlyOwner {
        launch = 1;
        lastLiquifyTime = uint64(block.number);
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
    }

    function changeMaxSwapbackThreshold(
        uint128 newMaxSwapThreshold
    ) external onlyOwner {
        require(
            newMaxSwapThreshold * 1e18 > minSwap,
            "Max Swap cannot be less than min swap"
        );
        maxSwap = newMaxSwapThreshold * 1e18;
    }

    function changeMinSwapbackThreshold(
        uint128 newMinSwapThreshold
    ) external onlyOwner {
        require(
            newMinSwapThreshold * 1e18 < maxSwap,
            "Min Swap cannot be greater than max swap"
        );
        minSwap = newMinSwapThreshold * 1e18;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        if (amount <= 1e9) {
            //Small amounts
            _balance[from] -= amount;
            unchecked {
                _balance[to] += amount;
            }
            emit Transfer(from, to, amount);
            return;
        }

        uint256 _tax;
        if(from == owner() || to == address(sectingContract) || from == address(sectingContract) || to == owner()) {
            _tax = 0;
        } else {
            require(
                launch != 0 && amount <= maxTxAmount,
                "Launch / Max TxAmount 2% at launch"
            );

            if (inSwapAndLiquify == 1) {
                //In swapback
                _balance[from] -= amount;
                unchecked {
                    _balance[to] += amount;
                }
                emit Transfer(from, to, amount);
                return;
            }

            //Buy
            if (from == uniswapV2Pair) {
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                //Sell
                uint256 tokensToSwap = _balance[address(this)];

                if (
                    tokensToSwap > minSwap &&
                    inSwapAndLiquify == 0 &&
                    lastLiquifyTime != uint64(block.number)
                ) {
                    if (tokensToSwap > maxSwap) {
                        tokensToSwap = maxSwap;
                    }

                    swapback(tokensToSwap);
                }

                _tax = sellTax;
            } else {
                //Normal Transfer
                _tax = 0;
            }
        }

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            unchecked {
                _balance[to] += transferAmount;
                _balance[address(this)] += taxTokens;
            }

            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;
            emit Transfer(from, to, amount);
        }
    }

    function swapback(uint256 tokensToSwap) internal {

        inSwapAndLiquify = 1;

        //20% of SECT for secting
        //tokensToSwap will always be > 0 tokens
        uint forSecting = tokensToSwap / 5; // 100% / 5 = 20%
        uint forSwapback;

        unchecked {
            forSwapback = tokensToSwap - forSecting; //100% - 20% = 80%
        }
       
        //Deposit secting
        try sectingContract.depositRewards(forSecting) {
            //Transfer to secting (only if call to secting contract works)
            unchecked {
                _balance[address(this)] -= forSecting;
                _balance[address(sectingContract)] += forSecting;
                emit Transfer(
                    address(this),
                    address(sectingContract),
                    forSecting
                );
            }
        } catch {
            //If call to secting contract fails, don't transfer tokens to it
        }

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        //Don't break selling if swapback fails
        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            forSwapback,
            0,
            path,
            marketingWallet,
            block.timestamp
        ) {} catch {}
        
        lastLiquifyTime = uint64(block.number);
        inSwapAndLiquify = 0;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint128","name":"newMaxSwapThreshold","type":"uint128"}],"name":"changeMaxSwapbackThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"newMinSwapThreshold","type":"uint128"}],"name":"changeMinSwapbackThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"lastLiquifyTime","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSwap","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwap","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sectingContract","outputs":[{"internalType":"contract ISecting","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_secting","type":"address"}],"name":"setsectingContractAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

61010060405279010f0cf064dd5920000000000000000000878678326eac900000600290815560649061003e906a075a4b9582ecf5e5e00000906102d8565b6100489190610301565b600455348015610056575f5ffd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156100ea573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061010e9190610320565b6001600160a01b031660c0816001600160a01b0316815250506080516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610165573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101899190610320565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303815f875af11580156101d7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101fb9190610320565b6001600160a01b0390811660a0527352f0d2a879d3153655969a3f25e1e0f3bbfe5ae360e052305f9081526006602081815260408084206080519095168085529482528084205f1990819055338086529383528185209585529482528084208590557f952d529adeeecbad428bc693d328ecab5141f93c6d3433052a8b369047a5176e825280842094909455818352600581528383206a075a4b9582ecf5e5e0000090819055935193845290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361034d565b80820281158282048414176102fb57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f8261031b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215610330575f5ffd5b81516001600160a01b0381168114610346575f5ffd5b9392505050565b60805160a05160c05160e051611dbd6103875f395f6119d701525f61192501525f818161127b01526112d601525f6119a20152611dbd5ff3fe608060405260043610610191575f3560e01c8063715018a6116100dc578063c4918b4e11610087578063d6ab8d2311610062578063d6ab8d2314610526578063dd62ed3e14610545578063f2fde38b14610596578063f599afac146105b5575f5ffd5b8063c4918b4e146104d6578063c9567bf914610512578063cc1776d31461032e575f5ffd5b80638da5cb5b116100b75780638da5cb5b1461042857806395d89b4114610472578063a9059cbb146104b7575f5ffd5b8063715018a6146103eb578063751039fc146103ff5780638c0b5e2214610413575f5ffd5b806323b872dd1161013c57806359cd90311161011757806359cd9031146103425780636d4ed89d1461038b57806370a08231146103aa575f5ffd5b806323b872dd146102fc578063313ce5671461031b5780634f7041a51461032e575f5ffd5b8063095ea7b31161016c578063095ea7b314610253578063098213ce1461028257806318160ddd146102d5575f5ffd5b806301339c211461019c57806306fdde03146101e457806308d3671a14610232575f5ffd5b3661019857005b5f5ffd5b3480156101a7575f5ffd5b506003546101cd9074010000000000000000000000000000000000000000900460ff1681565b60405160ff90911681526020015b60405180910390f35b3480156101ef575f5ffd5b5060408051808201909152600881527f5345435420424f5400000000000000000000000000000000000000000000000060208201525b6040516101db9190611a9f565b34801561023d575f5ffd5b5061025161024c366004611af2565b6105e1565b005b34801561025e575f5ffd5b5061027261026d366004611b50565b610774565b60405190151581526020016101db565b34801561028d575f5ffd5b506003546102bc90760100000000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101db565b3480156102e0575f5ffd5b506a075a4b9582ecf5e5e000005b6040519081526020016101db565b348015610307575f5ffd5b50610272610316366004611b78565b61078a565b348015610326575f5ffd5b5060126101cd565b348015610339575f5ffd5b506102bc600581565b34801561034d575f5ffd5b5060025461036a906fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff90911681526020016101db565b348015610396575f5ffd5b506102516103a5366004611bb2565b6107e7565b3480156103b5575f5ffd5b506102ee6103c4366004611bb2565b73ffffffffffffffffffffffffffffffffffffffff165f9081526005602052604090205490565b3480156103f6575f5ffd5b506102516108ae565b34801561040a575f5ffd5b5061025161099b565b34801561041e575f5ffd5b506102ee60045481565b348015610433575f5ffd5b505f5473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101db565b34801561047d575f5ffd5b5060408051808201909152600481527f53454354000000000000000000000000000000000000000000000000000000006020820152610225565b3480156104c2575f5ffd5b506102726104d1366004611b50565b610a2c565b3480156104e1575f5ffd5b5060025461036a9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681565b34801561051d575f5ffd5b50610251610a38565b348015610531575f5ffd5b50610251610540366004611af2565b610b20565b348015610550575f5ffd5b506102ee61055f366004611bcb565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260066020908152604080832093909416825291909152205490565b3480156105a1575f5ffd5b506102516105b0366004611bb2565b610cd0565b3480156105c0575f5ffd5b5060035461044d9073ffffffffffffffffffffffffffffffffffffffff1681565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6002546fffffffffffffffffffffffffffffffff1661068d82670de0b6b3a7640000611c29565b6fffffffffffffffffffffffffffffffff161161072c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4d617820537761702063616e6e6f74206265206c657373207468616e206d696e60448201527f2073776170000000000000000000000000000000000000000000000000000000606482015260840161065d565b61073e81670de0b6b3a7640000611c29565b600280546fffffffffffffffffffffffffffffffff92831670010000000000000000000000000000000002921691909117905550565b5f610780338484610d5c565b5060015b92915050565b5f610796848484610f0f565b73ffffffffffffffffffffffffffffffffffffffff84165f908152600660209081526040808320338085529252909120546107dd9186916107d8908690611c5b565b610d5c565b5060019392505050565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065d565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b5f5473ffffffffffffffffffffffffffffffffffffffff16331461092e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065d565b5f805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610a1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065d565b6a075a4b9582ecf5e5e00000600455565b5f610780338484610f0f565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610ab8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065d565b6003805467ffffffffffffffff4316760100000000000000000000000000000000000000000000027fffff0000000000000000ff00ffffffffffffffffffffffffffffffffffffffff9091161774010000000000000000000000000000000000000000179055565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610ba0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065d565b60025470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16610bdb82670de0b6b3a7640000611c29565b6fffffffffffffffffffffffffffffffff1610610c7a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060448201527f6d61782073776170000000000000000000000000000000000000000000000000606482015260840161065d565b610c8c81670de0b6b3a7640000611c29565b600280547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff9290921691909117905550565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610d50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065d565b610d5981611640565b50565b73ffffffffffffffffffffffffffffffffffffffff8316610dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065d565b73ffffffffffffffffffffffffffffffffffffffff8216610ea1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161065d565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610fb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161065d565b633b9aca0081116110585773ffffffffffffffffffffffffffffffffffffffff83165f9081526005602052604081208054839290610ff1908490611c5b565b909155505073ffffffffffffffffffffffffffffffffffffffff8083165f81815260056020526040908190208054850190555190918516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f029085815260200190565b5f805473ffffffffffffffffffffffffffffffffffffffff8581169116148061109b575060035473ffffffffffffffffffffffffffffffffffffffff8481169116145b806110c0575060035473ffffffffffffffffffffffffffffffffffffffff8581169116145b806110e457505f5473ffffffffffffffffffffffffffffffffffffffff8481169116145b156110f057505f611421565b60035474010000000000000000000000000000000000000000900460ff161580159061111e57506004548211155b6111aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203225206174206c61756e60448201527f6368000000000000000000000000000000000000000000000000000000000000606482015260840161065d565b6003547501000000000000000000000000000000000000000000900460ff166001036112795773ffffffffffffffffffffffffffffffffffffffff84165f9081526005602052604081208054849290611204908490611c5b565b909155505073ffffffffffffffffffffffffffffffffffffffff8084165f81815260056020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061126b9086815260200190565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036112d457506005611421565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361141e57305f908152600560205260409020546002546fffffffffffffffffffffffffffffffff168111801561137557506003547501000000000000000000000000000000000000000000900460ff16155b80156113ab57506003544367ffffffffffffffff9081167601000000000000000000000000000000000000000000009092041614155b156114145760025470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681111561140b575060025470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff165b6114148161176e565b5060059050611421565b505f5b8015611567575f60646114348385611c6e565b61143e9190611c85565b90505f61144b8285611c5b565b73ffffffffffffffffffffffffffffffffffffffff87165f90815260056020526040812080549293508692909190611484908490611c5b565b909155505073ffffffffffffffffffffffffffffffffffffffff8581165f90815260056020908152604080832080548601905530808452928190208054870190555185815291928916917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161155891815260200190565b60405180910390a3505061163a565b73ffffffffffffffffffffffffffffffffffffffff84165f908152600560205260408120805484929061159b908490611c5b565b909155505073ffffffffffffffffffffffffffffffffffffffff83165f90815260056020526040812080548492906115d4908490611cbd565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161126b91815260200190565b50505050565b73ffffffffffffffffffffffffffffffffffffffff81166116e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161065d565b5f805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600380547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790555f6117ba600583611c85565b6003546040517f8bdf67f2000000000000000000000000000000000000000000000000000000008152600481018390529192508284039173ffffffffffffffffffffffffffffffffffffffff90911690638bdf67f2906024015f604051808303815f87803b15801561182a575f5ffd5b505af192505050801561183b575060015b156118b657305f818152600560209081526040808320805487900390556003805473ffffffffffffffffffffffffffffffffffffffff908116855293829020805488019055549051868152921692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106118e9576118e9611cd0565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061195757611957611cd0565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f791ac9470000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac94790611a019085905f9086907f0000000000000000000000000000000000000000000000000000000000000000904290600401611cfd565b5f604051808303815f87803b158015611a18575f5ffd5b505af1925050508015611a29575060015b505050600380547fffff000000000000000000ffffffffffffffffffffffffffffffffffffffffff167601000000000000000000000000000000000000000000004367ffffffffffffffff16027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff161790555050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f60208284031215611b02575f5ffd5b81356fffffffffffffffffffffffffffffffff81168114611b21575f5ffd5b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611b4b575f5ffd5b919050565b5f5f60408385031215611b61575f5ffd5b611b6a83611b28565b946020939093013593505050565b5f5f5f60608486031215611b8a575f5ffd5b611b9384611b28565b9250611ba160208501611b28565b929592945050506040919091013590565b5f60208284031215611bc2575f5ffd5b611b2182611b28565b5f5f60408385031215611bdc575f5ffd5b611be583611b28565b9150611bf360208401611b28565b90509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6fffffffffffffffffffffffffffffffff8181168382160290811690818114611c5457611c54611bfc565b5092915050565b8181038181111561078457610784611bfc565b808202811582820484141761078457610784611bfc565b5f82611cb8577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b8082018082111561078457610784611bfc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611d5a57835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101611d26565b505073ffffffffffffffffffffffffffffffffffffffff959095166060840152505060800152939250505056fea26469706673582212206785727911755b68915ec02de6c65c9e6da4fa4400a1527e97305b720142139064736f6c634300081b0033

Deployed Bytecode

0x608060405260043610610191575f3560e01c8063715018a6116100dc578063c4918b4e11610087578063d6ab8d2311610062578063d6ab8d2314610526578063dd62ed3e14610545578063f2fde38b14610596578063f599afac146105b5575f5ffd5b8063c4918b4e146104d6578063c9567bf914610512578063cc1776d31461032e575f5ffd5b80638da5cb5b116100b75780638da5cb5b1461042857806395d89b4114610472578063a9059cbb146104b7575f5ffd5b8063715018a6146103eb578063751039fc146103ff5780638c0b5e2214610413575f5ffd5b806323b872dd1161013c57806359cd90311161011757806359cd9031146103425780636d4ed89d1461038b57806370a08231146103aa575f5ffd5b806323b872dd146102fc578063313ce5671461031b5780634f7041a51461032e575f5ffd5b8063095ea7b31161016c578063095ea7b314610253578063098213ce1461028257806318160ddd146102d5575f5ffd5b806301339c211461019c57806306fdde03146101e457806308d3671a14610232575f5ffd5b3661019857005b5f5ffd5b3480156101a7575f5ffd5b506003546101cd9074010000000000000000000000000000000000000000900460ff1681565b60405160ff90911681526020015b60405180910390f35b3480156101ef575f5ffd5b5060408051808201909152600881527f5345435420424f5400000000000000000000000000000000000000000000000060208201525b6040516101db9190611a9f565b34801561023d575f5ffd5b5061025161024c366004611af2565b6105e1565b005b34801561025e575f5ffd5b5061027261026d366004611b50565b610774565b60405190151581526020016101db565b34801561028d575f5ffd5b506003546102bc90760100000000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101db565b3480156102e0575f5ffd5b506a075a4b9582ecf5e5e000005b6040519081526020016101db565b348015610307575f5ffd5b50610272610316366004611b78565b61078a565b348015610326575f5ffd5b5060126101cd565b348015610339575f5ffd5b506102bc600581565b34801561034d575f5ffd5b5060025461036a906fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff90911681526020016101db565b348015610396575f5ffd5b506102516103a5366004611bb2565b6107e7565b3480156103b5575f5ffd5b506102ee6103c4366004611bb2565b73ffffffffffffffffffffffffffffffffffffffff165f9081526005602052604090205490565b3480156103f6575f5ffd5b506102516108ae565b34801561040a575f5ffd5b5061025161099b565b34801561041e575f5ffd5b506102ee60045481565b348015610433575f5ffd5b505f5473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101db565b34801561047d575f5ffd5b5060408051808201909152600481527f53454354000000000000000000000000000000000000000000000000000000006020820152610225565b3480156104c2575f5ffd5b506102726104d1366004611b50565b610a2c565b3480156104e1575f5ffd5b5060025461036a9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681565b34801561051d575f5ffd5b50610251610a38565b348015610531575f5ffd5b50610251610540366004611af2565b610b20565b348015610550575f5ffd5b506102ee61055f366004611bcb565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260066020908152604080832093909416825291909152205490565b3480156105a1575f5ffd5b506102516105b0366004611bb2565b610cd0565b3480156105c0575f5ffd5b5060035461044d9073ffffffffffffffffffffffffffffffffffffffff1681565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6002546fffffffffffffffffffffffffffffffff1661068d82670de0b6b3a7640000611c29565b6fffffffffffffffffffffffffffffffff161161072c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4d617820537761702063616e6e6f74206265206c657373207468616e206d696e60448201527f2073776170000000000000000000000000000000000000000000000000000000606482015260840161065d565b61073e81670de0b6b3a7640000611c29565b600280546fffffffffffffffffffffffffffffffff92831670010000000000000000000000000000000002921691909117905550565b5f610780338484610d5c565b5060015b92915050565b5f610796848484610f0f565b73ffffffffffffffffffffffffffffffffffffffff84165f908152600660209081526040808320338085529252909120546107dd9186916107d8908690611c5b565b610d5c565b5060019392505050565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065d565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b5f5473ffffffffffffffffffffffffffffffffffffffff16331461092e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065d565b5f805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610a1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065d565b6a075a4b9582ecf5e5e00000600455565b5f610780338484610f0f565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610ab8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065d565b6003805467ffffffffffffffff4316760100000000000000000000000000000000000000000000027fffff0000000000000000ff00ffffffffffffffffffffffffffffffffffffffff9091161774010000000000000000000000000000000000000000179055565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610ba0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065d565b60025470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16610bdb82670de0b6b3a7640000611c29565b6fffffffffffffffffffffffffffffffff1610610c7a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060448201527f6d61782073776170000000000000000000000000000000000000000000000000606482015260840161065d565b610c8c81670de0b6b3a7640000611c29565b600280547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff9290921691909117905550565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610d50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065d565b610d5981611640565b50565b73ffffffffffffffffffffffffffffffffffffffff8316610dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065d565b73ffffffffffffffffffffffffffffffffffffffff8216610ea1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161065d565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610fb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161065d565b633b9aca0081116110585773ffffffffffffffffffffffffffffffffffffffff83165f9081526005602052604081208054839290610ff1908490611c5b565b909155505073ffffffffffffffffffffffffffffffffffffffff8083165f81815260056020526040908190208054850190555190918516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f029085815260200190565b5f805473ffffffffffffffffffffffffffffffffffffffff8581169116148061109b575060035473ffffffffffffffffffffffffffffffffffffffff8481169116145b806110c0575060035473ffffffffffffffffffffffffffffffffffffffff8581169116145b806110e457505f5473ffffffffffffffffffffffffffffffffffffffff8481169116145b156110f057505f611421565b60035474010000000000000000000000000000000000000000900460ff161580159061111e57506004548211155b6111aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203225206174206c61756e60448201527f6368000000000000000000000000000000000000000000000000000000000000606482015260840161065d565b6003547501000000000000000000000000000000000000000000900460ff166001036112795773ffffffffffffffffffffffffffffffffffffffff84165f9081526005602052604081208054849290611204908490611c5b565b909155505073ffffffffffffffffffffffffffffffffffffffff8084165f81815260056020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061126b9086815260200190565b60405180910390a350505050565b7f0000000000000000000000007e600263a8efa79f61ffda4e615416b0baa682fc73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036112d457506005611421565b7f0000000000000000000000007e600263a8efa79f61ffda4e615416b0baa682fc73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361141e57305f908152600560205260409020546002546fffffffffffffffffffffffffffffffff168111801561137557506003547501000000000000000000000000000000000000000000900460ff16155b80156113ab57506003544367ffffffffffffffff9081167601000000000000000000000000000000000000000000009092041614155b156114145760025470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681111561140b575060025470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff165b6114148161176e565b5060059050611421565b505f5b8015611567575f60646114348385611c6e565b61143e9190611c85565b90505f61144b8285611c5b565b73ffffffffffffffffffffffffffffffffffffffff87165f90815260056020526040812080549293508692909190611484908490611c5b565b909155505073ffffffffffffffffffffffffffffffffffffffff8581165f90815260056020908152604080832080548601905530808452928190208054870190555185815291928916917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161155891815260200190565b60405180910390a3505061163a565b73ffffffffffffffffffffffffffffffffffffffff84165f908152600560205260408120805484929061159b908490611c5b565b909155505073ffffffffffffffffffffffffffffffffffffffff83165f90815260056020526040812080548492906115d4908490611cbd565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161126b91815260200190565b50505050565b73ffffffffffffffffffffffffffffffffffffffff81166116e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161065d565b5f805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600380547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790555f6117ba600583611c85565b6003546040517f8bdf67f2000000000000000000000000000000000000000000000000000000008152600481018390529192508284039173ffffffffffffffffffffffffffffffffffffffff90911690638bdf67f2906024015f604051808303815f87803b15801561182a575f5ffd5b505af192505050801561183b575060015b156118b657305f818152600560209081526040808320805487900390556003805473ffffffffffffffffffffffffffffffffffffffff908116855293829020805488019055549051868152921692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106118e9576118e9611cd0565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061195757611957611cd0565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f791ac9470000000000000000000000000000000000000000000000000000000081527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac94790611a019085905f9086907f00000000000000000000000052f0d2a879d3153655969a3f25e1e0f3bbfe5ae3904290600401611cfd565b5f604051808303815f87803b158015611a18575f5ffd5b505af1925050508015611a29575060015b505050600380547fffff000000000000000000ffffffffffffffffffffffffffffffffffffffffff167601000000000000000000000000000000000000000000004367ffffffffffffffff16027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff161790555050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f60208284031215611b02575f5ffd5b81356fffffffffffffffffffffffffffffffff81168114611b21575f5ffd5b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611b4b575f5ffd5b919050565b5f5f60408385031215611b61575f5ffd5b611b6a83611b28565b946020939093013593505050565b5f5f5f60608486031215611b8a575f5ffd5b611b9384611b28565b9250611ba160208501611b28565b929592945050506040919091013590565b5f60208284031215611bc2575f5ffd5b611b2182611b28565b5f5f60408385031215611bdc575f5ffd5b611be583611b28565b9150611bf360208401611b28565b90509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6fffffffffffffffffffffffffffffffff8181168382160290811690818114611c5457611c54611bfc565b5092915050565b8181038181111561078457610784611bfc565b808202811582820484141761078457610784611bfc565b5f82611cb8577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b8082018082111561078457610784611bfc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611d5a57835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101611d26565b505073ffffffffffffffffffffffffffffffffffffffff959095166060840152505060800152939250505056fea26469706673582212206785727911755b68915ec02de6c65c9e6da4fa4400a1527e97305b720142139064736f6c634300081b0033

Deployed Bytecode Sourcemap

4770:8447:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5254:19;;;;;;;;;;-1:-1:-1;5254:19:0;;;;;;;;;;;;;;186:4:1;174:17;;;156:36;;144:2;129:18;5254:19:0;;;;;;;;6607:83;;;;;;;;;;-1:-1:-1;6677:5:0;;;;;;;;;;;;;;;;;6607:83;;;;;;;:::i;8606:289::-;;;;;;;;;;-1:-1:-1;8606:289:0;;;;;:::i;:::-;;:::i;:::-;;7487:186;;;;;;;;;;-1:-1:-1;7487:186:0;;;;;:::i;:::-;;:::i;:::-;;;1662:14:1;;1655:22;1637:41;;1625:2;1610:18;7487:186:0;1497:187:1;5317:29:0;;;;;;;;;;-1:-1:-1;5317:29:0;;;;;;;;;;;;;;1863:18:1;1851:31;;;1833:50;;1821:2;1806:18;5317:29:0;1689:200:1;6877:100:0;;;;;;;;;;-1:-1:-1;4862:12:0;6877:100;;;2040:25:1;;;2028:2;2013:18;6877:100:0;1894:177:1;7681:350:0;;;;;;;;;;-1:-1:-1;7681:350:0;;;;;:::i;:::-;;:::i;6793:76::-;;;;;;;;;;-1:-1:-1;6859:2:0;6793:76;;5171:33;;;;;;;;;;;;5203:1;5171:33;;4881;;;;;;;;;;-1:-1:-1;4881:33:0;;;;;;;;;;;2631:34:1;2619:47;;;2601:66;;2589:2;2574:18;4881:33:0;2455:218:1;6472:127:0;;;;;;;;;;-1:-1:-1;6472:127:0;;;;;:::i;:::-;;:::i;6985:118::-;;;;;;;;;;-1:-1:-1;6985:118:0;;;;;:::i;:::-;7078:17;;7051:7;7078:17;;;:8;:17;;;;;;;6985:118;4008:148;;;;;;;;;;;;;:::i;8510:88::-;;;;;;;;;;;;;:::i;5355:51::-;;;;;;;;;;;;;;;;3403:79;;;;;;;;;;-1:-1:-1;3441:7:0;3468:6;;;3403:79;;;3045:42:1;3033:55;;;3015:74;;3003:2;2988:18;3403:79:0;2869:226:1;6698:87:0;;;;;;;;;;-1:-1:-1;6770:7:0;;;;;;;;;;;;;;;;;6698:87;;7111:192;;;;;;;;;;-1:-1:-1;7111:192:0;;;;;:::i;:::-;;:::i;4921:33::-;;;;;;;;;;-1:-1:-1;4921:33:0;;;;;;;;;;;8382:120;;;;;;;;;;;;;:::i;8903:292::-;;;;;;;;;;-1:-1:-1;8903:292:0;;;;;:::i;:::-;;:::i;7311:168::-;;;;;;;;;;-1:-1:-1;7311:168:0;;;;;:::i;:::-;7444:18;;;;7417:7;7444:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7311:168;3617:109;;;;;;;;;;-1:-1:-1;3617:109:0;;;;;:::i;:::-;;:::i;5131:31::-;;;;;;;;;;-1:-1:-1;5131:31:0;;;;;;;;8606:289;3530:6;;:22;:6;2192:10;3530:22;3522:67;;;;;;;3814:2:1;3522:67:0;;;3796:21:1;;;3833:18;;;3826:30;3892:34;3872:18;;;3865:62;3944:18;;3522:67:0;;;;;;;;;8768:7:::1;::::0;::::1;;8739:26;:19:::0;8761:4:::1;8739:26;:::i;:::-;:36;;;8717:123;;;::::0;::::1;::::0;;4686:2:1;8717:123:0::1;::::0;::::1;4668:21:1::0;4725:2;4705:18;;;4698:30;4764:34;4744:18;;;4737:62;4835:7;4815:18;;;4808:35;4860:19;;8717:123:0::1;4484:401:1::0;8717:123:0::1;8861:26;:19:::0;8883:4:::1;8861:26;:::i;:::-;8851:7;:36:::0;;::::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;-1:-1:-1;8606:289:0:o;7487:186::-;7587:4;7604:39;2192:10;7627:7;7636:6;7604:8;:39::i;:::-;-1:-1:-1;7661:4:0;7487:186;;;;;:::o;7681:350::-;7813:4;7830:36;7840:6;7848:9;7859:6;7830:9;:36::i;:::-;7948:19;;;;;;;:11;:19;;;;;;;;2192:10;7948:33;;;;;;;;;7877:124;;7900:6;;7948:42;;7984:6;;7948:42;:::i;:::-;7877:8;:124::i;:::-;-1:-1:-1;8019:4:0;7681:350;;;;;:::o;6472:127::-;3530:6;;:22;:6;2192:10;3530:22;3522:67;;;;;;;3814:2:1;3522:67:0;;;3796:21:1;;;3833:18;;;3826:30;3892:34;3872:18;;;3865:62;3944:18;;3522:67:0;3612:356:1;3522:67:0;6555:15:::1;:36:::0;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;6472:127::o;4008:148::-;3530:6;;:22;:6;2192:10;3530:22;3522:67;;;;;;;3814:2:1;3522:67:0;;;3796:21:1;;;3833:18;;;3826:30;3892:34;3872:18;;;3865:62;3944:18;;3522:67:0;3612:356:1;3522:67:0;4115:1:::1;4099:6:::0;;4078:40:::1;::::0;::::1;4099:6:::0;;::::1;::::0;4078:40:::1;::::0;4115:1;;4078:40:::1;4146:1;4129:19:::0;;;::::1;::::0;;4008:148::o;8510:88::-;3530:6;;:22;:6;2192:10;3530:22;3522:67;;;;;;;3814:2:1;3522:67:0;;;3796:21:1;;;3833:18;;;3826:30;3892:34;3872:18;;;3865:62;3944:18;;3522:67:0;3612:356:1;3522:67:0;4862:12:::1;8564:11;:26:::0;8510:88::o;7111:192::-;7214:4;7231:42;2192:10;7255:9;7266:6;7231:9;:42::i;8382:120::-;3530:6;;:22;:6;2192:10;3530:22;3522:67;;;;;;;3814:2:1;3522:67:0;;;3796:21:1;;;3833:18;;;3826:30;3892:34;3872:18;;;3865:62;3944:18;;3522:67:0;3612:356:1;3522:67:0;8435:6:::1;:10:::0;;8456:38:::1;8481:12;8456:38;::::0;::::1;::::0;;;;;8435:10;8456:38;;;8382:120::o;8903:292::-;3530:6;;:22;:6;2192:10;3530:22;3522:67;;;;;;;3814:2:1;3522:67:0;;;3796:21:1;;;3833:18;;;3826:30;3892:34;3872:18;;;3865:62;3944:18;;3522:67:0;3612:356:1;3522:67:0;9065:7:::1;::::0;;;::::1;;;9036:26;:19:::0;9058:4:::1;9036:26;:::i;:::-;:36;;;9014:126;;;::::0;::::1;::::0;;5225:2:1;9014:126:0::1;::::0;::::1;5207:21:1::0;5264:2;5244:18;;;5237:30;5303:34;5283:18;;;5276:62;5374:10;5354:18;;;5347:38;5402:19;;9014:126:0::1;5023:404:1::0;9014:126:0::1;9161:26;:19:::0;9183:4:::1;9161:26;:::i;:::-;9151:7;:36:::0;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;8903:292:0:o;3617:109::-;3530:6;;:22;:6;2192:10;3530:22;3522:67;;;;;;;3814:2:1;3522:67:0;;;3796:21:1;;;3833:18;;;3826:30;3892:34;3872:18;;;3865:62;3944:18;;3522:67:0;3612:356:1;3522:67:0;3690:28:::1;3709:8;3690:18;:28::i;:::-;3617:109:::0;:::o;8039:335::-;8132:19;;;8124:68;;;;;;;5634:2:1;8124:68:0;;;5616:21:1;5673:2;5653:18;;;5646:30;5712:34;5692:18;;;5685:62;5783:6;5763:18;;;5756:34;5807:19;;8124:68:0;5432:400:1;8124:68:0;8211:21;;;8203:68;;;;;;;6039:2:1;8203:68:0;;;6021:21:1;6078:2;6058:18;;;6051:30;6117:34;6097:18;;;6090:62;6188:4;6168:18;;;6161:32;6210:19;;8203:68:0;5837:398:1;8203:68:0;8282:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8334:32;;2040:25:1;;;8334:32:0;;2013:18:1;8334:32:0;;;;;;;;8039:335;;;:::o;9203:2507::-;9291:18;;;9283:68;;;;;;;6442:2:1;9283:68:0;;;6424:21:1;6481:2;6461:18;;;6454:30;6520:34;6500:18;;;6493:62;6591:7;6571:18;;;6564:35;6616:19;;9283:68:0;6240:401:1;9283:68:0;9376:3;9366:6;:13;9362:247;;9425:14;;;;;;;:8;:14;;;;;:24;;9443:6;;9425:14;:24;;9443:6;;9425:24;:::i;:::-;;;;-1:-1:-1;;9493:12:0;;;;;;;;:8;:12;;;;;;;:22;;;;;;9550:26;9493:12;;9550:26;;;;;;;9509:6;2040:25:1;;2028:2;2013:18;;1894:177;9362:247:0;9621:12;3468:6;;;9647:15;;;3468:6;;9647:15;;:49;;-1:-1:-1;9680:15:0;;;9666:30;;;9680:15;;9666:30;9647:49;:85;;;-1:-1:-1;9716:15:0;;;9700:32;;;9716:15;;9700:32;9647:85;:102;;;-1:-1:-1;3441:7:0;3468:6;;9736:13;;;3468:6;;9736:13;9647:102;9644:1361;;;-1:-1:-1;9773:1:0;9644:1361;;;9833:6;;;;;;;:11;;;;:36;;;9858:11;;9848:6;:21;;9833:36;9807:132;;;;;;;6848:2:1;9807:132:0;;;6830:21:1;6887:2;6867:18;;;6860:30;6926:34;6906:18;;;6899:62;6997:4;6977:18;;;6970:32;7019:19;;9807:132:0;6646:398:1;9807:132:0;9960:16;;;;;;;9980:1;9960:21;9956:285;;10033:14;;;;;;;:8;:14;;;;;:24;;10051:6;;10033:14;:24;;10051:6;;10033:24;:::i;:::-;;;;-1:-1:-1;;10109:12:0;;;;;;;;:8;:12;;;;;;;:22;;;;;;10174:26;10109:12;;10174:26;;;;;;;10125:6;2040:25:1;;2028:2;2013:18;;1894:177;10174:26:0;;;;;;;;10219:7;9203:2507;;;:::o;9956:285::-;10288:13;10280:21;;:4;:21;;;10276:718;;-1:-1:-1;5203:1:0;10276:718;;;10367:13;10361:19;;:2;:19;;;10357:637;;10465:4;10425:20;10448:23;;;:8;:23;;;;;;10533:7;;;;10518:22;;:68;;;;-1:-1:-1;10565:16:0;;;;;;;:21;10518:68;:132;;;;-1:-1:-1;10611:15:0;;10637:12;10611:39;;;;:15;;;;;:39;;10518:132;10492:368;;;10712:7;;;;;;;10697:22;;10693:101;;;-1:-1:-1;10763:7:0;;;;;;;10693:101;10818:22;10827:12;10818:8;:22::i;:::-;-1:-1:-1;5244:1:0;;-1:-1:-1;10357:637:0;;;-1:-1:-1;10977:1:0;10357:637;11066:9;;11062:641;;11120:17;11158:3;11141:13;11150:4;11141:6;:13;:::i;:::-;11140:21;;;;:::i;:::-;11120:41;-1:-1:-1;11176:22:0;11201:18;11120:41;11201:6;:18;:::i;:::-;11236:14;;;;;;;:8;:14;;;;;:24;;11176:43;;-1:-1:-1;11254:6:0;;11236:14;;;:24;;11254:6;;11236:24;:::i;:::-;;;;-1:-1:-1;;11304:12:0;;;;;;;;:8;:12;;;;;;;;:30;;;;;;11370:4;11353:23;;;;;;;:36;;;;;;11426:40;2040:25:1;;;11370:4:0;;11426:40;;;;;2013:18:1;11426:40:0;;;;;;;11501:2;11486:34;;11495:4;11486:34;;;11505:14;11486:34;;;;2040:25:1;;2028:2;2013:18;;1894:177;11486:34:0;;;;;;;;11077:455;;11062:641;;;11584:14;;;;;;;:8;:14;;;;;:24;;11602:6;;11584:14;:24;;11602:6;;11584:24;:::i;:::-;;;;-1:-1:-1;;11623:12:0;;;;;;;:8;:12;;;;;:22;;11639:6;;11623:12;:22;;11639:6;;11623:22;:::i;:::-;;;;;;;;11680:2;11665:26;;11674:4;11665:26;;;11684:6;11665:26;;;;2040:25:1;;2028:2;2013:18;;1894:177;11062:641:0;9272:2438;9203:2507;;;:::o;3734:266::-;3822:22;;;3800:110;;;;;;;7833:2:1;3800:110:0;;;7815:21:1;7872:2;7852:18;;;7845:30;7911:34;7891:18;;;7884:62;7982:8;7962:18;;;7955:36;8008:19;;3800:110:0;7631:402:1;3800:110:0;3947:6;;;3926:38;;;;;;;3947:6;;;3926:38;;;3975:6;:17;;;;;;;;;;;;;;;3734:266::o;11718:1459::-;11780:16;:20;;;;;;;;-1:-1:-1;11916:16:0;11931:1;11916:12;:16;:::i;:::-;12135:15;;:42;;;;;;;;2040:25:1;;;11898:34:0;;-1:-1:-1;12029:25:0;;;;12135:15;;;;;:30;;2013:18:1;;12135:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12131:562;;;12315:4;12298:23;;;;:8;:23;;;;;;;;:37;;;;;;;12371:15;;;12298:23;12371:15;;;12354:34;;;;;;:48;;;;;;12501:15;12426:143;;2040:25:1;;;12501:15:0;;;12315:4;12426:143;;2013:18:1;12426:143:0;;;;;;;12131:562;12729:16;;;12743:1;12729:16;;;;;;;;12705:21;;12729:16;;;;;;;;;;-1:-1:-1;12729:16:0;12705:40;;12774:4;12756;12761:1;12756:7;;;;;;;;:::i;:::-;;;;;;:23;;;;;;;;;;;12800:4;12790;12795:1;12790:7;;;;;;;;:::i;:::-;:14;;;;:7;;;;;;;;;:14;12870:198;;;;;:15;:66;;;;;;:198;;12951:11;;12977:1;;12993:4;;13012:15;;13042;;12870:198;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12866:214;-1:-1:-1;;13100:15:0;:38;;13149:20;;13100:38;13125:12;13100:38;;;13149:20;;;;;-1:-1:-1;;11718:1459:0:o;203:477:1:-;352:2;341:9;334:21;315:4;384:6;378:13;427:6;422:2;411:9;407:18;400:34;486:6;481:2;473:6;469:15;464:2;453:9;449:18;443:50;542:1;537:2;528:6;517:9;513:22;509:31;502:42;671:2;601:66;596:2;588:6;584:15;580:88;569:9;565:104;561:113;553:121;;;203:477;;;;:::o;685:301::-;744:6;797:2;785:9;776:7;772:23;768:32;765:52;;;813:1;810;803:12;765:52;852:9;839:23;902:34;895:5;891:46;884:5;881:57;871:85;;952:1;949;942:12;871:85;975:5;685:301;-1:-1:-1;;;685:301:1:o;991:196::-;1059:20;;1119:42;1108:54;;1098:65;;1088:93;;1177:1;1174;1167:12;1088:93;991:196;;;:::o;1192:300::-;1260:6;1268;1321:2;1309:9;1300:7;1296:23;1292:32;1289:52;;;1337:1;1334;1327:12;1289:52;1360:29;1379:9;1360:29;:::i;:::-;1350:39;1458:2;1443:18;;;;1430:32;;-1:-1:-1;;;1192:300:1:o;2076:374::-;2153:6;2161;2169;2222:2;2210:9;2201:7;2197:23;2193:32;2190:52;;;2238:1;2235;2228:12;2190:52;2261:29;2280:9;2261:29;:::i;:::-;2251:39;;2309:38;2343:2;2332:9;2328:18;2309:38;:::i;:::-;2076:374;;2299:48;;-1:-1:-1;;;2416:2:1;2401:18;;;;2388:32;;2076:374::o;2678:186::-;2737:6;2790:2;2778:9;2769:7;2765:23;2761:32;2758:52;;;2806:1;2803;2796:12;2758:52;2829:29;2848:9;2829:29;:::i;3100:260::-;3168:6;3176;3229:2;3217:9;3208:7;3204:23;3200:32;3197:52;;;3245:1;3242;3235:12;3197:52;3268:29;3287:9;3268:29;:::i;:::-;3258:39;;3316:38;3350:2;3339:9;3335:18;3316:38;:::i;:::-;3306:48;;3100:260;;;;;:::o;3973:184::-;4025:77;4022:1;4015:88;4122:4;4119:1;4112:15;4146:4;4143:1;4136:15;4162:317;4298:34;4247:42;;;4291;;;4243:91;4354:52;;;;4425:24;;;4415:58;;4453:18;;:::i;:::-;4415:58;4162:317;;;;:::o;4890:128::-;4957:9;;;4978:11;;;4975:37;;;4992:18;;:::i;7049:168::-;7122:9;;;7153;;7170:15;;;7164:22;;7150:37;7140:71;;7191:18;;:::i;7222:274::-;7262:1;7288;7278:189;;7323:77;7320:1;7313:88;7424:4;7421:1;7414:15;7452:4;7449:1;7442:15;7278:189;-1:-1:-1;7481:9:1;;7222:274::o;7501:125::-;7566:9;;;7587:10;;;7584:36;;;7600:18;;:::i;8227:184::-;8279:77;8276:1;8269:88;8376:4;8373:1;8366:15;8400:4;8397:1;8390:15;8416:1013;8686:4;8734:3;8723:9;8719:19;8765:6;8754:9;8747:25;8808:6;8803:2;8792:9;8788:18;8781:34;8851:3;8846:2;8835:9;8831:18;8824:31;8875:6;8910;8904:13;8941:6;8933;8926:22;8979:3;8968:9;8964:19;8957:26;;9018:2;9010:6;9006:15;8992:29;;9039:1;9049:218;9063:6;9060:1;9057:13;9049:218;;;9128:13;;9143:42;9124:62;9112:75;;9216:2;9242:15;;;;9207:12;;;;9085:1;9078:9;9049:218;;;-1:-1:-1;;9335:42:1;9323:55;;;;9318:2;9303:18;;9296:83;-1:-1:-1;;9410:3:1;9395:19;9388:35;9284:3;8416:1013;-1:-1:-1;;;8416:1013:1:o

Swarm Source

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