ETH Price: $3,381.43 (+3.13%)
Gas: 6.58 Gwei

Contract

0xc78A697cA2eEc28682D6784CE588aB774C101CD2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

DupeBot (DUPE) (@$0.0006)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve213269742024-12-04 5:13:3519 days ago1733289215IN
DupeBot: DUPE Token
0 ETH0.000435217.89843709
Transfer211143882024-11-04 12:49:2349 days ago1730724563IN
DupeBot: DUPE Token
0 ETH0.000398296.01275586
Approve210847852024-10-31 9:41:3553 days ago1730367695IN
DupeBot: DUPE Token
0 ETH0.00019667.48811583
Approve210847732024-10-31 9:39:1153 days ago1730367551IN
DupeBot: DUPE Token
0 ETH0.000190447.85198804
Approve210468312024-10-26 2:32:1158 days ago1729909931IN
DupeBot: DUPE Token
0 ETH0.000132385.44446664
Transfer208881952024-10-03 23:13:5981 days ago1727997239IN
DupeBot: DUPE Token
0 ETH0.000256463.88443731
Approve207053742024-09-08 10:43:35106 days ago1725792215IN
DupeBot: DUPE Token
0 ETH0.000031531.3
Approve206717652024-09-03 18:12:35111 days ago1725387155IN
DupeBot: DUPE Token
0 ETH0.000128622.76370596
Transfer206625032024-09-02 11:11:35112 days ago1725275495IN
DupeBot: DUPE Token
0 ETH0.000167272.52521482
Approve206349712024-08-29 14:55:47116 days ago1724943347IN
DupeBot: DUPE Token
0 ETH0.000211684.57325891
Transfer206261232024-08-28 9:14:47117 days ago1724836487IN
DupeBot: DUPE Token
0 ETH0.000081891.23657418
Transfer205692762024-08-20 10:36:11125 days ago1724150171IN
DupeBot: DUPE Token
0 ETH0.000154442.33156535
Transfer205436642024-08-16 20:45:35129 days ago1723841135IN
DupeBot: DUPE Token
0 ETH0.000057311.16668152
Transfer205287342024-08-14 18:43:11131 days ago1723660991IN
DupeBot: DUPE Token
0 ETH0.000211884.31290868
Transfer205287292024-08-14 18:42:11131 days ago1723660931IN
DupeBot: DUPE Token
0 ETH0.00020854.24400604
Transfer205273802024-08-14 14:10:59131 days ago1723644659IN
DupeBot: DUPE Token
0 ETH0.000661413.46264446
Transfer205271672024-08-14 13:27:59131 days ago1723642079IN
DupeBot: DUPE Token
0 ETH0.000423775.96620745
Transfer204758562024-08-07 9:39:47138 days ago1723023587IN
DupeBot: DUPE Token
0 ETH0.000157563.20638413
Transfer204726862024-08-06 23:03:11139 days ago1722985391IN
DupeBot: DUPE Token
0 ETH0.000158563.22830148
Transfer204712272024-08-06 18:09:47139 days ago1722967787IN
DupeBot: DUPE Token
0 ETH0.000278394.20283422
Transfer204700132024-08-06 14:05:23139 days ago1722953123IN
DupeBot: DUPE Token
0 ETH0.000463596.99984737
Approve204697962024-08-06 13:21:35139 days ago1722950495IN
DupeBot: DUPE Token
0 ETH0.000230724.95773049
Transfer204697102024-08-06 13:04:11139 days ago1722949451IN
DupeBot: DUPE Token
0 ETH0.00025385.16473512
Transfer204691842024-08-06 11:18:59139 days ago1722943139IN
DupeBot: DUPE Token
0 ETH0.000096761.96913593
Transfer204681262024-08-06 7:46:11139 days ago1722930371IN
DupeBot: DUPE Token
0 ETH0.000172943.20611837
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
207718602024-09-17 17:36:4797 days ago1726594607
DupeBot: DUPE Token
0.00872401 ETH
207718602024-09-17 17:36:4797 days ago1726594607
DupeBot: DUPE Token
0.00872401 ETH
204764582024-08-07 11:40:35138 days ago1723030835
DupeBot: DUPE Token
0.01820234 ETH
204764582024-08-07 11:40:35138 days ago1723030835
DupeBot: DUPE Token
0.01820234 ETH
204712222024-08-06 18:08:47139 days ago1722967727
DupeBot: DUPE Token
0.0087995 ETH
204712222024-08-06 18:08:47139 days ago1722967727
DupeBot: DUPE Token
0.0087995 ETH
204698002024-08-06 13:22:23139 days ago1722950543
DupeBot: DUPE Token
0.01181793 ETH
204698002024-08-06 13:22:23139 days ago1722950543
DupeBot: DUPE Token
0.01181793 ETH
204689212024-08-06 10:26:23139 days ago1722939983
DupeBot: DUPE Token
0.02719026 ETH
204689212024-08-06 10:26:23139 days ago1722939983
DupeBot: DUPE Token
0.02719026 ETH
204641942024-08-05 18:35:59140 days ago1722882959
DupeBot: DUPE Token
0.02925549 ETH
204641942024-08-05 18:35:59140 days ago1722882959
DupeBot: DUPE Token
0.02925549 ETH
204613432024-08-05 9:02:47140 days ago1722848567
DupeBot: DUPE Token
0.16496303 ETH
204613432024-08-05 9:02:47140 days ago1722848567
DupeBot: DUPE Token
0.16496303 ETH
204335472024-08-01 11:58:11144 days ago1722513491
DupeBot: DUPE Token
0.08303792 ETH
204335472024-08-01 11:58:11144 days ago1722513491
DupeBot: DUPE Token
0.08303792 ETH
204208502024-07-30 17:26:35146 days ago1722360395
DupeBot: DUPE Token
0.02900783 ETH
204208502024-07-30 17:26:35146 days ago1722360395
DupeBot: DUPE Token
0.02900783 ETH
204151862024-07-29 22:23:11147 days ago1722291791
DupeBot: DUPE Token
0.00536555 ETH
204151862024-07-29 22:23:11147 days ago1722291791
DupeBot: DUPE Token
0.00536555 ETH
203616212024-07-22 10:57:35154 days ago1721645855
DupeBot: DUPE Token
0.10688732 ETH
203616212024-07-22 10:57:35154 days ago1721645855
DupeBot: DUPE Token
0.10688732 ETH
203594202024-07-22 3:34:59154 days ago1721619299
DupeBot: DUPE Token
0.00732237 ETH
203594202024-07-22 3:34:59154 days ago1721619299
DupeBot: DUPE Token
0.00732237 ETH
203282762024-07-17 19:15:59159 days ago1721243759
DupeBot: DUPE Token
0.09926504 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DupeBot

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
shanghai EvmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-30
*/

/**

DupeBot - $DUPE

Rapid speed low-fee copy trading bot. $DUPE-licate trades made by any $ETH/EVM wallet whilst using your own parameters.
We combine DUPE leaderboards and custom wallet analysis tools to give you the most effective and intuitive copy trading experience on Telegram.

https://dupebot.io/

https://x.com/DUPEbot

https://dupe-bot.gitbook.io/dupe-copy-trading-bot/

t.me/dupebotportal

t.me/DupeTrading_Bot

*/


// SPDX-License-Identifier: UNLICENSE

pragma solidity 0.8.23;

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    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 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(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract DupeBot is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=5;
    uint256 private _finalSellTax=5;
    uint256 private _reduceBuyTaxAt=30;
    uint256 private _reduceSellTaxAt=30;
    uint256 private _preventSwapBefore=30;
    uint256 private _transferTax=70;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10000000 * 10**_decimals;
    string private constant _name = unicode"DupeBot";
    string private constant _symbol = unicode"DUPE";
    uint256 public _maxTxAmount = 100000 * 10**_decimals;
    uint256 public _maxWalletSize = 200000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 50000 * 10**_decimals;
    uint256 public _maxTaxSwap= 100000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && to != _taxWallet) {
            require(!bots[from] && !bots[to]);

            if(_buyCount==0){
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }
            if(_buyCount>0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimit() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTranTax() external onlyOwner{
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addBot(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBot(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function openTrade() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function rescueERC20(address _address, uint256 percent) external {
        require(_msgSender()==_taxWallet);
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_taxWallet, _amount);
    }

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0 && swapEnabled){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTranTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","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"},{"stateMutability":"payable","type":"receive"}]

60806040526019600655601960075560056008556005600955601e600a55601e600b55601e600c556046600d555f600e556009600a62000040919062000339565b6200004f90620186a062000350565b600f55620000606009600a62000339565b6200006f9062030d4062000350565b601055620000806009600a62000339565b6200008e9061c35062000350565b6011556200009f6009600a62000339565b620000ae90620186a062000350565b6012556014805461ffff60a81b191690555f6015819055601655348015620000d4575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620001356009600a62000339565b62000144906298968062000350565b335f9081526001602081905260408220929092556003906200016d5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001cb3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002046009600a62000339565b62000213906298968062000350565b60405190815260200160405180910390a36200036a565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200027e57815f19048211156200026257620002626200022a565b808516156200027057918102915b93841c939080029062000243565b509250929050565b5f82620002965750600162000333565b81620002a457505f62000333565b8160018114620002bd5760028114620002c857620002e8565b600191505062000333565b60ff841115620002dc57620002dc6200022a565b50506001821b62000333565b5060208310610133831016604e8410600b84101617156200030d575081810a62000333565b6200031983836200023e565b805f19048211156200032f576200032f6200022a565b0290505b92915050565b5f6200034960ff84168362000286565b9392505050565b80820281158282048414176200033357620003336200022a565b611cf080620003785f395ff3fe60806040526004361061014a575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb146103ad578063bf474bed146103cc578063c97c1821146103e1578063dd62ed3e14610400578063ec1f3f6314610444578063fb201b1d14610463575f80fd5b8063715018a6146102fe5780637d1db4a5146103125780638cd4426d146103275780638da5cb5b146103465780638f9a55c01461036c57806395d89b4114610381575f80fd5b806323b872dd1161010457806323b872dd14610231578063313ce567146102505780633bbac5791461026b57806351bc3c85146102a257806362256589146102b657806370a08231146102ca575f80fd5b806302fa1f4a1461015557806306fdde031461016b578063095ea7b3146101ac5780630faee56f146101db57806318160ddd146101fe57806321bbcbb114610212575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b50610169610477565b005b348015610176575f80fd5b50604080518082019091526007815266111d5c19509bdd60ca1b60208201525b6040516101a391906117ce565b60405180910390f35b3480156101b7575f80fd5b506101cb6101c6366004611841565b6104e5565b60405190151581526020016101a3565b3480156101e6575f80fd5b506101f060125481565b6040519081526020016101a3565b348015610209575f80fd5b506101f06104fb565b34801561021d575f80fd5b5061016961022c36600461187f565b61051a565b34801561023c575f80fd5b506101cb61024b36600461193f565b6105a2565b34801561025b575f80fd5b50604051600981526020016101a3565b348015610276575f80fd5b506101cb61028536600461197d565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102ad575f80fd5b50610169610609565b3480156102c1575f80fd5b5061016961066d565b3480156102d5575f80fd5b506101f06102e436600461197d565b6001600160a01b03165f9081526001602052604090205490565b348015610309575f80fd5b50610169610716565b34801561031d575f80fd5b506101f0600f5481565b348015610332575f80fd5b50610169610341366004611841565b610787565b348015610351575f80fd5b505f546040516001600160a01b0390911681526020016101a3565b348015610377575f80fd5b506101f060105481565b34801561038c575f80fd5b506040805180820190915260048152634455504560e01b6020820152610196565b3480156103b8575f80fd5b506101cb6103c7366004611841565b6108a3565b3480156103d7575f80fd5b506101f060115481565b3480156103ec575f80fd5b506101696103fb36600461187f565b6108af565b34801561040b575f80fd5b506101f061041a366004611998565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561044f575f80fd5b5061016961045e3660046119cf565b610932565b34801561046e575f80fd5b50610169610977565b5f546001600160a01b031633146104a95760405162461bcd60e51b81526004016104a0906119e6565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104f1338484610d1f565b5060015b92915050565b5f6105086009600a611b0f565b6105159062989680611b1d565b905090565b5f546001600160a01b031633146105435760405162461bcd60e51b81526004016104a0906119e6565b5f5b815181101561059e57600160045f84848151811061056557610565611b34565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610545565b5050565b5f6105ae848484610e42565b6105ff84336105fa85604051806060016040528060288152602001611c93602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061144a565b610d1f565b5060019392505050565b6005546001600160a01b0316336001600160a01b031614610628575f80fd5b305f90815260016020526040902054801580159061064f5750601454600160b01b900460ff165b1561065d5761065d81611482565b47801561059e5761059e816115f2565b5f546001600160a01b031633146106965760405162461bcd60e51b81526004016104a0906119e6565b6106a26009600a611b0f565b6106af9062989680611b1d565b600f556106be6009600a611b0f565b6106cb9062989680611b1d565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106fb6009600a611b0f565b6107089062989680611b1d565b6040519081526020016104db565b5f546001600160a01b0316331461073f5760405162461bcd60e51b81526004016104a0906119e6565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6005546001600160a01b0316336001600160a01b0316146107a6575f80fd5b6040516370a0823160e01b81523060048201525f90610827906064906108219085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156107f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081b9190611b48565b90611629565b906116ae565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015610879573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089d9190611b5f565b50505050565b5f6104f1338484610e42565b5f546001600160a01b031633146108d85760405162461bcd60e51b81526004016104a0906119e6565b5f5b815181101561059e575f60045f8484815181106108f9576108f9611b34565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016108da565b6005546001600160a01b0316336001600160a01b031614610951575f80fd5b600854811115801561096557506009548111155b61096d575f80fd5b6008819055600955565b5f546001600160a01b031633146109a05760405162461bcd60e51b81526004016104a0906119e6565b601454600160a01b900460ff16156109fa5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104a0565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610a42903090610a356009600a611b0f565b6105fa9062989680611b1d565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab69190611b7e565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b399190611b7e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610b83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba79190611b7e565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610bee816001600160a01b03165f9081526001602052604090205490565b5f80610c015f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c67573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c8c9190611b99565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ce1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d059190611b5f565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610d815760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a0565b6001600160a01b038216610de25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a0565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ea65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a0565b6001600160a01b038216610f085760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a0565b5f8111610f695760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a0565b5f80546001600160a01b03858116911614801590610f9457505f546001600160a01b03848116911614155b8015610fae57506005546001600160a01b03848116911614155b1561130d576001600160a01b0384165f9081526004602052604090205460ff16158015610ff357506001600160a01b0383165f9081526004602052604090205460ff16155b610ffb575f80fd5b600e545f0361102d5761102a6064610821600a54600e541161101f57600654611023565b6008545b8590611629565b90505b600e54156110525761104f6064610821600d548561162990919063ffffffff16565b90505b6014546001600160a01b03858116911614801561107d57506013546001600160a01b03848116911614155b80156110a157506001600160a01b0383165f9081526003602052604090205460ff16155b156111a457600f548211156110f85760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104a0565b6010548261111a856001600160a01b03165f9081526001602052604090205490565b6111249190611bc4565b11156111725760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104a0565b61118d6064610821600a54600e541161101f57600654611023565b600e80549192505f61119e83611bd7565b91905055505b6014546001600160a01b0384811691161480156111ca57506001600160a01b0384163014155b156111f7576111f46064610821600b54600e54116111ea57600754611023565b6009548590611629565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561122d57506014546001600160a01b038581169116145b80156112425750601454600160b01b900460ff165b801561124f575060115481115b801561125e5750600c54600e54115b1561130b57601654431115611272575f6015555b6003601554106112c45760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104a0565b6112e16112dc846112d7846012546116ef565b6116ef565b611482565b4780156112f1576112f1476115f2565b60158054905f61130083611bd7565b909155505043601655505b505b801561138557305f9081526001602052604090205461132c9082611703565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061137c9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113a79083611761565b6001600160a01b0385165f908152600160205260409020556113ea6113cc8383611761565b6001600160a01b0385165f9081526001602052604090205490611703565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114338585611761565b60405190815260200160405180910390a350505050565b5f818484111561146d5760405162461bcd60e51b81526004016104a091906117ce565b505f6114798486611bef565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114c8576114c8611b34565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561151f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115439190611b7e565b8160018151811061155657611556611b34565b6001600160a01b03928316602091820292909201015260135461157c9130911684610d1f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906115b49085905f90869030904290600401611c02565b5f604051808303815f87803b1580156115cb575f80fd5b505af11580156115dd573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561059e573d5f803e3d5ffd5b5f825f0361163857505f6104f5565b5f6116438385611b1d565b9050826116508583611c73565b146116a75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a0565b9392505050565b5f6116a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117a2565b5f8183116116fd57826116a7565b50919050565b5f8061170f8385611bc4565b9050838110156116a75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a0565b5f6116a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061144a565b5f81836117c25760405162461bcd60e51b81526004016104a091906117ce565b505f6114798486611c73565b5f602080835283518060208501525f5b818110156117fa578581018301518582016040015282016117de565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461182e575f80fd5b50565b803561183c8161181a565b919050565b5f8060408385031215611852575f80fd5b823561185d8161181a565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611890575f80fd5b823567ffffffffffffffff808211156118a7575f80fd5b818501915085601f8301126118ba575f80fd5b8135818111156118cc576118cc61186b565b8060051b604051601f19603f830116810181811085821117156118f1576118f161186b565b60405291825284820192508381018501918883111561190e575f80fd5b938501935b828510156119335761192485611831565b84529385019392850192611913565b98975050505050505050565b5f805f60608486031215611951575f80fd5b833561195c8161181a565b9250602084013561196c8161181a565b929592945050506040919091013590565b5f6020828403121561198d575f80fd5b81356116a78161181a565b5f80604083850312156119a9575f80fd5b82356119b48161181a565b915060208301356119c48161181a565b809150509250929050565b5f602082840312156119df575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611a6957815f1904821115611a4f57611a4f611a1b565b80851615611a5c57918102915b93841c9390800290611a34565b509250929050565b5f82611a7f575060016104f5565b81611a8b57505f6104f5565b8160018114611aa15760028114611aab57611ac7565b60019150506104f5565b60ff841115611abc57611abc611a1b565b50506001821b6104f5565b5060208310610133831016604e8410600b8410161715611aea575081810a6104f5565b611af48383611a2f565b805f1904821115611b0757611b07611a1b565b029392505050565b5f6116a760ff841683611a71565b80820281158282048414176104f5576104f5611a1b565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b58575f80fd5b5051919050565b5f60208284031215611b6f575f80fd5b815180151581146116a7575f80fd5b5f60208284031215611b8e575f80fd5b81516116a78161181a565b5f805f60608486031215611bab575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156104f5576104f5611a1b565b5f60018201611be857611be8611a1b565b5060010190565b818103818111156104f5576104f5611a1b565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611c525784516001600160a01b031683529383019391830191600101611c2d565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611c8d57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220197e06990ba795e898e1f4582887000089db56cc99dc048ef26f3c6293a74f9964736f6c63430008170033

Deployed Bytecode

0x60806040526004361061014a575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb146103ad578063bf474bed146103cc578063c97c1821146103e1578063dd62ed3e14610400578063ec1f3f6314610444578063fb201b1d14610463575f80fd5b8063715018a6146102fe5780637d1db4a5146103125780638cd4426d146103275780638da5cb5b146103465780638f9a55c01461036c57806395d89b4114610381575f80fd5b806323b872dd1161010457806323b872dd14610231578063313ce567146102505780633bbac5791461026b57806351bc3c85146102a257806362256589146102b657806370a08231146102ca575f80fd5b806302fa1f4a1461015557806306fdde031461016b578063095ea7b3146101ac5780630faee56f146101db57806318160ddd146101fe57806321bbcbb114610212575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b50610169610477565b005b348015610176575f80fd5b50604080518082019091526007815266111d5c19509bdd60ca1b60208201525b6040516101a391906117ce565b60405180910390f35b3480156101b7575f80fd5b506101cb6101c6366004611841565b6104e5565b60405190151581526020016101a3565b3480156101e6575f80fd5b506101f060125481565b6040519081526020016101a3565b348015610209575f80fd5b506101f06104fb565b34801561021d575f80fd5b5061016961022c36600461187f565b61051a565b34801561023c575f80fd5b506101cb61024b36600461193f565b6105a2565b34801561025b575f80fd5b50604051600981526020016101a3565b348015610276575f80fd5b506101cb61028536600461197d565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102ad575f80fd5b50610169610609565b3480156102c1575f80fd5b5061016961066d565b3480156102d5575f80fd5b506101f06102e436600461197d565b6001600160a01b03165f9081526001602052604090205490565b348015610309575f80fd5b50610169610716565b34801561031d575f80fd5b506101f0600f5481565b348015610332575f80fd5b50610169610341366004611841565b610787565b348015610351575f80fd5b505f546040516001600160a01b0390911681526020016101a3565b348015610377575f80fd5b506101f060105481565b34801561038c575f80fd5b506040805180820190915260048152634455504560e01b6020820152610196565b3480156103b8575f80fd5b506101cb6103c7366004611841565b6108a3565b3480156103d7575f80fd5b506101f060115481565b3480156103ec575f80fd5b506101696103fb36600461187f565b6108af565b34801561040b575f80fd5b506101f061041a366004611998565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561044f575f80fd5b5061016961045e3660046119cf565b610932565b34801561046e575f80fd5b50610169610977565b5f546001600160a01b031633146104a95760405162461bcd60e51b81526004016104a0906119e6565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104f1338484610d1f565b5060015b92915050565b5f6105086009600a611b0f565b6105159062989680611b1d565b905090565b5f546001600160a01b031633146105435760405162461bcd60e51b81526004016104a0906119e6565b5f5b815181101561059e57600160045f84848151811061056557610565611b34565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610545565b5050565b5f6105ae848484610e42565b6105ff84336105fa85604051806060016040528060288152602001611c93602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061144a565b610d1f565b5060019392505050565b6005546001600160a01b0316336001600160a01b031614610628575f80fd5b305f90815260016020526040902054801580159061064f5750601454600160b01b900460ff165b1561065d5761065d81611482565b47801561059e5761059e816115f2565b5f546001600160a01b031633146106965760405162461bcd60e51b81526004016104a0906119e6565b6106a26009600a611b0f565b6106af9062989680611b1d565b600f556106be6009600a611b0f565b6106cb9062989680611b1d565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106fb6009600a611b0f565b6107089062989680611b1d565b6040519081526020016104db565b5f546001600160a01b0316331461073f5760405162461bcd60e51b81526004016104a0906119e6565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6005546001600160a01b0316336001600160a01b0316146107a6575f80fd5b6040516370a0823160e01b81523060048201525f90610827906064906108219085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156107f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081b9190611b48565b90611629565b906116ae565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015610879573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089d9190611b5f565b50505050565b5f6104f1338484610e42565b5f546001600160a01b031633146108d85760405162461bcd60e51b81526004016104a0906119e6565b5f5b815181101561059e575f60045f8484815181106108f9576108f9611b34565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016108da565b6005546001600160a01b0316336001600160a01b031614610951575f80fd5b600854811115801561096557506009548111155b61096d575f80fd5b6008819055600955565b5f546001600160a01b031633146109a05760405162461bcd60e51b81526004016104a0906119e6565b601454600160a01b900460ff16156109fa5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104a0565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610a42903090610a356009600a611b0f565b6105fa9062989680611b1d565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab69190611b7e565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b399190611b7e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610b83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba79190611b7e565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610bee816001600160a01b03165f9081526001602052604090205490565b5f80610c015f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c67573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c8c9190611b99565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ce1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d059190611b5f565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610d815760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a0565b6001600160a01b038216610de25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a0565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ea65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a0565b6001600160a01b038216610f085760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a0565b5f8111610f695760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a0565b5f80546001600160a01b03858116911614801590610f9457505f546001600160a01b03848116911614155b8015610fae57506005546001600160a01b03848116911614155b1561130d576001600160a01b0384165f9081526004602052604090205460ff16158015610ff357506001600160a01b0383165f9081526004602052604090205460ff16155b610ffb575f80fd5b600e545f0361102d5761102a6064610821600a54600e541161101f57600654611023565b6008545b8590611629565b90505b600e54156110525761104f6064610821600d548561162990919063ffffffff16565b90505b6014546001600160a01b03858116911614801561107d57506013546001600160a01b03848116911614155b80156110a157506001600160a01b0383165f9081526003602052604090205460ff16155b156111a457600f548211156110f85760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104a0565b6010548261111a856001600160a01b03165f9081526001602052604090205490565b6111249190611bc4565b11156111725760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104a0565b61118d6064610821600a54600e541161101f57600654611023565b600e80549192505f61119e83611bd7565b91905055505b6014546001600160a01b0384811691161480156111ca57506001600160a01b0384163014155b156111f7576111f46064610821600b54600e54116111ea57600754611023565b6009548590611629565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561122d57506014546001600160a01b038581169116145b80156112425750601454600160b01b900460ff165b801561124f575060115481115b801561125e5750600c54600e54115b1561130b57601654431115611272575f6015555b6003601554106112c45760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104a0565b6112e16112dc846112d7846012546116ef565b6116ef565b611482565b4780156112f1576112f1476115f2565b60158054905f61130083611bd7565b909155505043601655505b505b801561138557305f9081526001602052604090205461132c9082611703565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061137c9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113a79083611761565b6001600160a01b0385165f908152600160205260409020556113ea6113cc8383611761565b6001600160a01b0385165f9081526001602052604090205490611703565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114338585611761565b60405190815260200160405180910390a350505050565b5f818484111561146d5760405162461bcd60e51b81526004016104a091906117ce565b505f6114798486611bef565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114c8576114c8611b34565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561151f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115439190611b7e565b8160018151811061155657611556611b34565b6001600160a01b03928316602091820292909201015260135461157c9130911684610d1f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906115b49085905f90869030904290600401611c02565b5f604051808303815f87803b1580156115cb575f80fd5b505af11580156115dd573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561059e573d5f803e3d5ffd5b5f825f0361163857505f6104f5565b5f6116438385611b1d565b9050826116508583611c73565b146116a75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a0565b9392505050565b5f6116a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117a2565b5f8183116116fd57826116a7565b50919050565b5f8061170f8385611bc4565b9050838110156116a75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a0565b5f6116a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061144a565b5f81836117c25760405162461bcd60e51b81526004016104a091906117ce565b505f6114798486611c73565b5f602080835283518060208501525f5b818110156117fa578581018301518582016040015282016117de565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461182e575f80fd5b50565b803561183c8161181a565b919050565b5f8060408385031215611852575f80fd5b823561185d8161181a565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611890575f80fd5b823567ffffffffffffffff808211156118a7575f80fd5b818501915085601f8301126118ba575f80fd5b8135818111156118cc576118cc61186b565b8060051b604051601f19603f830116810181811085821117156118f1576118f161186b565b60405291825284820192508381018501918883111561190e575f80fd5b938501935b828510156119335761192485611831565b84529385019392850192611913565b98975050505050505050565b5f805f60608486031215611951575f80fd5b833561195c8161181a565b9250602084013561196c8161181a565b929592945050506040919091013590565b5f6020828403121561198d575f80fd5b81356116a78161181a565b5f80604083850312156119a9575f80fd5b82356119b48161181a565b915060208301356119c48161181a565b809150509250929050565b5f602082840312156119df575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611a6957815f1904821115611a4f57611a4f611a1b565b80851615611a5c57918102915b93841c9390800290611a34565b509250929050565b5f82611a7f575060016104f5565b81611a8b57505f6104f5565b8160018114611aa15760028114611aab57611ac7565b60019150506104f5565b60ff841115611abc57611abc611a1b565b50506001821b6104f5565b5060208310610133831016604e8410600b8410161715611aea575081810a6104f5565b611af48383611a2f565b805f1904821115611b0757611b07611a1b565b029392505050565b5f6116a760ff841683611a71565b80820281158282048414176104f5576104f5611a1b565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b58575f80fd5b5051919050565b5f60208284031215611b6f575f80fd5b815180151581146116a7575f80fd5b5f60208284031215611b8e575f80fd5b81516116a78161181a565b5f805f60608486031215611bab575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156104f5576104f5611a1b565b5f60018201611be857611be8611a1b565b5060010190565b818103818111156104f5576104f5611a1b565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611c525784516001600160a01b031683529383019391830191600101611c2d565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611c8d57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220197e06990ba795e898e1f4582887000089db56cc99dc048ef26f3c6293a74f9964736f6c63430008170033

Deployed Bytecode Sourcemap

3929:9108:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10797:115;;;;;;;;;;;;;:::i;:::-;;5890:83;;;;;;;;;;-1:-1:-1;5960:5:0;;;;;;;;;;;;-1:-1:-1;;;5960:5:0;;;;5890:83;;;;;;;:::i;:::-;;;;;;;;6723:161;;;;;;;;;;-1:-1:-1;6723:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6723:161:0;1162:187:1;5047:50:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;5047:50:0;1354:177:1;6167:95:0;;;;;;;;;;;;;:::i;11020:163::-;;;;;;;;;;-1:-1:-1;11020:163:0;;;;;:::i;:::-;;:::i;6892:313::-;;;;;;;;;;-1:-1:-1;6892:313:0;;;;;:::i;:::-;;:::i;6076:83::-;;;;;;;;;;-1:-1:-1;6076:83:0;;4682:1;3397:36:1;;3385:2;3370:18;6076:83:0;3255:184:1;11360:83:0;;;;;;;;;;-1:-1:-1;11360:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11428:7:0;11407:4;11428:7;;;:4;:7;;;;;;;;;11360:83;12671:363;;;;;;;;;;;;;:::i;10631:158::-;;;;;;;;;;;;;:::i;6270:119::-;;;;;;;;;;-1:-1:-1;6270:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6363:18:0;6336:7;6363:18;;;:9;:18;;;;;;;6270:119;3010:148;;;;;;;;;;;;;:::i;4865:52::-;;;;;;;;;;;;;;;;12397:266;;;;;;;;;;-1:-1:-1;12397:266:0;;;;;:::i;:::-;;:::i;2796:79::-;;;;;;;;;;-1:-1:-1;2834:7:0;2861:6;2796:79;;-1:-1:-1;;;;;2861:6:0;;;3842:51:1;;3830:2;3815:18;2796:79:0;3696:203:1;4924:54:0;;;;;;;;;;;;;;;;5981:87;;;;;;;;;;-1:-1:-1;6053:7:0;;;;;;;;;;;;-1:-1:-1;;;6053:7:0;;;;5981:87;;6397:167;;;;;;;;;;-1:-1:-1;6397:167:0;;;;;:::i;:::-;;:::i;4985:55::-;;;;;;;;;;;;;;;;11191:161;;;;;;;;;;-1:-1:-1;11191:161:0;;;;;:::i;:::-;;:::i;6572:143::-;;;;;;;;;;-1:-1:-1;6572:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6680:18:0;;;6653:7;6680:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6572:143;12134:218;;;;;;;;;;-1:-1:-1;12134:218:0;;;;;:::i;:::-;;:::i;11451:669::-;;;;;;;;;;;;;:::i;10797:115::-;2923:6;;-1:-1:-1;;;;;2923:6:0;631:10;2923:22;2915:67;;;;-1:-1:-1;;;2915:67:0;;;;;;;:::i;:::-;;;;;;;;;10866:1:::1;10851:12;:16:::0;;;10883:21:::1;::::0;1500:25:1;;;10883:21:0::1;::::0;1488:2:1;1473:18;10883:21:0::1;;;;;;;;10797:115::o:0;6723:161::-;6798:4;6815:39;631:10;6838:7;6847:6;6815:8;:39::i;:::-;-1:-1:-1;6872:4:0;6723:161;;;;;:::o;6167:95::-;6220:7;4736:13;4682:1;4736:2;:13;:::i;:::-;4725:24;;:8;:24;:::i;:::-;6240:14;;6167:95;:::o;11020:163::-;2923:6;;-1:-1:-1;;;;;2923:6:0;631:10;2923:22;2915:67;;;;-1:-1:-1;;;2915:67:0;;;;;;;:::i;:::-;11093:6:::1;11088:88;11109:5;:12;11105:1;:16;11088:88;;;11160:4;11143;:14;11148:5;11154:1;11148:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11143:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11143:14:0;:21;;-1:-1:-1;;11143:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11123:3:0::1;11088:88;;;;11020:163:::0;:::o;6892:313::-;6990:4;7007:36;7017:6;7025:9;7036:6;7007:9;:36::i;:::-;7054:121;7063:6;631:10;7085:89;7123:6;7085:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7085:19:0;;;;;;:11;:19;;;;;;;;631:10;7085:33;;;;;;;;;;:37;:89::i;:::-;7054:8;:121::i;:::-;-1:-1:-1;7193:4:0;6892:313;;;;;:::o;12671:363::-;12735:10;;-1:-1:-1;;;;;12735:10:0;631;-1:-1:-1;;;;;12721:24:0;;12713:33;;;;;;12796:4;12757:20;6363:18;;;:9;:18;;;;;;12816:14;;;;;:29;;-1:-1:-1;12834:11:0;;-1:-1:-1;;;12834:11:0;;;;12816:29;12813:88;;;12859:30;12876:12;12859:16;:30::i;:::-;12930:21;12965:12;;12962:65;;12991:24;13004:10;12991:12;:24::i;10631:158::-;2923:6;;-1:-1:-1;;;;;2923:6:0;631:10;2923:22;2915:67;;;;-1:-1:-1;;;2915:67:0;;;;;;;:::i;:::-;4736:13:::1;4682:1;4736:2;:13;:::i;:::-;4725:24;::::0;:8:::1;:24;:::i;:::-;10683:12;:22:::0;4736:13:::1;4682:1;4736:2;:13;:::i;:::-;4725:24;::::0;:8:::1;:24;:::i;:::-;10716:14;:22:::0;10754:27:::1;4736:13;4682:1;4736:2;:13;:::i;:::-;4725:24;::::0;:8:::1;:24;:::i;:::-;10754:27;::::0;1500:25:1;;;1488:2;1473:18;10754:27:0::1;1354:177:1::0;3010:148:0;2923:6;;-1:-1:-1;;;;;2923:6:0;631:10;2923:22;2915:67;;;;-1:-1:-1;;;2915:67:0;;;;;;;:::i;:::-;3117:1:::1;3101:6:::0;;3080:40:::1;::::0;-1:-1:-1;;;;;3101:6:0;;::::1;::::0;3080:40:::1;::::0;3117:1;;3080:40:::1;3148:1;3131:19:::0;;-1:-1:-1;;;;;;3131:19:0::1;::::0;;3010:148::o;12397:266::-;12495:10;;-1:-1:-1;;;;;12495:10:0;631;-1:-1:-1;;;;;12481:24:0;;12473:33;;;;;;12535:41;;-1:-1:-1;;;12535:41:0;;12570:4;12535:41;;;3842:51:1;12517:15:0;;12535:63;;12594:3;;12535:54;;12581:7;;-1:-1:-1;;;;;12535:26:0;;;;;3815:18:1;;12535:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54::i;:::-;:58;;:63::i;:::-;12635:10;;12609:46;;-1:-1:-1;;;12609:46:0;;-1:-1:-1;;;;;12635:10:0;;;12609:46;;;7218:51:1;7285:18;;;7278:34;;;12517:81:0;;-1:-1:-1;12609:25:0;;;;;7191:18:1;;12609:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12462:201;12397:266;;:::o;6397:167::-;6475:4;6492:42;631:10;6516:9;6527:6;6492:9;:42::i;11191:161::-;2923:6;;-1:-1:-1;;;;;2923:6:0;631:10;2923:22;2915:67;;;;-1:-1:-1;;;2915:67:0;;;;;;;:::i;:::-;11263:6:::1;11258:87;11279:6;:13;11275:1;:17;11258:87;;;11330:5;11312:4;:15;11317:6;11324:1;11317:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11312:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11312:15:0;:23;;-1:-1:-1;;11312:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11294:3:0::1;11258:87;;12134:218:::0;12209:10;;-1:-1:-1;;;;;12209:10:0;631;-1:-1:-1;;;;;12195:24:0;;12187:33;;;;;;12246:12;;12237:7;:21;;:47;;;;;12271:13;;12262:7;:22;;12237:47;12229:56;;;;;;12294:12;:20;;;12323:13;:21;12134:218::o;11451:669::-;2923:6;;-1:-1:-1;;;;;2923:6:0;631:10;2923:22;2915:67;;;;-1:-1:-1;;;2915:67:0;;;;;;;:::i;:::-;11513:11:::1;::::0;-1:-1:-1;;;11513:11:0;::::1;;;11512:12;11504:47;;;::::0;-1:-1:-1;;;11504:47:0;;7807:2:1;11504:47:0::1;::::0;::::1;7789:21:1::0;7846:2;7826:18;;;7819:30;7885:25;7865:18;;;7858:53;7928:18;;11504:47:0::1;7605:347:1::0;11504:47:0::1;11562:15;:80:::0;;-1:-1:-1;;;;;;11562:80:0::1;11599:42;11562:80:::0;;::::1;::::0;;;11653:58:::1;::::0;11670:4:::1;::::0;4736:13:::1;4682:1;4736:2;:13;:::i;:::-;4725:24;::::0;:8:::1;:24;:::i;11653:58::-;11756:15;;;;;;;;;-1:-1:-1::0;;;;;11756:15:0::1;-1:-1:-1::0;;;;;11756:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11738:55:0::1;;11802:4;11809:15;;;;;;;;;-1:-1:-1::0;;;;;11809:15:0::1;-1:-1:-1::0;;;;;11809:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11738:94;::::0;-1:-1:-1;;;;;;11738:94:0::1;::::0;;;;;;-1:-1:-1;;;;;8443:15:1;;;11738:94:0::1;::::0;::::1;8425:34:1::0;8495:15;;8475:18;;;8468:43;8360:18;;11738:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11722:13;:110:::0;;-1:-1:-1;;;;;11722:110:0;;::::1;-1:-1:-1::0;;;;;;11722:110:0;;::::1;;::::0;;11843:15:::1;::::0;::::1;:31;11882:21;11913:4;11919:24;11913:4:::0;-1:-1:-1;;;;;6363:18:0;6336:7;6363:18;;;:9;:18;;;;;;;6270:119;11919:24:::1;11944:1;11946::::0;11948:7:::1;2834::::0;2861:6;-1:-1:-1;;;;;2861:6:0;;2796:79;11948:7:::1;11843:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11843:129:0;;;-1:-1:-1;;;;;8881:15:1;;;11843:129:0::1;::::0;::::1;8863:34:1::0;8913:18;;;8906:34;;;;8956:18;;;8949:34;;;;8999:18;;;8992:34;9063:15;;;9042:19;;;9035:44;11956:15:0::1;9095:19:1::0;;;9088:35;8797:19;;11843:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11990:13:0::1;::::0;12021:15:::1;::::0;11983:71:::1;::::0;-1:-1:-1;;;11983:71:0;;-1:-1:-1;;;;;12021:15:0;;::::1;11983:71;::::0;::::1;7218:51:1::0;-1:-1:-1;;7285:18:1;;;7278:34;11990:13:0;::::1;::::0;-1:-1:-1;11983:29:0::1;::::0;7191:18:1;;11983:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12065:11:0::1;:18:::0;;-1:-1:-1;;;;12094:18:0;-1:-1:-1;;;12094:18:0;;;11451:669::o;7213:335::-;-1:-1:-1;;;;;7306:19:0;;7298:68;;;;-1:-1:-1;;;7298:68:0;;9926:2:1;7298:68:0;;;9908:21:1;9965:2;9945:18;;;9938:30;10004:34;9984:18;;;9977:62;-1:-1:-1;;;10055:18:1;;;10048:34;10099:19;;7298:68:0;9724:400:1;7298:68:0;-1:-1:-1;;;;;7385:21:0;;7377:68;;;;-1:-1:-1;;;7377:68:0;;10331:2:1;7377:68:0;;;10313:21:1;10370:2;10350:18;;;10343:30;10409:34;10389:18;;;10382:62;-1:-1:-1;;;10460:18:1;;;10453:32;10502:19;;7377:68:0;10129:398:1;7377:68:0;-1:-1:-1;;;;;7456:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7508:32;;1500:25:1;;;7508:32:0;;1473:18:1;7508:32:0;;;;;;;7213:335;;;:::o;7556:2468::-;-1:-1:-1;;;;;7644:18:0;;7636:68;;;;-1:-1:-1;;;7636:68:0;;10734:2:1;7636:68:0;;;10716:21:1;10773:2;10753:18;;;10746:30;10812:34;10792:18;;;10785:62;-1:-1:-1;;;10863:18:1;;;10856:35;10908:19;;7636:68:0;10532:401:1;7636:68:0;-1:-1:-1;;;;;7723:16:0;;7715:64;;;;-1:-1:-1;;;7715:64:0;;11140:2:1;7715:64:0;;;11122:21:1;11179:2;11159:18;;;11152:30;11218:34;11198:18;;;11191:62;-1:-1:-1;;;11269:18:1;;;11262:33;11312:19;;7715:64:0;10938:399:1;7715:64:0;7807:1;7798:6;:10;7790:64;;;;-1:-1:-1;;;7790:64:0;;11544:2:1;7790:64:0;;;11526:21:1;11583:2;11563:18;;;11556:30;11622:34;11602:18;;;11595:62;-1:-1:-1;;;11673:18:1;;;11666:39;11722:19;;7790:64:0;11342:405:1;7790:64:0;7865:17;2861:6;;-1:-1:-1;;;;;7899:15:0;;;2861:6;;7899:15;;;;:32;;-1:-1:-1;2834:7:0;2861:6;-1:-1:-1;;;;;7918:13:0;;;2861:6;;7918:13;;7899:32;:52;;;;-1:-1:-1;7941:10:0;;-1:-1:-1;;;;;7935:16:0;;;7941:10;;7935:16;;7899:52;7895:1773;;;-1:-1:-1;;;;;7977:10:0;;;;;;:4;:10;;;;;;;;7976:11;:24;;;;-1:-1:-1;;;;;;7992:8:0;;;;;;:4;:8;;;;;;;;7991:9;7976:24;7968:33;;;;;;8021:9;;8032:1;8021:12;8018:139;;8065:76;8137:3;8065:67;8087:15;;8077:9;;:25;8076:55;;8117:14;;8076:55;;;8104:12;;8076:55;8065:6;;:10;:67::i;:76::-;8053:88;;8018:139;8174:9;;:11;8171:95;;8217:33;8246:3;8217:24;8228:12;;8217:6;:10;;:24;;;;:::i;:33::-;8205:45;;8171:95;8294:13;;-1:-1:-1;;;;;8286:21:0;;;8294:13;;8286:21;:55;;;;-1:-1:-1;8325:15:0;;-1:-1:-1;;;;;8311:30:0;;;8325:15;;8311:30;;8286:55;:83;;;;-1:-1:-1;;;;;;8347:22:0;;;;;;:18;:22;;;;;;;;8345:24;8286:83;8282:420;;;8409:12;;8399:6;:22;;8391:60;;;;-1:-1:-1;;;8391:60:0;;11954:2:1;8391:60:0;;;11936:21:1;11993:2;11973:18;;;11966:30;12032:27;12012:18;;;12005:55;12077:18;;8391:60:0;11752:349:1;8391:60:0;8504:14;;8494:6;8478:13;8488:2;-1:-1:-1;;;;;6363:18:0;6336:7;6363:18;;;:9;:18;;;;;;;6270:119;8478:13;:22;;;;:::i;:::-;:40;;8470:79;;;;-1:-1:-1;;;8470:79:0;;12438:2:1;8470:79:0;;;12420:21:1;12477:2;12457:18;;;12450:30;12516:28;12496:18;;;12489:56;12562:18;;8470:79:0;12236:350:1;8470:79:0;8580:76;8652:3;8580:67;8602:15;;8592:9;;:25;8591:55;;8632:14;;8591:55;;8580:76;8675:9;:11;;8568:88;;-1:-1:-1;8675:9:0;:11;;;:::i;:::-;;;;;;8282:420;8727:13;;-1:-1:-1;;;;;8721:19:0;;;8727:13;;8721:19;:43;;;;-1:-1:-1;;;;;;8744:20:0;;8759:4;8744:20;;8721:43;8718:174;;;8797:79;8872:3;8797:70;8819:16;;8809:9;;:26;8808:58;;8851:15;;8808:58;;;8837:13;;8797:6;;:10;:70::i;:79::-;8785:91;;8718:174;8957:4;8908:28;6363:18;;;:9;:18;;;;;;8983:6;;-1:-1:-1;;;8983:6:0;;;;8982:7;:30;;;;-1:-1:-1;8999:13:0;;-1:-1:-1;;;;;8993:19:0;;;8999:13;;8993:19;8982:30;:45;;;;-1:-1:-1;9016:11:0;;-1:-1:-1;;;9016:11:0;;;;8982:45;:89;;;;;9054:17;;9031:20;:40;8982:89;:123;;;;;9087:18;;9075:9;;:30;8982:123;8978:679;;;9145:13;;9130:12;:28;9126:90;;;9195:1;9183:9;:13;9126:90;9254:1;9242:9;;:13;9234:49;;;;-1:-1:-1;;;9234:49:0;;12933:2:1;9234:49:0;;;12915:21:1;12972:2;12952:18;;;12945:30;13011:25;12991:18;;;12984:53;13054:18;;9234:49:0;12731:347:1;9234:49:0;9302:69;9319:51;9323:6;9331:38;9335:20;9357:11;;9331:3;:38::i;:::-;9319:3;:51::i;:::-;9302:16;:69::i;:::-;9419:21;9463:22;;9459:106;;9510:35;9523:21;9510:12;:35::i;:::-;9583:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9629:12:0;9613:13;:28;-1:-1:-1;8978:679:0;7953:1715;7895:1773;9683:11;;9680:161;;9751:4;9733:24;;;;:9;:24;;;;;;:39;;9762:9;9733:28;:39::i;:::-;9726:4;9708:24;;;;:9;:24;;;;;;;:64;;;;9790:39;;-1:-1:-1;;;;;9790:39:0;;;;;;;9819:9;1500:25:1;;1488:2;1473:18;;1354:177;9790:39:0;;;;;;;;9680:161;-1:-1:-1;;;;;9867:15:0;;;;;;:9;:15;;;;;;:27;;9887:6;9867:19;:27::i;:::-;-1:-1:-1;;;;;9851:15:0;;;;;;:9;:15;;;;;:43;9919:40;9937:21;:6;9948:9;9937:10;:21::i;:::-;-1:-1:-1;;;;;9919:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9905:13:0;;;;;;;:9;:13;;;;;:54;;;;9975:41;;;9994:21;:6;10005:9;9994:10;:21::i;:::-;9975:41;;1500:25:1;;;1488:2;1473:18;9975:41:0;;;;;;;7625:2399;7556:2468;;;:::o;1688:190::-;1774:7;1810:12;1802:6;;;;1794:29;;;;-1:-1:-1;;;1794:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1834:9:0;1846:5;1850:1;1846;:5;:::i;:::-;1834:17;1688:190;-1:-1:-1;;;;;1688:190:0:o;10140:483::-;5499:6;:13;;-1:-1:-1;;;;5499:13:0;-1:-1:-1;;;5499:13:0;;;10242:16:::1;::::0;;10256:1:::1;10242:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10242:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10242:16:0::1;10218:40;;10287:4;10269;10274:1;10269:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10269:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10313:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10313:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10269:7;;10313:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10303:4;10308:1;10303:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10303:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10378:15:::1;::::0;10346:62:::1;::::0;10363:4:::1;::::0;10378:15:::1;10396:11:::0;10346:8:::1;:62::i;:::-;10419:15;::::0;:196:::1;::::0;-1:-1:-1;;;10419:196:0;;-1:-1:-1;;;;;10419:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10500:11;;10419:15:::1;::::0;10542:4;;10569::::1;::::0;10589:15:::1;::::0;10419:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5535:6:0;:14;;-1:-1:-1;;;;5535:14:0;;;-1:-1:-1;;;;10140:483:0:o;10920:92::-;10977:10;;:27;;-1:-1:-1;;;;;10977:10:0;;;;:27;;;;;10997:6;;10977:10;:27;:10;:27;10997:6;10977:10;:27;;;;;;;;;;;;;;;;;;;1886:246;1944:7;1968:1;1973;1968:6;1964:47;;-1:-1:-1;1998:1:0;1991:8;;1964:47;2021:9;2033:5;2037:1;2033;:5;:::i;:::-;2021:17;-1:-1:-1;2066:1:0;2057:5;2061:1;2021:17;2057:5;:::i;:::-;:10;2049:56;;;;-1:-1:-1;;;2049:56:0;;14625:2:1;2049:56:0;;;14607:21:1;14664:2;14644:18;;;14637:30;14703:34;14683:18;;;14676:62;-1:-1:-1;;;14754:18:1;;;14747:31;14795:19;;2049:56:0;14423:397:1;2049:56:0;2123:1;1886:246;-1:-1:-1;;;1886:246:0:o;2140:132::-;2198:7;2225:39;2229:1;2232;2225:39;;;;;;;;;;;;;;;;;:3;:39::i;10034:98::-;10091:7;10118:1;10116;:3;10115:9;;10123:1;10115:9;;;-1:-1:-1;10121:1:0;10034:98;-1:-1:-1;10034:98:0:o;1357:179::-;1415:7;;1447:5;1451:1;1447;:5;:::i;:::-;1435:17;;1476:1;1471;:6;;1463:46;;;;-1:-1:-1;;;1463:46:0;;15027:2:1;1463:46:0;;;15009:21:1;15066:2;15046:18;;;15039:30;15105:29;15085:18;;;15078:57;15152:18;;1463:46:0;14825:351:1;1544:136:0;1602:7;1629:43;1633:1;1636;1629:43;;;;;;;;;;;;;;;;;:3;:43::i;2280:189::-;2366:7;2401:12;2394:5;2386:28;;;;-1:-1:-1;;;2386:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2425:9:0;2437:5;2441:1;2437;:5;:::i;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;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:127::-;1597:10;1592:3;1588:20;1585:1;1578:31;1628:4;1625:1;1618:15;1652:4;1649:1;1642:15;1668:1121;1752:6;1783:2;1826;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1882:9;1869:23;1911:18;1952:2;1944:6;1941:14;1938:34;;;1968:1;1965;1958:12;1938:34;2006:6;1995:9;1991:22;1981:32;;2051:7;2044:4;2040:2;2036:13;2032:27;2022:55;;2073:1;2070;2063:12;2022:55;2109:2;2096:16;2131:2;2127;2124:10;2121:36;;;2137:18;;:::i;:::-;2183:2;2180:1;2176:10;2215:2;2209:9;2278:2;2274:7;2269:2;2265;2261:11;2257:25;2249:6;2245:38;2333:6;2321:10;2318:22;2313:2;2301:10;2298:18;2295:46;2292:72;;;2344:18;;:::i;:::-;2380:2;2373:22;2430:18;;;2464:15;;;;-1:-1:-1;2506:11:1;;;2502:20;;;2534:19;;;2531:39;;;2566:1;2563;2556:12;2531:39;2590:11;;;;2610:148;2626:6;2621:3;2618:15;2610:148;;;2692:23;2711:3;2692:23;:::i;:::-;2680:36;;2643:12;;;;2736;;;;2610:148;;;2777:6;1668:1121;-1:-1:-1;;;;;;;;1668:1121:1:o;2794:456::-;2871:6;2879;2887;2940:2;2928:9;2919:7;2915:23;2911:32;2908:52;;;2956:1;2953;2946:12;2908:52;2995:9;2982:23;3014:31;3039:5;3014:31;:::i;:::-;3064:5;-1:-1:-1;3121:2:1;3106:18;;3093:32;3134:33;3093:32;3134:33;:::i;:::-;2794:456;;3186:7;;-1:-1:-1;;;3240:2:1;3225:18;;;;3212:32;;2794:456::o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:180::-;4356:6;4409:2;4397:9;4388:7;4384:23;4380:32;4377:52;;;4425:1;4422;4415:12;4377:52;-1:-1:-1;4448:23:1;;4297:180;-1:-1:-1;4297:180:1:o;4482:356::-;4684:2;4666:21;;;4703:18;;;4696:30;4762:34;4757:2;4742:18;;4735:62;4829:2;4814:18;;4482:356::o;5033:127::-;5094:10;5089:3;5085:20;5082:1;5075:31;5125:4;5122:1;5115:15;5149:4;5146:1;5139:15;5165:416;5254:1;5291:5;5254:1;5305:270;5326:7;5316:8;5313:21;5305:270;;;5385:4;5381:1;5377:6;5373:17;5367:4;5364:27;5361:53;;;5394:18;;:::i;:::-;5444:7;5434:8;5430:22;5427:55;;;5464:16;;;;5427:55;5543:22;;;;5503:15;;;;5305:270;;;5309:3;5165:416;;;;;:::o;5586:806::-;5635:5;5665:8;5655:80;;-1:-1:-1;5706:1:1;5720:5;;5655:80;5754:4;5744:76;;-1:-1:-1;5791:1:1;5805:5;;5744:76;5836:4;5854:1;5849:59;;;;5922:1;5917:130;;;;5829:218;;5849:59;5879:1;5870:10;;5893:5;;;5917:130;5954:3;5944:8;5941:17;5938:43;;;5961:18;;:::i;:::-;-1:-1:-1;;6017:1:1;6003:16;;6032:5;;5829:218;;6131:2;6121:8;6118:16;6112:3;6106:4;6103:13;6099:36;6093:2;6083:8;6080:16;6075:2;6069:4;6066:12;6062:35;6059:77;6056:159;;;-1:-1:-1;6168:19:1;;;6200:5;;6056:159;6247:34;6272:8;6266:4;6247:34;:::i;:::-;6317:6;6313:1;6309:6;6305:19;6296:7;6293:32;6290:58;;;6328:18;;:::i;:::-;6366:20;;5586:806;-1:-1:-1;;;5586:806:1:o;6397:140::-;6455:5;6484:47;6525:4;6515:8;6511:19;6505:4;6484:47;:::i;6542:168::-;6615:9;;;6646;;6663:15;;;6657:22;;6643:37;6633:71;;6684:18;;:::i;6715:127::-;6776:10;6771:3;6767:20;6764:1;6757:31;6807:4;6804:1;6797:15;6831:4;6828:1;6821:15;6847:184;6917:6;6970:2;6958:9;6949:7;6945:23;6941:32;6938:52;;;6986:1;6983;6976:12;6938:52;-1:-1:-1;7009:16:1;;6847:184;-1:-1:-1;6847:184:1:o;7323:277::-;7390:6;7443:2;7431:9;7422:7;7418:23;7414:32;7411:52;;;7459:1;7456;7449:12;7411:52;7491:9;7485:16;7544:5;7537:13;7530:21;7523:5;7520:32;7510:60;;7566:1;7563;7556:12;7957:251;8027:6;8080:2;8068:9;8059:7;8055:23;8051:32;8048:52;;;8096:1;8093;8086:12;8048:52;8128:9;8122:16;8147:31;8172:5;8147:31;:::i;9134:306::-;9222:6;9230;9238;9291:2;9279:9;9270:7;9266:23;9262:32;9259:52;;;9307:1;9304;9297:12;9259:52;9336:9;9330:16;9320:26;;9386:2;9375:9;9371:18;9365:25;9355:35;;9430:2;9419:9;9415:18;9409:25;9399:35;;9134:306;;;;;:::o;12106:125::-;12171:9;;;12192:10;;;12189:36;;;12205:18;;:::i;12591:135::-;12630:3;12651:17;;;12648:43;;12671:18;;:::i;:::-;-1:-1:-1;12718:1:1;12707:13;;12591:135::o;13083:128::-;13150:9;;;13171:11;;;13168:37;;;13185:18;;:::i;13216:980::-;13478:4;13526:3;13515:9;13511:19;13557:6;13546:9;13539:25;13583:2;13621:6;13616:2;13605:9;13601:18;13594:34;13664:3;13659:2;13648:9;13644:18;13637:31;13688:6;13723;13717:13;13754:6;13746;13739:22;13792:3;13781:9;13777:19;13770:26;;13831:2;13823:6;13819:15;13805:29;;13852:1;13862:195;13876:6;13873:1;13870:13;13862:195;;;13941:13;;-1:-1:-1;;;;;13937:39:1;13925:52;;14032:15;;;;13997:12;;;;13973:1;13891:9;13862:195;;;-1:-1:-1;;;;;;;14113:32:1;;;;14108:2;14093:18;;14086:60;-1:-1:-1;;;14177:3:1;14162:19;14155:35;14074:3;13216:980;-1:-1:-1;;;13216:980:1:o;14201:217::-;14241:1;14267;14257:132;;14311:10;14306:3;14302:20;14299:1;14292:31;14346:4;14343:1;14336:15;14374:4;14371:1;14364:15;14257:132;-1:-1:-1;14403:9:1;;14201:217::o

Swarm Source

ipfs://197e06990ba795e898e1f4582887000089db56cc99dc048ef26f3c6293a74f99

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

$DUPE is an easy to use, safe & secure telegram bot that aims to be a staple tool for DeFi traders alongside the likes of Banana Gun and BONKbot.

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.