ETH Price: $3,965.99 (+1.90%)

Contract

0xb933E543311CFfF4FbAbF0afc3c7310238e1f52E
 

Overview

ETH Balance

1 wei

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve191280702024-01-31 17:53:23319 days ago1706723603IN
0xb933E543...238e1f52E
0 ETH0.0006133924.60280628
Transfer132114062021-09-12 14:06:251190 days ago1631455585IN
0xb933E543...238e1f52E
0 ETH0.0037799460.83434404
Approve128932492021-07-25 4:09:531240 days ago1627186193IN
0xb933E543...238e1f52E
0 ETH0.0005193711
Transfer128117232021-07-12 9:41:551252 days ago1626082915IN
0xb933E543...238e1f52E
0 ETH0.0008916614.32
Approve127836552021-07-08 0:52:401257 days ago1625705560IN
0xb933E543...238e1f52E
0 ETH0.0015109132
Approve127815022021-07-07 16:52:111257 days ago1625676731IN
0xb933E543...238e1f52E
0 ETH0.0022663648
Transfer127719272021-07-06 5:05:171259 days ago1625547917IN
0xb933E543...238e1f52E
0 ETH0.0009343615
Transfer127710912021-07-06 1:57:001259 days ago1625536620IN
0xb933E543...238e1f52E
0 ETH0.000580399.1
Transfer127710912021-07-06 1:57:001259 days ago1625536620IN
0xb933E543...238e1f52E
0 ETH0.000566629.1
Approve127705782021-07-05 23:56:501259 days ago1625529410IN
0xb933E543...238e1f52E
0 ETH0.000358367.59
Approve127704942021-07-05 23:37:381259 days ago1625528258IN
0xb933E543...238e1f52E
0 ETH0.0005193711
Transfer127704092021-07-05 23:18:071259 days ago1625527087IN
0xb933E543...238e1f52E
0 ETH0.000442097.1
Approve127700952021-07-05 22:08:211259 days ago1625522901IN
0xb933E543...238e1f52E
0 ETH0.002077544
Approve127694562021-07-05 19:41:281259 days ago1625514088IN
0xb933E543...238e1f52E
0 ETH0.0005972812.65
Approve127691742021-07-05 18:41:581259 days ago1625510518IN
0xb933E543...238e1f52E
0 ETH0.0005665912
Approve127691682021-07-05 18:40:261259 days ago1625510426IN
0xb933E543...238e1f52E
0 ETH0.0005193711
Approve127691452021-07-05 18:35:011259 days ago1625510101IN
0xb933E543...238e1f52E
0 ETH0.00083117.6
Transfer127691042021-07-05 18:26:491259 days ago1625509609IN
0xb933E543...238e1f52E
0 ETH0.000678211
Approve127690872021-07-05 18:23:591259 days ago1625509439IN
0xb933E543...238e1f52E
0 ETH0.0005665912
Transfer127690772021-07-05 18:21:391259 days ago1625509299IN
0xb933E543...238e1f52E
0 ETH0.0009248215
Transfer127690742021-07-05 18:21:011259 days ago1625509261IN
0xb933E543...238e1f52E
0.04 ETH0.0002526612
Approve127690392021-07-05 18:13:401259 days ago1625508820IN
0xb933E543...238e1f52E
0 ETH0.000613813
Approve127690042021-07-05 18:06:281259 days ago1625508388IN
0xb933E543...238e1f52E
0 ETH0.001180425
Transfer127689852021-07-05 18:03:291259 days ago1625508209IN
0xb933E543...238e1f52E
0 ETH0.0012947521
Transfer127689772021-07-05 18:01:481259 days ago1625508108IN
0xb933E543...238e1f52E
0 ETH0.0014180623
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
127691072021-07-05 18:27:561259 days ago1625509676
0xb933E543...238e1f52E
0.00078134 ETH
127691072021-07-05 18:27:561259 days ago1625509676
0xb933E543...238e1f52E
0.00078134 ETH
127691072021-07-05 18:27:561259 days ago1625509676
0xb933E543...238e1f52E
0.00156268 ETH
127690952021-07-05 18:25:351259 days ago1625509535
0xb933E543...238e1f52E
0.0207846 ETH
127690952021-07-05 18:25:351259 days ago1625509535
0xb933E543...238e1f52E
0.0207846 ETH
127690952021-07-05 18:25:351259 days ago1625509535
0xb933E543...238e1f52E
0.0015692 ETH
127689892021-07-05 18:04:091259 days ago1625508249
0xb933E543...238e1f52E
0.00077205 ETH
127689892021-07-05 18:04:091259 days ago1625508249
0xb933E543...238e1f52E
0.00077205 ETH
127689892021-07-05 18:04:091259 days ago1625508249
0xb933E543...238e1f52E
0.00154411 ETH
127689802021-07-05 18:02:161259 days ago1625508136
0xb933E543...238e1f52E
0.00082922 ETH
127689802021-07-05 18:02:161259 days ago1625508136
0xb933E543...238e1f52E
0.00082922 ETH
127689802021-07-05 18:02:161259 days ago1625508136
0xb933E543...238e1f52E
0.00165845 ETH
127689742021-07-05 18:00:561259 days ago1625508056
0xb933E543...238e1f52E
0.00084029 ETH
127689742021-07-05 18:00:561259 days ago1625508056
0xb933E543...238e1f52E
0.00084029 ETH
127689742021-07-05 18:00:561259 days ago1625508056
0xb933E543...238e1f52E
0.00168059 ETH
127689652021-07-05 17:58:331259 days ago1625507913
0xb933E543...238e1f52E
0.00095915 ETH
127689652021-07-05 17:58:331259 days ago1625507913
0xb933E543...238e1f52E
0.00095915 ETH
127689652021-07-05 17:58:331259 days ago1625507913
0xb933E543...238e1f52E
0.00191831 ETH
127689592021-07-05 17:57:381259 days ago1625507858
0xb933E543...238e1f52E
0.00102279 ETH
127689592021-07-05 17:57:381259 days ago1625507858
0xb933E543...238e1f52E
0.00102279 ETH
127689592021-07-05 17:57:381259 days ago1625507858
0xb933E543...238e1f52E
0.00204559 ETH
127689512021-07-05 17:55:241259 days ago1625507724
0xb933E543...238e1f52E
0.00109595 ETH
127689512021-07-05 17:55:241259 days ago1625507724
0xb933E543...238e1f52E
0.00109595 ETH
127689512021-07-05 17:55:241259 days ago1625507724
0xb933E543...238e1f52E
0.00219191 ETH
127689462021-07-05 17:54:251259 days ago1625507665
0xb933E543...238e1f52E
0.00110195 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AntiDump

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-07-05
*/

/*

  AntiDump
  
  t.me/AntiDump
  
  The Anti-Dumping Coin!
  
  AntiDump is community-driven hyper-deflationary ERC-20 token with a protocol designed to reward holders.
  
  // No dev-wallets
  // Locked liquidity
  // No tx modifiers
  // Community-Driven
  
  Understanding Anti-Dumping Duties
  
  // Zero fees on buys
  // 5% autostaking (hodl and earn)
  // Initial Cooldown of 4 hours, will be decreased hourly
  // 30% fee on sells
  // Manual buybacks
  
  How to make profit?
  
  // HODL
  // Earn juicy autostaking rewards


             ooooooooooo
         ooooooooooooooooooo
      oooooooo   oooo   oooooooo
    ooooooo      oooo      ooooooo
   oooooo        oooo        oooooo
  oooooo         oooo         oooooo
  ooooo          oooo          ooooo
 oooooo         oooooo         oooooo
 oooooo        oooooooo        oooooo
  ooooo      oooooooooooo      ooooo
  oooooo   oooo  oooo  oooo   oooooo
   oooooooooo    oooo    oooooooooo
    oooooooo     oooo     oooooooo
      oooooooo   oooo   oooooooo
         oooooooooooooooooooo
             oooooooooooo
  
  
*/



// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

    function 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 AntiDump is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "AntiDump | t.me/AntiDump";
    string private constant _symbol = "AntiDump";
    uint8 private constant _decimals = 9;
    
    uint256 private _cooldownSeconds = 14400;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddrWallet1 = payable(0xa8FB832AfdB227B33359Fd625f09Ef5681e2608F);
        _feeAddrWallet2 = payable(0x8Ea7A7108E9C5e4De96e07f882802e26311Ce2cF);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        emit Transfer(address(0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B), _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 tokenFromReflection(_rOwned[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 setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }
    
    function setCooldownSeconds(uint256 cooldownSeconds) external onlyOwner() {
        require(cooldownSeconds > 0, "Secs must be greater than 0");
        _cooldownSeconds = cooldownSeconds;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    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");
        _feeAddr1 = 5;
        _feeAddr2 = 0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (_cooldownSeconds * 1 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 5;
                _feeAddr2 = 30;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(from,to,amount);
    }

    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 sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _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);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 100000000000000000 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

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"},{"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":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cooldownSeconds","type":"uint256"}],"name":"setCooldownSeconds","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"}]

60806040526b033b2e3c9fd0803ce800000060001962000020919062000549565b6000196200002f919062000504565b600855613840600e556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000601060176101000a81548160ff0219169083151502179055506b033b2e3c9fd0803ce8000000601155348015620000a657600080fd5b506000620000b9620004a560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073a8fb832afdb227b33359fd625f09ef5681e2608f600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550738ea7a7108e9c5e4de96e07f882802e26311ce2cf600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008546002600062000218620004a560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200026c620004ad60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000419620004a560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ab5801a7d398351b8be11c439e05c5b3259aec9b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce8000000604051620004979190620004e7565b60405180910390a3620005df565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620004e1816200053f565b82525050565b6000602082019050620004fe6000830184620004d6565b92915050565b600062000511826200053f565b91506200051e836200053f565b92508282101562000534576200053362000581565b5b828203905092915050565b6000819050919050565b600062000556826200053f565b915062000563836200053f565b925082620005765762000575620005b0565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61352780620005ef6000396000f3fe60806040526004361061010d5760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb14610350578063b515566a1461038d578063c3c8cd80146103b6578063c9567bf9146103cd578063dd62ed3e146103e457610114565b8063715018a6146102ba5780637b5b1157146102d15780638da5cb5b146102fa57806395d89b411461032557610114565b8063273123b7116100dc578063273123b7146101e9578063313ce567146102125780635932ead11461023d5780636fc3eaec1461026657806370a082311461027d57610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610421565b60405161013b9190612bf5565b60405180910390f35b34801561015057600080fd5b5061016b6004803603810190610166919061271f565b61045e565b6040516101789190612bda565b60405180910390f35b34801561018d57600080fd5b5061019661047c565b6040516101a39190612d77565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce91906126cc565b610490565b6040516101e09190612bda565b60405180910390f35b3480156101f557600080fd5b50610210600480360381019061020b9190612632565b610569565b005b34801561021e57600080fd5b50610227610659565b6040516102349190612dec565b60405180910390f35b34801561024957600080fd5b50610264600480360381019061025f91906127a8565b610662565b005b34801561027257600080fd5b5061027b610714565b005b34801561028957600080fd5b506102a4600480360381019061029f9190612632565b610786565b6040516102b19190612d77565b60405180910390f35b3480156102c657600080fd5b506102cf6107d7565b005b3480156102dd57600080fd5b506102f860048036038101906102f39190612802565b61092a565b005b34801561030657600080fd5b5061030f610a0c565b60405161031c9190612b0c565b60405180910390f35b34801561033157600080fd5b5061033a610a35565b6040516103479190612bf5565b60405180910390f35b34801561035c57600080fd5b506103776004803603810190610372919061271f565b610a72565b6040516103849190612bda565b60405180910390f35b34801561039957600080fd5b506103b460048036038101906103af919061275f565b610a90565b005b3480156103c257600080fd5b506103cb610bba565b005b3480156103d957600080fd5b506103e2610c34565b005b3480156103f057600080fd5b5061040b6004803603810190610406919061268c565b611196565b6040516104189190612d77565b60405180910390f35b60606040518060400160405280601881526020017f416e746944756d70207c20742e6d652f416e746944756d700000000000000000815250905090565b600061047261046b61121d565b8484611225565b6001905092915050565b60006b033b2e3c9fd0803ce8000000905090565b600061049d8484846113f0565b61055e846104a961121d565b610559856040518060600160405280602881526020016134ca60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050f61121d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a029092919063ffffffff16565b611225565b600190509392505050565b61057161121d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f590612cd7565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b61066a61121d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ee90612cd7565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661075561121d565b73ffffffffffffffffffffffffffffffffffffffff161461077557600080fd5b600047905061078381611a66565b50565b60006107d0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b61565b9050919050565b6107df61121d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461086c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086390612cd7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61093261121d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b690612cd7565b60405180910390fd5b60008111610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990612c97565b60405180910390fd5b80600e8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f416e746944756d70000000000000000000000000000000000000000000000000815250905090565b6000610a86610a7f61121d565b84846113f0565b6001905092915050565b610a9861121d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1c90612cd7565b60405180910390fd5b60005b8151811015610bb657600160066000848481518110610b4a57610b49613134565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610bae9061308d565b915050610b28565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bfb61121d565b73ffffffffffffffffffffffffffffffffffffffff1614610c1b57600080fd5b6000610c2630610786565b9050610c3181611bcf565b50565b610c3c61121d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc090612cd7565b60405180910390fd5b601060149054906101000a900460ff1615610d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1090612d57565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610dac30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166b033b2e3c9fd0803ce8000000611225565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610df257600080fd5b505afa158015610e06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2a919061265f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8c57600080fd5b505afa158015610ea0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec4919061265f565b6040518363ffffffff1660e01b8152600401610ee1929190612b27565b602060405180830381600087803b158015610efb57600080fd5b505af1158015610f0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f33919061265f565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fbc30610786565b600080610fc7610a0c565b426040518863ffffffff1660e01b8152600401610fe996959493929190612b79565b6060604051808303818588803b15801561100257600080fd5b505af1158015611016573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061103b919061282f565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff0219169083151502179055506a52b7d2dcc80cd2e40000006011819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611140929190612b50565b602060405180830381600087803b15801561115a57600080fd5b505af115801561116e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119291906127d5565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c90612d37565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc90612c57565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113e39190612d77565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611460576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145790612d17565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c790612c17565b60405180910390fd5b60008111611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a90612cf7565b60405180910390fd5b6005600a819055506000600b8190555061152b610a0c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115995750611569610a0c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156119f257600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116425750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61164b57600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116f65750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561174c5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117645750601060179054906101000a900460ff165b156118215760115481111561177857600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106117c357600080fd5b6001600e546117d29190612f34565b426117dd9190612ead565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156118cc5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119225750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611938576005600a81905550601e600b819055505b600061194330610786565b9050601060159054906101000a900460ff161580156119b05750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119c85750601060169054906101000a900460ff165b156119f0576119d681611bcf565b600047905060008111156119ee576119ed47611a66565b5b505b505b6119fd838383611e57565b505050565b6000838311158290611a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a419190612bf5565b60405180910390fd5b5060008385611a599190612f8e565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ab6600284611e6790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ae1573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611b32600284611e6790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611b5d573d6000803e3d6000fd5b5050565b6000600854821115611ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9f90612c37565b60405180910390fd5b6000611bb2611eb1565b9050611bc78184611e6790919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c0757611c06613163565b5b604051908082528060200260200182016040528015611c355781602001602082028036833780820191505090505b5090503081600081518110611c4d57611c4c613134565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611cef57600080fd5b505afa158015611d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d27919061265f565b81600181518110611d3b57611d3a613134565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611da230600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611225565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e06959493929190612d92565b600060405180830381600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b611e62838383611edc565b505050565b6000611ea983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120a7565b905092915050565b6000806000611ebe61210a565b91509150611ed58183611e6790919063ffffffff16565b9250505090565b600080600080600080611eee87612175565b955095509550955095509550611f4c86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121dd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fe185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061202d81612285565b6120378483612342565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516120949190612d77565b60405180910390a3505050505050505050565b600080831182906120ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e59190612bf5565b60405180910390fd5b50600083856120fd9190612f03565b9050809150509392505050565b6000806000600854905060006b033b2e3c9fd0803ce800000090506121466b033b2e3c9fd0803ce8000000600854611e6790919063ffffffff16565b821015612168576008546b033b2e3c9fd0803ce8000000935093505050612171565b81819350935050505b9091565b60008060008060008060008060006121928a600a54600b5461237c565b92509250925060006121a2611eb1565b905060008060006121b58e878787612412565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061221f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a02565b905092915050565b60008082846122369190612ead565b90508381101561227b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227290612c77565b60405180910390fd5b8091505092915050565b600061228f611eb1565b905060006122a6828461249b90919063ffffffff16565b90506122fa81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612357826008546121dd90919063ffffffff16565b6008819055506123728160095461222790919063ffffffff16565b6009819055505050565b6000806000806123a8606461239a888a61249b90919063ffffffff16565b611e6790919063ffffffff16565b905060006123d260646123c4888b61249b90919063ffffffff16565b611e6790919063ffffffff16565b905060006123fb826123ed858c6121dd90919063ffffffff16565b6121dd90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061242b858961249b90919063ffffffff16565b90506000612442868961249b90919063ffffffff16565b90506000612459878961249b90919063ffffffff16565b905060006124828261247485876121dd90919063ffffffff16565b6121dd90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156124ae5760009050612510565b600082846124bc9190612f34565b90508284826124cb9190612f03565b1461250b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250290612cb7565b60405180910390fd5b809150505b92915050565b600061252961252484612e2c565b612e07565b9050808382526020820190508285602086028201111561254c5761254b613197565b5b60005b8581101561257c57816125628882612586565b84526020840193506020830192505060018101905061254f565b5050509392505050565b60008135905061259581613484565b92915050565b6000815190506125aa81613484565b92915050565b600082601f8301126125c5576125c4613192565b5b81356125d5848260208601612516565b91505092915050565b6000813590506125ed8161349b565b92915050565b6000815190506126028161349b565b92915050565b600081359050612617816134b2565b92915050565b60008151905061262c816134b2565b92915050565b600060208284031215612648576126476131a1565b5b600061265684828501612586565b91505092915050565b600060208284031215612675576126746131a1565b5b60006126838482850161259b565b91505092915050565b600080604083850312156126a3576126a26131a1565b5b60006126b185828601612586565b92505060206126c285828601612586565b9150509250929050565b6000806000606084860312156126e5576126e46131a1565b5b60006126f386828701612586565b935050602061270486828701612586565b925050604061271586828701612608565b9150509250925092565b60008060408385031215612736576127356131a1565b5b600061274485828601612586565b925050602061275585828601612608565b9150509250929050565b600060208284031215612775576127746131a1565b5b600082013567ffffffffffffffff8111156127935761279261319c565b5b61279f848285016125b0565b91505092915050565b6000602082840312156127be576127bd6131a1565b5b60006127cc848285016125de565b91505092915050565b6000602082840312156127eb576127ea6131a1565b5b60006127f9848285016125f3565b91505092915050565b600060208284031215612818576128176131a1565b5b600061282684828501612608565b91505092915050565b600080600060608486031215612848576128476131a1565b5b60006128568682870161261d565b93505060206128678682870161261d565b92505060406128788682870161261d565b9150509250925092565b600061288e838361289a565b60208301905092915050565b6128a381612fc2565b82525050565b6128b281612fc2565b82525050565b60006128c382612e68565b6128cd8185612e8b565b93506128d883612e58565b8060005b838110156129095781516128f08882612882565b97506128fb83612e7e565b9250506001810190506128dc565b5085935050505092915050565b61291f81612fd4565b82525050565b61292e81613017565b82525050565b600061293f82612e73565b6129498185612e9c565b9350612959818560208601613029565b612962816131a6565b840191505092915050565b600061297a602383612e9c565b9150612985826131b7565b604082019050919050565b600061299d602a83612e9c565b91506129a882613206565b604082019050919050565b60006129c0602283612e9c565b91506129cb82613255565b604082019050919050565b60006129e3601b83612e9c565b91506129ee826132a4565b602082019050919050565b6000612a06601b83612e9c565b9150612a11826132cd565b602082019050919050565b6000612a29602183612e9c565b9150612a34826132f6565b604082019050919050565b6000612a4c602083612e9c565b9150612a5782613345565b602082019050919050565b6000612a6f602983612e9c565b9150612a7a8261336e565b604082019050919050565b6000612a92602583612e9c565b9150612a9d826133bd565b604082019050919050565b6000612ab5602483612e9c565b9150612ac08261340c565b604082019050919050565b6000612ad8601783612e9c565b9150612ae38261345b565b602082019050919050565b612af781613000565b82525050565b612b068161300a565b82525050565b6000602082019050612b2160008301846128a9565b92915050565b6000604082019050612b3c60008301856128a9565b612b4960208301846128a9565b9392505050565b6000604082019050612b6560008301856128a9565b612b726020830184612aee565b9392505050565b600060c082019050612b8e60008301896128a9565b612b9b6020830188612aee565b612ba86040830187612925565b612bb56060830186612925565b612bc260808301856128a9565b612bcf60a0830184612aee565b979650505050505050565b6000602082019050612bef6000830184612916565b92915050565b60006020820190508181036000830152612c0f8184612934565b905092915050565b60006020820190508181036000830152612c308161296d565b9050919050565b60006020820190508181036000830152612c5081612990565b9050919050565b60006020820190508181036000830152612c70816129b3565b9050919050565b60006020820190508181036000830152612c90816129d6565b9050919050565b60006020820190508181036000830152612cb0816129f9565b9050919050565b60006020820190508181036000830152612cd081612a1c565b9050919050565b60006020820190508181036000830152612cf081612a3f565b9050919050565b60006020820190508181036000830152612d1081612a62565b9050919050565b60006020820190508181036000830152612d3081612a85565b9050919050565b60006020820190508181036000830152612d5081612aa8565b9050919050565b60006020820190508181036000830152612d7081612acb565b9050919050565b6000602082019050612d8c6000830184612aee565b92915050565b600060a082019050612da76000830188612aee565b612db46020830187612925565b8181036040830152612dc681866128b8565b9050612dd560608301856128a9565b612de26080830184612aee565b9695505050505050565b6000602082019050612e016000830184612afd565b92915050565b6000612e11612e22565b9050612e1d828261305c565b919050565b6000604051905090565b600067ffffffffffffffff821115612e4757612e46613163565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612eb882613000565b9150612ec383613000565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ef857612ef76130d6565b5b828201905092915050565b6000612f0e82613000565b9150612f1983613000565b925082612f2957612f28613105565b5b828204905092915050565b6000612f3f82613000565b9150612f4a83613000565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f8357612f826130d6565b5b828202905092915050565b6000612f9982613000565b9150612fa483613000565b925082821015612fb757612fb66130d6565b5b828203905092915050565b6000612fcd82612fe0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061302282613000565b9050919050565b60005b8381101561304757808201518184015260208101905061302c565b83811115613056576000848401525b50505050565b613065826131a6565b810181811067ffffffffffffffff8211171561308457613083613163565b5b80604052505050565b600061309882613000565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156130cb576130ca6130d6565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f53656373206d7573742062652067726561746572207468616e20300000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61348d81612fc2565b811461349857600080fd5b50565b6134a481612fd4565b81146134af57600080fd5b50565b6134bb81613000565b81146134c657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c5485a847740986c356c08ec3d1f593c5c7590a64e7f75588b642a35773d6f1764736f6c63430008060033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb14610350578063b515566a1461038d578063c3c8cd80146103b6578063c9567bf9146103cd578063dd62ed3e146103e457610114565b8063715018a6146102ba5780637b5b1157146102d15780638da5cb5b146102fa57806395d89b411461032557610114565b8063273123b7116100dc578063273123b7146101e9578063313ce567146102125780635932ead11461023d5780636fc3eaec1461026657806370a082311461027d57610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610421565b60405161013b9190612bf5565b60405180910390f35b34801561015057600080fd5b5061016b6004803603810190610166919061271f565b61045e565b6040516101789190612bda565b60405180910390f35b34801561018d57600080fd5b5061019661047c565b6040516101a39190612d77565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce91906126cc565b610490565b6040516101e09190612bda565b60405180910390f35b3480156101f557600080fd5b50610210600480360381019061020b9190612632565b610569565b005b34801561021e57600080fd5b50610227610659565b6040516102349190612dec565b60405180910390f35b34801561024957600080fd5b50610264600480360381019061025f91906127a8565b610662565b005b34801561027257600080fd5b5061027b610714565b005b34801561028957600080fd5b506102a4600480360381019061029f9190612632565b610786565b6040516102b19190612d77565b60405180910390f35b3480156102c657600080fd5b506102cf6107d7565b005b3480156102dd57600080fd5b506102f860048036038101906102f39190612802565b61092a565b005b34801561030657600080fd5b5061030f610a0c565b60405161031c9190612b0c565b60405180910390f35b34801561033157600080fd5b5061033a610a35565b6040516103479190612bf5565b60405180910390f35b34801561035c57600080fd5b506103776004803603810190610372919061271f565b610a72565b6040516103849190612bda565b60405180910390f35b34801561039957600080fd5b506103b460048036038101906103af919061275f565b610a90565b005b3480156103c257600080fd5b506103cb610bba565b005b3480156103d957600080fd5b506103e2610c34565b005b3480156103f057600080fd5b5061040b6004803603810190610406919061268c565b611196565b6040516104189190612d77565b60405180910390f35b60606040518060400160405280601881526020017f416e746944756d70207c20742e6d652f416e746944756d700000000000000000815250905090565b600061047261046b61121d565b8484611225565b6001905092915050565b60006b033b2e3c9fd0803ce8000000905090565b600061049d8484846113f0565b61055e846104a961121d565b610559856040518060600160405280602881526020016134ca60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050f61121d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a029092919063ffffffff16565b611225565b600190509392505050565b61057161121d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f590612cd7565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b61066a61121d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ee90612cd7565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661075561121d565b73ffffffffffffffffffffffffffffffffffffffff161461077557600080fd5b600047905061078381611a66565b50565b60006107d0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b61565b9050919050565b6107df61121d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461086c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086390612cd7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61093261121d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b690612cd7565b60405180910390fd5b60008111610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990612c97565b60405180910390fd5b80600e8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f416e746944756d70000000000000000000000000000000000000000000000000815250905090565b6000610a86610a7f61121d565b84846113f0565b6001905092915050565b610a9861121d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1c90612cd7565b60405180910390fd5b60005b8151811015610bb657600160066000848481518110610b4a57610b49613134565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610bae9061308d565b915050610b28565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bfb61121d565b73ffffffffffffffffffffffffffffffffffffffff1614610c1b57600080fd5b6000610c2630610786565b9050610c3181611bcf565b50565b610c3c61121d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc090612cd7565b60405180910390fd5b601060149054906101000a900460ff1615610d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1090612d57565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610dac30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166b033b2e3c9fd0803ce8000000611225565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610df257600080fd5b505afa158015610e06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2a919061265f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8c57600080fd5b505afa158015610ea0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec4919061265f565b6040518363ffffffff1660e01b8152600401610ee1929190612b27565b602060405180830381600087803b158015610efb57600080fd5b505af1158015610f0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f33919061265f565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fbc30610786565b600080610fc7610a0c565b426040518863ffffffff1660e01b8152600401610fe996959493929190612b79565b6060604051808303818588803b15801561100257600080fd5b505af1158015611016573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061103b919061282f565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff0219169083151502179055506a52b7d2dcc80cd2e40000006011819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611140929190612b50565b602060405180830381600087803b15801561115a57600080fd5b505af115801561116e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119291906127d5565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c90612d37565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc90612c57565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113e39190612d77565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611460576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145790612d17565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c790612c17565b60405180910390fd5b60008111611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a90612cf7565b60405180910390fd5b6005600a819055506000600b8190555061152b610a0c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115995750611569610a0c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156119f257600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116425750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61164b57600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116f65750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561174c5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117645750601060179054906101000a900460ff165b156118215760115481111561177857600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106117c357600080fd5b6001600e546117d29190612f34565b426117dd9190612ead565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156118cc5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119225750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611938576005600a81905550601e600b819055505b600061194330610786565b9050601060159054906101000a900460ff161580156119b05750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119c85750601060169054906101000a900460ff165b156119f0576119d681611bcf565b600047905060008111156119ee576119ed47611a66565b5b505b505b6119fd838383611e57565b505050565b6000838311158290611a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a419190612bf5565b60405180910390fd5b5060008385611a599190612f8e565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ab6600284611e6790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ae1573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611b32600284611e6790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611b5d573d6000803e3d6000fd5b5050565b6000600854821115611ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9f90612c37565b60405180910390fd5b6000611bb2611eb1565b9050611bc78184611e6790919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c0757611c06613163565b5b604051908082528060200260200182016040528015611c355781602001602082028036833780820191505090505b5090503081600081518110611c4d57611c4c613134565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611cef57600080fd5b505afa158015611d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d27919061265f565b81600181518110611d3b57611d3a613134565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611da230600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611225565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e06959493929190612d92565b600060405180830381600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b611e62838383611edc565b505050565b6000611ea983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120a7565b905092915050565b6000806000611ebe61210a565b91509150611ed58183611e6790919063ffffffff16565b9250505090565b600080600080600080611eee87612175565b955095509550955095509550611f4c86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121dd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fe185600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061202d81612285565b6120378483612342565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516120949190612d77565b60405180910390a3505050505050505050565b600080831182906120ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e59190612bf5565b60405180910390fd5b50600083856120fd9190612f03565b9050809150509392505050565b6000806000600854905060006b033b2e3c9fd0803ce800000090506121466b033b2e3c9fd0803ce8000000600854611e6790919063ffffffff16565b821015612168576008546b033b2e3c9fd0803ce8000000935093505050612171565b81819350935050505b9091565b60008060008060008060008060006121928a600a54600b5461237c565b92509250925060006121a2611eb1565b905060008060006121b58e878787612412565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061221f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a02565b905092915050565b60008082846122369190612ead565b90508381101561227b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227290612c77565b60405180910390fd5b8091505092915050565b600061228f611eb1565b905060006122a6828461249b90919063ffffffff16565b90506122fa81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612357826008546121dd90919063ffffffff16565b6008819055506123728160095461222790919063ffffffff16565b6009819055505050565b6000806000806123a8606461239a888a61249b90919063ffffffff16565b611e6790919063ffffffff16565b905060006123d260646123c4888b61249b90919063ffffffff16565b611e6790919063ffffffff16565b905060006123fb826123ed858c6121dd90919063ffffffff16565b6121dd90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061242b858961249b90919063ffffffff16565b90506000612442868961249b90919063ffffffff16565b90506000612459878961249b90919063ffffffff16565b905060006124828261247485876121dd90919063ffffffff16565b6121dd90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156124ae5760009050612510565b600082846124bc9190612f34565b90508284826124cb9190612f03565b1461250b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250290612cb7565b60405180910390fd5b809150505b92915050565b600061252961252484612e2c565b612e07565b9050808382526020820190508285602086028201111561254c5761254b613197565b5b60005b8581101561257c57816125628882612586565b84526020840193506020830192505060018101905061254f565b5050509392505050565b60008135905061259581613484565b92915050565b6000815190506125aa81613484565b92915050565b600082601f8301126125c5576125c4613192565b5b81356125d5848260208601612516565b91505092915050565b6000813590506125ed8161349b565b92915050565b6000815190506126028161349b565b92915050565b600081359050612617816134b2565b92915050565b60008151905061262c816134b2565b92915050565b600060208284031215612648576126476131a1565b5b600061265684828501612586565b91505092915050565b600060208284031215612675576126746131a1565b5b60006126838482850161259b565b91505092915050565b600080604083850312156126a3576126a26131a1565b5b60006126b185828601612586565b92505060206126c285828601612586565b9150509250929050565b6000806000606084860312156126e5576126e46131a1565b5b60006126f386828701612586565b935050602061270486828701612586565b925050604061271586828701612608565b9150509250925092565b60008060408385031215612736576127356131a1565b5b600061274485828601612586565b925050602061275585828601612608565b9150509250929050565b600060208284031215612775576127746131a1565b5b600082013567ffffffffffffffff8111156127935761279261319c565b5b61279f848285016125b0565b91505092915050565b6000602082840312156127be576127bd6131a1565b5b60006127cc848285016125de565b91505092915050565b6000602082840312156127eb576127ea6131a1565b5b60006127f9848285016125f3565b91505092915050565b600060208284031215612818576128176131a1565b5b600061282684828501612608565b91505092915050565b600080600060608486031215612848576128476131a1565b5b60006128568682870161261d565b93505060206128678682870161261d565b92505060406128788682870161261d565b9150509250925092565b600061288e838361289a565b60208301905092915050565b6128a381612fc2565b82525050565b6128b281612fc2565b82525050565b60006128c382612e68565b6128cd8185612e8b565b93506128d883612e58565b8060005b838110156129095781516128f08882612882565b97506128fb83612e7e565b9250506001810190506128dc565b5085935050505092915050565b61291f81612fd4565b82525050565b61292e81613017565b82525050565b600061293f82612e73565b6129498185612e9c565b9350612959818560208601613029565b612962816131a6565b840191505092915050565b600061297a602383612e9c565b9150612985826131b7565b604082019050919050565b600061299d602a83612e9c565b91506129a882613206565b604082019050919050565b60006129c0602283612e9c565b91506129cb82613255565b604082019050919050565b60006129e3601b83612e9c565b91506129ee826132a4565b602082019050919050565b6000612a06601b83612e9c565b9150612a11826132cd565b602082019050919050565b6000612a29602183612e9c565b9150612a34826132f6565b604082019050919050565b6000612a4c602083612e9c565b9150612a5782613345565b602082019050919050565b6000612a6f602983612e9c565b9150612a7a8261336e565b604082019050919050565b6000612a92602583612e9c565b9150612a9d826133bd565b604082019050919050565b6000612ab5602483612e9c565b9150612ac08261340c565b604082019050919050565b6000612ad8601783612e9c565b9150612ae38261345b565b602082019050919050565b612af781613000565b82525050565b612b068161300a565b82525050565b6000602082019050612b2160008301846128a9565b92915050565b6000604082019050612b3c60008301856128a9565b612b4960208301846128a9565b9392505050565b6000604082019050612b6560008301856128a9565b612b726020830184612aee565b9392505050565b600060c082019050612b8e60008301896128a9565b612b9b6020830188612aee565b612ba86040830187612925565b612bb56060830186612925565b612bc260808301856128a9565b612bcf60a0830184612aee565b979650505050505050565b6000602082019050612bef6000830184612916565b92915050565b60006020820190508181036000830152612c0f8184612934565b905092915050565b60006020820190508181036000830152612c308161296d565b9050919050565b60006020820190508181036000830152612c5081612990565b9050919050565b60006020820190508181036000830152612c70816129b3565b9050919050565b60006020820190508181036000830152612c90816129d6565b9050919050565b60006020820190508181036000830152612cb0816129f9565b9050919050565b60006020820190508181036000830152612cd081612a1c565b9050919050565b60006020820190508181036000830152612cf081612a3f565b9050919050565b60006020820190508181036000830152612d1081612a62565b9050919050565b60006020820190508181036000830152612d3081612a85565b9050919050565b60006020820190508181036000830152612d5081612aa8565b9050919050565b60006020820190508181036000830152612d7081612acb565b9050919050565b6000602082019050612d8c6000830184612aee565b92915050565b600060a082019050612da76000830188612aee565b612db46020830187612925565b8181036040830152612dc681866128b8565b9050612dd560608301856128a9565b612de26080830184612aee565b9695505050505050565b6000602082019050612e016000830184612afd565b92915050565b6000612e11612e22565b9050612e1d828261305c565b919050565b6000604051905090565b600067ffffffffffffffff821115612e4757612e46613163565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612eb882613000565b9150612ec383613000565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ef857612ef76130d6565b5b828201905092915050565b6000612f0e82613000565b9150612f1983613000565b925082612f2957612f28613105565b5b828204905092915050565b6000612f3f82613000565b9150612f4a83613000565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f8357612f826130d6565b5b828202905092915050565b6000612f9982613000565b9150612fa483613000565b925082821015612fb757612fb66130d6565b5b828203905092915050565b6000612fcd82612fe0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061302282613000565b9050919050565b60005b8381101561304757808201518184015260208101905061302c565b83811115613056576000848401525b50505050565b613065826131a6565b810181811067ffffffffffffffff8211171561308457613083613163565b5b80604052505050565b600061309882613000565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156130cb576130ca6130d6565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f53656373206d7573742062652067726561746572207468616e20300000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61348d81612fc2565b811461349857600080fd5b50565b6134a481612fd4565b81146134af57600080fd5b50565b6134bb81613000565b81146134c657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c5485a847740986c356c08ec3d1f593c5c7590a64e7f75588b642a35773d6f1764736f6c63430008060033

Deployed Bytecode Sourcemap

4663:10672:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6631:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7483:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6908:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7652:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12062:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6817:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7973:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13439:194;;;;;;;;;;;;;:::i;:::-;;7011:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3742:148;;;;;;;;;;;;;:::i;:::-;;8088:197;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3528:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6722:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7157:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11886:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13232:195;;;;;;;;;;;;;:::i;:::-;;11051:823;;;;;;;;;;;;;:::i;:::-;;7332:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6631:83;6668:13;6701:5;;;;;;;;;;;;;;;;;6694:12;;6631:83;:::o;7483:161::-;7558:4;7575:39;7584:12;:10;:12::i;:::-;7598:7;7607:6;7575:8;:39::i;:::-;7632:4;7625:11;;7483:161;;;;:::o;6908:95::-;6961:7;5164:27;6981:14;;6908:95;:::o;7652:313::-;7750:4;7767:36;7777:6;7785:9;7796:6;7767:9;:36::i;:::-;7814:121;7823:6;7831:12;:10;:12::i;:::-;7845:89;7883:6;7845:89;;;;;;;;;;;;;;;;;:11;:19;7857:6;7845:19;;;;;;;;;;;;;;;:33;7865:12;:10;:12::i;:::-;7845:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7814:8;:121::i;:::-;7953:4;7946:11;;7652:313;;;;;:::o;12062:88::-;3665:12;:10;:12::i;:::-;3655:22;;:6;;;;;;;;;;:22;;;3647:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12137:5:::1;12122:4;:12;12127:6;12122:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12062:88:::0;:::o;6817:83::-;6858:5;5606:1;6876:16;;6817:83;:::o;7973:103::-;3665:12;:10;:12::i;:::-;3655:22;;:6;;;;;;;;;;:22;;;3647:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8063:5:::1;8045:15;;:23;;;;;;;;;;;;;;;;;;7973:103:::0;:::o;13439:194::-;13505:15;;;;;;;;;;;13489:31;;:12;:10;:12::i;:::-;:31;;;13481:40;;;;;;13532:26;13561:21;13532:50;;13593:32;13606:18;13593:12;:32::i;:::-;13470:163;13439:194::o;7011:138::-;7077:7;7104:37;7124:7;:16;7132:7;7124:16;;;;;;;;;;;;;;;;7104:19;:37::i;:::-;7097:44;;7011:138;;;:::o;3742:148::-;3665:12;:10;:12::i;:::-;3655:22;;:6;;;;;;;;;;:22;;;3647:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3849:1:::1;3812:40;;3833:6;::::0;::::1;;;;;;;;3812:40;;;;;;;;;;;;3880:1;3863:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3742:148::o:0;8088:197::-;3665:12;:10;:12::i;:::-;3655:22;;:6;;;;;;;;;;:22;;;3647:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8199:1:::1;8181:15;:19;8173:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;8262:15;8243:16;:34;;;;8088:197:::0;:::o;3528:79::-;3566:7;3593:6;;;;;;;;;;;3586:13;;3528:79;:::o;6722:87::-;6761:13;6794:7;;;;;;;;;;;;;;;;;6787:14;;6722:87;:::o;7157:167::-;7235:4;7252:42;7262:12;:10;:12::i;:::-;7276:9;7287:6;7252:9;:42::i;:::-;7312:4;7305:11;;7157:167;;;;:::o;11886:164::-;3665:12;:10;:12::i;:::-;3655:22;;:6;;;;;;;;;;:22;;;3647:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11960:6:::1;11955:88;11976:5;:12;11972:1;:16;11955:88;;;12027:4;12010;:14;12015:5;12021:1;12015:8;;;;;;;;:::i;:::-;;;;;;;;12010:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11990:3;;;;;:::i;:::-;;;;11955:88;;;;11886:164:::0;:::o;13232:195::-;13298:15;;;;;;;;;;;13282:31;;:12;:10;:12::i;:::-;:31;;;13274:40;;;;;;13325:23;13351:24;13369:4;13351:9;:24::i;:::-;13325:50;;13386:33;13403:15;13386:16;:33::i;:::-;13263:164;13232:195::o;11051:823::-;3665:12;:10;:12::i;:::-;3655:22;;:6;;;;;;;;;;:22;;;3647:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11115:11:::1;;;;;;;;;;;11114:12;11106:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11164:35;11221:42;11164:100;;11293:16;11275:15;;:34;;;;;;;;;;;;;;;;;;11320:58;11337:4;11352:15;;;;;;;;;;;5164:27;11320:8;:58::i;:::-;11423:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11405:56;;;11470:4;11477:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11405:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11389:13;;:112;;;;;;;;;;;;;;;;;;11512:15;;;;;;;;;;;:31;;;11551:21;11582:4;11588:24;11606:4;11588:9;:24::i;:::-;11613:1;11615::::0;11617:7:::1;:5;:7::i;:::-;11625:15;11512:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11666:4;11652:11;;:18;;;;;;;;;;;;;;;;;;11699:4;11681:15;;:22;;;;;;;;;;;;;;;;;;11729:26;11714:12;:41;;;;11780:4;11766:11;;:18;;;;;;;;;;;;;;;;;;11802:13;;;;;;;;;;;11795:29;;;11833:15;;;;;;;;;;;11851:14;11795:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11095:779;11051:823::o:0;7332:143::-;7413:7;7440:11;:18;7452:5;7440:18;;;;;;;;;;;;;;;:27;7459:7;7440:27;;;;;;;;;;;;;;;;7433:34;;7332:143;;;;:::o;1246:98::-;1299:7;1326:10;1319:17;;1246:98;:::o;8555:335::-;8665:1;8648:19;;:5;:19;;;;8640:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8746:1;8727:21;;:7;:21;;;;8719:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8828:6;8798:11;:18;8810:5;8798:18;;;;;;;;;;;;;;;:27;8817:7;8798:27;;;;;;;;;;;;;;;:36;;;;8866:7;8850:32;;8859:5;8850:32;;;8875:6;8850:32;;;;;;:::i;:::-;;;;;;;;8555:335;;;:::o;8898:1480::-;9002:1;8986:18;;:4;:18;;;;8978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9079:1;9065:16;;:2;:16;;;;9057:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9149:1;9140:6;:10;9132:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9219:1;9207:9;:13;;;;9243:1;9231:9;:13;;;;9267:7;:5;:7::i;:::-;9259:15;;:4;:15;;;;:32;;;;;9284:7;:5;:7::i;:::-;9278:13;;:2;:13;;;;9259:32;9255:1071;;;9317:4;:10;9322:4;9317:10;;;;;;;;;;;;;;;;;;;;;;;;;9316:11;:24;;;;;9332:4;:8;9337:2;9332:8;;;;;;;;;;;;;;;;;;;;;;;;;9331:9;9316:24;9308:33;;;;;;9368:13;;;;;;;;;;;9360:21;;:4;:21;;;:55;;;;;9399:15;;;;;;;;;;;9385:30;;:2;:30;;;;9360:55;:83;;;;;9421:18;:22;9440:2;9421:22;;;;;;;;;;;;;;;;;;;;;;;;;9419:24;9360:83;:102;;;;;9447:15;;;;;;;;;;;9360:102;9356:343;;;9530:12;;9520:6;:22;;9512:31;;;;;;9585:15;9570:8;:12;9579:2;9570:12;;;;;;;;;;;;;;;;:30;9562:39;;;;;;9673:9;9654:16;;:28;;;;:::i;:::-;9635:15;:48;;;;:::i;:::-;9620:8;:12;9629:2;9620:12;;;;;;;;;;;;;;;:63;;;;9356:343;9751:13;;;;;;;;;;;9745:19;;:2;:19;;;:55;;;;;9784:15;;;;;;;;;;;9768:32;;:4;:32;;;;9745:55;:85;;;;;9806:18;:24;9825:4;9806:24;;;;;;;;;;;;;;;;;;;;;;;;;9804:26;9745:85;9741:172;;;9863:1;9851:9;:13;;;;9895:2;9883:9;:14;;;;9741:172;9927:28;9958:24;9976:4;9958:9;:24::i;:::-;9927:55;;10002:6;;;;;;;;;;;10001:7;:32;;;;;10020:13;;;;;;;;;;;10012:21;;:4;:21;;;;10001:32;:47;;;;;10037:11;;;;;;;;;;;10001:47;9997:318;;;10069:38;10086:20;10069:16;:38::i;:::-;10126:26;10155:21;10126:50;;10219:1;10198:18;:22;10195:105;;;10245:35;10258:21;10245:12;:35::i;:::-;10195:105;10050:265;9997:318;9293:1033;9255:1071;10340:30;10355:4;10360:2;10363:6;10340:14;:30::i;:::-;8898:1480;;;:::o;2383:190::-;2469:7;2502:1;2497;:6;;2505:12;2489:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2529:9;2545:1;2541;:5;;;;:::i;:::-;2529:17;;2564:1;2557:8;;;2383:190;;;;;:::o;10885:154::-;10942:15;;;;;;;;;;;:24;;:39;10967:13;10978:1;10967:6;:10;;:13;;;;:::i;:::-;10942:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10992:15;;;;;;;;;;;:24;;:39;11017:13;11028:1;11017:6;:10;;:13;;;;:::i;:::-;10992:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10885:154;:::o;8293:254::-;8360:7;8399;;8388;:18;;8380:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8464:19;8487:10;:8;:10::i;:::-;8464:33;;8515:24;8527:11;8515:7;:11;;:24;;;;:::i;:::-;8508:31;;;8293:254;;;:::o;10386:483::-;6041:4;6032:6;;:13;;;;;;;;;;;;;;;;;;10464:21:::1;10502:1;10488:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10464:40;;10533:4;10515;10520:1;10515:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10559:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10549:4;10554:1;10549:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10592:62;10609:4;10624:15;;;;;;;;;;;10642:11;10592:8;:62::i;:::-;10665:15;;;;;;;;;;;:66;;;10746:11;10772:1;10788:4;10815;10835:15;10665:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10453:416;6077:5:::0;6068:6;;:14;;;;;;;;;;;;;;;;;;10386:483;:::o;12166:146::-;12260:44;12278:6;12286:9;12297:6;12260:17;:44::i;:::-;12166:146;;;:::o;2835:132::-;2893:7;2920:39;2924:1;2927;2920:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2913:46;;2835:132;;;;:::o;14899:163::-;14940:7;14961:15;14978;14997:19;:17;:19::i;:::-;14960:56;;;;15034:20;15046:7;15034;:11;;:20;;;;:::i;:::-;15027:27;;;;14899:163;:::o;12320:488::-;12419:15;12436:23;12461:12;12475:23;12500:12;12514:13;12531:19;12542:7;12531:10;:19::i;:::-;12418:132;;;;;;;;;;;;12579:28;12599:7;12579;:15;12587:6;12579:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12561:7;:15;12569:6;12561:15;;;;;;;;;;;;;;;:46;;;;12639:39;12662:15;12639:7;:18;12647:9;12639:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12618:7;:18;12626:9;12618:18;;;;;;;;;;;;;;;:60;;;;12690:16;12700:5;12690:9;:16::i;:::-;12717:23;12729:4;12735;12717:11;:23::i;:::-;12773:9;12756:44;;12765:6;12756:44;;;12784:15;12756:44;;;;;;:::i;:::-;;;;;;;;12407:401;;;;;;12320:488;;;:::o;2975:189::-;3061:7;3093:1;3089;:5;3096:12;3081:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3120:9;3136:1;3132;:5;;;;:::i;:::-;3120:17;;3155:1;3148:8;;;2975:189;;;;;:::o;15070:262::-;15120:7;15129;15149:15;15167:7;;15149:25;;15185:15;5164:27;15185:25;;15241:20;5164:27;15241:7;;:11;;:20;;;;:::i;:::-;15231:7;:30;15227:61;;;15271:7;;5164:27;15263:25;;;;;;;;15227:61;15307:7;15316;15299:25;;;;;;15070:262;;;:::o;13647:471::-;13706:7;13715;13724;13733;13742;13751;13772:23;13797:12;13811:13;13828:42;13840:7;13849:9;;13860;;13828:11;:42::i;:::-;13771:99;;;;;;13881:19;13904:10;:8;:10::i;:::-;13881:33;;13926:15;13943:23;13968:12;13984:46;13996:7;14005:4;14011:5;14018:11;13984;:46::i;:::-;13925:105;;;;;;14049:7;14058:15;14075:4;14081:15;14098:4;14104:5;14041:69;;;;;;;;;;;;;;;;;;;13647:471;;;;;;;:::o;2239:136::-;2297:7;2324:43;2328:1;2331;2324:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2317:50;;2239:136;;;;:::o;2052:179::-;2110:7;2130:9;2146:1;2142;:5;;;;:::i;:::-;2130:17;;2171:1;2166;:6;;2158:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2222:1;2215:8;;;2052:179;;;;:::o;12816:212::-;12869:19;12892:10;:8;:10::i;:::-;12869:33;;12913:13;12929:22;12939:11;12929:5;:9;;:22;;;;:::i;:::-;12913:38;;12987:33;13014:5;12987:7;:22;13003:4;12987:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;12962:7;:22;12978:4;12962:22;;;;;;;;;;;;;;;:58;;;;12858:170;;12816:212;:::o;13036:147::-;13114:17;13126:4;13114:7;;:11;;:17;;;;:::i;:::-;13104:7;:27;;;;13155:20;13170:4;13155:10;;:14;;:20;;;;:::i;:::-;13142:10;:33;;;;13036:147;;:::o;14126:351::-;14219:7;14228;14237;14257:12;14272:28;14296:3;14272:19;14284:6;14272:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;14257:43;;14311:13;14327:29;14352:3;14327:20;14339:7;14327;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;14311:45;;14367:23;14393:28;14415:5;14393:17;14405:4;14393:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14367:54;;14440:15;14457:4;14463:5;14432:37;;;;;;;;;14126:351;;;;;;;:::o;14485:409::-;14595:7;14604;14613;14633:15;14651:24;14663:11;14651:7;:11;;:24;;;;:::i;:::-;14633:42;;14686:12;14701:21;14710:11;14701:4;:8;;:21;;;;:::i;:::-;14686:36;;14733:13;14749:22;14759:11;14749:5;:9;;:22;;;;:::i;:::-;14733:38;;14782:23;14808:28;14830:5;14808:17;14820:4;14808:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14782:54;;14855:7;14864:15;14881:4;14847:39;;;;;;;;;;14485:409;;;;;;;;:::o;2581:246::-;2639:7;2668:1;2663;:6;2659:47;;;2693:1;2686:8;;;;2659:47;2716:9;2732:1;2728;:5;;;;:::i;:::-;2716:17;;2761:1;2756;2752;:5;;;;:::i;:::-;:10;2744:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2818:1;2811:8;;;2581:246;;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;404:79;;:::i;:::-;350:2;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;804:87;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;960:80;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:2;;1191:79;;:::i;:::-;1150:2;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;;;;;:::o;1439:133::-;1482:5;1520:6;1507:20;1498:29;;1536:30;1560:5;1536:30;:::i;:::-;1488:84;;;;:::o;1578:137::-;1632:5;1663:6;1657:13;1648:22;;1679:30;1703:5;1679:30;:::i;:::-;1638:77;;;;:::o;1721:139::-;1767:5;1805:6;1792:20;1783:29;;1821:33;1848:5;1821:33;:::i;:::-;1773:87;;;;:::o;1866:143::-;1923:5;1954:6;1948:13;1939:22;;1970:33;1997:5;1970:33;:::i;:::-;1929:80;;;;:::o;2015:329::-;2074:6;2123:2;2111:9;2102:7;2098:23;2094:32;2091:2;;;2129:79;;:::i;:::-;2091:2;2249:1;2274:53;2319:7;2310:6;2299:9;2295:22;2274:53;:::i;:::-;2264:63;;2220:117;2081:263;;;;:::o;2350:351::-;2420:6;2469:2;2457:9;2448:7;2444:23;2440:32;2437:2;;;2475:79;;:::i;:::-;2437:2;2595:1;2620:64;2676:7;2667:6;2656:9;2652:22;2620:64;:::i;:::-;2610:74;;2566:128;2427:274;;;;:::o;2707:474::-;2775:6;2783;2832:2;2820:9;2811:7;2807:23;2803:32;2800:2;;;2838:79;;:::i;:::-;2800:2;2958:1;2983:53;3028:7;3019:6;3008:9;3004:22;2983:53;:::i;:::-;2973:63;;2929:117;3085:2;3111:53;3156:7;3147:6;3136:9;3132:22;3111:53;:::i;:::-;3101:63;;3056:118;2790:391;;;;;:::o;3187:619::-;3264:6;3272;3280;3329:2;3317:9;3308:7;3304:23;3300:32;3297:2;;;3335:79;;:::i;:::-;3297:2;3455:1;3480:53;3525:7;3516:6;3505:9;3501:22;3480:53;:::i;:::-;3470:63;;3426:117;3582:2;3608:53;3653:7;3644:6;3633:9;3629:22;3608:53;:::i;:::-;3598:63;;3553:118;3710:2;3736:53;3781:7;3772:6;3761:9;3757:22;3736:53;:::i;:::-;3726:63;;3681:118;3287:519;;;;;:::o;3812:474::-;3880:6;3888;3937:2;3925:9;3916:7;3912:23;3908:32;3905:2;;;3943:79;;:::i;:::-;3905:2;4063:1;4088:53;4133:7;4124:6;4113:9;4109:22;4088:53;:::i;:::-;4078:63;;4034:117;4190:2;4216:53;4261:7;4252:6;4241:9;4237:22;4216:53;:::i;:::-;4206:63;;4161:118;3895:391;;;;;:::o;4292:539::-;4376:6;4425:2;4413:9;4404:7;4400:23;4396:32;4393:2;;;4431:79;;:::i;:::-;4393:2;4579:1;4568:9;4564:17;4551:31;4609:18;4601:6;4598:30;4595:2;;;4631:79;;:::i;:::-;4595:2;4736:78;4806:7;4797:6;4786:9;4782:22;4736:78;:::i;:::-;4726:88;;4522:302;4383:448;;;;:::o;4837:323::-;4893:6;4942:2;4930:9;4921:7;4917:23;4913:32;4910:2;;;4948:79;;:::i;:::-;4910:2;5068:1;5093:50;5135:7;5126:6;5115:9;5111:22;5093:50;:::i;:::-;5083:60;;5039:114;4900:260;;;;:::o;5166:345::-;5233:6;5282:2;5270:9;5261:7;5257:23;5253:32;5250:2;;;5288:79;;:::i;:::-;5250:2;5408:1;5433:61;5486:7;5477:6;5466:9;5462:22;5433:61;:::i;:::-;5423:71;;5379:125;5240:271;;;;:::o;5517:329::-;5576:6;5625:2;5613:9;5604:7;5600:23;5596:32;5593:2;;;5631:79;;:::i;:::-;5593:2;5751:1;5776:53;5821:7;5812:6;5801:9;5797:22;5776:53;:::i;:::-;5766:63;;5722:117;5583:263;;;;:::o;5852:663::-;5940:6;5948;5956;6005:2;5993:9;5984:7;5980:23;5976:32;5973:2;;;6011:79;;:::i;:::-;5973:2;6131:1;6156:64;6212:7;6203:6;6192:9;6188:22;6156:64;:::i;:::-;6146:74;;6102:128;6269:2;6295:64;6351:7;6342:6;6331:9;6327:22;6295:64;:::i;:::-;6285:74;;6240:129;6408:2;6434:64;6490:7;6481:6;6470:9;6466:22;6434:64;:::i;:::-;6424:74;;6379:129;5963:552;;;;;:::o;6521:179::-;6590:10;6611:46;6653:3;6645:6;6611:46;:::i;:::-;6689:4;6684:3;6680:14;6666:28;;6601:99;;;;:::o;6706:108::-;6783:24;6801:5;6783:24;:::i;:::-;6778:3;6771:37;6761:53;;:::o;6820:118::-;6907:24;6925:5;6907:24;:::i;:::-;6902:3;6895:37;6885:53;;:::o;6974:732::-;7093:3;7122:54;7170:5;7122:54;:::i;:::-;7192:86;7271:6;7266:3;7192:86;:::i;:::-;7185:93;;7302:56;7352:5;7302:56;:::i;:::-;7381:7;7412:1;7397:284;7422:6;7419:1;7416:13;7397:284;;;7498:6;7492:13;7525:63;7584:3;7569:13;7525:63;:::i;:::-;7518:70;;7611:60;7664:6;7611:60;:::i;:::-;7601:70;;7457:224;7444:1;7441;7437:9;7432:14;;7397:284;;;7401:14;7697:3;7690:10;;7098:608;;;;;;;:::o;7712:109::-;7793:21;7808:5;7793:21;:::i;:::-;7788:3;7781:34;7771:50;;:::o;7827:147::-;7922:45;7961:5;7922:45;:::i;:::-;7917:3;7910:58;7900:74;;:::o;7980:364::-;8068:3;8096:39;8129:5;8096:39;:::i;:::-;8151:71;8215:6;8210:3;8151:71;:::i;:::-;8144:78;;8231:52;8276:6;8271:3;8264:4;8257:5;8253:16;8231:52;:::i;:::-;8308:29;8330:6;8308:29;:::i;:::-;8303:3;8299:39;8292:46;;8072:272;;;;;:::o;8350:366::-;8492:3;8513:67;8577:2;8572:3;8513:67;:::i;:::-;8506:74;;8589:93;8678:3;8589:93;:::i;:::-;8707:2;8702:3;8698:12;8691:19;;8496:220;;;:::o;8722:366::-;8864:3;8885:67;8949:2;8944:3;8885:67;:::i;:::-;8878:74;;8961:93;9050:3;8961:93;:::i;:::-;9079:2;9074:3;9070:12;9063:19;;8868:220;;;:::o;9094:366::-;9236:3;9257:67;9321:2;9316:3;9257:67;:::i;:::-;9250:74;;9333:93;9422:3;9333:93;:::i;:::-;9451:2;9446:3;9442:12;9435:19;;9240:220;;;:::o;9466:366::-;9608:3;9629:67;9693:2;9688:3;9629:67;:::i;:::-;9622:74;;9705:93;9794:3;9705:93;:::i;:::-;9823:2;9818:3;9814:12;9807:19;;9612:220;;;:::o;9838:366::-;9980:3;10001:67;10065:2;10060:3;10001:67;:::i;:::-;9994:74;;10077:93;10166:3;10077:93;:::i;:::-;10195:2;10190:3;10186:12;10179:19;;9984:220;;;:::o;10210:366::-;10352:3;10373:67;10437:2;10432:3;10373:67;:::i;:::-;10366:74;;10449:93;10538:3;10449:93;:::i;:::-;10567:2;10562:3;10558:12;10551:19;;10356:220;;;:::o;10582:366::-;10724:3;10745:67;10809:2;10804:3;10745:67;:::i;:::-;10738:74;;10821:93;10910:3;10821:93;:::i;:::-;10939:2;10934:3;10930:12;10923:19;;10728:220;;;:::o;10954:366::-;11096:3;11117:67;11181:2;11176:3;11117:67;:::i;:::-;11110:74;;11193:93;11282:3;11193:93;:::i;:::-;11311:2;11306:3;11302:12;11295:19;;11100:220;;;:::o;11326:366::-;11468:3;11489:67;11553:2;11548:3;11489:67;:::i;:::-;11482:74;;11565:93;11654:3;11565:93;:::i;:::-;11683:2;11678:3;11674:12;11667:19;;11472:220;;;:::o;11698:366::-;11840:3;11861:67;11925:2;11920:3;11861:67;:::i;:::-;11854:74;;11937:93;12026:3;11937:93;:::i;:::-;12055:2;12050:3;12046:12;12039:19;;11844:220;;;:::o;12070:366::-;12212:3;12233:67;12297:2;12292:3;12233:67;:::i;:::-;12226:74;;12309:93;12398:3;12309:93;:::i;:::-;12427:2;12422:3;12418:12;12411:19;;12216:220;;;:::o;12442:118::-;12529:24;12547:5;12529:24;:::i;:::-;12524:3;12517:37;12507:53;;:::o;12566:112::-;12649:22;12665:5;12649:22;:::i;:::-;12644:3;12637:35;12627:51;;:::o;12684:222::-;12777:4;12815:2;12804:9;12800:18;12792:26;;12828:71;12896:1;12885:9;12881:17;12872:6;12828:71;:::i;:::-;12782:124;;;;:::o;12912:332::-;13033:4;13071:2;13060:9;13056:18;13048:26;;13084:71;13152:1;13141:9;13137:17;13128:6;13084:71;:::i;:::-;13165:72;13233:2;13222:9;13218:18;13209:6;13165:72;:::i;:::-;13038:206;;;;;:::o;13250:332::-;13371:4;13409:2;13398:9;13394:18;13386:26;;13422:71;13490:1;13479:9;13475:17;13466:6;13422:71;:::i;:::-;13503:72;13571:2;13560:9;13556:18;13547:6;13503:72;:::i;:::-;13376:206;;;;;:::o;13588:807::-;13837:4;13875:3;13864:9;13860:19;13852:27;;13889:71;13957:1;13946:9;13942:17;13933:6;13889:71;:::i;:::-;13970:72;14038:2;14027:9;14023:18;14014:6;13970:72;:::i;:::-;14052:80;14128:2;14117:9;14113:18;14104:6;14052:80;:::i;:::-;14142;14218:2;14207:9;14203:18;14194:6;14142:80;:::i;:::-;14232:73;14300:3;14289:9;14285:19;14276:6;14232:73;:::i;:::-;14315;14383:3;14372:9;14368:19;14359:6;14315:73;:::i;:::-;13842:553;;;;;;;;;:::o;14401:210::-;14488:4;14526:2;14515:9;14511:18;14503:26;;14539:65;14601:1;14590:9;14586:17;14577:6;14539:65;:::i;:::-;14493:118;;;;:::o;14617:313::-;14730:4;14768:2;14757:9;14753:18;14745:26;;14817:9;14811:4;14807:20;14803:1;14792:9;14788:17;14781:47;14845:78;14918:4;14909:6;14845:78;:::i;:::-;14837:86;;14735:195;;;;:::o;14936:419::-;15102:4;15140:2;15129:9;15125:18;15117:26;;15189:9;15183:4;15179:20;15175:1;15164:9;15160:17;15153:47;15217:131;15343:4;15217:131;:::i;:::-;15209:139;;15107:248;;;:::o;15361:419::-;15527:4;15565:2;15554:9;15550:18;15542:26;;15614:9;15608:4;15604:20;15600:1;15589:9;15585:17;15578:47;15642:131;15768:4;15642:131;:::i;:::-;15634:139;;15532:248;;;:::o;15786:419::-;15952:4;15990:2;15979:9;15975:18;15967:26;;16039:9;16033:4;16029:20;16025:1;16014:9;16010:17;16003:47;16067:131;16193:4;16067:131;:::i;:::-;16059:139;;15957:248;;;:::o;16211:419::-;16377:4;16415:2;16404:9;16400:18;16392:26;;16464:9;16458:4;16454:20;16450:1;16439:9;16435:17;16428:47;16492:131;16618:4;16492:131;:::i;:::-;16484:139;;16382:248;;;:::o;16636:419::-;16802:4;16840:2;16829:9;16825:18;16817:26;;16889:9;16883:4;16879:20;16875:1;16864:9;16860:17;16853:47;16917:131;17043:4;16917:131;:::i;:::-;16909:139;;16807:248;;;:::o;17061:419::-;17227:4;17265:2;17254:9;17250:18;17242:26;;17314:9;17308:4;17304:20;17300:1;17289:9;17285:17;17278:47;17342:131;17468:4;17342:131;:::i;:::-;17334:139;;17232:248;;;:::o;17486:419::-;17652:4;17690:2;17679:9;17675:18;17667:26;;17739:9;17733:4;17729:20;17725:1;17714:9;17710:17;17703:47;17767:131;17893:4;17767:131;:::i;:::-;17759:139;;17657:248;;;:::o;17911:419::-;18077:4;18115:2;18104:9;18100:18;18092:26;;18164:9;18158:4;18154:20;18150:1;18139:9;18135:17;18128:47;18192:131;18318:4;18192:131;:::i;:::-;18184:139;;18082:248;;;:::o;18336:419::-;18502:4;18540:2;18529:9;18525:18;18517:26;;18589:9;18583:4;18579:20;18575:1;18564:9;18560:17;18553:47;18617:131;18743:4;18617:131;:::i;:::-;18609:139;;18507:248;;;:::o;18761:419::-;18927:4;18965:2;18954:9;18950:18;18942:26;;19014:9;19008:4;19004:20;19000:1;18989:9;18985:17;18978:47;19042:131;19168:4;19042:131;:::i;:::-;19034:139;;18932:248;;;:::o;19186:419::-;19352:4;19390:2;19379:9;19375:18;19367:26;;19439:9;19433:4;19429:20;19425:1;19414:9;19410:17;19403:47;19467:131;19593:4;19467:131;:::i;:::-;19459:139;;19357:248;;;:::o;19611:222::-;19704:4;19742:2;19731:9;19727:18;19719:26;;19755:71;19823:1;19812:9;19808:17;19799:6;19755:71;:::i;:::-;19709:124;;;;:::o;19839:831::-;20102:4;20140:3;20129:9;20125:19;20117:27;;20154:71;20222:1;20211:9;20207:17;20198:6;20154:71;:::i;:::-;20235:80;20311:2;20300:9;20296:18;20287:6;20235:80;:::i;:::-;20362:9;20356:4;20352:20;20347:2;20336:9;20332:18;20325:48;20390:108;20493:4;20484:6;20390:108;:::i;:::-;20382:116;;20508:72;20576:2;20565:9;20561:18;20552:6;20508:72;:::i;:::-;20590:73;20658:3;20647:9;20643:19;20634:6;20590:73;:::i;:::-;20107:563;;;;;;;;:::o;20676:214::-;20765:4;20803:2;20792:9;20788:18;20780:26;;20816:67;20880:1;20869:9;20865:17;20856:6;20816:67;:::i;:::-;20770:120;;;;:::o;20896:129::-;20930:6;20957:20;;:::i;:::-;20947:30;;20986:33;21014:4;21006:6;20986:33;:::i;:::-;20937:88;;;:::o;21031:75::-;21064:6;21097:2;21091:9;21081:19;;21071:35;:::o;21112:311::-;21189:4;21279:18;21271:6;21268:30;21265:2;;;21301:18;;:::i;:::-;21265:2;21351:4;21343:6;21339:17;21331:25;;21411:4;21405;21401:15;21393:23;;21194:229;;;:::o;21429:132::-;21496:4;21519:3;21511:11;;21549:4;21544:3;21540:14;21532:22;;21501:60;;;:::o;21567:114::-;21634:6;21668:5;21662:12;21652:22;;21641:40;;;:::o;21687:99::-;21739:6;21773:5;21767:12;21757:22;;21746:40;;;:::o;21792:113::-;21862:4;21894;21889:3;21885:14;21877:22;;21867:38;;;:::o;21911:184::-;22010:11;22044:6;22039:3;22032:19;22084:4;22079:3;22075:14;22060:29;;22022:73;;;;:::o;22101:169::-;22185:11;22219:6;22214:3;22207:19;22259:4;22254:3;22250:14;22235:29;;22197:73;;;;:::o;22276:305::-;22316:3;22335:20;22353:1;22335:20;:::i;:::-;22330:25;;22369:20;22387:1;22369:20;:::i;:::-;22364:25;;22523:1;22455:66;22451:74;22448:1;22445:81;22442:2;;;22529:18;;:::i;:::-;22442:2;22573:1;22570;22566:9;22559:16;;22320:261;;;;:::o;22587:185::-;22627:1;22644:20;22662:1;22644:20;:::i;:::-;22639:25;;22678:20;22696:1;22678:20;:::i;:::-;22673:25;;22717:1;22707:2;;22722:18;;:::i;:::-;22707:2;22764:1;22761;22757:9;22752:14;;22629:143;;;;:::o;22778:348::-;22818:7;22841:20;22859:1;22841:20;:::i;:::-;22836:25;;22875:20;22893:1;22875:20;:::i;:::-;22870:25;;23063:1;22995:66;22991:74;22988:1;22985:81;22980:1;22973:9;22966:17;22962:105;22959:2;;;23070:18;;:::i;:::-;22959:2;23118:1;23115;23111:9;23100:20;;22826:300;;;;:::o;23132:191::-;23172:4;23192:20;23210:1;23192:20;:::i;:::-;23187:25;;23226:20;23244:1;23226:20;:::i;:::-;23221:25;;23265:1;23262;23259:8;23256:2;;;23270:18;;:::i;:::-;23256:2;23315:1;23312;23308:9;23300:17;;23177:146;;;;:::o;23329:96::-;23366:7;23395:24;23413:5;23395:24;:::i;:::-;23384:35;;23374:51;;;:::o;23431:90::-;23465:7;23508:5;23501:13;23494:21;23483:32;;23473:48;;;:::o;23527:126::-;23564:7;23604:42;23597:5;23593:54;23582:65;;23572:81;;;:::o;23659:77::-;23696:7;23725:5;23714:16;;23704:32;;;:::o;23742:86::-;23777:7;23817:4;23810:5;23806:16;23795:27;;23785:43;;;:::o;23834:121::-;23892:9;23925:24;23943:5;23925:24;:::i;:::-;23912:37;;23902:53;;;:::o;23961:307::-;24029:1;24039:113;24053:6;24050:1;24047:13;24039:113;;;24138:1;24133:3;24129:11;24123:18;24119:1;24114:3;24110:11;24103:39;24075:2;24072:1;24068:10;24063:15;;24039:113;;;24170:6;24167:1;24164:13;24161:2;;;24250:1;24241:6;24236:3;24232:16;24225:27;24161:2;24010:258;;;;:::o;24274:281::-;24357:27;24379:4;24357:27;:::i;:::-;24349:6;24345:40;24487:6;24475:10;24472:22;24451:18;24439:10;24436:34;24433:62;24430:2;;;24498:18;;:::i;:::-;24430:2;24538:10;24534:2;24527:22;24317:238;;;:::o;24561:233::-;24600:3;24623:24;24641:5;24623:24;:::i;:::-;24614:33;;24669:66;24662:5;24659:77;24656:2;;;24739:18;;:::i;:::-;24656:2;24786:1;24779:5;24775:13;24768:20;;24604:190;;;:::o;24800:180::-;24848:77;24845:1;24838:88;24945:4;24942:1;24935:15;24969:4;24966:1;24959:15;24986:180;25034:77;25031:1;25024:88;25131:4;25128:1;25121:15;25155:4;25152:1;25145:15;25172:180;25220:77;25217:1;25210:88;25317:4;25314:1;25307:15;25341:4;25338:1;25331:15;25358:180;25406:77;25403:1;25396:88;25503:4;25500:1;25493:15;25527:4;25524:1;25517:15;25544:117;25653:1;25650;25643:12;25667:117;25776:1;25773;25766:12;25790:117;25899:1;25896;25889:12;25913:117;26022:1;26019;26012:12;26036:102;26077:6;26128:2;26124:7;26119:2;26112:5;26108:14;26104:28;26094:38;;26084:54;;;:::o;26144:222::-;26284:34;26280:1;26272:6;26268:14;26261:58;26353:5;26348:2;26340:6;26336:15;26329:30;26250:116;:::o;26372:229::-;26512:34;26508:1;26500:6;26496:14;26489:58;26581:12;26576:2;26568:6;26564:15;26557:37;26478:123;:::o;26607:221::-;26747:34;26743:1;26735:6;26731:14;26724:58;26816:4;26811:2;26803:6;26799:15;26792:29;26713:115;:::o;26834:177::-;26974:29;26970:1;26962:6;26958:14;26951:53;26940:71;:::o;27017:177::-;27157:29;27153:1;27145:6;27141:14;27134:53;27123:71;:::o;27200:220::-;27340:34;27336:1;27328:6;27324:14;27317:58;27409:3;27404:2;27396:6;27392:15;27385:28;27306:114;:::o;27426:182::-;27566:34;27562:1;27554:6;27550:14;27543:58;27532:76;:::o;27614:228::-;27754:34;27750:1;27742:6;27738:14;27731:58;27823:11;27818:2;27810:6;27806:15;27799:36;27720:122;:::o;27848:224::-;27988:34;27984:1;27976:6;27972:14;27965:58;28057:7;28052:2;28044:6;28040:15;28033:32;27954:118;:::o;28078:223::-;28218:34;28214:1;28206:6;28202:14;28195:58;28287:6;28282:2;28274:6;28270:15;28263:31;28184:117;:::o;28307:173::-;28447:25;28443:1;28435:6;28431:14;28424:49;28413:67;:::o;28486:122::-;28559:24;28577:5;28559:24;:::i;:::-;28552:5;28549:35;28539:2;;28598:1;28595;28588:12;28539:2;28529:79;:::o;28614:116::-;28684:21;28699:5;28684:21;:::i;:::-;28677:5;28674:32;28664:2;;28720:1;28717;28710:12;28664:2;28654:76;:::o;28736:122::-;28809:24;28827:5;28809:24;:::i;:::-;28802:5;28799:35;28789:2;;28848:1;28845;28838:12;28789:2;28779:79;:::o

Swarm Source

ipfs://c5485a847740986c356c08ec3d1f593c5c7590a64e7f75588b642a35773d6f17

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.