ETH Price: $2,174.18 (+0.55%)

Contract

0xA8091eF90Be58610B8a074CdA82eEcE4F6f9Ad1D
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve175076312023-06-18 15:43:591010 days ago1687103039IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0007341415.77280087
Transfer175076222023-06-18 15:42:111010 days ago1687102931IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0008803916.36081969
Transfer175075722023-06-18 15:32:111010 days ago1687102331IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0011259518.51619131
Approve175075212023-06-18 15:21:351010 days ago1687101695IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0012223626.26197189
Transfer174609072023-06-12 2:06:231017 days ago1686535583IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0007387618.99875222
Set Sell Fee Per...173542282023-05-28 1:23:231032 days ago1685237003IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0008809526.38525631
Approve172890762023-05-18 21:22:471041 days ago1684444967IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0023553450.60357831
Approve172817742023-05-17 20:43:111042 days ago1684356191IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0020124775.35962469
Transfer172526632023-05-13 17:54:471046 days ago1684000487IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0071559439.59749526
Approve172404892023-05-12 0:06:471048 days ago1683850007IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0036635578.60861814
Approve172404172023-05-11 23:52:111048 days ago1683849131IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0043033892.33738959
Set Sell Fee Per...172404112023-05-11 23:50:591048 days ago1683849059IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0045737190.61175506
Transfer172378522023-05-11 14:59:111048 days ago1683817151IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0078865118.68863648
Transfer172378272023-05-11 14:53:591048 days ago1683816839IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.00798251120.11183761
Approve172372882023-05-11 13:03:591048 days ago1683810239IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.00659931141.60093095
Approve172353532023-05-11 6:32:231049 days ago1683786743IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.003502375.24551209
Transfer172327292023-05-10 21:41:471049 days ago1683754907IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0062432493.94126208
Set Buy Fee Perc...172327162023-05-10 21:39:111049 days ago1683754751IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0031467100.83967657
Set Sell Fee Per...172327152023-05-10 21:38:591049 days ago1683754739IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.00326925104.87798248
Exclude From Fee172326622023-05-10 21:28:231049 days ago1683754103IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.00366144139.63798083
Approve172321982023-05-10 19:54:351049 days ago1683748475IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.00607722130.56663664
Approve172302982023-05-10 13:27:231049 days ago1683725243IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.00475174102.08925178
Set Num Tokens S...172302412023-05-10 13:15:231049 days ago1683724523IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.00307954105.64834414
Approve172295492023-05-10 10:56:111050 days ago1683716171IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0027313158.60570232
Approve172286642023-05-10 7:56:231050 days ago1683705383IN
0xA8091eF9...4F6f9Ad1D
0 ETH0.0026461856.77902897
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer172891032023-05-18 21:28:111041 days ago1684445291
0xA8091eF9...4F6f9Ad1D
0.00322393 ETH
Transfer172891032023-05-18 21:28:111041 days ago1684445291
0xA8091eF9...4F6f9Ad1D
0.00322393 ETH
Transfer172817752023-05-17 20:43:231042 days ago1684356203
0xA8091eF9...4F6f9Ad1D
0.00341435 ETH
Transfer172817752023-05-17 20:43:231042 days ago1684356203
0xA8091eF9...4F6f9Ad1D
0.00341435 ETH
Transfer172744702023-05-16 19:57:111043 days ago1684267031
0xA8091eF9...4F6f9Ad1D
0.00412592 ETH
Transfer172744702023-05-16 19:57:111043 days ago1684267031
0xA8091eF9...4F6f9Ad1D
0.00412592 ETH
Transfer172526632023-05-13 17:54:471046 days ago1684000487
0xA8091eF9...4F6f9Ad1D
0.00376365 ETH
Transfer172526632023-05-13 17:54:471046 days ago1684000487
0xA8091eF9...4F6f9Ad1D
0.00376365 ETH
Transfer172460342023-05-12 19:26:471047 days ago1683919607
0xA8091eF9...4F6f9Ad1D
0.00420541 ETH
Transfer172460342023-05-12 19:26:471047 days ago1683919607
0xA8091eF9...4F6f9Ad1D
0.00420541 ETH
Transfer172460252023-05-12 19:24:591047 days ago1683919499
0xA8091eF9...4F6f9Ad1D
0.00472982 ETH
Transfer172460252023-05-12 19:24:591047 days ago1683919499
0xA8091eF9...4F6f9Ad1D
0.00472982 ETH
Transfer172460172023-05-12 19:23:231047 days ago1683919403
0xA8091eF9...4F6f9Ad1D
0.00535888 ETH
Transfer172460172023-05-12 19:23:231047 days ago1683919403
0xA8091eF9...4F6f9Ad1D
0.00535888 ETH
Transfer172460092023-05-12 19:21:111047 days ago1683919271
0xA8091eF9...4F6f9Ad1D
0.00612239 ETH
Transfer172460092023-05-12 19:21:111047 days ago1683919271
0xA8091eF9...4F6f9Ad1D
0.00612239 ETH
Transfer172406382023-05-12 0:37:351048 days ago1683851855
0xA8091eF9...4F6f9Ad1D
0.00735864 ETH
Transfer172406382023-05-12 0:37:351048 days ago1683851855
0xA8091eF9...4F6f9Ad1D
0.00735864 ETH
Transfer172404902023-05-12 0:06:591048 days ago1683850019
0xA8091eF9...4F6f9Ad1D
0.00829927 ETH
Transfer172404902023-05-12 0:06:591048 days ago1683850019
0xA8091eF9...4F6f9Ad1D
0.00829927 ETH
Transfer172300072023-05-10 12:28:111050 days ago1683721691
0xA8091eF9...4F6f9Ad1D
0.00010204 ETH
Add Liquidity ET...172300072023-05-10 12:28:111050 days ago1683721691
0xA8091eF9...4F6f9Ad1D
0.0000102 ETH
Transfer172300072023-05-10 12:28:111050 days ago1683721691
0xA8091eF9...4F6f9Ad1D
0.00011225 ETH
Transfer172295502023-05-10 10:56:231050 days ago1683716183
0xA8091eF9...4F6f9Ad1D
0.00012024 ETH
Add Liquidity ET...172295502023-05-10 10:56:231050 days ago1683716183
0xA8091eF9...4F6f9Ad1D
0.00001202 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TOKEN

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2023-05-09
*/

// SPDX-License-Identifier: Unlicensed

    pragma solidity ^0.8.4;

    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) {
            return a + b;
        }
        function sub(uint256 a, uint256 b) internal pure returns (uint256) {
            return a - b;
        }
        function mul(uint256 a, uint256 b) internal pure returns (uint256) {
            return a * b;
        }
        function div(uint256 a, uint256 b) internal pure returns (uint256) {
            return a / b;
        }
        function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
            unchecked {
                require(b <= a, errorMessage);
                return a - b;
            }
        }
        function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
            unchecked {
                require(b > 0, errorMessage);
                return a / b;
            }
        }
        
    }

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

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

    abstract contract Ownable is Context {
        address internal _owner;
        address private _previousOwner;

        event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
        constructor () {
            _owner = _msgSender();
            emit OwnershipTransferred(address(0), _owner);
        }
        
        function owner() public view virtual 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);
        }

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

    interface IERC20Metadata is IERC20 {
        function name() external view returns (string memory);
        function symbol() external view returns (string memory);
        function decimals() external view returns (uint8);
    }

    contract ERC20 is Context,Ownable, IERC20, IERC20Metadata {
        using SafeMath for uint256;

        mapping(address => uint256) private _balances;

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

        uint256 private _totalSupply;

        string private _name;
        string private _symbol;

        constructor(string memory name_, string memory symbol_) {
            _name = name_;
            _symbol = symbol_;
        }

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

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

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

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

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

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

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

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

        function transferFrom(
            address sender,
            address recipient,
            uint256 amount
        ) public virtual override returns (bool) {
            _transfer(sender, recipient, amount);
            _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
            return true;
        }

        function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
            _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
            return true;
        }

        function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
            _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
            return true;
        }

        function _transfer(
            address sender,
            address recipient,
            uint256 amount
        ) internal virtual {
            require(sender != address(0), "ERC20: transfer from the zero address");
            require(recipient != address(0), "ERC20: transfer to the zero address");

            _beforeTokenTransfer(sender, recipient, amount);

            _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
            _balances[recipient] = _balances[recipient].add(amount);
            emit Transfer(sender, recipient, amount);
        }

        function _mint(address account, uint256 amount) internal virtual {
            require(account != address(0), "ERC20: mint to the zero address");

            _beforeTokenTransfer(address(0), account, amount);

            _totalSupply = _totalSupply.add(amount);
            _balances[account] = _balances[account].add(amount);
            emit Transfer(address(0), account, amount);
        }

        function _burn(address account, uint256 amount) internal virtual {
            require(account != address(0), "ERC20: burn from the zero address");

            _beforeTokenTransfer(account, address(0), amount);

            _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
            _totalSupply = _totalSupply.sub(amount);
            emit Transfer(account, address(0), amount);
        }

        function _approve(
            address owner,
            address spender,
            uint256 amount
        ) internal virtual {
            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 _beforeTokenTransfer(
            address from,
            address to,
            uint256 amount
        ) internal virtual {}
    }


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

    interface IUniswapV2Pair {
        function factory() external view returns (address);
    }

    interface IUniswapV2Router01 {
        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);
    }

    interface IUniswapV2Router02 is IUniswapV2Router01 {     
       function swapExactTokensForETHSupportingFeeOnTransferTokens(
            uint amountIn,
            uint amountOutMin,
            address[] calldata path,
            address to,
            uint deadline
        ) external;
    }

    contract TOKEN is ERC20 {
        
        using SafeMath for uint256;

        mapping (address => bool) private _isExcludedFromFee;

        address public _marketingWalletAddress;
        address constant _burnAddress = 0x000000000000000000000000000000000000dEaD;


        uint256 public _buyLiquidityFee = 10;  
        uint256 public _buyMarketingFee = 20;
        uint256 public _buyBurnFee = 5;  

        uint256 public _sellLiquidityFee = 10; 
        uint256 public _sellMarketingFee = 50; 
        uint256 public _sellBurnFee = 5;


        IUniswapV2Router02 public uniswapV2Router;
        address public uniswapV2Pair;
        bool inSwapAndLiquify;
        bool public swapAndLiquifyEnabled = true;
        uint256 public numTokensSellToAddToLiquidity;
        event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
        event SwapAndLiquifyEnabledUpdated(bool enabled);
        event SwapAndLiquify(
            uint256 tokensSwapped,
            uint256 ethReceived,
            uint256 tokensIntoLiqudity
        );
        
        modifier lockTheSwap {
            inSwapAndLiquify = true;
            _;
            inSwapAndLiquify = false;
        }
        
        constructor () ERC20("Pepe Bond", "007"){

            numTokensSellToAddToLiquidity = 1000000000000 * 10 ** decimals();
            _marketingWalletAddress = 0xc8f41d14e7EDBBBAe1e0F6449C727A794f8Fb8EA;
            
            IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
            uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
                .createPair(address(this), _uniswapV2Router.WETH());

            uniswapV2Router = _uniswapV2Router;
            
            _isExcludedFromFee[_msgSender()] = true;
            _isExcludedFromFee[address(this)] = true;
            _isExcludedFromFee[_marketingWalletAddress] = true;

            _mint(owner(), 35000000000000000 * 10 ** decimals());
            _mint(_marketingWalletAddress, 15000000000000000 * 10 ** decimals());
        }

        function burn(uint tokens) external onlyOwner {
            _burn(msg.sender, tokens * 10 ** decimals());
        }

        function excludeFromFee(address account) public onlyOwner {
            _isExcludedFromFee[account] = true;
        }
        
        function includeInFee(address account) public onlyOwner {
            _isExcludedFromFee[account] = false;
        }

        function setSellFeePercent(
            uint256 lFee,
            uint256 mFee,
            uint256 bFee
        ) external onlyOwner {
            _sellLiquidityFee = lFee;
            _sellMarketingFee = mFee;
            _sellBurnFee = bFee;
        }

        function setBuyFeePercent(
            uint256 lFee,
            uint256 mFee,
            uint256 bFee
        ) external onlyOwner {
            _buyLiquidityFee = lFee;
            _buyMarketingFee = mFee;
            _buyBurnFee = bFee;
        }

        function setMarketingWalletAddress(address _addr) external onlyOwner {
            _marketingWalletAddress = _addr;
        }  

        function setNumTokensSellToAddToLiquidity(uint256 amount) external onlyOwner {
            numTokensSellToAddToLiquidity = amount * 10 ** decimals();
        }

        function setRouterAddress(address newRouter) external onlyOwner {
            IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouter);
            uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
            uniswapV2Router = _uniswapV2Router;
        }

        function setSwapAndLiquifyEnabled(bool _enabled) external onlyOwner {
            swapAndLiquifyEnabled = _enabled;
            emit SwapAndLiquifyEnabledUpdated(_enabled);
        }
        
        receive() external payable {}

        function isExcludedFromFee(address account) public view returns(bool) {
            return _isExcludedFromFee[account];
        }

        function _transfer(
            address from,
            address to,
            uint256 amount
        ) internal override {
            require(from != address(0), "ERC20: transfer from the zero address");
            require(to != address(0), "ERC20: transfer to the zero address");
            require(amount > 0, "Transfer amount must be greater than zero");

            uint256 contractTokenBalance = balanceOf(address(this)); 
            bool overMinTokenBalance = contractTokenBalance >= numTokensSellToAddToLiquidity;
            if (
                overMinTokenBalance &&
                !inSwapAndLiquify &&
                from != uniswapV2Pair &&
                swapAndLiquifyEnabled
            ) {
                contractTokenBalance = numTokensSellToAddToLiquidity;
                swapBack(contractTokenBalance);
            }

            bool takeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            super._transfer(from, to, amount);
            takeFee = false;
        } else {

            if (from == uniswapV2Pair) {
                uint256 liquidityTokens = amount.mul(_buyLiquidityFee).div(1000);
                uint256 marketingTokens = amount.mul(_buyMarketingFee).div(1000);
                uint256 burnTokens = amount.mul(_buyBurnFee).div(1000);
                amount= amount.sub(liquidityTokens.add(marketingTokens).add(burnTokens));
                super._transfer(from, address(this), liquidityTokens.add(marketingTokens));
                super._transfer(from,_burnAddress,burnTokens);
                super._transfer(from, to, amount);

            } else if (to == uniswapV2Pair) {
                uint256 liquidityTokens = amount.mul(_sellLiquidityFee).div(1000);
                uint256 marketingTokens = amount.mul(_sellMarketingFee).div(1000);
                uint256 burnTokens = amount.mul(_sellBurnFee).div(1000);
                amount= amount.sub(liquidityTokens.add(marketingTokens).add(burnTokens));
                super._transfer(from, address(this), liquidityTokens.add(marketingTokens));
                super._transfer(from,_burnAddress, burnTokens);
                super._transfer(from, to, amount);
            } else {
                super._transfer(from, to, amount);
            }
        }
        }

        function swapBack(uint256 contractBalance) private lockTheSwap {

                uint256 tokensForLiquidity = contractBalance.mul(_sellLiquidityFee).div(100);
                uint256 marketingTokens = contractBalance.mul(_sellMarketingFee).div(100);

                uint256 totalTokensToSwap = tokensForLiquidity + marketingTokens;
                
                if(contractBalance == 0 || totalTokensToSwap == 0) {return;}

                bool success;
                
                uint256 liquidityTokens = contractBalance * tokensForLiquidity / totalTokensToSwap / 2;
                
                swapTokensForEth(contractBalance - liquidityTokens); 
                
                uint256 ethBalance = address(this).balance;
                uint256 ethForLiquidity = ethBalance;

                uint256 ethForMarketing = ethBalance * marketingTokens / (totalTokensToSwap - (tokensForLiquidity/2));

                ethForLiquidity -= ethForMarketing;
                                
                if(liquidityTokens > 0 && ethForLiquidity > 0){
                    addLiquidity(liquidityTokens, ethForLiquidity);

                }

                (success,) = address(_marketingWalletAddress).call{value: ethForMarketing}("");
        }       

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

        function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
            _approve(address(this), address(uniswapV2Router), tokenAmount);
            uniswapV2Router.addLiquidityETH{value: ethAmount}(
                address(this),
                tokenAmount,
                0, // slippage is unavoidable
                0, // slippage is unavoidable
                owner(),
                block.timestamp
            );
        }
    }

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWalletAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numTokensSellToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"uint256","name":"lFee","type":"uint256"},{"internalType":"uint256","name":"mFee","type":"uint256"},{"internalType":"uint256","name":"bFee","type":"uint256"}],"name":"setBuyFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setNumTokensSellToAddToLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"}],"name":"setRouterAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"lFee","type":"uint256"},{"internalType":"uint256","name":"mFee","type":"uint256"},{"internalType":"uint256","name":"bFee","type":"uint256"}],"name":"setSellFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600a6009819055601481556005600b819055600c919091556032600d55600e556010805460ff60a81b1916600160a81b1790553480156200004457600080fd5b506040518060400160405280600981526020016814195c1948109bdb9960ba1b8152506040518060400160405280600381526020016230303760e81b81525062000093620003b860201b60201c565b600080546001600160a01b0319166001600160a01b039290921691821781556040517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36005620000e8838262000586565b506006620000f7828262000586565b5062000104915050600990565b6200011190600a62000765565b620001229064e8d4a5100062000776565b601155600880546001600160a01b03191673c8f41d14e7edbbbae1e0f6449c727a794f8fb8ea1790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a0155916004808201926020929091908290030181865afa1580156200019f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c5919062000790565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000213573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000239919062000790565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000287573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ad919062000790565b601080546001600160a01b03199081166001600160a01b0393841617909155600f8054909116918316919091179055600160076000620002ea3390565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260079093528183208054851660019081179091556008549091168352912080549092161790556200037f620003586000546001600160a01b031690565b620003666009600a62000765565b6200037990667c58508723800062000776565b620003bc565b600854620003b1906001600160a01b03166200039e6009600a62000765565b620003799066354a6ba7a1800062000776565b50620007d8565b3390565b6001600160a01b038216620004175760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b6200043381600454620004cb60201b62000dc81790919060201c565b6004556001600160a01b0382166000908152600260209081526040909120546200046891839062000dc8620004cb821b17901c565b6001600160a01b0383166000818152600260205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620004ba9085815260200190565b60405180910390a35050565b505050565b6000620004d98284620007c2565b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200050d57607f821691505b6020821081036200052e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004c657600081815260208120601f850160051c810160208610156200055d5750805b601f850160051c820191505b818110156200057e5782815560010162000569565b505050505050565b81516001600160401b03811115620005a257620005a2620004e2565b620005ba81620005b38454620004f8565b8462000534565b602080601f831160018114620005f25760008415620005d95750858301515b600019600386901b1c1916600185901b1785556200057e565b600085815260208120601f198616915b82811015620006235788860151825594840194600190910190840162000602565b5085821015620006425787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006a95781600019048211156200068d576200068d62000652565b808516156200069b57918102915b93841c93908002906200066d565b509250929050565b600082620006c257506001620004dc565b81620006d157506000620004dc565b8160018114620006ea5760028114620006f55762000715565b6001915050620004dc565b60ff84111562000709576200070962000652565b50506001821b620004dc565b5060208310610133831016604e8410600b84101617156200073a575081810a620004dc565b62000746838362000668565b80600019048211156200075d576200075d62000652565b029392505050565b6000620004d960ff841683620006b1565b8082028115828204841417620004dc57620004dc62000652565b600060208284031215620007a357600080fd5b81516001600160a01b0381168114620007bb57600080fd5b9392505050565b80820180821115620004dc57620004dc62000652565b611d5180620007e86000396000f3fe6080604052600436106102085760003560e01c806370a0823111610118578063c49b9a80116100a0578063dc44b6a01161006f578063dc44b6a0146105e4578063dd62ed3e146105fa578063ea2f0b3714610640578063f0f165af14610660578063f2fde38b1461068057600080fd5b8063c49b9a8014610582578063c5d24189146105a2578063c8607952146105b8578063d12a7688146105ce57600080fd5b80638da5cb5b116100e75780638da5cb5b146104ef57806395d89b411461050d578063a457c2d714610522578063a9059cbb14610542578063be19674b1461056257600080fd5b806370a0823114610478578063715018a6146104ae5780637abdc1ca146104c357806388790a68146104d957600080fd5b8063395093511161019b578063437823ec1161016a578063437823ec146103be57806349bd5a5e146103de5780634a74bb02146103fe5780634cb80fd51461041f5780635342acb41461043f57600080fd5b8063395093511461033e5780634144d9e41461035e57806341cb87fc1461037e57806342966c681461039e57600080fd5b806316f2f1a8116101d757806316f2f1a8146102c957806318160ddd146102ed57806323b872dd14610302578063313ce5671461032257600080fd5b806306fdde0314610214578063095ea7b31461023f578063151cd1c21461026f5780631694505e1461029157600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b506102296106a0565b60405161023691906117c8565b60405180910390f35b34801561024b57600080fd5b5061025f61025a36600461182b565b610732565b6040519015158152602001610236565b34801561027b57600080fd5b5061028f61028a366004611857565b610749565b005b34801561029d57600080fd5b50600f546102b1906001600160a01b031681565b6040516001600160a01b039091168152602001610236565b3480156102d557600080fd5b506102df600b5481565b604051908152602001610236565b3480156102f957600080fd5b506004546102df565b34801561030e57600080fd5b5061025f61031d366004611883565b61078a565b34801561032e57600080fd5b5060405160098152602001610236565b34801561034a57600080fd5b5061025f61035936600461182b565b6107f3565b34801561036a57600080fd5b506008546102b1906001600160a01b031681565b34801561038a57600080fd5b5061028f6103993660046118c4565b610829565b3480156103aa57600080fd5b5061028f6103b93660046118e1565b6109ce565b3480156103ca57600080fd5b5061028f6103d93660046118c4565b610a1a565b3480156103ea57600080fd5b506010546102b1906001600160a01b031681565b34801561040a57600080fd5b5060105461025f90600160a81b900460ff1681565b34801561042b57600080fd5b5061028f61043a3660046118c4565b610a68565b34801561044b57600080fd5b5061025f61045a3660046118c4565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561048457600080fd5b506102df6104933660046118c4565b6001600160a01b031660009081526002602052604090205490565b3480156104ba57600080fd5b5061028f610ab4565b3480156104cf57600080fd5b506102df600e5481565b3480156104e557600080fd5b506102df600c5481565b3480156104fb57600080fd5b506000546001600160a01b03166102b1565b34801561051957600080fd5b50610229610b28565b34801561052e57600080fd5b5061025f61053d36600461182b565b610b37565b34801561054e57600080fd5b5061025f61055d36600461182b565b610b86565b34801561056e57600080fd5b5061028f61057d366004611857565b610b93565b34801561058e57600080fd5b5061028f61059d3660046118fa565b610bcb565b3480156105ae57600080fd5b506102df600a5481565b3480156105c457600080fd5b506102df600d5481565b3480156105da57600080fd5b506102df60115481565b3480156105f057600080fd5b506102df60095481565b34801561060657600080fd5b506102df61061536600461191c565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561064c57600080fd5b5061028f61065b3660046118c4565b610c4d565b34801561066c57600080fd5b5061028f61067b3660046118e1565b610c98565b34801561068c57600080fd5b5061028f61069b3660046118c4565b610cde565b6060600580546106af90611955565b80601f01602080910402602001604051908101604052809291908181526020018280546106db90611955565b80156107285780601f106106fd57610100808354040283529160200191610728565b820191906000526020600020905b81548152906001019060200180831161070b57829003601f168201915b5050505050905090565b600061073f338484610ddb565b5060015b92915050565b6000546001600160a01b0316331461077c5760405162461bcd60e51b81526004016107739061198f565b60405180910390fd5b600c92909255600d55600e55565b6000610797848484610f00565b6107e984336107e485604051806060016040528060288152602001611ccf602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906111c9565b610ddb565b5060019392505050565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161073f9185906107e49086610dc8565b6000546001600160a01b031633146108535760405162461bcd60e51b81526004016107739061198f565b6000819050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610896573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ba91906119c4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906119c4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c91906119c4565b601080546001600160a01b039283166001600160a01b031991821617909155600f805493909216921691909117905550565b6000546001600160a01b031633146109f85760405162461bcd60e51b81526004016107739061198f565b610a1733610a086009600a611adb565b610a129084611aea565b6111f5565b50565b6000546001600160a01b03163314610a445760405162461bcd60e51b81526004016107739061198f565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610a925760405162461bcd60e51b81526004016107739061198f565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610ade5760405162461bcd60e51b81526004016107739061198f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600680546106af90611955565b600061073f33846107e485604051806060016040528060258152602001611cf7602591393360009081526003602090815260408083206001600160a01b038d16845290915290205491906111c9565b600061073f338484610f00565b6000546001600160a01b03163314610bbd5760405162461bcd60e51b81526004016107739061198f565b600992909255600a55600b55565b6000546001600160a01b03163314610bf55760405162461bcd60e51b81526004016107739061198f565b60108054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610c4290831515815260200190565b60405180910390a150565b6000546001600160a01b03163314610c775760405162461bcd60e51b81526004016107739061198f565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6000546001600160a01b03163314610cc25760405162461bcd60e51b81526004016107739061198f565b610cce6009600a611adb565b610cd89082611aea565b60115550565b6000546001600160a01b03163314610d085760405162461bcd60e51b81526004016107739061198f565b6001600160a01b038116610d6d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610773565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610dd48284611b01565b9392505050565b6001600160a01b038316610e3d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610773565b6001600160a01b038216610e9e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610773565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610f265760405162461bcd60e51b815260040161077390611b14565b6001600160a01b038216610f4c5760405162461bcd60e51b815260040161077390611b59565b60008111610fae5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610773565b3060009081526002602052604090205460115481108015908190610fdc5750601054600160a01b900460ff16155b8015610ff657506010546001600160a01b03868116911614155b801561100b5750601054600160a81b900460ff165b1561101e57601154915061101e82611300565b6001600160a01b03851660009081526007602052604090205460019060ff168061106057506001600160a01b03851660009081526007602052604090205460ff165b1561107857611070868686611471565b5060006111c1565b6010546001600160a01b03908116908716036111455760006110b16103e86110ab6009548861157d90919063ffffffff16565b90611589565b905060006110d06103e86110ab600a548961157d90919063ffffffff16565b905060006110ef6103e86110ab600b548a61157d90919063ffffffff16565b905061110f611108826111028686610dc8565b90610dc8565b8890611595565b965061112589306111208686610dc8565b611471565b6111328961dead83611471565b61113d898989611471565b5050506111c1565b6010546001600160a01b03908116908616036111b65760006111786103e86110ab600c548861157d90919063ffffffff16565b905060006111976103e86110ab600d548961157d90919063ffffffff16565b905060006110ef6103e86110ab600e548a61157d90919063ffffffff16565b6111c1868686611471565b505050505050565b600081848411156111ed5760405162461bcd60e51b815260040161077391906117c8565b505050900390565b6001600160a01b0382166112555760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610773565b61129281604051806060016040528060228152602001611c87602291396001600160a01b03851660009081526002602052604090205491906111c9565b6001600160a01b0383166000908152600260205260409020556004546112b89082611595565b6004556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6010805460ff60a01b1916600160a01b179055600c5460009061132b906064906110ab90859061157d565b9050600061134960646110ab600d548661157d90919063ffffffff16565b905060006113578284611b01565b9050831580611364575080155b1561137157505050611461565b6000806002836113818789611aea565b61138b9190611b9c565b6113959190611b9c565b90506113a96113a48288611bbe565b6115a1565b478060006113b8600289611b9c565b6113c29087611bbe565b6113cc8885611aea565b6113d69190611b9c565b90506113e28183611bbe565b91506000841180156113f45750600082115b156114035761140384836116f3565b6008546040516001600160a01b03909116908290600081818185875af1925050503d8060008114611450576040519150601f19603f3d011682016040523d82523d6000602084013e611455565b606091505b50505050505050505050505b506010805460ff60a01b19169055565b6001600160a01b0383166114975760405162461bcd60e51b815260040161077390611b14565b6001600160a01b0382166114bd5760405162461bcd60e51b815260040161077390611b59565b6114fa81604051806060016040528060268152602001611ca9602691396001600160a01b03861660009081526002602052604090205491906111c9565b6001600160a01b0380851660009081526002602052604080822093909355908416815220546115299082610dc8565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef39085815260200190565b6000610dd48284611aea565b6000610dd48284611b9c565b6000610dd48284611bbe565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115d6576115d6611bd1565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561162f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165391906119c4565b8160018151811061166657611666611bd1565b6001600160a01b039283166020918202929092010152600f5461168c9130911684610ddb565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906116c5908590600090869030904290600401611be7565b600060405180830381600087803b1580156116df57600080fd5b505af11580156111c1573d6000803e3d6000fd5b600f5461170b9030906001600160a01b031684610ddb565b600f546001600160a01b031663f305d7198230856000806117346000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561179c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117c19190611c58565b5050505050565b600060208083528351808285015260005b818110156117f5578581018301518582016040015282016117d9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a1757600080fd5b6000806040838503121561183e57600080fd5b823561184981611816565b946020939093013593505050565b60008060006060848603121561186c57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561189857600080fd5b83356118a381611816565b925060208401356118b381611816565b929592945050506040919091013590565b6000602082840312156118d657600080fd5b8135610dd481611816565b6000602082840312156118f357600080fd5b5035919050565b60006020828403121561190c57600080fd5b81358015158114610dd457600080fd5b6000806040838503121561192f57600080fd5b823561193a81611816565b9150602083013561194a81611816565b809150509250929050565b600181811c9082168061196957607f821691505b60208210810361198957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119d657600080fd5b8151610dd481611816565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a32578160001904821115611a1857611a186119e1565b80851615611a2557918102915b93841c93908002906119fc565b509250929050565b600082611a4957506001610743565b81611a5657506000610743565b8160018114611a6c5760028114611a7657611a92565b6001915050610743565b60ff841115611a8757611a876119e1565b50506001821b610743565b5060208310610133831016604e8410600b8410161715611ab5575081810a610743565b611abf83836119f7565b8060001904821115611ad357611ad36119e1565b029392505050565b6000610dd460ff841683611a3a565b8082028115828204841417610743576107436119e1565b80820180821115610743576107436119e1565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600082611bb957634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610743576107436119e1565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c375784516001600160a01b031683529383019391830191600101611c12565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611c6d57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220570d13d9ad0c349590f5079957ea6db8f2996a32a7c64ceae7915eabf1cf60ad64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106102085760003560e01c806370a0823111610118578063c49b9a80116100a0578063dc44b6a01161006f578063dc44b6a0146105e4578063dd62ed3e146105fa578063ea2f0b3714610640578063f0f165af14610660578063f2fde38b1461068057600080fd5b8063c49b9a8014610582578063c5d24189146105a2578063c8607952146105b8578063d12a7688146105ce57600080fd5b80638da5cb5b116100e75780638da5cb5b146104ef57806395d89b411461050d578063a457c2d714610522578063a9059cbb14610542578063be19674b1461056257600080fd5b806370a0823114610478578063715018a6146104ae5780637abdc1ca146104c357806388790a68146104d957600080fd5b8063395093511161019b578063437823ec1161016a578063437823ec146103be57806349bd5a5e146103de5780634a74bb02146103fe5780634cb80fd51461041f5780635342acb41461043f57600080fd5b8063395093511461033e5780634144d9e41461035e57806341cb87fc1461037e57806342966c681461039e57600080fd5b806316f2f1a8116101d757806316f2f1a8146102c957806318160ddd146102ed57806323b872dd14610302578063313ce5671461032257600080fd5b806306fdde0314610214578063095ea7b31461023f578063151cd1c21461026f5780631694505e1461029157600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b506102296106a0565b60405161023691906117c8565b60405180910390f35b34801561024b57600080fd5b5061025f61025a36600461182b565b610732565b6040519015158152602001610236565b34801561027b57600080fd5b5061028f61028a366004611857565b610749565b005b34801561029d57600080fd5b50600f546102b1906001600160a01b031681565b6040516001600160a01b039091168152602001610236565b3480156102d557600080fd5b506102df600b5481565b604051908152602001610236565b3480156102f957600080fd5b506004546102df565b34801561030e57600080fd5b5061025f61031d366004611883565b61078a565b34801561032e57600080fd5b5060405160098152602001610236565b34801561034a57600080fd5b5061025f61035936600461182b565b6107f3565b34801561036a57600080fd5b506008546102b1906001600160a01b031681565b34801561038a57600080fd5b5061028f6103993660046118c4565b610829565b3480156103aa57600080fd5b5061028f6103b93660046118e1565b6109ce565b3480156103ca57600080fd5b5061028f6103d93660046118c4565b610a1a565b3480156103ea57600080fd5b506010546102b1906001600160a01b031681565b34801561040a57600080fd5b5060105461025f90600160a81b900460ff1681565b34801561042b57600080fd5b5061028f61043a3660046118c4565b610a68565b34801561044b57600080fd5b5061025f61045a3660046118c4565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561048457600080fd5b506102df6104933660046118c4565b6001600160a01b031660009081526002602052604090205490565b3480156104ba57600080fd5b5061028f610ab4565b3480156104cf57600080fd5b506102df600e5481565b3480156104e557600080fd5b506102df600c5481565b3480156104fb57600080fd5b506000546001600160a01b03166102b1565b34801561051957600080fd5b50610229610b28565b34801561052e57600080fd5b5061025f61053d36600461182b565b610b37565b34801561054e57600080fd5b5061025f61055d36600461182b565b610b86565b34801561056e57600080fd5b5061028f61057d366004611857565b610b93565b34801561058e57600080fd5b5061028f61059d3660046118fa565b610bcb565b3480156105ae57600080fd5b506102df600a5481565b3480156105c457600080fd5b506102df600d5481565b3480156105da57600080fd5b506102df60115481565b3480156105f057600080fd5b506102df60095481565b34801561060657600080fd5b506102df61061536600461191c565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561064c57600080fd5b5061028f61065b3660046118c4565b610c4d565b34801561066c57600080fd5b5061028f61067b3660046118e1565b610c98565b34801561068c57600080fd5b5061028f61069b3660046118c4565b610cde565b6060600580546106af90611955565b80601f01602080910402602001604051908101604052809291908181526020018280546106db90611955565b80156107285780601f106106fd57610100808354040283529160200191610728565b820191906000526020600020905b81548152906001019060200180831161070b57829003601f168201915b5050505050905090565b600061073f338484610ddb565b5060015b92915050565b6000546001600160a01b0316331461077c5760405162461bcd60e51b81526004016107739061198f565b60405180910390fd5b600c92909255600d55600e55565b6000610797848484610f00565b6107e984336107e485604051806060016040528060288152602001611ccf602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906111c9565b610ddb565b5060019392505050565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161073f9185906107e49086610dc8565b6000546001600160a01b031633146108535760405162461bcd60e51b81526004016107739061198f565b6000819050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610896573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ba91906119c4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906119c4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c91906119c4565b601080546001600160a01b039283166001600160a01b031991821617909155600f805493909216921691909117905550565b6000546001600160a01b031633146109f85760405162461bcd60e51b81526004016107739061198f565b610a1733610a086009600a611adb565b610a129084611aea565b6111f5565b50565b6000546001600160a01b03163314610a445760405162461bcd60e51b81526004016107739061198f565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610a925760405162461bcd60e51b81526004016107739061198f565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610ade5760405162461bcd60e51b81526004016107739061198f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600680546106af90611955565b600061073f33846107e485604051806060016040528060258152602001611cf7602591393360009081526003602090815260408083206001600160a01b038d16845290915290205491906111c9565b600061073f338484610f00565b6000546001600160a01b03163314610bbd5760405162461bcd60e51b81526004016107739061198f565b600992909255600a55600b55565b6000546001600160a01b03163314610bf55760405162461bcd60e51b81526004016107739061198f565b60108054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610c4290831515815260200190565b60405180910390a150565b6000546001600160a01b03163314610c775760405162461bcd60e51b81526004016107739061198f565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6000546001600160a01b03163314610cc25760405162461bcd60e51b81526004016107739061198f565b610cce6009600a611adb565b610cd89082611aea565b60115550565b6000546001600160a01b03163314610d085760405162461bcd60e51b81526004016107739061198f565b6001600160a01b038116610d6d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610773565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610dd48284611b01565b9392505050565b6001600160a01b038316610e3d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610773565b6001600160a01b038216610e9e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610773565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610f265760405162461bcd60e51b815260040161077390611b14565b6001600160a01b038216610f4c5760405162461bcd60e51b815260040161077390611b59565b60008111610fae5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610773565b3060009081526002602052604090205460115481108015908190610fdc5750601054600160a01b900460ff16155b8015610ff657506010546001600160a01b03868116911614155b801561100b5750601054600160a81b900460ff165b1561101e57601154915061101e82611300565b6001600160a01b03851660009081526007602052604090205460019060ff168061106057506001600160a01b03851660009081526007602052604090205460ff165b1561107857611070868686611471565b5060006111c1565b6010546001600160a01b03908116908716036111455760006110b16103e86110ab6009548861157d90919063ffffffff16565b90611589565b905060006110d06103e86110ab600a548961157d90919063ffffffff16565b905060006110ef6103e86110ab600b548a61157d90919063ffffffff16565b905061110f611108826111028686610dc8565b90610dc8565b8890611595565b965061112589306111208686610dc8565b611471565b6111328961dead83611471565b61113d898989611471565b5050506111c1565b6010546001600160a01b03908116908616036111b65760006111786103e86110ab600c548861157d90919063ffffffff16565b905060006111976103e86110ab600d548961157d90919063ffffffff16565b905060006110ef6103e86110ab600e548a61157d90919063ffffffff16565b6111c1868686611471565b505050505050565b600081848411156111ed5760405162461bcd60e51b815260040161077391906117c8565b505050900390565b6001600160a01b0382166112555760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610773565b61129281604051806060016040528060228152602001611c87602291396001600160a01b03851660009081526002602052604090205491906111c9565b6001600160a01b0383166000908152600260205260409020556004546112b89082611595565b6004556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6010805460ff60a01b1916600160a01b179055600c5460009061132b906064906110ab90859061157d565b9050600061134960646110ab600d548661157d90919063ffffffff16565b905060006113578284611b01565b9050831580611364575080155b1561137157505050611461565b6000806002836113818789611aea565b61138b9190611b9c565b6113959190611b9c565b90506113a96113a48288611bbe565b6115a1565b478060006113b8600289611b9c565b6113c29087611bbe565b6113cc8885611aea565b6113d69190611b9c565b90506113e28183611bbe565b91506000841180156113f45750600082115b156114035761140384836116f3565b6008546040516001600160a01b03909116908290600081818185875af1925050503d8060008114611450576040519150601f19603f3d011682016040523d82523d6000602084013e611455565b606091505b50505050505050505050505b506010805460ff60a01b19169055565b6001600160a01b0383166114975760405162461bcd60e51b815260040161077390611b14565b6001600160a01b0382166114bd5760405162461bcd60e51b815260040161077390611b59565b6114fa81604051806060016040528060268152602001611ca9602691396001600160a01b03861660009081526002602052604090205491906111c9565b6001600160a01b0380851660009081526002602052604080822093909355908416815220546115299082610dc8565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef39085815260200190565b6000610dd48284611aea565b6000610dd48284611b9c565b6000610dd48284611bbe565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115d6576115d6611bd1565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561162f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165391906119c4565b8160018151811061166657611666611bd1565b6001600160a01b039283166020918202929092010152600f5461168c9130911684610ddb565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906116c5908590600090869030904290600401611be7565b600060405180830381600087803b1580156116df57600080fd5b505af11580156111c1573d6000803e3d6000fd5b600f5461170b9030906001600160a01b031684610ddb565b600f546001600160a01b031663f305d7198230856000806117346000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561179c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117c19190611c58565b5050505050565b600060208083528351808285015260005b818110156117f5578581018301518582016040015282016117d9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a1757600080fd5b6000806040838503121561183e57600080fd5b823561184981611816565b946020939093013593505050565b60008060006060848603121561186c57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561189857600080fd5b83356118a381611816565b925060208401356118b381611816565b929592945050506040919091013590565b6000602082840312156118d657600080fd5b8135610dd481611816565b6000602082840312156118f357600080fd5b5035919050565b60006020828403121561190c57600080fd5b81358015158114610dd457600080fd5b6000806040838503121561192f57600080fd5b823561193a81611816565b9150602083013561194a81611816565b809150509250929050565b600181811c9082168061196957607f821691505b60208210810361198957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119d657600080fd5b8151610dd481611816565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a32578160001904821115611a1857611a186119e1565b80851615611a2557918102915b93841c93908002906119fc565b509250929050565b600082611a4957506001610743565b81611a5657506000610743565b8160018114611a6c5760028114611a7657611a92565b6001915050610743565b60ff841115611a8757611a876119e1565b50506001821b610743565b5060208310610133831016604e8410600b8410161715611ab5575081810a610743565b611abf83836119f7565b8060001904821115611ad357611ad36119e1565b029392505050565b6000610dd460ff841683611a3a565b8082028115828204841417610743576107436119e1565b80820180821115610743576107436119e1565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600082611bb957634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610743576107436119e1565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c375784516001600160a01b031683529383019391830191600101611c12565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611c6d57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220570d13d9ad0c349590f5079957ea6db8f2996a32a7c64ceae7915eabf1cf60ad64736f6c63430008120033

Deployed Bytecode Sourcemap

9142:8818:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3908:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4909:181;;;;;;;;;;-1:-1:-1;4909:181:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;4909:181:0;1023:187:1;11674:262:0;;;;;;;;;;-1:-1:-1;11674:262:0;;;;;:::i;:::-;;:::i;:::-;;9714:41;;;;;;;;;;-1:-1:-1;9714:41:0;;;;-1:-1:-1;;;;;9714:41:0;;;;;;-1:-1:-1;;;;;1726:32:1;;;1708:51;;1696:2;1681:18;9714:41:0;1536:229:1;9525:30:0;;;;;;;;;;;;;;;;;;;1916:25:1;;;1904:2;1889:18;9525:30:0;1770:177:1;4264:116:0;;;;;;;;;;-1:-1:-1;4356:12:0;;4264:116;;5102:387;;;;;;;;;;-1:-1:-1;5102:387:0;;;;;:::i;:::-;;:::i;4152:100::-;;;;;;;;;;-1:-1:-1;4152:100:0;;4239:1;2555:36:1;;2543:2;2528:18;4152:100:0;2413:184:1;5501:230:0;;;;;;;;;;-1:-1:-1;5501:230:0;;;;;:::i;:::-;;:::i;9291:38::-;;;;;;;;;;-1:-1:-1;9291:38:0;;;;-1:-1:-1;;;;;9291:38:0;;;12532:334;;;;;;;;;;-1:-1:-1;12532:334:0;;;;;:::i;:::-;;:::i;11276:117::-;;;;;;;;;;-1:-1:-1;11276:117:0;;;;;:::i;:::-;;:::i;11405:119::-;;;;;;;;;;-1:-1:-1;11405:119:0;;;;;:::i;:::-;;:::i;9766:28::-;;;;;;;;;;-1:-1:-1;9766:28:0;;;;-1:-1:-1;;;;;9766:28:0;;;9837:40;;;;;;;;;;-1:-1:-1;9837:40:0;;;;-1:-1:-1;;;9837:40:0;;;;;;12218:127;;;;;;;;;;-1:-1:-1;12218:127:0;;;;;:::i;:::-;;:::i;13124:131::-;;;;;;;;;;-1:-1:-1;13124:131:0;;;;;:::i;:::-;-1:-1:-1;;;;;13216:27:0;13188:4;13216:27;;;:18;:27;;;;;;;;;13124:131;4392:135;;;;;;;;;;-1:-1:-1;4392:135:0;;;;;:::i;:::-;-1:-1:-1;;;;;4497:18:0;4466:7;4497:18;;;:9;:18;;;;;;;4392:135;2730:160;;;;;;;;;;;;;:::i;9668:31::-;;;;;;;;;;;;;;;;9570:37;;;;;;;;;;;;;;;;2463:95;;;;;;;;;;-1:-1:-1;2509:7:0;2540:6;-1:-1:-1;;;;;2540:6:0;2463:95;;4028:112;;;;;;;;;;;;;:::i;5743:281::-;;;;;;;;;;-1:-1:-1;5743:281:0;;;;;:::i;:::-;;:::i;4539:187::-;;;;;;;;;;-1:-1:-1;4539:187:0;;;;;:::i;:::-;;:::i;11948:258::-;;;;;;;;;;-1:-1:-1;11948:258:0;;;;;:::i;:::-;;:::i;12878:185::-;;;;;;;;;;-1:-1:-1;12878:185:0;;;;;:::i;:::-;;:::i;9478:36::-;;;;;;;;;;;;;;;;9619:37;;;;;;;;;;;;;;;;9888:44;;;;;;;;;;;;;;;;9429:36;;;;;;;;;;;;;;;;4738:159;;;;;;;;;;-1:-1:-1;4738:159:0;;;;;:::i;:::-;-1:-1:-1;;;;;4858:18:0;;;4827:7;4858:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4738:159;11544:118;;;;;;;;;;-1:-1:-1;11544:118:0;;;;;:::i;:::-;;:::i;12359:161::-;;;;;;;;;;-1:-1:-1;12359:161:0;;;;;:::i;:::-;;:::i;2902:260::-;;;;;;;;;;-1:-1:-1;2902:260:0;;;;;:::i;:::-;;:::i;3908:108::-;3962:13;3999:5;3992:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3908:108;:::o;4909:181::-;4992:4;5013:39;1923:10;5036:7;5045:6;5013:8;:39::i;:::-;-1:-1:-1;5074:4:0;4909:181;;;;;:::o;11674:262::-;2509:7;2540:6;-1:-1:-1;;;;;2540:6:0;1923:10;2622:23;2614:68;;;;-1:-1:-1;;;2614:68:0;;;;;;;:::i;:::-;;;;;;;;;11827:17:::1;:24:::0;;;;11866:17:::1;:24:::0;11905:12:::1;:19:::0;11674:262::o;5102:387::-;5258:4;5279:36;5289:6;5297:9;5308:6;5279:9;:36::i;:::-;5330:121;5339:6;1923:10;5361:89;5399:6;5361:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5361:19:0;;;;;;:11;:19;;;;;;;;1923:10;5361:33;;;;;;;;;;:37;:89::i;:::-;5330:8;:121::i;:::-;-1:-1:-1;5473:4:0;5102:387;;;;;:::o;5501:230::-;1923:10;5589:4;5642:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;5642:34:0;;;;;;;;;;5589:4;;5610:83;;5633:7;;5642:50;;5681:10;5642:38;:50::i;12532:334::-;2509:7;2540:6;-1:-1:-1;;;;;2540:6:0;1923:10;2622:23;2614:68;;;;-1:-1:-1;;;2614:68:0;;;;;;;:::i;:::-;12611:35:::1;12668:9;12611:67;;12727:16;-1:-1:-1::0;;;;;12727:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12709:56:0::1;;12774:4;12781:16;-1:-1:-1::0;;;;;12781:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12709:96;::::0;-1:-1:-1;;;;;;12709:96:0::1;::::0;;;;;;-1:-1:-1;;;;;5150:15:1;;;12709:96:0::1;::::0;::::1;5132:34:1::0;5202:15;;5182:18;;;5175:43;5067:18;;12709:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12693:13;:112:::0;;-1:-1:-1;;;;;12693:112:0;;::::1;-1:-1:-1::0;;;;;;12693:112:0;;::::1;;::::0;;;12820:15:::1;:34:::0;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;-1:-1:-1;12532:334:0:o;11276:117::-;2509:7;2540:6;-1:-1:-1;;;;;2540:6:0;1923:10;2622:23;2614:68;;;;-1:-1:-1;;;2614:68:0;;;;;;;:::i;:::-;11337:44:::1;11343:10;11364:16;4239:1:::0;11364:2:::1;:16;:::i;:::-;11355:25;::::0;:6;:25:::1;:::i;:::-;11337:5;:44::i;:::-;11276:117:::0;:::o;11405:119::-;2509:7;2540:6;-1:-1:-1;;;;;2540:6:0;1923:10;2622:23;2614:68;;;;-1:-1:-1;;;2614:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11478:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;11478:34:0::1;11508:4;11478:34;::::0;;11405:119::o;12218:127::-;2509:7;2540:6;-1:-1:-1;;;;;2540:6:0;1923:10;2622:23;2614:68;;;;-1:-1:-1;;;2614:68:0;;;;;;;:::i;:::-;12302:23:::1;:31:::0;;-1:-1:-1;;;;;;12302:31:0::1;-1:-1:-1::0;;;;;12302:31:0;;;::::1;::::0;;;::::1;::::0;;12218:127::o;2730:160::-;2509:7;2540:6;-1:-1:-1;;;;;2540:6:0;1923:10;2622:23;2614:68;;;;-1:-1:-1;;;2614:68:0;;;;;;;:::i;:::-;2841:1:::1;2825:6:::0;;2804:40:::1;::::0;-1:-1:-1;;;;;2825:6:0;;::::1;::::0;2804:40:::1;::::0;2841:1;;2804:40:::1;2876:1;2859:19:::0;;-1:-1:-1;;;;;;2859:19:0::1;::::0;;2730:160::o;4028:112::-;4084:13;4121:7;4114:14;;;;;:::i;5743:281::-;5836:4;5857:129;1923:10;5880:7;5889:96;5928:15;5889:96;;;;;;;;;;;;;;;;;1923:10;5889:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;5889:34:0;;;;;;;;;;;;:38;:96::i;4539:187::-;4625:4;4646:42;1923:10;4670:9;4681:6;4646:9;:42::i;11948:258::-;2509:7;2540:6;-1:-1:-1;;;;;2540:6:0;1923:10;2622:23;2614:68;;;;-1:-1:-1;;;2614:68:0;;;;;;;:::i;:::-;12100:16:::1;:23:::0;;;;12138:16:::1;:23:::0;12176:11:::1;:18:::0;11948:258::o;12878:185::-;2509:7;2540:6;-1:-1:-1;;;;;2540:6:0;1923:10;2622:23;2614:68;;;;-1:-1:-1;;;2614:68:0;;;;;;;:::i;:::-;12961:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;12961:32:0::1;-1:-1:-1::0;;;;12961:32:0;;::::1;;::::0;;13013:38:::1;::::0;::::1;::::0;::::1;::::0;12985:8;1188:14:1;1181:22;1163:41;;1151:2;1136:18;;1023:187;13013:38:0::1;;;;;;;;12878:185:::0;:::o;11544:118::-;2509:7;2540:6;-1:-1:-1;;;;;2540:6:0;1923:10;2622:23;2614:68;;;;-1:-1:-1;;;2614:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11615:27:0::1;11645:5;11615:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;11615:35:0::1;::::0;;11544:118::o;12359:161::-;2509:7;2540:6;-1:-1:-1;;;;;2540:6:0;1923:10;2622:23;2614:68;;;;-1:-1:-1;;;2614:68:0;;;;;;;:::i;:::-;12492:16:::1;4239:1:::0;12492:2:::1;:16;:::i;:::-;12483:25;::::0;:6;:25:::1;:::i;:::-;12451:29;:57:::0;-1:-1:-1;12359:161:0:o;2902:260::-;2509:7;2540:6;-1:-1:-1;;;;;2540:6:0;1923:10;2622:23;2614:68;;;;-1:-1:-1;;;2614:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2995:22:0;::::1;2987:73;;;::::0;-1:-1:-1;;;2987:73:0;;7119:2:1;2987:73:0::1;::::0;::::1;7101:21:1::0;7158:2;7138:18;;;7131:30;7197:34;7177:18;;;7170:62;-1:-1:-1;;;7248:18:1;;;7241:36;7294:19;;2987:73:0::1;6917:402:1::0;2987:73:0::1;3101:6;::::0;;3080:38:::1;::::0;-1:-1:-1;;;;;3080:38:0;;::::1;::::0;3101:6;::::1;::::0;3080:38:::1;::::0;::::1;3133:6;:17:::0;;-1:-1:-1;;;;;;3133:17:0::1;-1:-1:-1::0;;;;;3133:17:0;;;::::1;::::0;;;::::1;::::0;;2902:260::o;852:106::-;910:7;941:5;945:1;941;:5;:::i;:::-;934:12;852:106;-1:-1:-1;;;852:106:0:o;7533:416::-;-1:-1:-1;;;;;7689:19:0;;7681:68;;;;-1:-1:-1;;;7681:68:0;;7656:2:1;7681:68:0;;;7638:21:1;7695:2;7675:18;;;7668:30;7734:34;7714:18;;;7707:62;-1:-1:-1;;;7785:18:1;;;7778:34;7829:19;;7681:68:0;7454:400:1;7681:68:0;-1:-1:-1;;;;;7772:21:0;;7764:68;;;;-1:-1:-1;;;7764:68:0;;8061:2:1;7764:68:0;;;8043:21:1;8100:2;8080:18;;;8073:30;8139:34;8119:18;;;8112:62;-1:-1:-1;;;8190:18:1;;;8183:32;8232:19;;7764:68:0;7859:398:1;7764:68:0;-1:-1:-1;;;;;7849:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7905:32;;1916:25:1;;;7905:32:0;;1889:18:1;7905:32:0;;;;;;;;7533:416;;;:::o;13267:2353::-;-1:-1:-1;;;;;13419:18:0;;13411:68;;;;-1:-1:-1;;;13411:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13502:16:0;;13494:64;;;;-1:-1:-1;;;13494:64:0;;;;;;;:::i;:::-;13590:1;13581:6;:10;13573:64;;;;-1:-1:-1;;;13573:64:0;;9274:2:1;13573:64:0;;;9256:21:1;9313:2;9293:18;;;9286:30;9352:34;9332:18;;;9325:62;-1:-1:-1;;;9403:18:1;;;9396:39;9452:19;;13573:64:0;9072:405:1;13573:64:0;13703:4;13654:28;4497:18;;;:9;:18;;;;;;13776:29;;13752:53;;;;;;;13842:57;;-1:-1:-1;13883:16:0;;-1:-1:-1;;;13883:16:0;;;;13882:17;13842:57;:99;;;;-1:-1:-1;13928:13:0;;-1:-1:-1;;;;;13920:21:0;;;13928:13;;13920:21;;13842:99;:141;;;;-1:-1:-1;13962:21:0;;-1:-1:-1;;;13962:21:0;;;;13842:141;13820:315;;;14041:29;;14018:52;;14089:30;14098:20;14089:8;:30::i;:::-;-1:-1:-1;;;;;14185:24:0;;14151:12;14185:24;;;:18;:24;;;;;;14166:4;;14185:24;;;:50;;-1:-1:-1;;;;;;14213:22:0;;;;;;:18;:22;;;;;;;;14185:50;14181:1428;;;14252:33;14268:4;14274:2;14278:6;14252:15;:33::i;:::-;-1:-1:-1;14310:5:0;14181:1428;;;14362:13;;-1:-1:-1;;;;;14362:13:0;;;14354:21;;;;14350:1248;;14396:23;14422:38;14455:4;14422:28;14433:16;;14422:6;:10;;:28;;;;:::i;:::-;:32;;:38::i;:::-;14396:64;;14479:23;14505:38;14538:4;14505:28;14516:16;;14505:6;:10;;:28;;;;:::i;:38::-;14479:64;;14562:18;14583:33;14611:4;14583:23;14594:11;;14583:6;:10;;:23;;;;:::i;:33::-;14562:54;-1:-1:-1;14643:64:0;14654:52;14562:54;14654:36;:15;14674;14654:19;:36::i;:::-;:40;;:52::i;:::-;14643:6;;:10;:64::i;:::-;14635:72;-1:-1:-1;14726:74:0;14742:4;14756;14763:36;:15;14783;14763:19;:36::i;:::-;14726:15;:74::i;:::-;14819:45;14835:4;9372:42;14853:10;14819:15;:45::i;:::-;14883:33;14899:4;14905:2;14909:6;14883:15;:33::i;:::-;14377:557;;;14350:1248;;;14950:13;;-1:-1:-1;;;;;14950:13:0;;;14944:19;;;;14940:658;;14984:23;15010:39;15044:4;15010:29;15021:17;;15010:6;:10;;:29;;;;:::i;:39::-;14984:65;;15068:23;15094:39;15128:4;15094:29;15105:17;;15094:6;:10;;:29;;;;:::i;:39::-;15068:65;;15152:18;15173:34;15202:4;15173:24;15184:12;;15173:6;:10;;:24;;;;:::i;14940:658::-;15549:33;15565:4;15571:2;15575:6;15549:15;:33::i;:::-;13396:2224;;;13267:2353;;;:::o;1316:226::-;1402:7;1471:12;1463:6;;;;1455:29;;;;-1:-1:-1;;;1455:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1510:5:0;;;1316:226::o;7079:442::-;-1:-1:-1;;;;;7167:21:0;;7159:67;;;;-1:-1:-1;;;7159:67:0;;9684:2:1;7159:67:0;;;9666:21:1;9723:2;9703:18;;;9696:30;9762:34;9742:18;;;9735:62;-1:-1:-1;;;9813:18:1;;;9806:31;9854:19;;7159:67:0;9482:397:1;7159:67:0;7330:68;7353:6;7330:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7330:18:0;;;;;;:9;:18;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;7309:18:0;;;;;;:9;:18;;;;;:89;7428:12;;:24;;7445:6;7428:16;:24::i;:::-;7413:12;:39;7472:37;;1916:25:1;;;7498:1:0;;-1:-1:-1;;;;;7472:37:0;;;;;1904:2:1;1889:18;7472:37:0;;;;;;;7079:442;;:::o;15632:1289::-;10273:16;:23;;-1:-1:-1;;;;10273:23:0;-1:-1:-1;;;10273:23:0;;;15765:17:::1;::::0;10273:23;;15745:47:::1;::::0;15788:3:::1;::::0;15745:38:::1;::::0;:15;;:19:::1;:38::i;:47::-;15716:76;;15811:23;15837:47;15880:3;15837:38;15857:17;;15837:15;:19;;:38;;;;:::i;:47::-;15811:73:::0;-1:-1:-1;15905:25:0::1;15933:36;15811:73:::0;15933:18;:36:::1;:::i;:::-;15905:64:::0;-1:-1:-1;16009:20:0;;;:46:::1;;-1:-1:-1::0;16033:22:0;;16009:46:::1;16006:60;;;16058:7;;;;;16006:60;16086:12;::::0;16220:1:::1;16200:17:::0;16161:36:::1;16179:18:::0;16161:15;:36:::1;:::i;:::-;:56;;;;:::i;:::-;:60;;;;:::i;:::-;16135:86:::0;-1:-1:-1;16258:51:0::1;16275:33;16135:86:::0;16275:15;:33:::1;:::i;:::-;16258:16;:51::i;:::-;16368:21;::::0;16347:18:::1;16544:20;16563:1;16544:18:::0;:20:::1;:::i;:::-;16523:42;::::0;:17;:42:::1;:::i;:::-;16491:28;16504:15:::0;16491:10;:28:::1;:::i;:::-;:75;;;;:::i;:::-;16465:101:::0;-1:-1:-1;16587:34:0::1;16465:101:::0;16587:34;::::1;:::i;:::-;;;16695:1;16677:15;:19;:42;;;;;16718:1;16700:15;:19;16677:42;16674:137;;;16743:46;16756:15;16773;16743:12;:46::i;:::-;16852:23;::::0;16844:65:::1;::::0;-1:-1:-1;;;;;16852:23:0;;::::1;::::0;16889:15;;16844:65:::1;::::0;;;16889:15;16852:23;16844:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;;;;;;10311:1:0::1;-1:-1:-1::0;10327:16:0;:24;;-1:-1:-1;;;;10327:24:0;;;15632:1289::o;6036:617::-;-1:-1:-1;;;;;6196:20:0;;6188:70;;;;-1:-1:-1;;;6188:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6281:23:0;;6273:71;;;;-1:-1:-1;;;6273:71:0;;;;;;;:::i;:::-;6445;6467:6;6445:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6445:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;6425:17:0;;;;;;;:9;:17;;;;;;:91;;;;6554:20;;;;;;;:32;;6579:6;6554:24;:32::i;:::-;-1:-1:-1;;;;;6531:20:0;;;;;;;:9;:20;;;;;;;:55;;;;6606:35;;;;;;;;;;6634:6;1916:25:1;;1904:2;1889:18;;1770:177;1084:106:0;1142:7;1173:5;1177:1;1173;:5;:::i;1200:106::-;1258:7;1289:5;1293:1;1289;:5;:::i;968:106::-;1026:7;1057:5;1061:1;1057;:5;:::i;16940:547::-;17034:16;;;17048:1;17034:16;;;;;;;;17010:21;;17034:16;;;;;;;;;;-1:-1:-1;17034:16:0;17010:40;;17083:4;17065;17070:1;17065:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17065:23:0;;;:7;;;;;;;;;;:23;;;;17113:15;;:22;;;-1:-1:-1;;;17113:22:0;;;;:15;;;;;:20;;:22;;;;;17065:7;;17113:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17103:4;17108:1;17103:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17103:32:0;;;:7;;;;;;;;;:32;17182:15;;17150:62;;17167:4;;17182:15;17200:11;17150:8;:62::i;:::-;17227:15;;:248;;-1:-1:-1;;;17227:248:0;;-1:-1:-1;;;;;17227:15:0;;;;:66;;:248;;17312:11;;17227:15;;17390:4;;17421;;17445:15;;17227:248;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17499:454;17616:15;;17584:62;;17601:4;;-1:-1:-1;;;;;17616:15:0;17634:11;17584:8;:62::i;:::-;17661:15;;-1:-1:-1;;;;;17661:15:0;:31;17700:9;17737:4;17761:11;17661:15;;17885:7;2509;2540:6;-1:-1:-1;;;;;2540:6:0;;2463:95;17885:7;17661:280;;;;;;-1:-1:-1;;;;;;17661:280:0;;;-1:-1:-1;;;;;12057:15:1;;;17661:280:0;;;12039:34:1;12089:18;;;12082:34;;;;12132:18;;;12125:34;;;;12175:18;;;12168:34;12239:15;;;12218:19;;;12211:44;17911:15:0;12271:19:1;;;12264:35;11973:19;;17661:280:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17499:454;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:316::-;1292:6;1300;1308;1361:2;1349:9;1340:7;1336:23;1332:32;1329:52;;;1377:1;1374;1367:12;1329:52;-1:-1:-1;;1400:23:1;;;1470:2;1455:18;;1442:32;;-1:-1:-1;1521:2:1;1506:18;;;1493:32;;1215:316;-1:-1:-1;1215:316:1:o;1952:456::-;2029:6;2037;2045;2098:2;2086:9;2077:7;2073:23;2069:32;2066:52;;;2114:1;2111;2104:12;2066:52;2153:9;2140:23;2172:31;2197:5;2172:31;:::i;:::-;2222:5;-1:-1:-1;2279:2:1;2264:18;;2251:32;2292:33;2251:32;2292:33;:::i;:::-;1952:456;;2344:7;;-1:-1:-1;;;2398:2:1;2383:18;;;;2370:32;;1952:456::o;2810:247::-;2869:6;2922:2;2910:9;2901:7;2897:23;2893:32;2890:52;;;2938:1;2935;2928:12;2890:52;2977:9;2964:23;2996:31;3021:5;2996:31;:::i;3062:180::-;3121:6;3174:2;3162:9;3153:7;3149:23;3145:32;3142:52;;;3190:1;3187;3180:12;3142:52;-1:-1:-1;3213:23:1;;3062:180;-1:-1:-1;3062:180:1:o;3247:273::-;3303:6;3356:2;3344:9;3335:7;3331:23;3327:32;3324:52;;;3372:1;3369;3362:12;3324:52;3411:9;3398:23;3464:5;3457:13;3450:21;3443:5;3440:32;3430:60;;3486:1;3483;3476:12;3525:388;3593:6;3601;3654:2;3642:9;3633:7;3629:23;3625:32;3622:52;;;3670:1;3667;3660:12;3622:52;3709:9;3696:23;3728:31;3753:5;3728:31;:::i;:::-;3778:5;-1:-1:-1;3835:2:1;3820:18;;3807:32;3848:33;3807:32;3848:33;:::i;:::-;3900:7;3890:17;;;3525:388;;;;;:::o;3918:380::-;3997:1;3993:12;;;;4040;;;4061:61;;4115:4;4107:6;4103:17;4093:27;;4061:61;4168:2;4160:6;4157:14;4137:18;4134:38;4131:161;;4214:10;4209:3;4205:20;4202:1;4195:31;4249:4;4246:1;4239:15;4277:4;4274:1;4267:15;4131:161;;3918:380;;;:::o;4303:356::-;4505:2;4487:21;;;4524:18;;;4517:30;4583:34;4578:2;4563:18;;4556:62;4650:2;4635:18;;4303:356::o;4664:251::-;4734:6;4787:2;4775:9;4766:7;4762:23;4758:32;4755:52;;;4803:1;4800;4793:12;4755:52;4835:9;4829:16;4854:31;4879:5;4854:31;:::i;5229:127::-;5290:10;5285:3;5281:20;5278:1;5271:31;5321:4;5318:1;5311:15;5345:4;5342:1;5335:15;5361:422;5450:1;5493:5;5450:1;5507:270;5528:7;5518:8;5515:21;5507:270;;;5587:4;5583:1;5579:6;5575:17;5569:4;5566:27;5563:53;;;5596:18;;:::i;:::-;5646:7;5636:8;5632:22;5629:55;;;5666:16;;;;5629:55;5745:22;;;;5705:15;;;;5507:270;;;5511:3;5361:422;;;;;:::o;5788:806::-;5837:5;5867:8;5857:80;;-1:-1:-1;5908:1:1;5922:5;;5857:80;5956:4;5946:76;;-1:-1:-1;5993:1:1;6007:5;;5946:76;6038:4;6056:1;6051:59;;;;6124:1;6119:130;;;;6031:218;;6051:59;6081:1;6072:10;;6095:5;;;6119:130;6156:3;6146:8;6143:17;6140:43;;;6163:18;;:::i;:::-;-1:-1:-1;;6219:1:1;6205:16;;6234:5;;6031:218;;6333:2;6323:8;6320:16;6314:3;6308:4;6305:13;6301:36;6295:2;6285:8;6282:16;6277:2;6271:4;6268:12;6264:35;6261:77;6258:159;;;-1:-1:-1;6370:19:1;;;6402:5;;6258:159;6449:34;6474:8;6468:4;6449:34;:::i;:::-;6519:6;6515:1;6511:6;6507:19;6498:7;6495:32;6492:58;;;6530:18;;:::i;:::-;6568:20;;5788:806;-1:-1:-1;;;5788:806:1:o;6599:140::-;6657:5;6686:47;6727:4;6717:8;6713:19;6707:4;6686:47;:::i;6744:168::-;6817:9;;;6848;;6865:15;;;6859:22;;6845:37;6835:71;;6886:18;;:::i;7324:125::-;7389:9;;;7410:10;;;7407:36;;;7423:18;;:::i;8262:401::-;8464:2;8446:21;;;8503:2;8483:18;;;8476:30;8542:34;8537:2;8522:18;;8515:62;-1:-1:-1;;;8608:2:1;8593:18;;8586:35;8653:3;8638:19;;8262:401::o;8668:399::-;8870:2;8852:21;;;8909:2;8889:18;;;8882:30;8948:34;8943:2;8928:18;;8921:62;-1:-1:-1;;;9014:2:1;8999:18;;8992:33;9057:3;9042:19;;8668:399::o;9884:217::-;9924:1;9950;9940:132;;9994:10;9989:3;9985:20;9982:1;9975:31;10029:4;10026:1;10019:15;10057:4;10054:1;10047:15;9940:132;-1:-1:-1;10086:9:1;;9884:217::o;10106:128::-;10173:9;;;10194:11;;;10191:37;;;10208:18;;:::i;10581:127::-;10642:10;10637:3;10633:20;10630:1;10623:31;10673:4;10670:1;10663:15;10697:4;10694:1;10687:15;10713:980;10975:4;11023:3;11012:9;11008:19;11054:6;11043:9;11036:25;11080:2;11118:6;11113:2;11102:9;11098:18;11091:34;11161:3;11156:2;11145:9;11141:18;11134:31;11185:6;11220;11214:13;11251:6;11243;11236:22;11289:3;11278:9;11274:19;11267:26;;11328:2;11320:6;11316:15;11302:29;;11349:1;11359:195;11373:6;11370:1;11367:13;11359:195;;;11438:13;;-1:-1:-1;;;;;11434:39:1;11422:52;;11529:15;;;;11494:12;;;;11470:1;11388:9;11359:195;;;-1:-1:-1;;;;;;;11610:32:1;;;;11605:2;11590:18;;11583:60;-1:-1:-1;;;11674:3:1;11659:19;11652:35;11571:3;10713:980;-1:-1:-1;;;10713:980:1:o;12310:306::-;12398:6;12406;12414;12467:2;12455:9;12446:7;12442:23;12438:32;12435:52;;;12483:1;12480;12473:12;12435:52;12512:9;12506:16;12496:26;;12562:2;12551:9;12547:18;12541:25;12531:35;;12606:2;12595:9;12591:18;12585:25;12575:35;;12310:306;;;;;:::o

Swarm Source

ipfs://570d13d9ad0c349590f5079957ea6db8f2996a32a7c64ceae7915eabf1cf60ad

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.