ETH Price: $2,318.49 (-1.46%)

Contract

0x99cDD038Ab97ABEFEF6FBb88eC1329B532Fb1C8a
 

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
Approve217552552025-02-02 0:29:11408 days ago1738456151IN
0x99cDD038...532Fb1C8a
0 ETH0.000173723.68105072
Approve168637452023-03-19 19:10:111094 days ago1679253011IN
0x99cDD038...532Fb1C8a
0 ETH0.0020174542.97661098
Approve168637362023-03-19 19:08:111094 days ago1679252891IN
0x99cDD038...532Fb1C8a
0 ETH0.0015258432.50431137
Transfer168637052023-03-19 19:01:591094 days ago1679252519IN
0x99cDD038...532Fb1C8a
0 ETH0.0016643120.67314348
Transfer168636782023-03-19 18:56:351094 days ago1679252195IN
0x99cDD038...532Fb1C8a
0 ETH0.0013766517.59276252
Transfer168636102023-03-19 18:42:591094 days ago1679251379IN
0x99cDD038...532Fb1C8a
0 ETH0.0017601921.77116262
Transfer168635782023-03-19 18:36:351094 days ago1679250995IN
0x99cDD038...532Fb1C8a
0 ETH0.0019251723.81171391
Transfer168635592023-03-19 18:32:351094 days ago1679250755IN
0x99cDD038...532Fb1C8a
0 ETH0.0020698125.60071908
Transfer168635382023-03-19 18:28:231094 days ago1679250503IN
0x99cDD038...532Fb1C8a
0 ETH0.0015813819.55955389
Transfer168634742023-03-19 18:15:351094 days ago1679249735IN
0x99cDD038...532Fb1C8a
0 ETH0.0053158221.78268305
Set Fee168626562023-03-19 15:28:591094 days ago1679239739IN
0x99cDD038...532Fb1C8a
0 ETH0.0007701119.62079012
Approve168625502023-03-19 15:06:471094 days ago1679238407IN
0x99cDD038...532Fb1C8a
0 ETH0.0016724735.62781169
Approve168625502023-03-19 15:06:471094 days ago1679238407IN
0x99cDD038...532Fb1C8a
0 ETH0.0016724735.62781169
Approve168625502023-03-19 15:06:471094 days ago1679238407IN
0x99cDD038...532Fb1C8a
0 ETH0.0016724735.62781169
Transfer168622982023-03-19 14:15:471094 days ago1679235347IN
0x99cDD038...532Fb1C8a
0 ETH0.0014506217.46666134
Transfer168622892023-03-19 14:13:591094 days ago1679235239IN
0x99cDD038...532Fb1C8a
0 ETH0.0014251317.15977575
Transfer168622842023-03-19 14:12:591094 days ago1679235179IN
0x99cDD038...532Fb1C8a
0 ETH0.0016188316.16389306
Transfer168622692023-03-19 14:09:591094 days ago1679234999IN
0x99cDD038...532Fb1C8a
0 ETH0.0013087415.89252608
Approve168612982023-03-19 10:53:351094 days ago1679223215IN
0x99cDD038...532Fb1C8a
0 ETH0.000616313.14559064
Approve168605442023-03-19 8:20:591094 days ago1679214059IN
0x99cDD038...532Fb1C8a
0 ETH0.0009325619.86599893
Approve168605442023-03-19 8:20:591094 days ago1679214059IN
0x99cDD038...532Fb1C8a
0 ETH0.0009325619.86599893
Approve168605432023-03-19 8:20:471094 days ago1679214047IN
0x99cDD038...532Fb1C8a
0 ETH0.0009150419.49258
Approve168605432023-03-19 8:20:471094 days ago1679214047IN
0x99cDD038...532Fb1C8a
0 ETH0.0009150419.49258
Approve168605432023-03-19 8:20:471094 days ago1679214047IN
0x99cDD038...532Fb1C8a
0 ETH0.0009150419.49258
Approve168605432023-03-19 8:20:471094 days ago1679214047IN
0x99cDD038...532Fb1C8a
0 ETH0.0009150419.49258
View all transactions

Latest 9 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer217580982025-02-02 10:01:59408 days ago1738490519
0x99cDD038...532Fb1C8a
0.0004415 ETH
Transfer217580982025-02-02 10:01:59408 days ago1738490519
0x99cDD038...532Fb1C8a
0.0004415 ETH
Transfer217580982025-02-02 10:01:59408 days ago1738490519
0x99cDD038...532Fb1C8a
0.000883 ETH
Transfer168634742023-03-19 18:15:351094 days ago1679249735
0x99cDD038...532Fb1C8a
0.04035423 ETH
Transfer168634742023-03-19 18:15:351094 days ago1679249735
0x99cDD038...532Fb1C8a
0.04035423 ETH
Transfer168634742023-03-19 18:15:351094 days ago1679249735
0x99cDD038...532Fb1C8a
0.08070847 ETH
Transfer168611472023-03-19 10:22:471094 days ago1679221367
0x99cDD038...532Fb1C8a
0.13008236 ETH
Transfer168611472023-03-19 10:22:471094 days ago1679221367
0x99cDD038...532Fb1C8a
0.13008236 ETH
Transfer168611472023-03-19 10:22:471094 days ago1679221367
0x99cDD038...532Fb1C8a
0.26016473 ETH
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:
tBONE

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-03-19
*/

// SPDX-License-Identifier: UNLICENSED
// Telegram     https://t.me/TRUMPBONE
pragma solidity ^0.8.19;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function 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;
    }
}
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;
    }
}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
contract tBONE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "Trump Bone";
    string private constant _symbol = "tBONE";
    uint8 private constant _decimals = 9;
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 230000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 4;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 4;
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
    mapping(address => bool) public bots;
    mapping(address => uint256) private cooldown;
    address payable private _developmentAddress = payable(0x71a150518225Ccdbf87338f73D8b793E014b52a1);
    address payable private _marketingAddress = payable(0xE9D49153fb3416da5F1dFdf639f7CbbB2D89A1Ca);
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    uint256 public _maxTxAmount = 4600000 * 10**9; 
    uint256 public _maxWalletSize = 4600000 * 10**9; 
    uint256 public _swapTokensAtAmount = 1000000 * 10**9; 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor() {
        _rOwned[_msgSender()] = _rTotal;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        _isExcludedFromFee[address(0x4bBF327053c18ee62BF4342F2C34Fe2b1c294f41)] = true;
        _isExcludedFromFee[address(0x9DC43d009a8535d034838ad6bF4f8dcFd4697E14)] = true;
        _isExcludedFromFee[address(0x4f24FeE384beD3c6FE06508ea25D9C1F9C05acF2)] = true;
        _isExcludedFromFee[address(0x1308b7611C4fc448fA21c064A5fe33C801ff0c17)] = true;
        _isExcludedFromFee[address(0xdaa9F016e1dCC5Ea6C0B2AD6A4ce79729c7AbBFd)] = true;
        _isExcludedFromFee[address(0xd0d4361Dc8F05Cdc6c1F2248414b0fD9e9E7db89)] = true;
        bots[address(0x66f049111958809841Bbe4b81c034Da2D953AA0c)] = true;
        bots[address(0x000000005736775Feb0C8568e7DEe77222a26880)] = true;
        bots[address(0x34822A742BDE3beF13acabF14244869841f06A73)] = true;
        bots[address(0x69611A66d0CF67e5Ddd1957e6499b5C5A3E44845)] = true;
        bots[address(0x69611A66d0CF67e5Ddd1957e6499b5C5A3E44845)] = true;
        bots[address(0x8484eFcBDa76955463aa12e1d504D7C6C89321F8)] = true;
        bots[address(0xe5265ce4D0a3B191431e1bac056d72b2b9F0Fe44)] = true;
        bots[address(0x33F9Da98C57674B5FC5AE7349E3C732Cf2E6Ce5C)] = true;
        bots[address(0xc59a8E2d2c476BA9122aa4eC19B4c5E2BBAbbC28)] = true;
        bots[address(0x21053Ff2D9Fc37D4DB8687d48bD0b57581c1333D)] = true;
        bots[address(0x4dd6A0D3191A41522B84BC6b65d17f6f5e6a4192)] = true;     
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
    function name() public pure returns (string memory) {
        return _name;
    }
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return 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 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 removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
        _redisFee = 0;
        _taxFee = 0;
    }
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }
    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");
        if (from != owner() && to != owner()) {
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeFee = true;
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
        }
        _tokenTransfer(from, to, amount, takeFee);
    }
    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 {
        _developmentAddress.transfer(amount.div(2));
        _marketingAddress.transfer(amount.div(2));
    }
    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }
    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }
    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 _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        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 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).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);
    }
    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    // Withdraw an ERC20 Token from contract
    function withdrawToken(address _tokenContract, uint256 _amount) public onlyOwner  {
        IERC20 tokenContract = IERC20(_tokenContract);
        tokenContract.transfer(msg.sender, _amount);
    }
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
    function setMarketMaker(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }
}

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":"_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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","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":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setMarketMaker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","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"},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526703311fc80a5700006000196200001c919062000ddf565b6000196200002b919062000e46565b600655600060085560046009556000600a556004600b55600a54600c55600b54600d55600c54600e55600d54600f557371a150518225ccdbf87338f73d8b793e014b52a1601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e9d49153fb3416da5f1dfdf639f7cbbb2d89a1ca601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff021916908315150217905550661057acf5f78000601655661057acf5f7800060175566038d7ea4c680006018553480156200016757600080fd5b5060006200017a62000d7560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600654600260006200022f62000d7560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000313573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000339919062000eeb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c7919062000eeb565b6040518363ffffffff1660e01b8152600401620003e692919062000f2e565b6020604051808303816000875af115801562000406573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042c919062000eeb565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560006200048262000d7d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000734bbf327053c18ee62bf4342f2c34fe2b1c294f4173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000739dc43d009a8535d034838ad6bf4f8dcfd4697e1473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000734f24fee384bed3c6fe06508ea25d9c1f9c05acf273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000731308b7611c4fc448fa21c064a5fe33c801ff0c1773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016005600073daa9f016e1dcc5ea6c0b2ad6a4ce79729c7abbfd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016005600073d0d4361dc8f05cdc6c1f2248414b0fd9e9e7db8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060007366f049111958809841bbe4b81c034da2d953aa0c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060006f5736775feb0c8568e7dee77222a2688073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060007334822a742bde3bef13acabf14244869841f06a7373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060007369611a66d0cf67e5ddd1957e6499b5c5a3e4484573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060007369611a66d0cf67e5ddd1957e6499b5c5a3e4484573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000738484efcbda76955463aa12e1d504d7c6c89321f873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016010600073e5265ce4d0a3b191431e1bac056d72b2b9f0fe4473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060007333f9da98c57674b5fc5ae7349e3c732cf2e6ce5c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016010600073c59a8e2d2c476ba9122aa4ec19b4c5e2bbabbc2873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060007321053ff2d9fc37d4db8687d48bd0b57581c1333d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000734dd6a0d3191a41522b84bc6b65d17f6f5e6a419273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000cff62000d7560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6703311fc80a57000060405162000d66919062000f6c565b60405180910390a35062000f89565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000dec8262000da6565b915062000df98362000da6565b92508262000e0c5762000e0b62000db0565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000e538262000da6565b915062000e608362000da6565b925082820390508181111562000e7b5762000e7a62000e17565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000eb38262000e86565b9050919050565b62000ec58162000ea6565b811462000ed157600080fd5b50565b60008151905062000ee58162000eba565b92915050565b60006020828403121562000f045762000f0362000e81565b5b600062000f148482850162000ed4565b91505092915050565b62000f288162000ea6565b82525050565b600060408201905062000f45600083018562000f1d565b62000f54602083018462000f1d565b9392505050565b62000f668162000da6565b82525050565b600060208201905062000f83600083018462000f5b565b92915050565b613f6d8062000f996000396000f3fe6080604052600436106101d05760003560e01c806374010ece116100f75780639e281a9811610095578063c3c8cd8011610064578063c3c8cd801461065a578063dd62ed3e14610671578063ea1644d5146106ae578063f2fde38b146106d7576101d7565b80639e281a981461058e578063a2a957bb146105b7578063a9059cbb146105e0578063bfd792841461061d576101d7565b80638f70ccf7116100d15780638f70ccf7146104e65780638f9a55c01461050f57806395d89b411461053a57806398a5c31514610565576101d7565b806374010ece146104675780637d1db4a5146104905780638da5cb5b146104bb576101d7565b8063313ce5671161016f5780636d8aa8f81161013e5780636d8aa8f8146103d35780636fc3eaec146103fc57806370a0823114610413578063715018a614610450576101d7565b8063313ce5671461032b57806349bd5a5e14610356578063672c0b7b146103815780636b999053146103aa576101d7565b80631694505e116101ab5780631694505e1461026d57806318160ddd1461029857806323b872dd146102c35780632fd689e314610300576101d7565b8062b8cf2a146101dc57806306fdde0314610205578063095ea7b314610230576101d7565b366101d757005b600080fd5b3480156101e857600080fd5b5061020360048036038101906101fe9190612ed2565b610700565b005b34801561021157600080fd5b5061021a61082a565b6040516102279190612f9a565b60405180910390f35b34801561023c57600080fd5b5061025760048036038101906102529190612ff2565b610867565b604051610264919061304d565b60405180910390f35b34801561027957600080fd5b50610282610885565b60405161028f91906130c7565b60405180910390f35b3480156102a457600080fd5b506102ad6108ab565b6040516102ba91906130f1565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e5919061310c565b6108bb565b6040516102f7919061304d565b60405180910390f35b34801561030c57600080fd5b50610315610994565b60405161032291906130f1565b60405180910390f35b34801561033757600080fd5b5061034061099a565b60405161034d919061317b565b60405180910390f35b34801561036257600080fd5b5061036b6109a3565b60405161037891906131a5565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a39190613247565b6109c9565b005b3480156103b657600080fd5b506103d160048036038101906103cc91906132a7565b610b03565b005b3480156103df57600080fd5b506103fa60048036038101906103f591906132d4565b610bf3565b005b34801561040857600080fd5b50610411610ca5565b005b34801561041f57600080fd5b5061043a600480360381019061043591906132a7565b610d76565b60405161044791906130f1565b60405180910390f35b34801561045c57600080fd5b50610465610dc7565b005b34801561047357600080fd5b5061048e60048036038101906104899190613301565b610f1a565b005b34801561049c57600080fd5b506104a5610fb9565b6040516104b291906130f1565b60405180910390f35b3480156104c757600080fd5b506104d0610fbf565b6040516104dd91906131a5565b60405180910390f35b3480156104f257600080fd5b5061050d600480360381019061050891906132d4565b610fe8565b005b34801561051b57600080fd5b5061052461109a565b60405161053191906130f1565b60405180910390f35b34801561054657600080fd5b5061054f6110a0565b60405161055c9190612f9a565b60405180910390f35b34801561057157600080fd5b5061058c60048036038101906105879190613301565b6110dd565b005b34801561059a57600080fd5b506105b560048036038101906105b09190612ff2565b61117c565b005b3480156105c357600080fd5b506105de60048036038101906105d9919061332e565b61129a565b005b3480156105ec57600080fd5b5061060760048036038101906106029190612ff2565b611351565b604051610614919061304d565b60405180910390f35b34801561062957600080fd5b50610644600480360381019061063f91906132a7565b61136f565b604051610651919061304d565b60405180910390f35b34801561066657600080fd5b5061066f61138f565b005b34801561067d57600080fd5b5061069860048036038101906106939190613395565b611468565b6040516106a591906130f1565b60405180910390f35b3480156106ba57600080fd5b506106d560048036038101906106d09190613301565b6114ef565b005b3480156106e357600080fd5b506106fe60048036038101906106f991906132a7565b61158e565b005b61070861174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c90613421565b60405180910390fd5b60005b8151811015610826576001601060008484815181106107ba576107b9613441565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061081e9061349f565b915050610798565b5050565b60606040518060400160405280600a81526020017f5472756d7020426f6e6500000000000000000000000000000000000000000000815250905090565b600061087b61087461174f565b8484611757565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006703311fc80a570000905090565b60006108c8848484611920565b610989846108d461174f565b61098485604051806060016040528060288152602001613f1060289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061093a61174f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a39092919063ffffffff16565b611757565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109d161174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5590613421565b60405180910390fd5b60005b83839050811015610afd578160056000868685818110610a8457610a83613441565b5b9050602002016020810190610a9991906132a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610af59061349f565b915050610a61565b50505050565b610b0b61174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8f90613421565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610bfb61174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f90613421565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ce661174f565b73ffffffffffffffffffffffffffffffffffffffff161480610d5c5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d4461174f565b73ffffffffffffffffffffffffffffffffffffffff16145b610d6557600080fd5b6000479050610d7381612207565b50565b6000610dc0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612302565b9050919050565b610dcf61174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5390613421565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f2261174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa690613421565b60405180910390fd5b8060168190555050565b60165481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ff061174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461107d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107490613421565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b60606040518060400160405280600581526020017f74424f4e45000000000000000000000000000000000000000000000000000000815250905090565b6110e561174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116990613421565b60405180910390fd5b8060188190555050565b61118461174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611211576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120890613421565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b81526004016112519291906134e7565b6020604051808303816000875af1158015611270573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112949190613525565b50505050565b6112a261174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132690613421565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b600061136561135e61174f565b8484611920565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113d061174f565b73ffffffffffffffffffffffffffffffffffffffff1614806114465750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661142e61174f565b73ffffffffffffffffffffffffffffffffffffffff16145b61144f57600080fd5b600061145a30610d76565b905061146581612370565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114f761174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157b90613421565b60405180910390fd5b8060178190555050565b61159661174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161a90613421565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611692576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611689906135c4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bd90613656565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182c906136e8565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161191391906130f1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361198f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119869061377a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f59061380c565b60405180910390fd5b60008111611a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a389061389e565b60405180910390fd5b611a49610fbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ab75750611a87610fbf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611ea257601560149054906101000a900460ff16611b4657611ad8610fbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3c90613930565b60405180910390fd5b5b601654811115611b8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b829061399c565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c2f5750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611c6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6590613a2e565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611d1b5760175481611cd084610d76565b611cda9190613a4e565b10611d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1190613af4565b60405180910390fd5b5b6000611d2630610d76565b9050600060185482101590506016548210611d415760165491505b808015611d59575060158054906101000a900460ff16155b8015611db35750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611dcb5750601560169054906101000a900460ff165b8015611e215750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611e775750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e9f57611e8582612370565b60004790506000811115611e9d57611e9c47612207565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611f495750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ffc5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ffb5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561200a5760009050612191565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156120b55750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156120cd57600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121785750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561219057600a54600c81905550600b54600d819055505b5b61219d848484846125e7565b50505050565b60008383111582906121eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e29190612f9a565b60405180910390fd5b50600083856121fa9190613b14565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61225760028461261490919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612282573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6122d360028461261490919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156122fe573d6000803e3d6000fd5b5050565b6000600654821115612349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234090613bba565b60405180910390fd5b600061235361265e565b9050612368818461261490919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156123a7576123a6612d31565b5b6040519080825280602002602001820160405280156123d55781602001602082028036833780820191505090505b50905030816000815181106123ed576123ec613441565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612494573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124b89190613bef565b816001815181106124cc576124cb613441565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061253330601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611757565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612597959493929190613d15565b600060405180830381600087803b1580156125b157600080fd5b505af11580156125c5573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806125f5576125f4612689565b5b6126008484846126c6565b8061260e5761260d612891565b5b50505050565b600061265683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128a5565b905092915050565b600080600061266b612908565b91509150612682818361261490919063ffffffff16565b9250505090565b6000600c5414801561269d57506000600d54145b6126c457600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b6000806000806000806126d887612967565b95509550955095509550955061273686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cf90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127cb85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a1990919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061281781612a77565b6128218483612b34565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161287e91906130f1565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b600080831182906128ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e39190612f9a565b60405180910390fd5b50600083856128fb9190613d9e565b9050809150509392505050565b6000806000600654905060006703311fc80a570000905061293c6703311fc80a57000060065461261490919063ffffffff16565b82101561295a576006546703311fc80a570000935093505050612963565b81819350935050505b9091565b60008060008060008060008060006129848a600c54600d54612b6e565b925092509250600061299461265e565b905060008060006129a78e878787612c04565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612a1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121a3565b905092915050565b6000808284612a289190613a4e565b905083811015612a6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6490613e1b565b60405180910390fd5b8091505092915050565b6000612a8161265e565b90506000612a988284612c8d90919063ffffffff16565b9050612aec81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a1990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612b49826006546129cf90919063ffffffff16565b600681905550612b6481600754612a1990919063ffffffff16565b6007819055505050565b600080600080612b9a6064612b8c888a612c8d90919063ffffffff16565b61261490919063ffffffff16565b90506000612bc46064612bb6888b612c8d90919063ffffffff16565b61261490919063ffffffff16565b90506000612bed82612bdf858c6129cf90919063ffffffff16565b6129cf90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612c1d8589612c8d90919063ffffffff16565b90506000612c348689612c8d90919063ffffffff16565b90506000612c4b8789612c8d90919063ffffffff16565b90506000612c7482612c6685876129cf90919063ffffffff16565b6129cf90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612c9f5760009050612d01565b60008284612cad9190613e3b565b9050828482612cbc9190613d9e565b14612cfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cf390613eef565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612d6982612d20565b810181811067ffffffffffffffff82111715612d8857612d87612d31565b5b80604052505050565b6000612d9b612d07565b9050612da78282612d60565b919050565b600067ffffffffffffffff821115612dc757612dc6612d31565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e0882612ddd565b9050919050565b612e1881612dfd565b8114612e2357600080fd5b50565b600081359050612e3581612e0f565b92915050565b6000612e4e612e4984612dac565b612d91565b90508083825260208201905060208402830185811115612e7157612e70612dd8565b5b835b81811015612e9a5780612e868882612e26565b845260208401935050602081019050612e73565b5050509392505050565b600082601f830112612eb957612eb8612d1b565b5b8135612ec9848260208601612e3b565b91505092915050565b600060208284031215612ee857612ee7612d11565b5b600082013567ffffffffffffffff811115612f0657612f05612d16565b5b612f1284828501612ea4565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f55578082015181840152602081019050612f3a565b60008484015250505050565b6000612f6c82612f1b565b612f768185612f26565b9350612f86818560208601612f37565b612f8f81612d20565b840191505092915050565b60006020820190508181036000830152612fb48184612f61565b905092915050565b6000819050919050565b612fcf81612fbc565b8114612fda57600080fd5b50565b600081359050612fec81612fc6565b92915050565b6000806040838503121561300957613008612d11565b5b600061301785828601612e26565b925050602061302885828601612fdd565b9150509250929050565b60008115159050919050565b61304781613032565b82525050565b6000602082019050613062600083018461303e565b92915050565b6000819050919050565b600061308d61308861308384612ddd565b613068565b612ddd565b9050919050565b600061309f82613072565b9050919050565b60006130b182613094565b9050919050565b6130c1816130a6565b82525050565b60006020820190506130dc60008301846130b8565b92915050565b6130eb81612fbc565b82525050565b600060208201905061310660008301846130e2565b92915050565b60008060006060848603121561312557613124612d11565b5b600061313386828701612e26565b935050602061314486828701612e26565b925050604061315586828701612fdd565b9150509250925092565b600060ff82169050919050565b6131758161315f565b82525050565b6000602082019050613190600083018461316c565b92915050565b61319f81612dfd565b82525050565b60006020820190506131ba6000830184613196565b92915050565b600080fd5b60008083601f8401126131db576131da612d1b565b5b8235905067ffffffffffffffff8111156131f8576131f76131c0565b5b60208301915083602082028301111561321457613213612dd8565b5b9250929050565b61322481613032565b811461322f57600080fd5b50565b6000813590506132418161321b565b92915050565b6000806000604084860312156132605761325f612d11565b5b600084013567ffffffffffffffff81111561327e5761327d612d16565b5b61328a868287016131c5565b9350935050602061329d86828701613232565b9150509250925092565b6000602082840312156132bd576132bc612d11565b5b60006132cb84828501612e26565b91505092915050565b6000602082840312156132ea576132e9612d11565b5b60006132f884828501613232565b91505092915050565b60006020828403121561331757613316612d11565b5b600061332584828501612fdd565b91505092915050565b6000806000806080858703121561334857613347612d11565b5b600061335687828801612fdd565b945050602061336787828801612fdd565b935050604061337887828801612fdd565b925050606061338987828801612fdd565b91505092959194509250565b600080604083850312156133ac576133ab612d11565b5b60006133ba85828601612e26565b92505060206133cb85828601612e26565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061340b602083612f26565b9150613416826133d5565b602082019050919050565b6000602082019050818103600083015261343a816133fe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134aa82612fbc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036134dc576134db613470565b5b600182019050919050565b60006040820190506134fc6000830185613196565b61350960208301846130e2565b9392505050565b60008151905061351f8161321b565b92915050565b60006020828403121561353b5761353a612d11565b5b600061354984828501613510565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006135ae602683612f26565b91506135b982613552565b604082019050919050565b600060208201905081810360008301526135dd816135a1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613640602483612f26565b915061364b826135e4565b604082019050919050565b6000602082019050818103600083015261366f81613633565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006136d2602283612f26565b91506136dd82613676565b604082019050919050565b60006020820190508181036000830152613701816136c5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613764602583612f26565b915061376f82613708565b604082019050919050565b6000602082019050818103600083015261379381613757565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006137f6602383612f26565b91506138018261379a565b604082019050919050565b60006020820190508181036000830152613825816137e9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613888602983612f26565b91506138938261382c565b604082019050919050565b600060208201905081810360008301526138b78161387b565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b600061391a603f83612f26565b9150613925826138be565b604082019050919050565b600060208201905081810360008301526139498161390d565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613986601c83612f26565b915061399182613950565b602082019050919050565b600060208201905081810360008301526139b581613979565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613a18602383612f26565b9150613a23826139bc565b604082019050919050565b60006020820190508181036000830152613a4781613a0b565b9050919050565b6000613a5982612fbc565b9150613a6483612fbc565b9250828201905080821115613a7c57613a7b613470565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613ade602383612f26565b9150613ae982613a82565b604082019050919050565b60006020820190508181036000830152613b0d81613ad1565b9050919050565b6000613b1f82612fbc565b9150613b2a83612fbc565b9250828203905081811115613b4257613b41613470565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613ba4602a83612f26565b9150613baf82613b48565b604082019050919050565b60006020820190508181036000830152613bd381613b97565b9050919050565b600081519050613be981612e0f565b92915050565b600060208284031215613c0557613c04612d11565b5b6000613c1384828501613bda565b91505092915050565b6000819050919050565b6000613c41613c3c613c3784613c1c565b613068565b612fbc565b9050919050565b613c5181613c26565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613c8c81612dfd565b82525050565b6000613c9e8383613c83565b60208301905092915050565b6000602082019050919050565b6000613cc282613c57565b613ccc8185613c62565b9350613cd783613c73565b8060005b83811015613d08578151613cef8882613c92565b9750613cfa83613caa565b925050600181019050613cdb565b5085935050505092915050565b600060a082019050613d2a60008301886130e2565b613d376020830187613c48565b8181036040830152613d498186613cb7565b9050613d586060830185613196565b613d6560808301846130e2565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613da982612fbc565b9150613db483612fbc565b925082613dc457613dc3613d6f565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613e05601b83612f26565b9150613e1082613dcf565b602082019050919050565b60006020820190508181036000830152613e3481613df8565b9050919050565b6000613e4682612fbc565b9150613e5183612fbc565b9250828202613e5f81612fbc565b91508282048414831517613e7657613e75613470565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ed9602183612f26565b9150613ee482613e7d565b604082019050919050565b60006020820190508181036000830152613f0881613ecc565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b26b4934a4f39e913bcbbed1d29ef3483fb7eec1270857e04107c7ba0806718664736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101d05760003560e01c806374010ece116100f75780639e281a9811610095578063c3c8cd8011610064578063c3c8cd801461065a578063dd62ed3e14610671578063ea1644d5146106ae578063f2fde38b146106d7576101d7565b80639e281a981461058e578063a2a957bb146105b7578063a9059cbb146105e0578063bfd792841461061d576101d7565b80638f70ccf7116100d15780638f70ccf7146104e65780638f9a55c01461050f57806395d89b411461053a57806398a5c31514610565576101d7565b806374010ece146104675780637d1db4a5146104905780638da5cb5b146104bb576101d7565b8063313ce5671161016f5780636d8aa8f81161013e5780636d8aa8f8146103d35780636fc3eaec146103fc57806370a0823114610413578063715018a614610450576101d7565b8063313ce5671461032b57806349bd5a5e14610356578063672c0b7b146103815780636b999053146103aa576101d7565b80631694505e116101ab5780631694505e1461026d57806318160ddd1461029857806323b872dd146102c35780632fd689e314610300576101d7565b8062b8cf2a146101dc57806306fdde0314610205578063095ea7b314610230576101d7565b366101d757005b600080fd5b3480156101e857600080fd5b5061020360048036038101906101fe9190612ed2565b610700565b005b34801561021157600080fd5b5061021a61082a565b6040516102279190612f9a565b60405180910390f35b34801561023c57600080fd5b5061025760048036038101906102529190612ff2565b610867565b604051610264919061304d565b60405180910390f35b34801561027957600080fd5b50610282610885565b60405161028f91906130c7565b60405180910390f35b3480156102a457600080fd5b506102ad6108ab565b6040516102ba91906130f1565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e5919061310c565b6108bb565b6040516102f7919061304d565b60405180910390f35b34801561030c57600080fd5b50610315610994565b60405161032291906130f1565b60405180910390f35b34801561033757600080fd5b5061034061099a565b60405161034d919061317b565b60405180910390f35b34801561036257600080fd5b5061036b6109a3565b60405161037891906131a5565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a39190613247565b6109c9565b005b3480156103b657600080fd5b506103d160048036038101906103cc91906132a7565b610b03565b005b3480156103df57600080fd5b506103fa60048036038101906103f591906132d4565b610bf3565b005b34801561040857600080fd5b50610411610ca5565b005b34801561041f57600080fd5b5061043a600480360381019061043591906132a7565b610d76565b60405161044791906130f1565b60405180910390f35b34801561045c57600080fd5b50610465610dc7565b005b34801561047357600080fd5b5061048e60048036038101906104899190613301565b610f1a565b005b34801561049c57600080fd5b506104a5610fb9565b6040516104b291906130f1565b60405180910390f35b3480156104c757600080fd5b506104d0610fbf565b6040516104dd91906131a5565b60405180910390f35b3480156104f257600080fd5b5061050d600480360381019061050891906132d4565b610fe8565b005b34801561051b57600080fd5b5061052461109a565b60405161053191906130f1565b60405180910390f35b34801561054657600080fd5b5061054f6110a0565b60405161055c9190612f9a565b60405180910390f35b34801561057157600080fd5b5061058c60048036038101906105879190613301565b6110dd565b005b34801561059a57600080fd5b506105b560048036038101906105b09190612ff2565b61117c565b005b3480156105c357600080fd5b506105de60048036038101906105d9919061332e565b61129a565b005b3480156105ec57600080fd5b5061060760048036038101906106029190612ff2565b611351565b604051610614919061304d565b60405180910390f35b34801561062957600080fd5b50610644600480360381019061063f91906132a7565b61136f565b604051610651919061304d565b60405180910390f35b34801561066657600080fd5b5061066f61138f565b005b34801561067d57600080fd5b5061069860048036038101906106939190613395565b611468565b6040516106a591906130f1565b60405180910390f35b3480156106ba57600080fd5b506106d560048036038101906106d09190613301565b6114ef565b005b3480156106e357600080fd5b506106fe60048036038101906106f991906132a7565b61158e565b005b61070861174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c90613421565b60405180910390fd5b60005b8151811015610826576001601060008484815181106107ba576107b9613441565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061081e9061349f565b915050610798565b5050565b60606040518060400160405280600a81526020017f5472756d7020426f6e6500000000000000000000000000000000000000000000815250905090565b600061087b61087461174f565b8484611757565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006703311fc80a570000905090565b60006108c8848484611920565b610989846108d461174f565b61098485604051806060016040528060288152602001613f1060289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061093a61174f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a39092919063ffffffff16565b611757565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109d161174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5590613421565b60405180910390fd5b60005b83839050811015610afd578160056000868685818110610a8457610a83613441565b5b9050602002016020810190610a9991906132a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610af59061349f565b915050610a61565b50505050565b610b0b61174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8f90613421565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610bfb61174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f90613421565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ce661174f565b73ffffffffffffffffffffffffffffffffffffffff161480610d5c5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d4461174f565b73ffffffffffffffffffffffffffffffffffffffff16145b610d6557600080fd5b6000479050610d7381612207565b50565b6000610dc0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612302565b9050919050565b610dcf61174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5390613421565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f2261174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa690613421565b60405180910390fd5b8060168190555050565b60165481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ff061174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461107d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107490613421565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b60606040518060400160405280600581526020017f74424f4e45000000000000000000000000000000000000000000000000000000815250905090565b6110e561174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116990613421565b60405180910390fd5b8060188190555050565b61118461174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611211576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120890613421565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b81526004016112519291906134e7565b6020604051808303816000875af1158015611270573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112949190613525565b50505050565b6112a261174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132690613421565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b600061136561135e61174f565b8484611920565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113d061174f565b73ffffffffffffffffffffffffffffffffffffffff1614806114465750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661142e61174f565b73ffffffffffffffffffffffffffffffffffffffff16145b61144f57600080fd5b600061145a30610d76565b905061146581612370565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114f761174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157b90613421565b60405180910390fd5b8060178190555050565b61159661174f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161a90613421565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611692576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611689906135c4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bd90613656565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182c906136e8565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161191391906130f1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361198f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119869061377a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f59061380c565b60405180910390fd5b60008111611a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a389061389e565b60405180910390fd5b611a49610fbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ab75750611a87610fbf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611ea257601560149054906101000a900460ff16611b4657611ad8610fbf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3c90613930565b60405180910390fd5b5b601654811115611b8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b829061399c565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c2f5750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611c6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6590613a2e565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611d1b5760175481611cd084610d76565b611cda9190613a4e565b10611d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1190613af4565b60405180910390fd5b5b6000611d2630610d76565b9050600060185482101590506016548210611d415760165491505b808015611d59575060158054906101000a900460ff16155b8015611db35750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611dcb5750601560169054906101000a900460ff165b8015611e215750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611e775750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e9f57611e8582612370565b60004790506000811115611e9d57611e9c47612207565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611f495750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ffc5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ffb5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561200a5760009050612191565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156120b55750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156120cd57600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121785750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561219057600a54600c81905550600b54600d819055505b5b61219d848484846125e7565b50505050565b60008383111582906121eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e29190612f9a565b60405180910390fd5b50600083856121fa9190613b14565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61225760028461261490919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612282573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6122d360028461261490919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156122fe573d6000803e3d6000fd5b5050565b6000600654821115612349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234090613bba565b60405180910390fd5b600061235361265e565b9050612368818461261490919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156123a7576123a6612d31565b5b6040519080825280602002602001820160405280156123d55781602001602082028036833780820191505090505b50905030816000815181106123ed576123ec613441565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612494573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124b89190613bef565b816001815181106124cc576124cb613441565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061253330601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611757565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612597959493929190613d15565b600060405180830381600087803b1580156125b157600080fd5b505af11580156125c5573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806125f5576125f4612689565b5b6126008484846126c6565b8061260e5761260d612891565b5b50505050565b600061265683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128a5565b905092915050565b600080600061266b612908565b91509150612682818361261490919063ffffffff16565b9250505090565b6000600c5414801561269d57506000600d54145b6126c457600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b6000806000806000806126d887612967565b95509550955095509550955061273686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cf90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127cb85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a1990919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061281781612a77565b6128218483612b34565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161287e91906130f1565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b600080831182906128ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e39190612f9a565b60405180910390fd5b50600083856128fb9190613d9e565b9050809150509392505050565b6000806000600654905060006703311fc80a570000905061293c6703311fc80a57000060065461261490919063ffffffff16565b82101561295a576006546703311fc80a570000935093505050612963565b81819350935050505b9091565b60008060008060008060008060006129848a600c54600d54612b6e565b925092509250600061299461265e565b905060008060006129a78e878787612c04565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612a1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121a3565b905092915050565b6000808284612a289190613a4e565b905083811015612a6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6490613e1b565b60405180910390fd5b8091505092915050565b6000612a8161265e565b90506000612a988284612c8d90919063ffffffff16565b9050612aec81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a1990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612b49826006546129cf90919063ffffffff16565b600681905550612b6481600754612a1990919063ffffffff16565b6007819055505050565b600080600080612b9a6064612b8c888a612c8d90919063ffffffff16565b61261490919063ffffffff16565b90506000612bc46064612bb6888b612c8d90919063ffffffff16565b61261490919063ffffffff16565b90506000612bed82612bdf858c6129cf90919063ffffffff16565b6129cf90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612c1d8589612c8d90919063ffffffff16565b90506000612c348689612c8d90919063ffffffff16565b90506000612c4b8789612c8d90919063ffffffff16565b90506000612c7482612c6685876129cf90919063ffffffff16565b6129cf90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612c9f5760009050612d01565b60008284612cad9190613e3b565b9050828482612cbc9190613d9e565b14612cfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cf390613eef565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612d6982612d20565b810181811067ffffffffffffffff82111715612d8857612d87612d31565b5b80604052505050565b6000612d9b612d07565b9050612da78282612d60565b919050565b600067ffffffffffffffff821115612dc757612dc6612d31565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e0882612ddd565b9050919050565b612e1881612dfd565b8114612e2357600080fd5b50565b600081359050612e3581612e0f565b92915050565b6000612e4e612e4984612dac565b612d91565b90508083825260208201905060208402830185811115612e7157612e70612dd8565b5b835b81811015612e9a5780612e868882612e26565b845260208401935050602081019050612e73565b5050509392505050565b600082601f830112612eb957612eb8612d1b565b5b8135612ec9848260208601612e3b565b91505092915050565b600060208284031215612ee857612ee7612d11565b5b600082013567ffffffffffffffff811115612f0657612f05612d16565b5b612f1284828501612ea4565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f55578082015181840152602081019050612f3a565b60008484015250505050565b6000612f6c82612f1b565b612f768185612f26565b9350612f86818560208601612f37565b612f8f81612d20565b840191505092915050565b60006020820190508181036000830152612fb48184612f61565b905092915050565b6000819050919050565b612fcf81612fbc565b8114612fda57600080fd5b50565b600081359050612fec81612fc6565b92915050565b6000806040838503121561300957613008612d11565b5b600061301785828601612e26565b925050602061302885828601612fdd565b9150509250929050565b60008115159050919050565b61304781613032565b82525050565b6000602082019050613062600083018461303e565b92915050565b6000819050919050565b600061308d61308861308384612ddd565b613068565b612ddd565b9050919050565b600061309f82613072565b9050919050565b60006130b182613094565b9050919050565b6130c1816130a6565b82525050565b60006020820190506130dc60008301846130b8565b92915050565b6130eb81612fbc565b82525050565b600060208201905061310660008301846130e2565b92915050565b60008060006060848603121561312557613124612d11565b5b600061313386828701612e26565b935050602061314486828701612e26565b925050604061315586828701612fdd565b9150509250925092565b600060ff82169050919050565b6131758161315f565b82525050565b6000602082019050613190600083018461316c565b92915050565b61319f81612dfd565b82525050565b60006020820190506131ba6000830184613196565b92915050565b600080fd5b60008083601f8401126131db576131da612d1b565b5b8235905067ffffffffffffffff8111156131f8576131f76131c0565b5b60208301915083602082028301111561321457613213612dd8565b5b9250929050565b61322481613032565b811461322f57600080fd5b50565b6000813590506132418161321b565b92915050565b6000806000604084860312156132605761325f612d11565b5b600084013567ffffffffffffffff81111561327e5761327d612d16565b5b61328a868287016131c5565b9350935050602061329d86828701613232565b9150509250925092565b6000602082840312156132bd576132bc612d11565b5b60006132cb84828501612e26565b91505092915050565b6000602082840312156132ea576132e9612d11565b5b60006132f884828501613232565b91505092915050565b60006020828403121561331757613316612d11565b5b600061332584828501612fdd565b91505092915050565b6000806000806080858703121561334857613347612d11565b5b600061335687828801612fdd565b945050602061336787828801612fdd565b935050604061337887828801612fdd565b925050606061338987828801612fdd565b91505092959194509250565b600080604083850312156133ac576133ab612d11565b5b60006133ba85828601612e26565b92505060206133cb85828601612e26565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061340b602083612f26565b9150613416826133d5565b602082019050919050565b6000602082019050818103600083015261343a816133fe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134aa82612fbc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036134dc576134db613470565b5b600182019050919050565b60006040820190506134fc6000830185613196565b61350960208301846130e2565b9392505050565b60008151905061351f8161321b565b92915050565b60006020828403121561353b5761353a612d11565b5b600061354984828501613510565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006135ae602683612f26565b91506135b982613552565b604082019050919050565b600060208201905081810360008301526135dd816135a1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613640602483612f26565b915061364b826135e4565b604082019050919050565b6000602082019050818103600083015261366f81613633565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006136d2602283612f26565b91506136dd82613676565b604082019050919050565b60006020820190508181036000830152613701816136c5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613764602583612f26565b915061376f82613708565b604082019050919050565b6000602082019050818103600083015261379381613757565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006137f6602383612f26565b91506138018261379a565b604082019050919050565b60006020820190508181036000830152613825816137e9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613888602983612f26565b91506138938261382c565b604082019050919050565b600060208201905081810360008301526138b78161387b565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b600061391a603f83612f26565b9150613925826138be565b604082019050919050565b600060208201905081810360008301526139498161390d565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613986601c83612f26565b915061399182613950565b602082019050919050565b600060208201905081810360008301526139b581613979565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613a18602383612f26565b9150613a23826139bc565b604082019050919050565b60006020820190508181036000830152613a4781613a0b565b9050919050565b6000613a5982612fbc565b9150613a6483612fbc565b9250828201905080821115613a7c57613a7b613470565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613ade602383612f26565b9150613ae982613a82565b604082019050919050565b60006020820190508181036000830152613b0d81613ad1565b9050919050565b6000613b1f82612fbc565b9150613b2a83612fbc565b9250828203905081811115613b4257613b41613470565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613ba4602a83612f26565b9150613baf82613b48565b604082019050919050565b60006020820190508181036000830152613bd381613b97565b9050919050565b600081519050613be981612e0f565b92915050565b600060208284031215613c0557613c04612d11565b5b6000613c1384828501613bda565b91505092915050565b6000819050919050565b6000613c41613c3c613c3784613c1c565b613068565b612fbc565b9050919050565b613c5181613c26565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613c8c81612dfd565b82525050565b6000613c9e8383613c83565b60208301905092915050565b6000602082019050919050565b6000613cc282613c57565b613ccc8185613c62565b9350613cd783613c73565b8060005b83811015613d08578151613cef8882613c92565b9750613cfa83613caa565b925050600181019050613cdb565b5085935050505092915050565b600060a082019050613d2a60008301886130e2565b613d376020830187613c48565b8181036040830152613d498186613cb7565b9050613d586060830185613196565b613d6560808301846130e2565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613da982612fbc565b9150613db483612fbc565b925082613dc457613dc3613d6f565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613e05601b83612f26565b9150613e1082613dcf565b602082019050919050565b60006020820190508181036000830152613e3481613df8565b9050919050565b6000613e4682612fbc565b9150613e5183612fbc565b9250828202613e5f81612fbc565b91508282048414831517613e7657613e75613470565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ed9602183612f26565b9150613ee482613e7d565b604082019050919050565b60006020820190508181036000830152613f0881613ecc565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b26b4934a4f39e913bcbbed1d29ef3483fb7eec1270857e04107c7ba0806718664736f6c63430008130033

Deployed Bytecode Sourcemap

4057:14707:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13855:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7815:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8726:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5369:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8086:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8925:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5663:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7997:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5417:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18544:217;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14030:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17948:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13614:235;;;;;;;;;;;;;:::i;:::-;;8187:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1572:148;;;;;;;;;;;;;:::i;:::-;;18309:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5555:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1362:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13265:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5608:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7904:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17803:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18103:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17506:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8331:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5069:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13372:236;;;;;;;;;;;;;:::i;:::-;;8536:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18423:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1726:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13855:169;1497:12;:10;:12::i;:::-;1487:22;;:6;;;;;;;;;;:22;;;1479:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13931:9:::1;13926:91;13950:5;:12;13946:1;:16;13926:91;;;14001:4;13984;:14;13989:5;13995:1;13989:8;;;;;;;;:::i;:::-;;;;;;;;13984:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13964:3;;;;;:::i;:::-;;;;13926:91;;;;13855:169:::0;:::o;7815:83::-;7852:13;7885:5;;;;;;;;;;;;;;;;;7878:12;;7815:83;:::o;8726:193::-;8828:4;8850:39;8859:12;:10;:12::i;:::-;8873:7;8882:6;8850:8;:39::i;:::-;8907:4;8900:11;;8726:193;;;;:::o;5369:41::-;;;;;;;;;;;;;:::o;8086:95::-;8139:7;4598:17;8159:14;;8086:95;:::o;8925:446::-;9057:4;9074:36;9084:6;9092:9;9103:6;9074:9;:36::i;:::-;9121:220;9144:6;9165:12;:10;:12::i;:::-;9192:138;9248:6;9192:138;;;;;;;;;;;;;;;;;:11;:19;9204:6;9192:19;;;;;;;;;;;;;;;:33;9212:12;:10;:12::i;:::-;9192:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;9121:8;:220::i;:::-;9359:4;9352:11;;8925:446;;;;;:::o;5663:52::-;;;;:::o;7997:83::-;8038:5;4274:1;8056:16;;7997:83;:::o;5417:28::-;;;;;;;;;;;;;:::o;18544:217::-;1497:12;:10;:12::i;:::-;1487:22;;:6;;;;;;;;;;:22;;;1479:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18644:9:::1;18640:114;18663:8;;:15;;18659:1;:19;18640:114;;;18734:8;18700:18;:31;18719:8;;18728:1;18719:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18700:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;18680:3;;;;;:::i;:::-;;;;18640:114;;;;18544:217:::0;;;:::o;14030:92::-;1497:12;:10;:12::i;:::-;1487:22;;:6;;;;;;;;;;:22;;;1479:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14109:5:::1;14094:4;:12;14099:6;14094:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14030:92:::0;:::o;17948:101::-;1497:12;:10;:12::i;:::-;1487:22;;:6;;;;;;;;;;:22;;;1479:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18029:12:::1;18015:11;;:26;;;;;;;;;;;;;;;;;;17948:101:::0;:::o;13614:235::-;13680:19;;;;;;;;;;;13664:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13719:17;;;;;;;;;;;13703:33;;:12;:10;:12::i;:::-;:33;;;13664:72;13656:81;;;;;;13748:26;13777:21;13748:50;;13809:32;13822:18;13809:12;:32::i;:::-;13645:204;13614:235::o;8187:138::-;8253:7;8280:37;8300:7;:16;8308:7;8300:16;;;;;;;;;;;;;;;;8280:19;:37::i;:::-;8273:44;;8187:138;;;:::o;1572:148::-;1497:12;:10;:12::i;:::-;1487:22;;:6;;;;;;;;;;:22;;;1479:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1679:1:::1;1642:40;;1663:6;::::0;::::1;;;;;;;;1642:40;;;;;;;;;;;;1710:1;1693:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1572:148::o:0;18309:108::-;1497:12;:10;:12::i;:::-;1487:22;;:6;;;;;;;;;;:22;;;1479:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18398:11:::1;18383:12;:26;;;;18309:108:::0;:::o;5555:45::-;;;;:::o;1362:79::-;1400:7;1427:6;;;;;;;;;;;1420:13;;1362:79;:::o;13265:101::-;1497:12;:10;:12::i;:::-;1487:22;;:6;;;;;;;;;;:22;;;1479:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13346:12:::1;13332:11;;:26;;;;;;;;;;;;;;;;;;13265:101:::0;:::o;5608:47::-;;;;:::o;7904:87::-;7943:13;7976:7;;;;;;;;;;;;;;;;;7969:14;;7904:87;:::o;17803:139::-;1497:12;:10;:12::i;:::-;1487:22;;:6;;;;;;;;;;:22;;;1479:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17916:18:::1;17894:19;:40;;;;17803:139:::0;:::o;18103:200::-;1497:12;:10;:12::i;:::-;1487:22;;:6;;;;;;;;;;:22;;;1479:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18196:20:::1;18226:14;18196:45;;18252:13;:22;;;18275:10;18287:7;18252:43;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18185:118;18103:200:::0;;:::o;17506:291::-;1497:12;:10;:12::i;:::-;1487:22;;:6;;;;;;;;;;:22;;;1479:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17657:13:::1;17640:14;:30;;;;17699:14;17681:15;:32;;;;17739:11;17724:12;:26;;;;17777:12;17761:13;:28;;;;17506:291:::0;;;;:::o;8331:199::-;8436:4;8458:42;8468:12;:10;:12::i;:::-;8482:9;8493:6;8458:9;:42::i;:::-;8518:4;8511:11;;8331:199;;;;:::o;5069:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;13372:236::-;13438:19;;;;;;;;;;;13422:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13477:17;;;;;;;;;;;13461:33;;:12;:10;:12::i;:::-;:33;;;13422:72;13414:81;;;;;;13506:23;13532:24;13550:4;13532:9;:24::i;:::-;13506:50;;13567:33;13584:15;13567:16;:33::i;:::-;13403:205;13372:236::o;8536:184::-;8653:7;8685:11;:18;8697:5;8685:18;;;;;;;;;;;;;;;:27;8704:7;8685:27;;;;;;;;;;;;;;;;8678:34;;8536:184;;;;:::o;18423:115::-;1497:12;:10;:12::i;:::-;1487:22;;:6;;;;;;;;;;:22;;;1479:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18517:13:::1;18500:14;:30;;;;18423:115:::0;:::o;1726:244::-;1497:12;:10;:12::i;:::-;1487:22;;:6;;;;;;;;;;:22;;;1479:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1835:1:::1;1815:22;;:8;:22;;::::0;1807:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1925:8;1896:38;;1917:6;::::0;::::1;;;;;;;;1896:38;;;;;;;;;;;;1954:8;1945:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1726:244:::0;:::o;141:98::-;194:7;221:10;214:17;;141:98;:::o;10050:369::-;10194:1;10177:19;;:5;:19;;;10169:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10275:1;10256:21;;:7;:21;;;10248:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10357:6;10327:11;:18;10339:5;10327:18;;;;;;;;;;;;;;;:27;10346:7;10327:27;;;;;;;;;;;;;;;:36;;;;10395:7;10379:32;;10388:5;10379:32;;;10404:6;10379:32;;;;;;:::i;:::-;;;;;;;;10050:369;;;:::o;10425:2179::-;10563:1;10547:18;;:4;:18;;;10539:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10640:1;10626:16;;:2;:16;;;10618:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10710:1;10701:6;:10;10693:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10780:7;:5;:7::i;:::-;10772:15;;:4;:15;;;;:32;;;;;10797:7;:5;:7::i;:::-;10791:13;;:2;:13;;;;10772:32;10768:1214;;;10826:11;;;;;;;;;;;10821:144;;10874:7;:5;:7::i;:::-;10866:15;;:4;:15;;;10858:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;10821:144;10997:12;;10987:6;:22;;10979:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;11066:4;:10;11071:4;11066:10;;;;;;;;;;;;;;;;;;;;;;;;;11065:11;:24;;;;;11081:4;:8;11086:2;11081:8;;;;;;;;;;;;;;;;;;;;;;;;;11080:9;11065:24;11057:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;11153:13;;;;;;;;;;;11147:19;;:2;:19;;;11144:146;;11220:14;;11211:6;11195:13;11205:2;11195:9;:13::i;:::-;:22;;;;:::i;:::-;:39;11187:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;11144:146;11304:28;11335:24;11353:4;11335:9;:24::i;:::-;11304:55;;11374:12;11413:19;;11389:20;:43;;11374:58;;11474:12;;11450:20;:36;11447:124;;11543:12;;11520:35;;11447:124;11589:7;:18;;;;;11601:6;;;;;;;;;;11600:7;11589:18;:43;;;;;11619:13;;;;;;;;;;;11611:21;;:4;:21;;;;11589:43;:58;;;;;11636:11;;;;;;;;;;;11589:58;:87;;;;;11652:18;:24;11671:4;11652:24;;;;;;;;;;;;;;;;;;;;;;;;;11651:25;11589:87;:114;;;;;11681:18;:22;11700:2;11681:22;;;;;;;;;;;;;;;;;;;;;;;;;11680:23;11589:114;11585:386;;;11724:38;11741:20;11724:16;:38::i;:::-;11781:26;11810:21;11781:50;;11875:1;11854:18;:22;11850:106;;;11901:35;11914:21;11901:12;:35::i;:::-;11850:106;11705:266;11585:386;10806:1176;;10768:1214;11992:12;12007:4;11992:19;;12027:18;:24;12046:4;12027:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12055:18;:22;12074:2;12055:22;;;;;;;;;;;;;;;;;;;;;;;;;12027:50;12026:102;;;;12091:13;;;;;;;;;;;12083:21;;:4;:21;;;;:44;;;;;12114:13;;;;;;;;;;;12108:19;;:2;:19;;;;12083:44;12026:102;12022:523;;;12155:5;12145:15;;12022:523;;;12204:13;;;;;;;;;;;12196:21;;:4;:21;;;:55;;;;;12235:15;;;;;;;;;;;12221:30;;:2;:30;;;;12196:55;12193:162;;;12284:14;;12272:9;:26;;;;12327:12;;12317:7;:22;;;;12193:162;12379:13;;;;;;;;;;;12373:19;;:2;:19;;;:55;;;;;12412:15;;;;;;;;;;;12396:32;;:4;:32;;;;12373:55;12369:165;;;12461:15;;12449:9;:27;;;;12505:13;;12495:7;:23;;;;12369:165;12022:523;12555:41;12570:4;12576:2;12580:6;12588:7;12555:14;:41::i;:::-;10528:2076;10425:2179;;;:::o;2326:224::-;2446:7;2479:1;2474;:6;;2482:12;2466:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2506:9;2522:1;2518;:5;;;;:::i;:::-;2506:17;;2541:1;2534:8;;;2326:224;;;;;:::o;13099:160::-;13156:19;;;;;;;;;;;:28;;:43;13185:13;13196:1;13185:6;:10;;:13;;;;:::i;:::-;13156:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13210:17;;;;;;;;;;;:26;;:41;13237:13;13248:1;13237:6;:10;;:13;;;;:::i;:::-;13210:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13099:160;:::o;9377:323::-;9472:7;9530;;9519;:18;;9497:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;9618:19;9640:10;:8;:10::i;:::-;9618:32;;9668:24;9680:11;9668:7;:11;;:24;;;;:::i;:::-;9661:31;;;9377:323;;;:::o;12610:483::-;5817:4;5808:6;;:13;;;;;;;;;;;;;;;;;;12688:21:::1;12726:1;12712:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12688:40;;12757:4;12739;12744:1;12739:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12783:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12773:4;12778:1;12773:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12816:62;12833:4;12848:15;;;;;;;;;;;12866:11;12816:8;:62::i;:::-;12889:15;;;;;;;;;;;:66;;;12970:11;12996:1;13012:4;13039;13059:15;12889:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12677:416;5853:5:::0;5844:6;;:14;;;;;;;;;;;;;;;;;;12610:483;:::o;14128:282::-;14284:7;14279:28;;14293:14;:12;:14::i;:::-;14279:28;14318:44;14336:6;14344:9;14355:6;14318:17;:44::i;:::-;14378:7;14373:29;;14387:15;:13;:15::i;:::-;14373:29;14128:282;;;;:::o;2808:132::-;2866:7;2893:39;2897:1;2900;2893:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2886:46;;2808:132;;;;:::o;17073:164::-;17115:7;17136:15;17153;17172:19;:17;:19::i;:::-;17135:56;;;;17209:20;17221:7;17209;:11;;:20;;;;:::i;:::-;17202:27;;;;17073:164;:::o;9706:215::-;9766:1;9753:9;;:14;:30;;;;;9782:1;9771:7;;:12;9753:30;9785:7;9749:43;9822:9;;9802:17;:29;;;;9860:7;;9842:15;:25;;;;9890:1;9878:9;:13;;;;9912:1;9902:7;:11;;;;9706:215;:::o;14416:610::-;14563:15;14593:23;14631:12;14658:23;14696:12;14723:13;14750:19;14761:7;14750:10;:19::i;:::-;14548:221;;;;;;;;;;;;14798:28;14818:7;14798;:15;14806:6;14798:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14780:7;:15;14788:6;14780:15;;;;;;;;;;;;;;;:46;;;;14858:39;14881:15;14858:7;:18;14866:9;14858:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14837:7;:18;14845:9;14837:18;;;;;;;;;;;;;;;:60;;;;14908:16;14918:5;14908:9;:16::i;:::-;14935:23;14947:4;14953;14935:11;:23::i;:::-;14991:9;14974:44;;14983:6;14974:44;;;15002:15;14974:44;;;;;;:::i;:::-;;;;;;;;14537:489;;;;;;14416:610;;;:::o;9927:117::-;9983:17;;9971:9;:29;;;;10021:15;;10011:7;:25;;;;9927:117::o;2946:223::-;3066:7;3098:1;3094;:5;3101:12;3086:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3125:9;3141:1;3137;:5;;;;:::i;:::-;3125:17;;3160:1;3153:8;;;2946:223;;;;;:::o;17243:257::-;17294:7;17303;17323:15;17341:7;;17323:25;;17359:15;4598:17;17359:25;;17409:20;4598:17;17409:7;;:11;;:20;;;;:::i;:::-;17399:7;:30;17395:61;;;17439:7;;4598:17;17431:25;;;;;;;;17395:61;17475:7;17484;17467:25;;;;;;17243:257;;;:::o;15437:615::-;15537:7;15559;15581;15603;15625;15647;15683:23;15708:12;15722:13;15752:40;15764:7;15773:9;;15784:7;;15752:11;:40::i;:::-;15682:110;;;;;;15803:19;15825:10;:8;:10::i;:::-;15803:32;;15847:15;15864:23;15889:12;15918:46;15930:7;15939:4;15945:5;15952:11;15918;:46::i;:::-;15846:118;;;;;;15983:7;15992:15;16009:4;16015:15;16032:4;16038:5;15975:69;;;;;;;;;;;;;;;;;;;15437:615;;;;;;;:::o;2184:136::-;2242:7;2269:43;2273:1;2276;2269:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2262:50;;2184:136;;;;:::o;1999:179::-;2057:7;2077:9;2093:1;2089;:5;;;;:::i;:::-;2077:17;;2118:1;2113;:6;;2105:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2169:1;2162:8;;;1999:179;;;;:::o;15032:211::-;15085:19;15107:10;:8;:10::i;:::-;15085:32;;15128:13;15144:22;15154:11;15144:5;:9;;:22;;;;:::i;:::-;15128:38;;15202:33;15229:5;15202:7;:22;15218:4;15202:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15177:7;:22;15193:4;15177:22;;;;;;;;;;;;;;;:58;;;;15074:169;;15032:211;:::o;15249:147::-;15327:17;15339:4;15327:7;;:11;;:17;;;;:::i;:::-;15317:7;:27;;;;15368:20;15383:4;15368:10;;:14;;:20;;;;:::i;:::-;15355:10;:33;;;;15249:147;;:::o;16058:469::-;16227:7;16249;16271;16306:12;16321:30;16347:3;16321:21;16333:8;16321:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;16306:45;;16362:13;16378:28;16402:3;16378:19;16390:6;16378:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16362:44;;16417:23;16443:28;16465:5;16443:17;16455:4;16443:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16417:54;;16490:15;16507:4;16513:5;16482:37;;;;;;;;;16058:469;;;;;;;:::o;16533:534::-;16727:7;16749;16771;16806:15;16824:24;16836:11;16824:7;:11;;:24;;;;:::i;:::-;16806:42;;16859:12;16874:21;16883:11;16874:4;:8;;:21;;;;:::i;:::-;16859:36;;16906:13;16922:22;16932:11;16922:5;:9;;:22;;;;:::i;:::-;16906:38;;16955:23;16981:28;17003:5;16981:17;16993:4;16981:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16955:54;;17028:7;17037:15;17054:4;17020:39;;;;;;;;;;16533:534;;;;;;;;:::o;2556:246::-;2614:7;2643:1;2638;:6;2634:47;;2668:1;2661:8;;;;2634:47;2691:9;2707:1;2703;:5;;;;:::i;:::-;2691:17;;2736:1;2731;2727;:5;;;;:::i;:::-;:10;2719:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2793:1;2786:8;;;2556:246;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:246::-;4152:1;4162:113;4176:6;4173:1;4170:13;4162:113;;;4261:1;4256:3;4252:11;4246:18;4242:1;4237:3;4233:11;4226:39;4198:2;4195:1;4191:10;4186:15;;4162:113;;;4309:1;4300:6;4295:3;4291:16;4284:27;4133:184;4071:246;;;:::o;4323:377::-;4411:3;4439:39;4472:5;4439:39;:::i;:::-;4494:71;4558:6;4553:3;4494:71;:::i;:::-;4487:78;;4574:65;4632:6;4627:3;4620:4;4613:5;4609:16;4574:65;:::i;:::-;4664:29;4686:6;4664:29;:::i;:::-;4659:3;4655:39;4648:46;;4415:285;4323:377;;;;:::o;4706:313::-;4819:4;4857:2;4846:9;4842:18;4834:26;;4906:9;4900:4;4896:20;4892:1;4881:9;4877:17;4870:47;4934:78;5007:4;4998:6;4934:78;:::i;:::-;4926:86;;4706:313;;;;:::o;5025:77::-;5062:7;5091:5;5080:16;;5025:77;;;:::o;5108:122::-;5181:24;5199:5;5181:24;:::i;:::-;5174:5;5171:35;5161:63;;5220:1;5217;5210:12;5161:63;5108:122;:::o;5236:139::-;5282:5;5320:6;5307:20;5298:29;;5336:33;5363:5;5336:33;:::i;:::-;5236:139;;;;:::o;5381:474::-;5449:6;5457;5506:2;5494:9;5485:7;5481:23;5477:32;5474:119;;;5512:79;;:::i;:::-;5474:119;5632:1;5657:53;5702:7;5693:6;5682:9;5678:22;5657:53;:::i;:::-;5647:63;;5603:117;5759:2;5785:53;5830:7;5821:6;5810:9;5806:22;5785:53;:::i;:::-;5775:63;;5730:118;5381:474;;;;;:::o;5861:90::-;5895:7;5938:5;5931:13;5924:21;5913:32;;5861:90;;;:::o;5957:109::-;6038:21;6053:5;6038:21;:::i;:::-;6033:3;6026:34;5957:109;;:::o;6072:210::-;6159:4;6197:2;6186:9;6182:18;6174:26;;6210:65;6272:1;6261:9;6257:17;6248:6;6210:65;:::i;:::-;6072:210;;;;:::o;6288:60::-;6316:3;6337:5;6330:12;;6288:60;;;:::o;6354:142::-;6404:9;6437:53;6455:34;6464:24;6482:5;6464:24;:::i;:::-;6455:34;:::i;:::-;6437:53;:::i;:::-;6424:66;;6354:142;;;:::o;6502:126::-;6552:9;6585:37;6616:5;6585:37;:::i;:::-;6572:50;;6502:126;;;:::o;6634:152::-;6710:9;6743:37;6774:5;6743:37;:::i;:::-;6730:50;;6634:152;;;:::o;6792:183::-;6905:63;6962:5;6905:63;:::i;:::-;6900:3;6893:76;6792:183;;:::o;6981:274::-;7100:4;7138:2;7127:9;7123:18;7115:26;;7151:97;7245:1;7234:9;7230:17;7221:6;7151:97;:::i;:::-;6981:274;;;;:::o;7261:118::-;7348:24;7366:5;7348:24;:::i;:::-;7343:3;7336:37;7261:118;;:::o;7385:222::-;7478:4;7516:2;7505:9;7501:18;7493:26;;7529:71;7597:1;7586:9;7582:17;7573:6;7529:71;:::i;:::-;7385:222;;;;:::o;7613:619::-;7690:6;7698;7706;7755:2;7743:9;7734:7;7730:23;7726:32;7723:119;;;7761:79;;:::i;:::-;7723:119;7881:1;7906:53;7951:7;7942:6;7931:9;7927:22;7906:53;:::i;:::-;7896:63;;7852:117;8008:2;8034:53;8079:7;8070:6;8059:9;8055:22;8034:53;:::i;:::-;8024:63;;7979:118;8136:2;8162:53;8207:7;8198:6;8187:9;8183:22;8162:53;:::i;:::-;8152:63;;8107:118;7613:619;;;;;:::o;8238:86::-;8273:7;8313:4;8306:5;8302:16;8291:27;;8238:86;;;:::o;8330:112::-;8413:22;8429:5;8413:22;:::i;:::-;8408:3;8401:35;8330:112;;:::o;8448:214::-;8537:4;8575:2;8564:9;8560:18;8552:26;;8588:67;8652:1;8641:9;8637:17;8628:6;8588:67;:::i;:::-;8448:214;;;;:::o;8668:118::-;8755:24;8773:5;8755:24;:::i;:::-;8750:3;8743:37;8668:118;;:::o;8792:222::-;8885:4;8923:2;8912:9;8908:18;8900:26;;8936:71;9004:1;8993:9;8989:17;8980:6;8936:71;:::i;:::-;8792:222;;;;:::o;9020:117::-;9129:1;9126;9119:12;9160:568;9233:8;9243:6;9293:3;9286:4;9278:6;9274:17;9270:27;9260:122;;9301:79;;:::i;:::-;9260:122;9414:6;9401:20;9391:30;;9444:18;9436:6;9433:30;9430:117;;;9466:79;;:::i;:::-;9430:117;9580:4;9572:6;9568:17;9556:29;;9634:3;9626:4;9618:6;9614:17;9604:8;9600:32;9597:41;9594:128;;;9641:79;;:::i;:::-;9594:128;9160:568;;;;;:::o;9734:116::-;9804:21;9819:5;9804:21;:::i;:::-;9797:5;9794:32;9784:60;;9840:1;9837;9830:12;9784:60;9734:116;:::o;9856:133::-;9899:5;9937:6;9924:20;9915:29;;9953:30;9977:5;9953:30;:::i;:::-;9856:133;;;;:::o;9995:698::-;10087:6;10095;10103;10152:2;10140:9;10131:7;10127:23;10123:32;10120:119;;;10158:79;;:::i;:::-;10120:119;10306:1;10295:9;10291:17;10278:31;10336:18;10328:6;10325:30;10322:117;;;10358:79;;:::i;:::-;10322:117;10471:80;10543:7;10534:6;10523:9;10519:22;10471:80;:::i;:::-;10453:98;;;;10249:312;10600:2;10626:50;10668:7;10659:6;10648:9;10644:22;10626:50;:::i;:::-;10616:60;;10571:115;9995:698;;;;;:::o;10699:329::-;10758:6;10807:2;10795:9;10786:7;10782:23;10778:32;10775:119;;;10813:79;;:::i;:::-;10775:119;10933:1;10958:53;11003:7;10994:6;10983:9;10979:22;10958:53;:::i;:::-;10948:63;;10904:117;10699:329;;;;:::o;11034:323::-;11090:6;11139:2;11127:9;11118:7;11114:23;11110:32;11107:119;;;11145:79;;:::i;:::-;11107:119;11265:1;11290:50;11332:7;11323:6;11312:9;11308:22;11290:50;:::i;:::-;11280:60;;11236:114;11034:323;;;;:::o;11363:329::-;11422:6;11471:2;11459:9;11450:7;11446:23;11442:32;11439:119;;;11477:79;;:::i;:::-;11439:119;11597:1;11622:53;11667:7;11658:6;11647:9;11643:22;11622:53;:::i;:::-;11612:63;;11568:117;11363:329;;;;:::o;11698:765::-;11784:6;11792;11800;11808;11857:3;11845:9;11836:7;11832:23;11828:33;11825:120;;;11864:79;;:::i;:::-;11825:120;11984:1;12009:53;12054:7;12045:6;12034:9;12030:22;12009:53;:::i;:::-;11999:63;;11955:117;12111:2;12137:53;12182:7;12173:6;12162:9;12158:22;12137:53;:::i;:::-;12127:63;;12082:118;12239:2;12265:53;12310:7;12301:6;12290:9;12286:22;12265:53;:::i;:::-;12255:63;;12210:118;12367:2;12393:53;12438:7;12429:6;12418:9;12414:22;12393:53;:::i;:::-;12383:63;;12338:118;11698:765;;;;;;;:::o;12469:474::-;12537:6;12545;12594:2;12582:9;12573:7;12569:23;12565:32;12562:119;;;12600:79;;:::i;:::-;12562:119;12720:1;12745:53;12790:7;12781:6;12770:9;12766:22;12745:53;:::i;:::-;12735:63;;12691:117;12847:2;12873:53;12918:7;12909:6;12898:9;12894:22;12873:53;:::i;:::-;12863:63;;12818:118;12469:474;;;;;:::o;12949:182::-;13089:34;13085:1;13077:6;13073:14;13066:58;12949:182;:::o;13137:366::-;13279:3;13300:67;13364:2;13359:3;13300:67;:::i;:::-;13293:74;;13376:93;13465:3;13376:93;:::i;:::-;13494:2;13489:3;13485:12;13478:19;;13137:366;;;:::o;13509:419::-;13675:4;13713:2;13702:9;13698:18;13690:26;;13762:9;13756:4;13752:20;13748:1;13737:9;13733:17;13726:47;13790:131;13916:4;13790:131;:::i;:::-;13782:139;;13509:419;;;:::o;13934:180::-;13982:77;13979:1;13972:88;14079:4;14076:1;14069:15;14103:4;14100:1;14093:15;14120:180;14168:77;14165:1;14158:88;14265:4;14262:1;14255:15;14289:4;14286:1;14279:15;14306:233;14345:3;14368:24;14386:5;14368:24;:::i;:::-;14359:33;;14414:66;14407:5;14404:77;14401:103;;14484:18;;:::i;:::-;14401:103;14531:1;14524:5;14520:13;14513:20;;14306:233;;;:::o;14545:332::-;14666:4;14704:2;14693:9;14689:18;14681:26;;14717:71;14785:1;14774:9;14770:17;14761:6;14717:71;:::i;:::-;14798:72;14866:2;14855:9;14851:18;14842:6;14798:72;:::i;:::-;14545:332;;;;;:::o;14883:137::-;14937:5;14968:6;14962:13;14953:22;;14984:30;15008:5;14984:30;:::i;:::-;14883:137;;;;:::o;15026:345::-;15093:6;15142:2;15130:9;15121:7;15117:23;15113:32;15110:119;;;15148:79;;:::i;:::-;15110:119;15268:1;15293:61;15346:7;15337:6;15326:9;15322:22;15293:61;:::i;:::-;15283:71;;15239:125;15026:345;;;;:::o;15377:225::-;15517:34;15513:1;15505:6;15501:14;15494:58;15586:8;15581:2;15573:6;15569:15;15562:33;15377:225;:::o;15608:366::-;15750:3;15771:67;15835:2;15830:3;15771:67;:::i;:::-;15764:74;;15847:93;15936:3;15847:93;:::i;:::-;15965:2;15960:3;15956:12;15949:19;;15608:366;;;:::o;15980:419::-;16146:4;16184:2;16173:9;16169:18;16161:26;;16233:9;16227:4;16223:20;16219:1;16208:9;16204:17;16197:47;16261:131;16387:4;16261:131;:::i;:::-;16253:139;;15980:419;;;:::o;16405:223::-;16545:34;16541:1;16533:6;16529:14;16522:58;16614:6;16609:2;16601:6;16597:15;16590:31;16405:223;:::o;16634:366::-;16776:3;16797:67;16861:2;16856:3;16797:67;:::i;:::-;16790:74;;16873:93;16962:3;16873:93;:::i;:::-;16991:2;16986:3;16982:12;16975:19;;16634:366;;;:::o;17006:419::-;17172:4;17210:2;17199:9;17195:18;17187:26;;17259:9;17253:4;17249:20;17245:1;17234:9;17230:17;17223:47;17287:131;17413:4;17287:131;:::i;:::-;17279:139;;17006:419;;;:::o;17431:221::-;17571:34;17567:1;17559:6;17555:14;17548:58;17640:4;17635:2;17627:6;17623:15;17616:29;17431:221;:::o;17658:366::-;17800:3;17821:67;17885:2;17880:3;17821:67;:::i;:::-;17814:74;;17897:93;17986:3;17897:93;:::i;:::-;18015:2;18010:3;18006:12;17999:19;;17658:366;;;:::o;18030:419::-;18196:4;18234:2;18223:9;18219:18;18211:26;;18283:9;18277:4;18273:20;18269:1;18258:9;18254:17;18247:47;18311:131;18437:4;18311:131;:::i;:::-;18303:139;;18030:419;;;:::o;18455:224::-;18595:34;18591:1;18583:6;18579:14;18572:58;18664:7;18659:2;18651:6;18647:15;18640:32;18455:224;:::o;18685:366::-;18827:3;18848:67;18912:2;18907:3;18848:67;:::i;:::-;18841:74;;18924:93;19013:3;18924:93;:::i;:::-;19042:2;19037:3;19033:12;19026:19;;18685:366;;;:::o;19057:419::-;19223:4;19261:2;19250:9;19246:18;19238:26;;19310:9;19304:4;19300:20;19296:1;19285:9;19281:17;19274:47;19338:131;19464:4;19338:131;:::i;:::-;19330:139;;19057:419;;;:::o;19482:222::-;19622:34;19618:1;19610:6;19606:14;19599:58;19691:5;19686:2;19678:6;19674:15;19667:30;19482:222;:::o;19710:366::-;19852:3;19873:67;19937:2;19932:3;19873:67;:::i;:::-;19866:74;;19949:93;20038:3;19949:93;:::i;:::-;20067:2;20062:3;20058:12;20051:19;;19710:366;;;:::o;20082:419::-;20248:4;20286:2;20275:9;20271:18;20263:26;;20335:9;20329:4;20325:20;20321:1;20310:9;20306:17;20299:47;20363:131;20489:4;20363:131;:::i;:::-;20355:139;;20082:419;;;:::o;20507:228::-;20647:34;20643:1;20635:6;20631:14;20624:58;20716:11;20711:2;20703:6;20699:15;20692:36;20507:228;:::o;20741:366::-;20883:3;20904:67;20968:2;20963:3;20904:67;:::i;:::-;20897:74;;20980:93;21069:3;20980:93;:::i;:::-;21098:2;21093:3;21089:12;21082:19;;20741:366;;;:::o;21113:419::-;21279:4;21317:2;21306:9;21302:18;21294:26;;21366:9;21360:4;21356:20;21352:1;21341:9;21337:17;21330:47;21394:131;21520:4;21394:131;:::i;:::-;21386:139;;21113:419;;;:::o;21538:250::-;21678:34;21674:1;21666:6;21662:14;21655:58;21747:33;21742:2;21734:6;21730:15;21723:58;21538:250;:::o;21794:366::-;21936:3;21957:67;22021:2;22016:3;21957:67;:::i;:::-;21950:74;;22033:93;22122:3;22033:93;:::i;:::-;22151:2;22146:3;22142:12;22135:19;;21794:366;;;:::o;22166:419::-;22332:4;22370:2;22359:9;22355:18;22347:26;;22419:9;22413:4;22409:20;22405:1;22394:9;22390:17;22383:47;22447:131;22573:4;22447:131;:::i;:::-;22439:139;;22166:419;;;:::o;22591:178::-;22731:30;22727:1;22719:6;22715:14;22708:54;22591:178;:::o;22775:366::-;22917:3;22938:67;23002:2;22997:3;22938:67;:::i;:::-;22931:74;;23014:93;23103:3;23014:93;:::i;:::-;23132:2;23127:3;23123:12;23116:19;;22775:366;;;:::o;23147:419::-;23313:4;23351:2;23340:9;23336:18;23328:26;;23400:9;23394:4;23390:20;23386:1;23375:9;23371:17;23364:47;23428:131;23554:4;23428:131;:::i;:::-;23420:139;;23147:419;;;:::o;23572:222::-;23712:34;23708:1;23700:6;23696:14;23689:58;23781:5;23776:2;23768:6;23764:15;23757:30;23572:222;:::o;23800:366::-;23942:3;23963:67;24027:2;24022:3;23963:67;:::i;:::-;23956:74;;24039:93;24128:3;24039:93;:::i;:::-;24157:2;24152:3;24148:12;24141:19;;23800:366;;;:::o;24172:419::-;24338:4;24376:2;24365:9;24361:18;24353:26;;24425:9;24419:4;24415:20;24411:1;24400:9;24396:17;24389:47;24453:131;24579:4;24453:131;:::i;:::-;24445:139;;24172:419;;;:::o;24597:191::-;24637:3;24656:20;24674:1;24656:20;:::i;:::-;24651:25;;24690:20;24708:1;24690:20;:::i;:::-;24685:25;;24733:1;24730;24726:9;24719:16;;24754:3;24751:1;24748:10;24745:36;;;24761:18;;:::i;:::-;24745:36;24597:191;;;;:::o;24794:222::-;24934:34;24930:1;24922:6;24918:14;24911:58;25003:5;24998:2;24990:6;24986:15;24979:30;24794:222;:::o;25022:366::-;25164:3;25185:67;25249:2;25244:3;25185:67;:::i;:::-;25178:74;;25261:93;25350:3;25261:93;:::i;:::-;25379:2;25374:3;25370:12;25363:19;;25022:366;;;:::o;25394:419::-;25560:4;25598:2;25587:9;25583:18;25575:26;;25647:9;25641:4;25637:20;25633:1;25622:9;25618:17;25611:47;25675:131;25801:4;25675:131;:::i;:::-;25667:139;;25394:419;;;:::o;25819:194::-;25859:4;25879:20;25897:1;25879:20;:::i;:::-;25874:25;;25913:20;25931:1;25913:20;:::i;:::-;25908:25;;25957:1;25954;25950:9;25942:17;;25981:1;25975:4;25972:11;25969:37;;;25986:18;;:::i;:::-;25969:37;25819:194;;;;:::o;26019:229::-;26159:34;26155:1;26147:6;26143:14;26136:58;26228:12;26223:2;26215:6;26211:15;26204:37;26019:229;:::o;26254:366::-;26396:3;26417:67;26481:2;26476:3;26417:67;:::i;:::-;26410:74;;26493:93;26582:3;26493:93;:::i;:::-;26611:2;26606:3;26602:12;26595:19;;26254:366;;;:::o;26626:419::-;26792:4;26830:2;26819:9;26815:18;26807:26;;26879:9;26873:4;26869:20;26865:1;26854:9;26850:17;26843:47;26907:131;27033:4;26907:131;:::i;:::-;26899:139;;26626:419;;;:::o;27051:143::-;27108:5;27139:6;27133:13;27124:22;;27155:33;27182:5;27155:33;:::i;:::-;27051:143;;;;:::o;27200:351::-;27270:6;27319:2;27307:9;27298:7;27294:23;27290:32;27287:119;;;27325:79;;:::i;:::-;27287:119;27445:1;27470:64;27526:7;27517:6;27506:9;27502:22;27470:64;:::i;:::-;27460:74;;27416:128;27200:351;;;;:::o;27557:85::-;27602:7;27631:5;27620:16;;27557:85;;;:::o;27648:158::-;27706:9;27739:61;27757:42;27766:32;27792:5;27766:32;:::i;:::-;27757:42;:::i;:::-;27739:61;:::i;:::-;27726:74;;27648:158;;;:::o;27812:147::-;27907:45;27946:5;27907:45;:::i;:::-;27902:3;27895:58;27812:147;;:::o;27965:114::-;28032:6;28066:5;28060:12;28050:22;;27965:114;;;:::o;28085:184::-;28184:11;28218:6;28213:3;28206:19;28258:4;28253:3;28249:14;28234:29;;28085:184;;;;:::o;28275:132::-;28342:4;28365:3;28357:11;;28395:4;28390:3;28386:14;28378:22;;28275:132;;;:::o;28413:108::-;28490:24;28508:5;28490:24;:::i;:::-;28485:3;28478:37;28413:108;;:::o;28527:179::-;28596:10;28617:46;28659:3;28651:6;28617:46;:::i;:::-;28695:4;28690:3;28686:14;28672:28;;28527:179;;;;:::o;28712:113::-;28782:4;28814;28809:3;28805:14;28797:22;;28712:113;;;:::o;28861:732::-;28980:3;29009:54;29057:5;29009:54;:::i;:::-;29079:86;29158:6;29153:3;29079:86;:::i;:::-;29072:93;;29189:56;29239:5;29189:56;:::i;:::-;29268:7;29299:1;29284:284;29309:6;29306:1;29303:13;29284:284;;;29385:6;29379:13;29412:63;29471:3;29456:13;29412:63;:::i;:::-;29405:70;;29498:60;29551:6;29498:60;:::i;:::-;29488:70;;29344:224;29331:1;29328;29324:9;29319:14;;29284:284;;;29288:14;29584:3;29577:10;;28985:608;;;28861:732;;;;:::o;29599:831::-;29862:4;29900:3;29889:9;29885:19;29877:27;;29914:71;29982:1;29971:9;29967:17;29958:6;29914:71;:::i;:::-;29995:80;30071:2;30060:9;30056:18;30047:6;29995:80;:::i;:::-;30122:9;30116:4;30112:20;30107:2;30096:9;30092:18;30085:48;30150:108;30253:4;30244:6;30150:108;:::i;:::-;30142:116;;30268:72;30336:2;30325:9;30321:18;30312:6;30268:72;:::i;:::-;30350:73;30418:3;30407:9;30403:19;30394:6;30350:73;:::i;:::-;29599:831;;;;;;;;:::o;30436:180::-;30484:77;30481:1;30474:88;30581:4;30578:1;30571:15;30605:4;30602:1;30595:15;30622:185;30662:1;30679:20;30697:1;30679:20;:::i;:::-;30674:25;;30713:20;30731:1;30713:20;:::i;:::-;30708:25;;30752:1;30742:35;;30757:18;;:::i;:::-;30742:35;30799:1;30796;30792:9;30787:14;;30622:185;;;;:::o;30813:177::-;30953:29;30949:1;30941:6;30937:14;30930:53;30813:177;:::o;30996:366::-;31138:3;31159:67;31223:2;31218:3;31159:67;:::i;:::-;31152:74;;31235:93;31324:3;31235:93;:::i;:::-;31353:2;31348:3;31344:12;31337:19;;30996:366;;;:::o;31368:419::-;31534:4;31572:2;31561:9;31557:18;31549:26;;31621:9;31615:4;31611:20;31607:1;31596:9;31592:17;31585:47;31649:131;31775:4;31649:131;:::i;:::-;31641:139;;31368:419;;;:::o;31793:410::-;31833:7;31856:20;31874:1;31856:20;:::i;:::-;31851:25;;31890:20;31908:1;31890:20;:::i;:::-;31885:25;;31945:1;31942;31938:9;31967:30;31985:11;31967:30;:::i;:::-;31956:41;;32146:1;32137:7;32133:15;32130:1;32127:22;32107:1;32100:9;32080:83;32057:139;;32176:18;;:::i;:::-;32057:139;31841:362;31793:410;;;;:::o;32209:220::-;32349:34;32345:1;32337:6;32333:14;32326:58;32418:3;32413:2;32405:6;32401:15;32394:28;32209:220;:::o;32435:366::-;32577:3;32598:67;32662:2;32657:3;32598:67;:::i;:::-;32591:74;;32674:93;32763:3;32674:93;:::i;:::-;32792:2;32787:3;32783:12;32776:19;;32435:366;;;:::o;32807:419::-;32973:4;33011:2;33000:9;32996:18;32988:26;;33060:9;33054:4;33050:20;33046:1;33035:9;33031:17;33024:47;33088:131;33214:4;33088:131;:::i;:::-;33080:139;;32807:419;;;:::o

Swarm Source

ipfs://b26b4934a4f39e913bcbbed1d29ef3483fb7eec1270857e04107c7ba08067186

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.