ETH Price: $3,711.59 (+3.14%)

Contract

0x79022C34Cc3B0c5Bb3B23F3F70e0bf4c28168bd4
 

Overview

ETH Balance

2 wei

Eth Value

Less Than $0.01 (@ $3,711.59/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve210783042024-10-30 11:57:4731 days ago1730289467IN
0x79022C34...c28168bd4
0 ETH0.000426239.15125004
Approve210227152024-10-22 17:48:4739 days ago1729619327IN
0x79022C34...c28168bd4
0 ETH0.0007532716.19355694
Approve209987152024-10-19 9:27:3542 days ago1729330055IN
0x79022C34...c28168bd4
0 ETH0.0005266711.30765742
Approve209921482024-10-18 11:27:5943 days ago1729250879IN
0x79022C34...c28168bd4
0 ETH0.0016391235.19167331
Approve209921462024-10-18 11:27:3543 days ago1729250855IN
0x79022C34...c28168bd4
0 ETH0.0016669135.78842521
Transfer209872542024-10-17 19:04:1144 days ago1729191851IN
0x79022C34...c28168bd4
0 ETH0.0013491819.26166861
Approve209872222024-10-17 18:57:4744 days ago1729191467IN
0x79022C34...c28168bd4
0 ETH0.0011296824.25423872
Approve209871742024-10-17 18:47:5944 days ago1729190879IN
0x79022C34...c28168bd4
0 ETH0.0011772725.27588021
Approve209871742024-10-17 18:47:5944 days ago1729190879IN
0x79022C34...c28168bd4
0 ETH0.0011772725.27588021
Approve209871742024-10-17 18:47:5944 days ago1729190879IN
0x79022C34...c28168bd4
0 ETH0.0011772725.27588021
Approve209871742024-10-17 18:47:5944 days ago1729190879IN
0x79022C34...c28168bd4
0 ETH0.0011772725.27588021
Approve209860332024-10-17 14:58:4744 days ago1729177127IN
0x79022C34...c28168bd4
0 ETH0.001110123.86457693
Transfer209857152024-10-17 13:54:2344 days ago1729173263IN
0x79022C34...c28168bd4
0 ETH0.0012528419.20209015
Approve209847142024-10-17 10:33:1144 days ago1729161191IN
0x79022C34...c28168bd4
0 ETH0.000794417.05583818
Approve209846162024-10-17 10:13:2344 days ago1729160003IN
0x79022C34...c28168bd4
0 ETH0.0008199617.6089705
Approve209832292024-10-17 5:35:1144 days ago1729143311IN
0x79022C34...c28168bd4
0 ETH0.0005615212.05582071
Approve209832292024-10-17 5:35:1144 days ago1729143311IN
0x79022C34...c28168bd4
0 ETH0.0005615212.05582071
Approve209823782024-10-17 2:44:2344 days ago1729133063IN
0x79022C34...c28168bd4
0 ETH0.0005083410.92821816
Approve209818412024-10-17 0:56:1144 days ago1729126571IN
0x79022C34...c28168bd4
0 ETH0.0005659412.15067021
Approve209818412024-10-17 0:56:1144 days ago1729126571IN
0x79022C34...c28168bd4
0 ETH0.0005659412.15067021
Approve209818412024-10-17 0:56:1144 days ago1729126571IN
0x79022C34...c28168bd4
0 ETH0.0005659412.15067021
Approve209818402024-10-17 0:55:5944 days ago1729126559IN
0x79022C34...c28168bd4
0 ETH0.0005762912.37291787
Approve209818402024-10-17 0:55:5944 days ago1729126559IN
0x79022C34...c28168bd4
0 ETH0.0005762912.37291787
Approve209818402024-10-17 0:55:5944 days ago1729126559IN
0x79022C34...c28168bd4
0 ETH0.0005762912.37291787
Approve209818402024-10-17 0:55:5944 days ago1729126559IN
0x79022C34...c28168bd4
0 ETH0.0005762912.37291787
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
211844342024-11-14 7:26:4716 days ago1731569207
0x79022C34...c28168bd4
0.00107135 ETH
211844342024-11-14 7:26:4716 days ago1731569207
0x79022C34...c28168bd4
0.00107135 ETH
211844342024-11-14 7:26:4716 days ago1731569207
0x79022C34...c28168bd4
0.00023807 ETH
211844342024-11-14 7:26:4716 days ago1731569207
0x79022C34...c28168bd4
0.00238078 ETH
211746122024-11-12 22:32:4718 days ago1731450767
0x79022C34...c28168bd4
0.00126693 ETH
211746122024-11-12 22:32:4718 days ago1731450767
0x79022C34...c28168bd4
0.00126693 ETH
211746122024-11-12 22:32:4718 days ago1731450767
0x79022C34...c28168bd4
0.00028154 ETH
211746122024-11-12 22:32:4718 days ago1731450767
0x79022C34...c28168bd4
0.0028154 ETH
211135132024-11-04 9:53:2326 days ago1730714003
0x79022C34...c28168bd4
0.00085306 ETH
211135132024-11-04 9:53:2326 days ago1730714003
0x79022C34...c28168bd4
0.00085306 ETH
211135132024-11-04 9:53:2326 days ago1730714003
0x79022C34...c28168bd4
0.00018956 ETH
211135132024-11-04 9:53:2326 days ago1730714003
0x79022C34...c28168bd4
0.00189569 ETH
210227172024-10-22 17:49:1139 days ago1729619351
0x79022C34...c28168bd4
0.00285402 ETH
210227172024-10-22 17:49:1139 days ago1729619351
0x79022C34...c28168bd4
0.00285402 ETH
210227172024-10-22 17:49:1139 days ago1729619351
0x79022C34...c28168bd4
0.00063422 ETH
210227172024-10-22 17:49:1139 days ago1729619351
0x79022C34...c28168bd4
0.00634228 ETH
210019822024-10-19 20:23:3542 days ago1729369415
0x79022C34...c28168bd4
0.00015833 ETH
210019822024-10-19 20:23:3542 days ago1729369415
0x79022C34...c28168bd4
0.00015833 ETH
210019822024-10-19 20:23:3542 days ago1729369415
0x79022C34...c28168bd4
0.00003518 ETH
210019822024-10-19 20:23:3542 days ago1729369415
0x79022C34...c28168bd4
0.00035186 ETH
210019822024-10-19 20:23:3542 days ago1729369415
0x79022C34...c28168bd4
0.00015987 ETH
210019822024-10-19 20:23:3542 days ago1729369415
0x79022C34...c28168bd4
0.00015987 ETH
210019822024-10-19 20:23:3542 days ago1729369415
0x79022C34...c28168bd4
0.00003552 ETH
210019822024-10-19 20:23:3542 days ago1729369415
0x79022C34...c28168bd4
0.00035527 ETH
210019822024-10-19 20:23:3542 days ago1729369415
0x79022C34...c28168bd4
0.00016142 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MuradFlanders

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-15
*/

/**
 __       __                                     __        ________  __                            __                               
/  \     /  |                                   /  |      /        |/  |                          /  |                              
$$  \   /$$ | __    __   ______   ______    ____$$ |      $$$$$$$$/ $$ |  ______   _______    ____$$ |  ______    ______    _______ 
$$$  \ /$$$ |/  |  /  | /      \ /      \  /    $$ |      $$ |__    $$ | /      \ /       \  /    $$ | /      \  /      \  /       |
$$$$  /$$$$ |$$ |  $$ |/$$$$$$  |$$$$$$  |/$$$$$$$ |      $$    |   $$ | $$$$$$  |$$$$$$$  |/$$$$$$$ |/$$$$$$  |/$$$$$$  |/$$$$$$$/ 
$$ $$ $$/$$ |$$ |  $$ |$$ |  $$/ /    $$ |$$ |  $$ |      $$$$$/    $$ | /    $$ |$$ |  $$ |$$ |  $$ |$$    $$ |$$ |  $$/ $$      \ 
$$ |$$$/ $$ |$$ \__$$ |$$ |     /$$$$$$$ |$$ \__$$ |      $$ |      $$ |/$$$$$$$ |$$ |  $$ |$$ \__$$ |$$$$$$$$/ $$ |       $$$$$$  |
$$ | $/  $$ |$$    $$/ $$ |     $$    $$ |$$    $$ |      $$ |      $$ |$$    $$ |$$ |  $$ |$$    $$ |$$       |$$ |      /     $$/ 
$$/      $$/  $$$$$$/  $$/       $$$$$$$/  $$$$$$$/       $$/       $$/  $$$$$$$/ $$/   $$/  $$$$$$$/  $$$$$$$/ $$/       $$$$$$$/  
                                                                                                                                    
👋 Listen up! I’m Murad Flanders, and if you don’t know me yet, well, that’s your loss. I’m not just the meme lord, I am the meme. 
I turned Bitcoin into pocket change and SPX into internet royalty. Everything I touch goes viral because, let’s face it, I’ve got the magic. 
I don’t just ride the waves—I create them. People think they know memes, but they haven’t seen anything until they’ve seen me in action. 
I’m the reason half the internet exists, and if you’re lucky enough to keep up, you might just catch a glimpse of greatness. Murad Flanders 
doesn’t follow trends—I am the trend.   

Website: https://muradflanders.io
X: https://x.com/MuradFlanders
Telegram: https://t.me/MuradFlanders                                                                                              

**/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

interface IERC20 {
    event Transfer(address indexed sender, address indexed recipient, uint256 amount); // Who needs cash when you can move magic internet money?
    event Approval(address indexed owner, address indexed spender, uint256 amount); // When you let someone else spend your money... on purpose. Big brain moves only.

    function totalSupply() external view returns (uint256); // How much of this magic stuff exists? Let's check.
    function balanceOf(address account) external view returns (uint256); // Show me the money! Or at least, the token version of it.
    function transfer(address recipient, uint256 amount) external returns (bool); // Sending some internet love... or wealth.
    function allowance(address owner, address spender) external view returns (uint256); // How much can this spender play with before it's not funny anymore?
    function approve(address spender, uint256 amount) external returns (bool); // Giving permission like "Yeah, go ahead and make it rain."
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); // Moving tokens like a sneaky ninja.
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender; // Who's calling? Probably someone who wants to get rich. Typical.
    }
}

contract Ownable is Context {
    address private _currentOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); // Someone handed over the crown. Big moves!

    constructor() {
        address msgSender = _msgSender();
        _currentOwner = msgSender;
        emit OwnershipTransferred(address(0), msgSender); // Fresh new king in town.
    }

    function owner() public view returns (address) {
        return _currentOwner; // Who's the boss? Oh right, it's me.
    }

    modifier onlyOwner() {
        require(_currentOwner == _msgSender(), "Ownable: caller is not the owner"); // Nice try, but you're not the boss here.
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _changeOwnership(newOwner); // Time to pass the torch... or the bag of memes.
    }

    function _changeOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address"); // Handing over to nobody? Nah, we're not playing that game.
        emit OwnershipTransferred(_currentOwner, newOwner); // Announcing the new meme king.
        _currentOwner = newOwner;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_currentOwner, address(0)); // Letting go of power—just like selling Bitcoin in 2012. Oops.
        _currentOwner = address(0);
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair); // Creating a pair... it’s like matchmaking, but for tokens.
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 tokenAmount,
        uint256 minETHAmount,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external; // Swapping tokens for ETH—because sometimes you just need some old-school cash.

    function factory() external pure returns (address); // Finding the factory... like finding where all the magic happens.
    function WETH() external pure returns (address); // Wrapped ETH, because plain ETH wasn’t fancy enough.

    function addLiquidityETH(
        address token,
        uint tokenDesired,
        uint tokenMin,
        uint ethMin,
        address to,
        uint deadline
    ) external payable returns (uint tokenAmount, uint ethAmount, uint liquidity); // Adding liquidity like adding sauce to your favorite dish.
}

contract MuradFlanders is Context, IERC20, Ownable {
    string private constant _tokenName = "Murad Flanders"; // Yes, it's all about *me*. You're welcome.
    string private constant _tokenSymbol = "MURA"; // The symbol of greatness.
    uint8 private constant _tokenDecimals = 18; 
    uint256 private constant _totalSupply = 1000000000 * 10**_tokenDecimals; // One billion tokens, because why not?

    mapping(address => uint256) private _balances; // Keeping track of who's rich, and who's richer.
    mapping(address => mapping(address => uint256)) private _allowances; // How much someone else can spend... under my watchful eye.
    mapping(address => uint256) private _excludedAddresses; // The VIP list—exclusive, of course.

    uint256 private constant _minimumTokensForSwap = 100000 * 10**_tokenDecimals; // Minimum to start swapping. No small potatoes allowed.
    uint256 private _maximumTokensForSwap = 5000000 * 10**_tokenDecimals; // Maximum swap limit because we can't go too crazy.

    uint256 public maxTransactionLimit = 5000000 * 10**_tokenDecimals; // To avoid *accidentally* blowing up the market.
    uint256 public maxWalletLimit = 10000000 * 10**_tokenDecimals; // We can't let any one person eat the whole meme cake.

    uint256 private _initialTradingBlock; // When trading started. AKA, when we opened the floodgates.
    uint256 buyTaxPercentage = 30; // 30% for getting in... because memes aren't free, buddy.
    uint256 sellTaxPercentage = 30; // And 30% for getting out. Told you, memes are valuable.

    IUniswapV2Router02 private _uniswapV2Router; // The magical Uniswap genie to make wishes come true.
    address public uniswapV2Pair; // Where we get our liquidity. Call it our meme pool.
    address taxWallet1; // The wallet where some magic funds go for "reasons."
    address taxWallet2; // Another wallet, because two is better than one.
    address taxWallet3; // Third wallet, in case the first two get lonely.

    bool private _tradingEnabled = false; // No trading till I say so. That's the rule.

    constructor() {
        taxWallet1 = 0x575791DC430836cd27393433875988bcf794AB67; 
        taxWallet2 = 0x6969aD20EEc04dCB81cD80F8959FecE7BFa2652E;
        taxWallet3 = 0x1954FcdA917065086BF7a6B01C9c9898C911A948;

        _balances[msg.sender] = _totalSupply; // Giving myself a billion tokens because, obviously, I'm the hero here.
        _excludedAddresses[msg.sender] = 1; // I'm on the exclusive list—of course.
        _excludedAddresses[address(this)] = 1; // Contract is on the list too. Gotta keep it special.

        emit Transfer(address(0), _msgSender(), _totalSupply); // Announcing my arrival with style.
    }

    function name() public pure returns (string memory) {
        return _tokenName; // In case you forgot whose token this is.
    }

    function symbol() public pure returns (string memory) {
        return _tokenSymbol; // Remember this symbol. You'll be seeing it a lot.
    }

    function decimals() public pure returns (uint8) {
        return _tokenDecimals; // We like decimals... a lot of them.
    }

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply; // The full power of Murad Flanders.
    }

    function getTaxes() external view returns (uint256 buyTax, uint256 sellTax) {
        buyTax = buyTaxPercentage; // Yes, there's a tax. How else do you think we keep this thing running?
        sellTax = sellTaxPercentage; // You pay to get in, and pay to get out. That's how we roll.
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account]; // Let's see how rich you've gotten, shall we?
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _executeTransfer(_msgSender(), recipient, amount); // Sending tokens like love letters.
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender]; // How much can they spend? Probably not enough to buy a Lambo.
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _setAllowance(_msgSender(), spender, amount); // Giving someone permission to spend your memes... bold move.
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _executeTransfer(sender, recipient, amount); // Moving tokens, because sitting still is boring.

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); // Trying to spend more than allowed? Not on my watch.
            unchecked {
                _setAllowance(sender, _msgSender(), currentAllowance - amount); // Adjusting allowance like a responsible adult.
            }
        }
        return true;
    }

    function _setAllowance(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address"); // Approving from nowhere? Nah.
        require(spender != address(0), "ERC20: approve to the zero address"); // Approving to nowhere? Also nah.
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount); // Letting the world know who can spend what.
    }

    function enableTrading() external onlyOwner {
        require(!_tradingEnabled, "Trading is already enabled"); // You can't enable what's already enabled, genius.
        _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Uniswap router address, aka the magic box.
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); // Creating the liquidity pair, like a crypto cocktail.
        _setAllowance(address(this), address(_uniswapV2Router), _totalSupply);
        
        _uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        IERC20(uniswapV2Pair).approve(address(_uniswapV2Router), type(uint).max); // Approving max, because go big or go home.
        _tradingEnabled = true;
        _initialTradingBlock = block.number; // Marking the historic moment when trading begins.
    }

    function modifyExcludedAddress(address account, uint256 value) external onlyOwner {
        _excludedAddresses[account] = value; // Adding or removing from the VIP list.
    }
	
    function _executeTokenTransfer(address from, address to, uint256 amount, uint256 taxRate) private {
        uint256 taxAmount = (amount * taxRate) / 100; // Calculating the tax like an accountant with a calculator.
        uint256 transferAmount = amount - taxAmount; // The rest goes to the lucky recipient.

        _balances[from] -= amount;
        _balances[to] += transferAmount;
        _balances[address(this)] += taxAmount; // Collecting the tax for our piggy bank.

        emit Transfer(from, to, transferAmount); // Letting everyone know money just moved.
    }

    function removeTransactionLimits() external onlyOwner {
        maxTransactionLimit = _totalSupply; // No limits! We’re going all in.
        maxWalletLimit = _totalSupply; // Who needs limits when you’re Murad Flanders?
    }

    function updateTaxRates(uint256 newTaxRate) external onlyOwner {
        require(newTaxRate <= buyTaxPercentage && newTaxRate <= sellTaxPercentage, "Tax cannot be increased"); // No surprise hikes here, we're not the IRS.
        buyTaxPercentage = newTaxRate; // Updating the buy tax.
        sellTaxPercentage = newTaxRate; // Updating the sell tax too.
    }

    function _executeTransfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address"); // Can't transfer from nowhere.
        require(amount > 0, "ERC20: transfer amount must be greater than zero"); // No free rides here.

        uint256 taxRate = 0;

        if (_excludedAddresses[from] == 0 && _excludedAddresses[to] == 0) {
            require(_tradingEnabled, "Trading is not enabled yet"); // You can't trade if trading isn't enabled. Duh.
            require(amount <= maxTransactionLimit, "Transaction amount exceeds the maximum limit"); // Too big! Calm down.
            
            if (to != uniswapV2Pair && to != address(0xdead)) {
                require(balanceOf(to) + amount <= maxWalletLimit, "Recipient wallet exceeds the maximum limit"); // No whales allowed.
            }

            if (block.number < _initialTradingBlock + 3) {
                taxRate = (from == uniswapV2Pair) ? 30 : 30; // Early trading tax. Welcome to meme economics.
            } else {
                if (from == uniswapV2Pair) {
                    taxRate = buyTaxPercentage; // Taxing buyers because we can.
                } else if (to == uniswapV2Pair) {
                    uint256 contractTokenBalance = balanceOf(address(this));
                    if (contractTokenBalance > _minimumTokensForSwap) {
                        uint256 swapAmount = _maximumTokensForSwap;
                        if (contractTokenBalance > amount) contractTokenBalance = amount;
                        if (contractTokenBalance > swapAmount) contractTokenBalance = swapAmount;
                        _swapTokensForEth(contractTokenBalance); // Swapping tokens for ETH, because it's time to cash in.
                    }
                    taxRate = sellTaxPercentage; // Taxing sellers too. Fair game.
                }
            }
        }
        _executeTokenTransfer(from, to, amount, taxRate); // Execute the transfer with all the rules in place.
    }

    function rescueTokens() external onlyOwner {
        uint256 contractTokenBalance = balanceOf(address(this));
        require(contractTokenBalance > 0, "No tokens to rescue"); // Nothing to rescue here, keep scrolling.

        _executeTokenTransfer(address(this), owner(), contractTokenBalance, 0); // Rescuing tokens like a hero in a blockbuster movie.
    }

    function manualTokenSwap(uint256 percent) external onlyOwner {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 swapAmount = (percent * contractTokenBalance) / 100;
        _swapTokensForEth(swapAmount); // Swapping tokens manually, because sometimes you gotta take control.
    }
    
    function rescueEther() external onlyOwner {
        (bool success, ) = owner().call{value: address(this).balance}("");
        require(success, "Rescue ETH failed"); // ETH rescue mission failed. Abort.
    }

    function _swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        _setAllowance(address(this), address(_uniswapV2Router), tokenAmount);

        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 contractEthBalance = address(this).balance;
        uint256 tax1 = (contractEthBalance * 10) / 100;
        uint256 tax2 = (contractEthBalance * 45) / 100;
        uint256 tax3 = (contractEthBalance * 45) / 100;

        (bool success, ) = taxWallet1.call{value: tax1}("");
        (success, ) = taxWallet2.call{value: tax2}("");
        (success, ) = taxWallet3.call{value: tax3}("");

        require(success, "Transfer failed"); // Oops, the ETH didn't make it. Try again.
    }

    receive() external payable {} // Receiving ETH like it's no big deal.
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","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":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTaxes","outputs":[{"internalType":"uint256","name":"buyTax","type":"uint256"},{"internalType":"uint256","name":"sellTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualTokenSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"modifyExcludedAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeTransactionLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueTokens","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTaxRate","type":"uint256"}],"name":"updateTaxRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a620002e9565b6200002190624c4b4062000300565b600455620000326012600a620002e9565b6200004190624c4b4062000300565b600555620000526012600a620002e9565b62000061906298968062000300565b600655601e6008819055600955600e805460ff60a01b1916905534801562000087575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b031990811673575791dc430836cd27393433875988bcf794ab6717909155600d80548216736969ad20eec04dcb81cd80f8959fece7bfa2652e179055600e8054909116731954fcda917065086bf7a6b01c9c9898c911a9481790556200013c6012600a620002e9565b6200014c90633b9aca0062000300565b335f9081526001602081815260408084209490945560039052828220819055308252919020556200017a3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001b36012600a620002e9565b620001c390633b9aca0062000300565b60405190815260200160405180910390a36200031a565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200022e57815f1904821115620002125762000212620001da565b808516156200022057918102915b93841c9390800290620001f3565b509250929050565b5f826200024657506001620002e3565b816200025457505f620002e3565b81600181146200026d5760028114620002785762000298565b6001915050620002e3565b60ff8411156200028c576200028c620001da565b50506001821b620002e3565b5060208310610133831016604e8410600b8410161715620002bd575081810a620002e3565b620002c98383620001ee565b805f1904821115620002df57620002df620001da565b0290505b92915050565b5f620002f960ff84168362000236565b9392505050565b8082028115828204841417620002e357620002e3620001da565b6119a680620003285f395ff3fe60806040526004361061013f575f3560e01c8063715018a6116100b3578063a398edd41161006d578063a398edd41461039d578063a9059cbb146103bc578063c1b207d5146103db578063dd62ed3e146103ef578063dd8c2e0f14610433578063f2fde38b14610447575f80fd5b8063715018a6146102ef5780638a8c523c146103035780638da5cb5b146103175780639213f7db1461033357806395d89b4114610352578063967f66151461037e575f80fd5b80632973ef2d116101045780632973ef2d14610218578063313ce5671461023f57806349bd5a5e1461025a57806366a88d9614610291578063676c8458146102a657806370a08231146102bb575f80fd5b806306fdde031461014a578063095ea7b31461019257806318160ddd146101c157806320969d07146101e357806323b872dd146101f9575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600e81526d4d7572616420466c616e6465727360901b60208201525b60405161018991906115be565b60405180910390f35b34801561019d575f80fd5b506101b16101ac36600461161d565b610466565b6040519015158152602001610189565b3480156101cc575f80fd5b506101d561047c565b604051908152602001610189565b3480156101ee575f80fd5b506101f761049c565b005b348015610204575f80fd5b506101b1610213366004611647565b610565565b348015610223575f80fd5b5060085460095460408051928352602083019190915201610189565b34801561024a575f80fd5b5060405160128152602001610189565b348015610265575f80fd5b50600b54610279906001600160a01b031681565b6040516001600160a01b039091168152602001610189565b34801561029c575f80fd5b506101d560065481565b3480156102b1575f80fd5b506101d560055481565b3480156102c6575f80fd5b506101d56102d5366004611685565b6001600160a01b03165f9081526001602052604090205490565b3480156102fa575f80fd5b506101f7610615565b34801561030e575f80fd5b506101f7610686565b348015610322575f80fd5b505f546001600160a01b0316610279565b34801561033e575f80fd5b506101f761034d3660046116a7565b610a2a565b34801561035d575f80fd5b506040805180820190915260048152634d55524160e01b602082015261017c565b348015610389575f80fd5b506101f76103983660046116a7565b610a89565b3480156103a8575f80fd5b506101f76103b736600461161d565b610b1c565b3480156103c7575f80fd5b506101b16103d636600461161d565b610b60565b3480156103e6575f80fd5b506101f7610b6c565b3480156103fa575f80fd5b506101d56104093660046116be565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561043e575f80fd5b506101f7610bd1565b348015610452575f80fd5b506101f7610461366004611685565b610c68565b5f610472338484610c9a565b5060015b92915050565b5f6104896012600a6117e9565b61049790633b9aca006117f7565b905090565b5f546001600160a01b031633146104ce5760405162461bcd60e51b81526004016104c59061180e565b60405180910390fd5b5f80546040516001600160a01b039091169047908381818185875af1925050503d805f8114610518576040519150601f19603f3d011682016040523d82523d5f602084013e61051d565b606091505b50509050806105625760405162461bcd60e51b815260206004820152601160248201527014995cd8dd59481155120819985a5b1959607a1b60448201526064016104c5565b50565b5f610571848484610dbd565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f19811461060a57828110156105fd5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016104c5565b61060a8533858403610c9a565b506001949350505050565b5f546001600160a01b0316331461063e5760405162461bcd60e51b81526004016104c59061180e565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106af5760405162461bcd60e51b81526004016104c59061180e565b600e54600160a01b900460ff16156107095760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c656400000000000060448201526064016104c5565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561076b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078f9190611843565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108129190611843565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561085c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108809190611843565b600b80546001600160a01b0319166001600160a01b03928316179055600a80546108c89230929116906108b5906012906117e9565b6108c390633b9aca006117f7565b610c9a565b600a546001600160a01b031663f305d71947306108f9816001600160a01b03165f9081526001602052604090205490565b5f8061090c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610972573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610997919061185e565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190611889565b50600e805460ff60a01b1916600160a01b17905543600755565b5f546001600160a01b03163314610a535760405162461bcd60e51b81526004016104c59061180e565b305f90815260016020526040812054906064610a6f83856117f7565b610a7991906118a8565b9050610a8481611123565b505050565b5f546001600160a01b03163314610ab25760405162461bcd60e51b81526004016104c59061180e565b6008548111158015610ac657506009548111155b610b125760405162461bcd60e51b815260206004820152601760248201527f5461782063616e6e6f7420626520696e6372656173656400000000000000000060448201526064016104c5565b6008819055600955565b5f546001600160a01b03163314610b455760405162461bcd60e51b81526004016104c59061180e565b6001600160a01b039091165f90815260036020526040902055565b5f610472338484610dbd565b5f546001600160a01b03163314610b955760405162461bcd60e51b81526004016104c59061180e565b610ba16012600a6117e9565b610baf90633b9aca006117f7565b600555610bbe6012600a6117e9565b610bcc90633b9aca006117f7565b600655565b5f546001600160a01b03163314610bfa5760405162461bcd60e51b81526004016104c59061180e565b305f9081526001602052604090205480610c4c5760405162461bcd60e51b81526020600482015260136024820152724e6f20746f6b656e7320746f2072657363756560681b60448201526064016104c5565b61056230610c615f546001600160a01b031690565b835f611405565b5f546001600160a01b03163314610c915760405162461bcd60e51b81526004016104c59061180e565b61056281611500565b6001600160a01b038316610cfc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c5565b6001600160a01b038216610d5d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e215760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c5565b5f8111610e895760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b60648201526084016104c5565b6001600160a01b0383165f90815260036020526040812054158015610ec357506001600160a01b0383165f90815260036020526040902054155b1561111157600e54600160a01b900460ff16610f215760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c65642079657400000000000060448201526064016104c5565b600554821115610f885760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60448201526b185e1a5b5d5b481b1a5b5a5d60a21b60648201526084016104c5565b600b546001600160a01b03848116911614801590610fb157506001600160a01b03831661dead14155b156110435760065482610fd8856001600160a01b03165f9081526001602052604090205490565b610fe291906118c7565b11156110435760405162461bcd60e51b815260206004820152602a60248201527f526563697069656e742077616c6c6574206578636565647320746865206d61786044820152691a5b5d5b481b1a5b5a5d60b21b60648201526084016104c5565b6007546110519060036118c7565b43101561108157600b546001600160a01b0385811691161461107457601e611077565b601e5b60ff169050611111565b600b546001600160a01b03908116908516036110a05750600854611111565b600b546001600160a01b039081169084160361111157305f908152600160205260409020546110d16012600a6117e9565b6110de90620186a06117f7565b81111561110b57600454838211156110f4578391505b80821115611100578091505b61110982611123565b505b50506009545b61111d84848484611405565b50505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611156576111566118da565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d19190611843565b816001815181106111e4576111e46118da565b6001600160a01b039283166020918202929092010152600a5461120a9130911684610c9a565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906112429085905f908690309042906004016118ee565b5f604051808303815f87803b158015611259575f80fd5b505af115801561126b573d5f803e3d5ffd5b504792505f91506064905061128183600a6117f7565b61128b91906118a8565b90505f606461129b84602d6117f7565b6112a591906118a8565b90505f60646112b585602d6117f7565b6112bf91906118a8565b600c546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f811461130e576040519150601f19603f3d011682016040523d82523d5f602084013e611313565b606091505b5050600d546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611360576040519150601f19603f3d011682016040523d82523d5f602084013e611365565b606091505b5050600e546040519192506001600160a01b03169083905f81818185875af1925050503d805f81146113b2576040519150601f19603f3d011682016040523d82523d5f602084013e6113b7565b606091505b505080915050806113fc5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016104c5565b50505050505050565b5f606461141283856117f7565b61141c91906118a8565b90505f611429828561195d565b6001600160a01b0387165f9081526001602052604081208054929350869290919061145590849061195d565b90915550506001600160a01b0385165f90815260016020526040812080548392906114819084906118c7565b9091555050305f90815260016020526040812080548492906114a49084906118c7565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114f091815260200190565b60405180910390a3505050505050565b6001600160a01b0381166115655760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104c5565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6020808352835180828501525f5b818110156115e9578581018301518582016040015282016115cd565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610562575f80fd5b5f806040838503121561162e575f80fd5b823561163981611609565b946020939093013593505050565b5f805f60608486031215611659575f80fd5b833561166481611609565b9250602084013561167481611609565b929592945050506040919091013590565b5f60208284031215611695575f80fd5b81356116a081611609565b9392505050565b5f602082840312156116b7575f80fd5b5035919050565b5f80604083850312156116cf575f80fd5b82356116da81611609565b915060208301356116ea81611609565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561174357815f1904821115611729576117296116f5565b8085161561173657918102915b93841c939080029061170e565b509250929050565b5f8261175957506001610476565b8161176557505f610476565b816001811461177b5760028114611785576117a1565b6001915050610476565b60ff841115611796576117966116f5565b50506001821b610476565b5060208310610133831016604e8410600b84101617156117c4575081810a610476565b6117ce8383611709565b805f19048211156117e1576117e16116f5565b029392505050565b5f6116a060ff84168361174b565b8082028115828204841417610476576104766116f5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611853575f80fd5b81516116a081611609565b5f805f60608486031215611870575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611899575f80fd5b815180151581146116a0575f80fd5b5f826118c257634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610476576104766116f5565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561193c5784516001600160a01b031683529383019391830191600101611917565b50506001600160a01b03969096166060850152505050608001529392505050565b81810381811115610476576104766116f556fea2646970667358221220ca035dd6537bab3e98af9d0ac735371fa901197c9d6b24678f23e0cf41312c0064736f6c63430008140033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c8063715018a6116100b3578063a398edd41161006d578063a398edd41461039d578063a9059cbb146103bc578063c1b207d5146103db578063dd62ed3e146103ef578063dd8c2e0f14610433578063f2fde38b14610447575f80fd5b8063715018a6146102ef5780638a8c523c146103035780638da5cb5b146103175780639213f7db1461033357806395d89b4114610352578063967f66151461037e575f80fd5b80632973ef2d116101045780632973ef2d14610218578063313ce5671461023f57806349bd5a5e1461025a57806366a88d9614610291578063676c8458146102a657806370a08231146102bb575f80fd5b806306fdde031461014a578063095ea7b31461019257806318160ddd146101c157806320969d07146101e357806323b872dd146101f9575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600e81526d4d7572616420466c616e6465727360901b60208201525b60405161018991906115be565b60405180910390f35b34801561019d575f80fd5b506101b16101ac36600461161d565b610466565b6040519015158152602001610189565b3480156101cc575f80fd5b506101d561047c565b604051908152602001610189565b3480156101ee575f80fd5b506101f761049c565b005b348015610204575f80fd5b506101b1610213366004611647565b610565565b348015610223575f80fd5b5060085460095460408051928352602083019190915201610189565b34801561024a575f80fd5b5060405160128152602001610189565b348015610265575f80fd5b50600b54610279906001600160a01b031681565b6040516001600160a01b039091168152602001610189565b34801561029c575f80fd5b506101d560065481565b3480156102b1575f80fd5b506101d560055481565b3480156102c6575f80fd5b506101d56102d5366004611685565b6001600160a01b03165f9081526001602052604090205490565b3480156102fa575f80fd5b506101f7610615565b34801561030e575f80fd5b506101f7610686565b348015610322575f80fd5b505f546001600160a01b0316610279565b34801561033e575f80fd5b506101f761034d3660046116a7565b610a2a565b34801561035d575f80fd5b506040805180820190915260048152634d55524160e01b602082015261017c565b348015610389575f80fd5b506101f76103983660046116a7565b610a89565b3480156103a8575f80fd5b506101f76103b736600461161d565b610b1c565b3480156103c7575f80fd5b506101b16103d636600461161d565b610b60565b3480156103e6575f80fd5b506101f7610b6c565b3480156103fa575f80fd5b506101d56104093660046116be565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561043e575f80fd5b506101f7610bd1565b348015610452575f80fd5b506101f7610461366004611685565b610c68565b5f610472338484610c9a565b5060015b92915050565b5f6104896012600a6117e9565b61049790633b9aca006117f7565b905090565b5f546001600160a01b031633146104ce5760405162461bcd60e51b81526004016104c59061180e565b60405180910390fd5b5f80546040516001600160a01b039091169047908381818185875af1925050503d805f8114610518576040519150601f19603f3d011682016040523d82523d5f602084013e61051d565b606091505b50509050806105625760405162461bcd60e51b815260206004820152601160248201527014995cd8dd59481155120819985a5b1959607a1b60448201526064016104c5565b50565b5f610571848484610dbd565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f19811461060a57828110156105fd5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016104c5565b61060a8533858403610c9a565b506001949350505050565b5f546001600160a01b0316331461063e5760405162461bcd60e51b81526004016104c59061180e565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106af5760405162461bcd60e51b81526004016104c59061180e565b600e54600160a01b900460ff16156107095760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c656400000000000060448201526064016104c5565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561076b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078f9190611843565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108129190611843565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561085c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108809190611843565b600b80546001600160a01b0319166001600160a01b03928316179055600a80546108c89230929116906108b5906012906117e9565b6108c390633b9aca006117f7565b610c9a565b600a546001600160a01b031663f305d71947306108f9816001600160a01b03165f9081526001602052604090205490565b5f8061090c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610972573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610997919061185e565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109ec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a109190611889565b50600e805460ff60a01b1916600160a01b17905543600755565b5f546001600160a01b03163314610a535760405162461bcd60e51b81526004016104c59061180e565b305f90815260016020526040812054906064610a6f83856117f7565b610a7991906118a8565b9050610a8481611123565b505050565b5f546001600160a01b03163314610ab25760405162461bcd60e51b81526004016104c59061180e565b6008548111158015610ac657506009548111155b610b125760405162461bcd60e51b815260206004820152601760248201527f5461782063616e6e6f7420626520696e6372656173656400000000000000000060448201526064016104c5565b6008819055600955565b5f546001600160a01b03163314610b455760405162461bcd60e51b81526004016104c59061180e565b6001600160a01b039091165f90815260036020526040902055565b5f610472338484610dbd565b5f546001600160a01b03163314610b955760405162461bcd60e51b81526004016104c59061180e565b610ba16012600a6117e9565b610baf90633b9aca006117f7565b600555610bbe6012600a6117e9565b610bcc90633b9aca006117f7565b600655565b5f546001600160a01b03163314610bfa5760405162461bcd60e51b81526004016104c59061180e565b305f9081526001602052604090205480610c4c5760405162461bcd60e51b81526020600482015260136024820152724e6f20746f6b656e7320746f2072657363756560681b60448201526064016104c5565b61056230610c615f546001600160a01b031690565b835f611405565b5f546001600160a01b03163314610c915760405162461bcd60e51b81526004016104c59061180e565b61056281611500565b6001600160a01b038316610cfc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c5565b6001600160a01b038216610d5d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e215760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c5565b5f8111610e895760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b60648201526084016104c5565b6001600160a01b0383165f90815260036020526040812054158015610ec357506001600160a01b0383165f90815260036020526040902054155b1561111157600e54600160a01b900460ff16610f215760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c65642079657400000000000060448201526064016104c5565b600554821115610f885760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60448201526b185e1a5b5d5b481b1a5b5a5d60a21b60648201526084016104c5565b600b546001600160a01b03848116911614801590610fb157506001600160a01b03831661dead14155b156110435760065482610fd8856001600160a01b03165f9081526001602052604090205490565b610fe291906118c7565b11156110435760405162461bcd60e51b815260206004820152602a60248201527f526563697069656e742077616c6c6574206578636565647320746865206d61786044820152691a5b5d5b481b1a5b5a5d60b21b60648201526084016104c5565b6007546110519060036118c7565b43101561108157600b546001600160a01b0385811691161461107457601e611077565b601e5b60ff169050611111565b600b546001600160a01b03908116908516036110a05750600854611111565b600b546001600160a01b039081169084160361111157305f908152600160205260409020546110d16012600a6117e9565b6110de90620186a06117f7565b81111561110b57600454838211156110f4578391505b80821115611100578091505b61110982611123565b505b50506009545b61111d84848484611405565b50505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611156576111566118da565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d19190611843565b816001815181106111e4576111e46118da565b6001600160a01b039283166020918202929092010152600a5461120a9130911684610c9a565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906112429085905f908690309042906004016118ee565b5f604051808303815f87803b158015611259575f80fd5b505af115801561126b573d5f803e3d5ffd5b504792505f91506064905061128183600a6117f7565b61128b91906118a8565b90505f606461129b84602d6117f7565b6112a591906118a8565b90505f60646112b585602d6117f7565b6112bf91906118a8565b600c546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f811461130e576040519150601f19603f3d011682016040523d82523d5f602084013e611313565b606091505b5050600d546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611360576040519150601f19603f3d011682016040523d82523d5f602084013e611365565b606091505b5050600e546040519192506001600160a01b03169083905f81818185875af1925050503d805f81146113b2576040519150601f19603f3d011682016040523d82523d5f602084013e6113b7565b606091505b505080915050806113fc5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016104c5565b50505050505050565b5f606461141283856117f7565b61141c91906118a8565b90505f611429828561195d565b6001600160a01b0387165f9081526001602052604081208054929350869290919061145590849061195d565b90915550506001600160a01b0385165f90815260016020526040812080548392906114819084906118c7565b9091555050305f90815260016020526040812080548492906114a49084906118c7565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114f091815260200190565b60405180910390a3505050505050565b6001600160a01b0381166115655760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104c5565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6020808352835180828501525f5b818110156115e9578581018301518582016040015282016115cd565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610562575f80fd5b5f806040838503121561162e575f80fd5b823561163981611609565b946020939093013593505050565b5f805f60608486031215611659575f80fd5b833561166481611609565b9250602084013561167481611609565b929592945050506040919091013590565b5f60208284031215611695575f80fd5b81356116a081611609565b9392505050565b5f602082840312156116b7575f80fd5b5035919050565b5f80604083850312156116cf575f80fd5b82356116da81611609565b915060208301356116ea81611609565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561174357815f1904821115611729576117296116f5565b8085161561173657918102915b93841c939080029061170e565b509250929050565b5f8261175957506001610476565b8161176557505f610476565b816001811461177b5760028114611785576117a1565b6001915050610476565b60ff841115611796576117966116f5565b50506001821b610476565b5060208310610133831016604e8410600b84101617156117c4575081810a610476565b6117ce8383611709565b805f19048211156117e1576117e16116f5565b029392505050565b5f6116a060ff84168361174b565b8082028115828204841417610476576104766116f5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611853575f80fd5b81516116a081611609565b5f805f60608486031215611870575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611899575f80fd5b815180151581146116a0575f80fd5b5f826118c257634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610476576104766116f5565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561193c5784516001600160a01b031683529383019391830191600101611917565b50506001600160a01b03969096166060850152505050608001529392505050565b81810381811115610476576104766116f556fea2646970667358221220ca035dd6537bab3e98af9d0ac735371fa901197c9d6b24678f23e0cf41312c0064736f6c63430008140033

Deployed Bytecode Sourcemap

6158:12134:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8888:131;;;;;;;;;;-1:-1:-1;8958:10:0;;;;;;;;;;;;-1:-1:-1;;;8958:10:0;;;;8888:131;;;;;;;:::i;:::-;;;;;;;;10367:229;;;;;;;;;;-1:-1:-1;10367:229:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10367:229:0;1023:187:1;9313:137:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;9313:137:0;1215:177:1;17005:211:0;;;;;;;;;;;;;:::i;:::-;;10604:696;;;;;;;;;;-1:-1:-1;10604:696:0;;;;;:::i;:::-;;:::i;9458:293::-;;;;;;;;;;-1:-1:-1;9554:16:0;;9664:17;;9458:293;;;2032:25:1;;;2088:2;2073:18;;2066:34;;;;2005:18;9458:293:0;1858:248:1;9179:126:0;;;;;;;;;;-1:-1:-1;9179:126:0;;6441:2;2253:36:1;;2241:2;2226:18;9179:126:0;2111:184:1;7830:28:0;;;;;;;;;;-1:-1:-1;7830:28:0;;;;-1:-1:-1;;;;;7830:28:0;;;;;;-1:-1:-1;;;;;2464:32:1;;;2446:51;;2434:2;2419:18;7830:28:0;2300:203:1;7303:61:0;;;;;;;;;;;;;;;;7181:65;;;;;;;;;;;;;;;;9759:166;;;;;;;;;;-1:-1:-1;9759:166:0;;;;;:::i;:::-;-1:-1:-1;;;;;9852:18:0;9825:7;9852:18;;;:9;:18;;;;;;;9759:166;4831:228;;;;;;;;;;;;;:::i;11769:1073::-;;;;;;;;;;;;;:::i;4014:124::-;;;;;;;;;;-1:-1:-1;4052:7:0;4079:13;-1:-1:-1;;;;;4079:13:0;4014:124;;16677:316;;;;;;;;;;-1:-1:-1;16677:316:0;;;;;:::i;:::-;;:::i;9027:144::-;;;;;;;;;;-1:-1:-1;9099:12:0;;;;;;;;;;;;-1:-1:-1;;;9099:12:0;;;;9027:144;;13867:365;;;;;;;;;;-1:-1:-1;13867:365:0;;;;;:::i;:::-;;:::i;12850:177::-;;;;;;;;;;-1:-1:-1;12850:177:0;;;;;:::i;:::-;;:::i;9933:211::-;;;;;;;;;;-1:-1:-1;9933:211:0;;;;;:::i;:::-;;:::i;13626:233::-;;;;;;;;;;;;;:::i;10152:207::-;;;;;;;;;;-1:-1:-1;10152:207:0;;;;;:::i;:::-;-1:-1:-1;;;;;10260:18:0;;;10233:7;10260:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10152:207;16304:365;;;;;;;;;;;;;:::i;4323:157::-;;;;;;;;;;-1:-1:-1;4323:157:0;;;;;:::i;:::-;;:::i;10367:229::-;10442:4;10459:44;3519:10;10487:7;10496:6;10459:13;:44::i;:::-;-1:-1:-1;10584:4:0;10367:229;;;;;:::o;9313:137::-;9366:7;6504:18;6441:2;6504;:18;:::i;:::-;6491:31;;:10;:31;:::i;:::-;9386:19;;9313:137;:::o;17005:211::-;4186:13;;-1:-1:-1;;;;;4186:13:0;3519:10;4186:29;4178:74;;;;-1:-1:-1;;;4178:74:0;;;;;;;:::i;:::-;;;;;;;;;17059:12:::1;4079:13:::0;;17077:46:::1;::::0;-1:-1:-1;;;;;4079:13:0;;;;17097:21:::1;::::0;17059:12;17077:46;17059:12;17077:46;17097:21;4079:13;17077:46:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17058:65;;;17142:7;17134:37;;;::::0;-1:-1:-1;;;17134:37:0;;5799:2:1;17134:37:0::1;::::0;::::1;5781:21:1::0;5838:2;5818:18;;;5811:30;-1:-1:-1;;;5857:18:1;;;5850:47;5914:18;;17134:37:0::1;5597:341:1::0;17134:37:0::1;17047:169;17005:211::o:0;10604:696::-;10702:4;10719:43;10736:6;10744:9;10755:6;10719:16;:43::i;:::-;-1:-1:-1;;;;;10853:19:0;;10826:24;10853:19;;;:11;:19;;;;;;;;3519:10;10853:33;;;;;;;;-1:-1:-1;;10901:37:0;;10897:374;;10983:6;10963:16;:26;;10955:79;;;;-1:-1:-1;;;10955:79:0;;6145:2:1;10955:79:0;;;6127:21:1;6184:2;6164:18;;;6157:30;6223:34;6203:18;;;6196:62;-1:-1:-1;;;6274:18:1;;;6267:38;6322:19;;10955:79:0;5943:404:1;10955:79:0;11133:62;11147:6;3519:10;11188:6;11169:16;:25;11133:13;:62::i;:::-;-1:-1:-1;11288:4:0;;10604:696;-1:-1:-1;;;;10604:696:0:o;4831:228::-;4186:13;;-1:-1:-1;;;;;4186:13:0;3519:10;4186:29;4178:74;;;;-1:-1:-1;;;4178:74:0;;;;;;;:::i;:::-;4945:1:::1;4922:13:::0;;4901:47:::1;::::0;-1:-1:-1;;;;;4922:13:0;;::::1;::::0;4901:47:::1;::::0;4945:1;;4901:47:::1;5049:1;5025:26:::0;;-1:-1:-1;;;;;;5025:26:0::1;::::0;;4831:228::o;11769:1073::-;4186:13;;-1:-1:-1;;;;;4186:13:0;3519:10;4186:29;4178:74;;;;-1:-1:-1;;;4178:74:0;;;;;;;:::i;:::-;11833:15:::1;::::0;-1:-1:-1;;;11833:15:0;::::1;;;11832:16;11824:55;;;::::0;-1:-1:-1;;;11824:55:0;;6554:2:1;11824:55:0::1;::::0;::::1;6536:21:1::0;6593:2;6573:18;;;6566:30;6632:28;6612:18;;;6605:56;6678:18;;11824:55:0::1;6352:350:1::0;11824:55:0::1;11942:16;:81:::0;;-1:-1:-1;;;;;;11942:81:0::1;11980:42;11942:81:::0;;::::1;::::0;;;12114:26:::1;::::0;;-1:-1:-1;;;12114:26:0;;;;:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;11980:42;12114:26:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12096:56:0::1;;12161:4;12168:16;;;;;;;;;-1:-1:-1::0;;;;;12168:16:0::1;-1:-1:-1::0;;;;;12168:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12096:96;::::0;-1:-1:-1;;;;;;12096:96:0::1;::::0;;;;;;-1:-1:-1;;;;;7193:15:1;;;12096:96:0::1;::::0;::::1;7175:34:1::0;7245:15;;7225:18;;;7218:43;7110:18;;12096:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12080:13;:112:::0;;-1:-1:-1;;;;;;12080:112:0::1;-1:-1:-1::0;;;;;12080:112:0;;::::1;;::::0;;12296:16:::1;::::0;;12259:69:::1;::::0;12281:4:::1;::::0;12296:16;::::1;::::0;6504:18:::1;::::0;6441:2:::1;::::0;6504:18:::1;:::i;:::-;6491:31;::::0;:10:::1;:31;:::i;:::-;12259:13;:69::i;:::-;12349:16;::::0;-1:-1:-1;;;;;12349:16:0::1;:32;12389:21;12434:4;12454:24;12434:4:::0;-1:-1:-1;;;;;9852:18:0;9825:7;9852:18;;;:9;:18;;;;;;;9759:166;12454:24:::1;12493:1;12509::::0;12525:7:::1;4052::::0;4079:13;-1:-1:-1;;;;;4079:13:0;;4014:124;12525:7:::1;12349:224;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12349:224:0;;;-1:-1:-1;;;;;7631:15:1;;;12349:224:0::1;::::0;::::1;7613:34:1::0;7663:18;;;7656:34;;;;7706:18;;;7699:34;;;;7749:18;;;7742:34;7813:15;;;7792:19;;;7785:44;12547:15:0::1;7845:19:1::0;;;7838:35;7547:19;;12349:224:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12593:13:0::1;::::0;12624:16:::1;::::0;12586:72:::1;::::0;-1:-1:-1;;;12586:72:0;;-1:-1:-1;;;;;12624:16:0;;::::1;12586:72;::::0;::::1;8369:51:1::0;-1:-1:-1;;8436:18:1;;;8429:34;12593:13:0;::::1;::::0;-1:-1:-1;12586:29:0::1;::::0;8342:18:1;;12586:72:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12714:15:0::1;:22:::0;;-1:-1:-1;;;;12714:22:0::1;-1:-1:-1::0;;;12714:22:0::1;::::0;;12770:12:::1;12747:20;:35:::0;11769:1073::o;16677:316::-;4186:13;;-1:-1:-1;;;;;4186:13:0;3519:10;4186:29;4178:74;;;;-1:-1:-1;;;4178:74:0;;;;;;;:::i;:::-;16798:4:::1;16749:28;9852:18:::0;;;:9;:18;;;;;;;16871:3:::1;16837:30;9852:18:::0;16837:7;:30:::1;:::i;:::-;16836:38;;;;:::i;:::-;16815:59;;16885:29;16903:10;16885:17;:29::i;:::-;16738:255;;16677:316:::0;:::o;13867:365::-;4186:13;;-1:-1:-1;;;;;4186:13:0;3519:10;4186:29;4178:74;;;;-1:-1:-1;;;4178:74:0;;;;;;;:::i;:::-;13963:16:::1;;13949:10;:30;;:65;;;;;13997:17;;13983:10;:31;;13949:65;13941:101;;;::::0;-1:-1:-1;;;13941:101:0;;9180:2:1;13941:101:0::1;::::0;::::1;9162:21:1::0;9219:2;9199:18;;;9192:30;9258:25;9238:18;;;9231:53;9301:18;;13941:101:0::1;8978:347:1::0;13941:101:0::1;14099:16;:29:::0;;;14164:17:::1;:30:::0;13867:365::o;12850:177::-;4186:13;;-1:-1:-1;;;;;4186:13:0;3519:10;4186:29;4178:74;;;;-1:-1:-1;;;4178:74:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12943:27:0;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:35;12850:177::o;9933:211::-;10011:4;10028:49;3519:10;10059:9;10070:6;10028:16;:49::i;13626:233::-;4186:13;;-1:-1:-1;;;;;4186:13:0;3519:10;4186:29;4178:74;;;;-1:-1:-1;;;4178:74:0;;;;;;;:::i;:::-;6504:18:::1;6441:2;6504;:18;:::i;:::-;6491:31;::::0;:10:::1;:31;:::i;:::-;13691:19;:34:::0;6504:18:::1;6441:2;6504;:18;:::i;:::-;6491:31;::::0;:10:::1;:31;:::i;:::-;13772:14;:29:::0;13626:233::o;16304:365::-;4186:13;;-1:-1:-1;;;;;4186:13:0;3519:10;4186:29;4178:74;;;;-1:-1:-1;;;4178:74:0;;;;;;;:::i;:::-;16407:4:::1;16358:28;9852:18:::0;;;:9;:18;;;;;;16432:24;16424:56:::1;;;::::0;-1:-1:-1;;;16424:56:0;;9532:2:1;16424:56:0::1;::::0;::::1;9514:21:1::0;9571:2;9551:18;;;9544:30;-1:-1:-1;;;9590:18:1;;;9583:49;9649:18;;16424:56:0::1;9330:343:1::0;16424:56:0::1;16536:70;16566:4;16573:7;4052::::0;4079:13;-1:-1:-1;;;;;4079:13:0;;4014:124;16573:7:::1;16582:20;16604:1;16536:21;:70::i;4323:157::-:0;4186:13;;-1:-1:-1;;;;;4186:13:0;3519:10;4186:29;4178:74;;;;-1:-1:-1;;;4178:74:0;;;;;;;:::i;:::-;4396:26:::1;4413:8;4396:16;:26::i;11308:453::-:0;-1:-1:-1;;;;;11406:19:0;;11398:68;;;;-1:-1:-1;;;11398:68:0;;9880:2:1;11398:68:0;;;9862:21:1;9919:2;9899:18;;;9892:30;9958:34;9938:18;;;9931:62;-1:-1:-1;;;10009:18:1;;;10002:34;10053:19;;11398:68:0;9678:400:1;11398:68:0;-1:-1:-1;;;;;11517:21:0;;11509:68;;;;-1:-1:-1;;;11509:68:0;;10285:2:1;11509:68:0;;;10267:21:1;10324:2;10304:18;;;10297:30;10363:34;10343:18;;;10336:62;-1:-1:-1;;;10414:18:1;;;10407:32;10456:19;;11509:68:0;10083:398:1;11509:68:0;-1:-1:-1;;;;;11623:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11675:32;;1361:25:1;;;11675:32:0;;1334:18:1;11675:32:0;;;;;;;11308:453;;;:::o;14240:2056::-;-1:-1:-1;;;;;14335:18:0;;14327:68;;;;-1:-1:-1;;;14327:68:0;;10688:2:1;14327:68:0;;;10670:21:1;10727:2;10707:18;;;10700:30;10766:34;10746:18;;;10739:62;-1:-1:-1;;;10817:18:1;;;10810:35;10862:19;;14327:68:0;10486:401:1;14327:68:0;14455:1;14446:6;:10;14438:71;;;;-1:-1:-1;;;14438:71:0;;11094:2:1;14438:71:0;;;11076:21:1;11133:2;11113:18;;;11106:30;11172:34;11152:18;;;11145:62;-1:-1:-1;;;11223:18:1;;;11216:46;11279:19;;14438:71:0;10892:412:1;14438:71:0;-1:-1:-1;;;;;14581:24:0;;14545:15;14581:24;;;:18;:24;;;;;;:29;:60;;;;-1:-1:-1;;;;;;14614:22:0;;;;;;:18;:22;;;;;;:27;14581:60;14577:1600;;;14666:15;;-1:-1:-1;;;14666:15:0;;;;14658:54;;;;-1:-1:-1;;;14658:54:0;;11511:2:1;14658:54:0;;;11493:21:1;11550:2;11530:18;;;11523:30;11589:28;11569:18;;;11562:56;11635:18;;14658:54:0;11309:350:1;14658:54:0;14795:19;;14785:6;:29;;14777:86;;;;-1:-1:-1;;;14777:86:0;;11866:2:1;14777:86:0;;;11848:21:1;11905:2;11885:18;;;11878:30;11944:34;11924:18;;;11917:62;-1:-1:-1;;;11995:18:1;;;11988:42;12047:19;;14777:86:0;11664:408:1;14777:86:0;14925:13;;-1:-1:-1;;;;;14919:19:0;;;14925:13;;14919:19;;;;:44;;-1:-1:-1;;;;;;14942:21:0;;14956:6;14942:21;;14919:44;14915:202;;;15018:14;;15008:6;14992:13;15002:2;-1:-1:-1;;;;;9852:18:0;9825:7;9852:18;;;:9;:18;;;;;;;9759:166;14992:13;:22;;;;:::i;:::-;:40;;14984:95;;;;-1:-1:-1;;;14984:95:0;;12409:2:1;14984:95:0;;;12391:21:1;12448:2;12428:18;;;12421:30;12487:34;12467:18;;;12460:62;-1:-1:-1;;;12538:18:1;;;12531:40;12588:19;;14984:95:0;12207:406:1;14984:95:0;15152:20;;:24;;15175:1;15152:24;:::i;:::-;15137:12;:39;15133:1033;;;15216:13;;-1:-1:-1;;;;;15208:21:0;;;15216:13;;15208:21;15207:33;;15238:2;15207:33;;;15233:2;15207:33;15197:43;;;;15133:1033;;;15342:13;;-1:-1:-1;;;;;15342:13:0;;;15334:21;;;;15330:821;;-1:-1:-1;15390:16:0;;15330:821;;;15475:13;;-1:-1:-1;;;;;15475:13:0;;;15469:19;;;;15465:686;;15562:4;15513:28;9852:18;;;:9;:18;;;;;;6969;6441:2;6969;:18;:::i;:::-;6960:27;;:6;:27;:::i;:::-;15595:20;:44;15591:457;;;15689:21;;15741:29;;;15737:64;;;15795:6;15772:29;;15737:64;15855:10;15832:20;:33;15828:72;;;15890:10;15867:33;;15828:72;15927:39;15945:20;15927:17;:39::i;:::-;15641:407;15591:457;-1:-1:-1;;16080:17:0;;15465:686;16187:48;16209:4;16215:2;16219:6;16227:7;16187:21;:48::i;:::-;14316:1980;14240:2056;;;:::o;17224:988::-;17315:16;;;17329:1;17315:16;;;;;;;;17291:21;;17315:16;;;;;;;;;;-1:-1:-1;17315:16:0;17291:40;;17360:4;17342;17347:1;17342:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17342:23:0;;;:7;;;;;;;;;;:23;;;;17386:16;;:23;;;-1:-1:-1;;;17386:23:0;;;;:16;;;;;:21;;:23;;;;;17342:7;;17386:23;;;;;:16;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17376:4;17381:1;17376:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17376:33:0;;;:7;;;;;;;;;:33;17459:16;;17422:68;;17444:4;;17459:16;17478:11;17422:13;:68::i;:::-;17503:16;;:197;;-1:-1:-1;;;17503:197:0;;-1:-1:-1;;;;;17503:16:0;;;;:67;;:197;;17585:11;;17503:16;;17627:4;;17654;;17674:15;;17503:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17742:21:0;;-1:-1:-1;17713:26:0;;-1:-1:-1;17817:3:0;;-1:-1:-1;17790:23:0;17742:21;17811:2;17790:23;:::i;:::-;17789:31;;;;:::i;:::-;17774:46;-1:-1:-1;17831:12:0;17874:3;17847:23;:18;17868:2;17847:23;:::i;:::-;17846:31;;;;:::i;:::-;17831:46;-1:-1:-1;17888:12:0;17931:3;17904:23;:18;17925:2;17904:23;:::i;:::-;17903:31;;;;:::i;:::-;17966:10;;:32;;17888:46;;-1:-1:-1;17948:12:0;;-1:-1:-1;;;;;17966:10:0;;;;17989:4;;17948:12;17966:32;17948:12;17966:32;17989:4;17966:10;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18023:10:0;;:32;;17947:51;;-1:-1:-1;;;;;;18023:10:0;;18046:4;;18023:32;;;;18046:4;18023:10;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18080:10:0;;:32;;18009:46;;-1:-1:-1;;;;;;18080:10:0;;18103:4;;18080:32;;;;18103:4;18080:10;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18066:46;;;;;18133:7;18125:35;;;;-1:-1:-1;;;18125:35:0;;14069:2:1;18125:35:0;;;14051:21:1;14108:2;14088:18;;;14081:30;-1:-1:-1;;;14127:18:1;;;14120:45;14182:18;;18125:35:0;13867:339:1;18125:35:0;17280:932;;;;;;17224:988;:::o;13036:582::-;13145:17;13186:3;13166:16;13175:7;13166:6;:16;:::i;:::-;13165:24;;;;:::i;:::-;13145:44;-1:-1:-1;13261:22:0;13286:18;13145:44;13286:6;:18;:::i;:::-;-1:-1:-1;;;;;13358:15:0;;;;;;:9;:15;;;;;:25;;13261:43;;-1:-1:-1;13377:6:0;;13358:15;;;:25;;13377:6;;13358:25;:::i;:::-;;;;-1:-1:-1;;;;;;;13394:13:0;;;;;;:9;:13;;;;;:31;;13411:14;;13394:13;:31;;13411:14;;13394:31;:::i;:::-;;;;-1:-1:-1;;13454:4:0;13436:24;;;;:9;:24;;;;;:37;;13464:9;;13436:24;:37;;13464:9;;13436:37;:::i;:::-;;;;;;;;13548:2;-1:-1:-1;;;;;13533:34:0;13542:4;-1:-1:-1;;;;;13533:34:0;;13552:14;13533:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;13533:34:0;;;;;;;;13134:484;;13036:582;;;;:::o;4488:335::-;-1:-1:-1;;;;;4560:22:0;;4552:73;;;;-1:-1:-1;;;4552:73:0;;14546:2:1;4552:73:0;;;14528:21:1;14585:2;14565:18;;;14558:30;14624:34;14604:18;;;14597:62;-1:-1:-1;;;14675:18:1;;;14668:36;14721:19;;4552:73:0;14344:402:1;4552:73:0;4723:13;;;4702:45;;-1:-1:-1;;;;;4702:45:0;;;;4723:13;;;4702:45;;;4791:13;:24;;-1:-1:-1;;;;;;4791:24:0;-1:-1:-1;;;;;4791:24:0;;;;;;;;;;4488:335::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2508:247::-;2567:6;2620:2;2608:9;2599:7;2595:23;2591:32;2588:52;;;2636:1;2633;2626:12;2588:52;2675:9;2662:23;2694:31;2719:5;2694:31;:::i;:::-;2744:5;2508:247;-1:-1:-1;;;2508:247:1:o;2760:180::-;2819:6;2872:2;2860:9;2851:7;2847:23;2843:32;2840:52;;;2888:1;2885;2878:12;2840:52;-1:-1:-1;2911:23:1;;2760:180;-1:-1:-1;2760:180:1:o;2945:388::-;3013:6;3021;3074:2;3062:9;3053:7;3049:23;3045:32;3042:52;;;3090:1;3087;3080:12;3042:52;3129:9;3116:23;3148:31;3173:5;3148:31;:::i;:::-;3198:5;-1:-1:-1;3255:2:1;3240:18;;3227:32;3268:33;3227:32;3268:33;:::i;:::-;3320:7;3310:17;;;2945:388;;;;;:::o;3338:127::-;3399:10;3394:3;3390:20;3387:1;3380:31;3430:4;3427:1;3420:15;3454:4;3451:1;3444:15;3470:422;3559:1;3602:5;3559:1;3616:270;3637:7;3627:8;3624:21;3616:270;;;3696:4;3692:1;3688:6;3684:17;3678:4;3675:27;3672:53;;;3705:18;;:::i;:::-;3755:7;3745:8;3741:22;3738:55;;;3775:16;;;;3738:55;3854:22;;;;3814:15;;;;3616:270;;;3620:3;3470:422;;;;;:::o;3897:806::-;3946:5;3976:8;3966:80;;-1:-1:-1;4017:1:1;4031:5;;3966:80;4065:4;4055:76;;-1:-1:-1;4102:1:1;4116:5;;4055:76;4147:4;4165:1;4160:59;;;;4233:1;4228:130;;;;4140:218;;4160:59;4190:1;4181:10;;4204:5;;;4228:130;4265:3;4255:8;4252:17;4249:43;;;4272:18;;:::i;:::-;-1:-1:-1;;4328:1:1;4314:16;;4343:5;;4140:218;;4442:2;4432:8;4429:16;4423:3;4417:4;4414:13;4410:36;4404:2;4394:8;4391:16;4386:2;4380:4;4377:12;4373:35;4370:77;4367:159;;;-1:-1:-1;4479:19:1;;;4511:5;;4367:159;4558:34;4583:8;4577:4;4558:34;:::i;:::-;4628:6;4624:1;4620:6;4616:19;4607:7;4604:32;4601:58;;;4639:18;;:::i;:::-;4677:20;;3897:806;-1:-1:-1;;;3897:806:1:o;4708:140::-;4766:5;4795:47;4836:4;4826:8;4822:19;4816:4;4795:47;:::i;4853:168::-;4926:9;;;4957;;4974:15;;;4968:22;;4954:37;4944:71;;4995:18;;:::i;5026:356::-;5228:2;5210:21;;;5247:18;;;5240:30;5306:34;5301:2;5286:18;;5279:62;5373:2;5358:18;;5026:356::o;6707:251::-;6777:6;6830:2;6818:9;6809:7;6805:23;6801:32;6798:52;;;6846:1;6843;6836:12;6798:52;6878:9;6872:16;6897:31;6922:5;6897:31;:::i;7884:306::-;7972:6;7980;7988;8041:2;8029:9;8020:7;8016:23;8012:32;8009:52;;;8057:1;8054;8047:12;8009:52;8086:9;8080:16;8070:26;;8136:2;8125:9;8121:18;8115:25;8105:35;;8180:2;8169:9;8165:18;8159:25;8149:35;;7884:306;;;;;:::o;8474:277::-;8541:6;8594:2;8582:9;8573:7;8569:23;8565:32;8562:52;;;8610:1;8607;8600:12;8562:52;8642:9;8636:16;8695:5;8688:13;8681:21;8674:5;8671:32;8661:60;;8717:1;8714;8707:12;8756:217;8796:1;8822;8812:132;;8866:10;8861:3;8857:20;8854:1;8847:31;8901:4;8898:1;8891:15;8929:4;8926:1;8919:15;8812:132;-1:-1:-1;8958:9:1;;8756:217::o;12077:125::-;12142:9;;;12163:10;;;12160:36;;;12176:18;;:::i;12750:127::-;12811:10;12806:3;12802:20;12799:1;12792:31;12842:4;12839:1;12832:15;12866:4;12863:1;12856:15;12882:980;13144:4;13192:3;13181:9;13177:19;13223:6;13212:9;13205:25;13249:2;13287:6;13282:2;13271:9;13267:18;13260:34;13330:3;13325:2;13314:9;13310:18;13303:31;13354:6;13389;13383:13;13420:6;13412;13405:22;13458:3;13447:9;13443:19;13436:26;;13497:2;13489:6;13485:15;13471:29;;13518:1;13528:195;13542:6;13539:1;13536:13;13528:195;;;13607:13;;-1:-1:-1;;;;;13603:39:1;13591:52;;13698:15;;;;13663:12;;;;13639:1;13557:9;13528:195;;;-1:-1:-1;;;;;;;13779:32:1;;;;13774:2;13759:18;;13752:60;-1:-1:-1;;;13843:3:1;13828:19;13821:35;13740:3;12882:980;-1:-1:-1;;;12882:980:1:o;14211:128::-;14278:9;;;14299:11;;;14296:37;;;14313:18;;:::i

Swarm Source

ipfs://ca035dd6537bab3e98af9d0ac735371fa901197c9d6b24678f23e0cf41312c00

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.