ETH Price: $2,943.39 (-2.33%)
Gas: 0.06 Gwei
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve234377912025-09-25 4:53:23126 days ago1758776003IN
0x2025b007...c1CFa77cd
0 ETH0.000055091.16854778
Approve234374102025-09-25 3:36:11126 days ago1758771371IN
0x2025b007...c1CFa77cd
0 ETH0.000080021.69500187
Approve231166042025-08-11 8:26:23171 days ago1754900783IN
0x2025b007...c1CFa77cd
0 ETH0.000120992.56619354
Approve228974832025-07-11 17:40:59201 days ago1752255659IN
0x2025b007...c1CFa77cd
0 ETH0.000208934.42561169
Approve228974442025-07-11 17:32:59201 days ago1752255179IN
0x2025b007...c1CFa77cd
0 ETH0.000239095.0645723
Approve228937502025-07-11 5:08:23202 days ago1752210503IN
0x2025b007...c1CFa77cd
0 ETH0.00021234.49813345
Approve228937492025-07-11 5:08:11202 days ago1752210491IN
0x2025b007...c1CFa77cd
0 ETH0.000431939.14912622
Approve226503472025-06-07 4:33:47236 days ago1749270827IN
0x2025b007...c1CFa77cd
0 ETH0.000129272.74184577
Approve226359602025-06-05 4:12:35238 days ago1749096755IN
0x2025b007...c1CFa77cd
0 ETH0.000035160.74484694
Approve226359182025-06-05 4:04:11238 days ago1749096251IN
0x2025b007...c1CFa77cd
0 ETH0.000033580.71137686
Approve226358342025-06-05 3:47:11238 days ago1749095231IN
0x2025b007...c1CFa77cd
0 ETH0.000037410.792481
Approve226357962025-06-05 3:39:35238 days ago1749094775IN
0x2025b007...c1CFa77cd
0 ETH0.00003330.70536204
Approve226357272025-06-05 3:25:47238 days ago1749093947IN
0x2025b007...c1CFa77cd
0 ETH0.000031240.66184932
Approve226353452025-06-05 2:09:11238 days ago1749089351IN
0x2025b007...c1CFa77cd
0 ETH0.000037640.79732635
Approve226353172025-06-05 2:03:35238 days ago1749089015IN
0x2025b007...c1CFa77cd
0 ETH0.000046990.99553511
Approve226352842025-06-05 1:56:23238 days ago1749088583IN
0x2025b007...c1CFa77cd
0 ETH0.000035030.74210191
Approve226348532025-06-05 0:29:59238 days ago1749083399IN
0x2025b007...c1CFa77cd
0 ETH0.000046430.98359219
Approve226348112025-06-05 0:21:35238 days ago1749082895IN
0x2025b007...c1CFa77cd
0 ETH0.000042320.89657811
Approve226347492025-06-05 0:09:11238 days ago1749082151IN
0x2025b007...c1CFa77cd
0 ETH0.000056621.19947032
Approve226346682025-06-04 23:52:59238 days ago1749081179IN
0x2025b007...c1CFa77cd
0 ETH0.00004360.92360681
Approve226228662025-06-03 8:13:23240 days ago1748938403IN
0x2025b007...c1CFa77cd
0 ETH0.000120472.56812508
Approve226200192025-06-02 22:40:11240 days ago1748904011IN
0x2025b007...c1CFa77cd
0 ETH0.00008381.77511508
Approve226198522025-06-02 22:06:35240 days ago1748901995IN
0x2025b007...c1CFa77cd
0 ETH0.000122022.58472156
Approve226181592025-06-02 16:24:35240 days ago1748881475IN
0x2025b007...c1CFa77cd
0 ETH0.00016193.4295076
Approve226181302025-06-02 16:18:47240 days ago1748881127IN
0x2025b007...c1CFa77cd
0 ETH0.00016543.50363024
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer225369292025-05-22 7:29:47252 days ago1747898987
0x2025b007...c1CFa77cd
0.01859343 ETH
Transfer225369292025-05-22 7:29:47252 days ago1747898987
0x2025b007...c1CFa77cd
0.01859343 ETH
Transfer225369252025-05-22 7:28:59252 days ago1747898939
0x2025b007...c1CFa77cd
0.01755609 ETH
Transfer225369252025-05-22 7:28:59252 days ago1747898939
0x2025b007...c1CFa77cd
0.01755609 ETH
Transfer225368802025-05-22 7:19:59252 days ago1747898399
0x2025b007...c1CFa77cd
0.00254121 ETH
Transfer225368802025-05-22 7:19:59252 days ago1747898399
0x2025b007...c1CFa77cd
0.00254121 ETH
Transfer225368742025-05-22 7:18:35252 days ago1747898315
0x2025b007...c1CFa77cd
0.02531324 ETH
Transfer225368742025-05-22 7:18:35252 days ago1747898315
0x2025b007...c1CFa77cd
0.02531324 ETH
Transfer225368702025-05-22 7:17:47252 days ago1747898267
0x2025b007...c1CFa77cd
0.01555425 ETH
Transfer225368702025-05-22 7:17:47252 days ago1747898267
0x2025b007...c1CFa77cd
0.01555425 ETH
Transfer225368652025-05-22 7:16:47252 days ago1747898207
0x2025b007...c1CFa77cd
0.0012977 ETH
Transfer225368652025-05-22 7:16:47252 days ago1747898207
0x2025b007...c1CFa77cd
0.0012977 ETH
Transfer225368642025-05-22 7:16:35252 days ago1747898195
0x2025b007...c1CFa77cd
0.01428128 ETH
Transfer225368642025-05-22 7:16:35252 days ago1747898195
0x2025b007...c1CFa77cd
0.01428128 ETH
Transfer225368622025-05-22 7:16:11252 days ago1747898171
0x2025b007...c1CFa77cd
0.0271909 ETH
Transfer225368622025-05-22 7:16:11252 days ago1747898171
0x2025b007...c1CFa77cd
0.0271909 ETH
Transfer225368612025-05-22 7:15:59252 days ago1747898159
0x2025b007...c1CFa77cd
0.03164854 ETH
Transfer225368612025-05-22 7:15:59252 days ago1747898159
0x2025b007...c1CFa77cd
0.03164854 ETH
Transfer225368502025-05-22 7:13:47252 days ago1747898027
0x2025b007...c1CFa77cd
0.00722535 ETH
Transfer225368502025-05-22 7:13:47252 days ago1747898027
0x2025b007...c1CFa77cd
0.00722535 ETH
Transfer225368452025-05-22 7:12:47252 days ago1747897967
0x2025b007...c1CFa77cd
0.02565459 ETH
Transfer225368452025-05-22 7:12:47252 days ago1747897967
0x2025b007...c1CFa77cd
0.02565459 ETH
Transfer225368442025-05-22 7:12:35252 days ago1747897955
0x2025b007...c1CFa77cd
0.03636003 ETH
Transfer225368442025-05-22 7:12:35252 days ago1747897955
0x2025b007...c1CFa77cd
0.03636003 ETH
Transfer225368432025-05-22 7:12:23252 days ago1747897943
0x2025b007...c1CFa77cd
0.0243638 ETH
View All Internal Transactions
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:
BTCP

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

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

// SPDX-License-Identifier: UNLICENSE
/*

BITCOIN PIZZA DAY 0x2025

https://www.news18.com/amp/business/what-is-bitcoin-pizza-day-heres-why-crypto-fans-celebrate-this-historic-movement-9347225.html

https://www.investopedia.com/news/bitcoin-pizza-day-celebrating-20-million-pizza-order/

Tg: https://t.me/BitcoinPizzaEth
X: https://x.com/BTCPizzaETH
Web: https://www.btcpizza-eth.com
*/
pragma solidity 0.8.23;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

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

    uint256 private _initialBuyTax=23;
    uint256 private _initialSellTax=23;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=3;
    uint256 private _reduceSellTaxAt=3;
    uint256 private _preventSwapBefore=3;
    uint256 private _transferTax=0;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"BITCOIN PIZZA";
    string private constant _symbol = unicode"BTCP";
    uint256 public _maxTxAmount = 20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool public tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event OpenTrade(address indexed owner, uint256 timestamp);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

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

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

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

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

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

    function getTaxDetails() public view returns (
        uint256 initialBuyTax,
        uint256 initialSellTax,
        uint256 finalBuyTax,
        uint256 finalSellTax,
        uint256 transferTax
        ) {
            return (
                _initialBuyTax,
                _initialSellTax,
                _finalBuyTax,
                _finalSellTax,
                _transferTax
            );
    }

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && to != _taxWallet) {
            require(!bots[from] && !bots[to]);

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

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

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

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

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


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

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

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

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

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

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

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

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

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

        emit OpenTrade(owner(), block.timestamp);
    }

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

    receive() external payable {}

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

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


    function manualsend() external {
        require(_msgSender()==_taxWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

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":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"OpenTrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTaxDetails","outputs":[{"internalType":"uint256","name":"initialBuyTax","type":"uint256"},{"internalType":"uint256","name":"initialSellTax","type":"uint256"},{"internalType":"uint256","name":"finalBuyTax","type":"uint256"},{"internalType":"uint256","name":"finalSellTax","type":"uint256"},{"internalType":"uint256","name":"transferTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTranTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601760065560176007555f6008555f6009556003600a556003600b556003600c555f600d555f600e556009600a6200003d9190620005fc565b6301312d006200004e91906200064c565b600f556009600a620000619190620005fc565b6301312d006200007291906200064c565b6010556009600a620000859190620005fc565b620f42406200009591906200064c565b6011556009600a620000a89190620005fc565b62989680620000b891906200064c565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055505f6015555f60165534801562000103575f80fd5b505f620001156200043c60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001c16200043c60201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620002109190620005fc565b633b9aca006200022191906200064c565b60015f620002346200043c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002866200044360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003b06200043c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200040e9190620005fc565b633b9aca006200041f91906200064c565b6040516200042e9190620006a7565b60405180910390a3620006c2565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004f457808604811115620004cc57620004cb6200046a565b5b6001851615620004dc5780820291505b8081029050620004ec8562000497565b9450620004ac565b94509492505050565b5f826200050e5760019050620005e0565b816200051d575f9050620005e0565b8160018114620005365760028114620005415762000577565b6001915050620005e0565b60ff8411156200055657620005556200046a565b5b8360020a91508482111562000570576200056f6200046a565b5b50620005e0565b5060208310610133831016604e8410600b8410161715620005b15782820a905083811115620005ab57620005aa6200046a565b5b620005e0565b620005c08484846001620004a3565b92509050818404811115620005da57620005d96200046a565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200060882620005e7565b91506200061583620005f0565b9250620006447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004fd565b905092915050565b5f6200065882620005e7565b91506200066583620005e7565b92508282026200067581620005e7565b915082820484148315176200068f576200068e6200046a565b5b5092915050565b620006a181620005e7565b82525050565b5f602082019050620006bc5f83018462000696565b92915050565b613a4180620006d05f395ff3fe60806040526004361061019f575f3560e01c806370a08231116100eb578063a9059cbb11610089578063dd62ed3e11610063578063dd62ed3e14610564578063ec1f3f63146105a0578063fb201b1d146105c8578063ffb54a99146105de576101a6565b8063a9059cbb146104d6578063bf474bed14610512578063c97c18211461053c576101a6565b80638cd4426d116100c55780638cd4426d146104305780638da5cb5b146104585780638f9a55c01461048257806395d89b41146104ac576101a6565b806370a08231146103b4578063715018a6146103f05780637d1db4a514610406576101a6565b806321bbcbb1116101585780633bbac579116101325780633bbac5791461033657806351bc3c851461037257806362256589146103885780636fc3eaec1461039e576101a6565b806321bbcbb1146102a857806323b872dd146102d0578063313ce5671461030c576101a6565b806302fa1f4a146101aa57806306fdde03146101c0578063095ea7b3146101ea5780630faee56f1461022657806318160ddd146102505780631fee58941461027a576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be610608565b005b3480156101cb575f80fd5b506101d46106dc565b6040516101e191906128df565b60405180910390f35b3480156101f5575f80fd5b50610210600480360381019061020b919061299d565b610719565b60405161021d91906129f5565b60405180910390f35b348015610231575f80fd5b5061023a610736565b6040516102479190612a1d565b60405180910390f35b34801561025b575f80fd5b5061026461073c565b6040516102719190612a1d565b60405180910390f35b348015610285575f80fd5b5061028e61075f565b60405161029f959493929190612a36565b60405180910390f35b3480156102b3575f80fd5b506102ce60048036038101906102c99190612bc7565b610784565b005b3480156102db575f80fd5b506102f660048036038101906102f19190612c0e565b6108a3565b60405161030391906129f5565b60405180910390f35b348015610317575f80fd5b50610320610977565b60405161032d9190612c79565b60405180910390f35b348015610341575f80fd5b5061035c60048036038101906103579190612c92565b61097f565b60405161036991906129f5565b60405180910390f35b34801561037d575f80fd5b506103866109d1565b005b348015610393575f80fd5b5061039c610a80565b005b3480156103a9575f80fd5b506103b2610baf565b005b3480156103bf575f80fd5b506103da60048036038101906103d59190612c92565b610c1e565b6040516103e79190612a1d565b60405180910390f35b3480156103fb575f80fd5b50610404610c64565b005b348015610411575f80fd5b5061041a610db2565b6040516104279190612a1d565b60405180910390f35b34801561043b575f80fd5b506104566004803603810190610451919061299d565b610db8565b005b348015610463575f80fd5b5061046c610f59565b6040516104799190612ccc565b60405180910390f35b34801561048d575f80fd5b50610496610f80565b6040516104a39190612a1d565b60405180910390f35b3480156104b7575f80fd5b506104c0610f86565b6040516104cd91906128df565b60405180910390f35b3480156104e1575f80fd5b506104fc60048036038101906104f7919061299d565b610fc3565b60405161050991906129f5565b60405180910390f35b34801561051d575f80fd5b50610526610fe0565b6040516105339190612a1d565b60405180910390f35b348015610547575f80fd5b50610562600480360381019061055d9190612bc7565b610fe6565b005b34801561056f575f80fd5b5061058a60048036038101906105859190612ce5565b611104565b6040516105979190612a1d565b60405180910390f35b3480156105ab575f80fd5b506105c660048036038101906105c19190612d23565b611186565b005b3480156105d3575f80fd5b506105dc611212565b005b3480156105e9575f80fd5b506105f2611786565b6040516105ff91906129f5565b60405180910390f35b610610611797565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461069c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069390612d98565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106d29190612df8565b60405180910390a1565b60606040518060400160405280600d81526020017f424954434f494e2050495a5a4100000000000000000000000000000000000000815250905090565b5f61072c610725611797565b848461179e565b6001905092915050565b60125481565b5f6009600a61074b9190612f6d565b633b9aca0061075a9190612fb7565b905090565b5f805f805f600654600754600854600954600d54945094509450945094509091929394565b61078c611797565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080f90612d98565b60405180910390fd5b5f5b815181101561089f57600160045f84848151811061083b5761083a612ff8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061081a565b5050565b5f6108af848484611961565b61096c846108bb611797565b610967856040518060600160405280602881526020016139e46028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61091e611797565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123419092919063ffffffff16565b61179e565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a11611797565b73ffffffffffffffffffffffffffffffffffffffff1614610a30575f80fd5b5f610a3a30610c1e565b90505f81118015610a575750601460169054906101000a900460ff165b15610a6657610a65816123a3565b5b5f4790505f811115610a7c57610a7b8161260e565b5b5050565b610a88611797565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0b90612d98565b60405180910390fd5b6009600a610b229190612f6d565b633b9aca00610b319190612fb7565b600f819055506009600a610b459190612f6d565b633b9aca00610b549190612fb7565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b899190612f6d565b633b9aca00610b989190612fb7565b604051610ba59190612a1d565b60405180910390a1565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bef611797565b73ffffffffffffffffffffffffffffffffffffffff1614610c0e575f80fd5b5f479050610c1b8161260e565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c6c611797565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cef90612d98565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610df8611797565b73ffffffffffffffffffffffffffffffffffffffff1614610e17575f80fd5b5f610eb56064610ea7848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e5a9190612ccc565b602060405180830381865afa158015610e75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e999190613039565b61267690919063ffffffff16565b6126ed90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610f139291906130b6565b6020604051808303815f875af1158015610f2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f539190613107565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600481526020017f4254435000000000000000000000000000000000000000000000000000000000815250905090565b5f610fd6610fcf611797565b8484611961565b6001905092915050565b60115481565b610fee611797565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461107a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107190612d98565b60405180910390fd5b5f5b8151811015611100575f60045f84848151811061109c5761109b612ff8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061107c565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111c6611797565b73ffffffffffffffffffffffffffffffffffffffff16146111e5575f80fd5b60085481111580156111f957506009548111155b611201575f80fd5b806008819055508060098190555050565b61121a611797565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129d90612d98565b60405180910390fd5b60148054906101000a900460ff16156112f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112eb9061317c565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113903060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61137c9190612f6d565b633b9aca0061138b9190612fb7565b61179e565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061141e91906131ae565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c891906131ae565b6040518363ffffffff1660e01b81526004016114e59291906131d9565b6020604051808303815f875af1158015611501573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061152591906131ae565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306115ac30610c1e565b5f806115b6610f59565b426040518863ffffffff1660e01b81526004016115d896959493929190613200565b60606040518083038185885af11580156115f4573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611619919061325f565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016116b99291906132af565b6020604051808303815f875af11580156116d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116f99190613107565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550611737610f59565b73ffffffffffffffffffffffffffffffffffffffff167ff9ca0f11181041c16343c0e2d0e0c3cf66188e39b033ab29e2fe6f0f84374a364260405161177c9190612a1d565b60405180910390a2565b60148054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361180c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180390613346565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361187a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611871906133d4565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119549190612a1d565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c690613462565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a34906134f0565b60405180910390fd5b5f8111611a7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a769061357e565b60405180910390fd5b5f611a88610f59565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611af65750611ac6610f59565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b4f575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156120915760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611bf2575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611bfa575f80fd5b5f600e5403611c4257611c3f6064611c31600a54600e5411611c1e57600654611c22565b6008545b8561267690919063ffffffff16565b6126ed90919063ffffffff16565b90505b5f600e541115611c7757611c746064611c66600d548561267690919063ffffffff16565b6126ed90919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d20575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d73575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e6b57600f54821115611dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db4906135e6565b60405180910390fd5b60105482611dca85610c1e565b611dd49190613604565b1115611e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0c90613681565b60405180910390fd5b611e516064611e43600a54600e5411611e3057600654611e34565b6008545b8561267690919063ffffffff16565b6126ed90919063ffffffff16565b9050600e5f815480929190611e659061369f565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ef357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f3757611f346064611f26600b54600e5411611f1357600754611f17565b6009545b8561267690919063ffffffff16565b6126ed90919063ffffffff16565b90505b5f611f4130610c1e565b9050601460159054906101000a900460ff16158015611fac575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611fc45750601460169054906101000a900460ff165b8015611fd1575060115481115b8015611fe05750600c54600e54115b1561208f57601654431115611ff7575f6015819055505b60036015541061203c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203390613730565b60405180910390fd5b6120596120548461204f84601254612736565b612736565b6123a3565b5f4790505f81111561206f5761206e4761260e565b5b60155f8154809291906120819061369f565b919050555043601681905550505b505b5f811115612190576120e98160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461274e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121879190612a1d565b60405180910390a35b6121e08260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127ab90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061228361223782846127ab90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461274e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61232684866127ab90919063ffffffff16565b6040516123339190612a1d565b60405180910390a350505050565b5f838311158290612388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237f91906128df565b60405180910390fd5b505f8385612396919061374e565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156123da576123d9612a8b565b5b6040519080825280602002602001820160405280156124085781602001602082028036833780820191505090505b50905030815f8151811061241f5761241e612ff8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124e791906131ae565b816001815181106124fb576124fa612ff8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125613060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461179e565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016125c3959493929190613838565b5f604051808303815f87803b1580156125da575f80fd5b505af11580156125ec573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612672573d5f803e3d5ffd5b5050565b5f808303612686575f90506126e7565b5f82846126939190612fb7565b90508284826126a291906138bd565b146126e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d99061395d565b60405180910390fd5b809150505b92915050565b5f61272e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127f4565b905092915050565b5f8183116127445782612746565b815b905092915050565b5f80828461275c9190613604565b9050838110156127a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612798906139c5565b60405180910390fd5b8091505092915050565b5f6127ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612341565b905092915050565b5f808311829061283a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283191906128df565b60405180910390fd5b505f838561284891906138bd565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561288c578082015181840152602081019050612871565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6128b182612855565b6128bb818561285f565b93506128cb81856020860161286f565b6128d481612897565b840191505092915050565b5f6020820190508181035f8301526128f781846128a7565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61293982612910565b9050919050565b6129498161292f565b8114612953575f80fd5b50565b5f8135905061296481612940565b92915050565b5f819050919050565b61297c8161296a565b8114612986575f80fd5b50565b5f8135905061299781612973565b92915050565b5f80604083850312156129b3576129b2612908565b5b5f6129c085828601612956565b92505060206129d185828601612989565b9150509250929050565b5f8115159050919050565b6129ef816129db565b82525050565b5f602082019050612a085f8301846129e6565b92915050565b612a178161296a565b82525050565b5f602082019050612a305f830184612a0e565b92915050565b5f60a082019050612a495f830188612a0e565b612a566020830187612a0e565b612a636040830186612a0e565b612a706060830185612a0e565b612a7d6080830184612a0e565b9695505050505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612ac182612897565b810181811067ffffffffffffffff82111715612ae057612adf612a8b565b5b80604052505050565b5f612af26128ff565b9050612afe8282612ab8565b919050565b5f67ffffffffffffffff821115612b1d57612b1c612a8b565b5b602082029050602081019050919050565b5f80fd5b5f612b44612b3f84612b03565b612ae9565b90508083825260208201905060208402830185811115612b6757612b66612b2e565b5b835b81811015612b905780612b7c8882612956565b845260208401935050602081019050612b69565b5050509392505050565b5f82601f830112612bae57612bad612a87565b5b8135612bbe848260208601612b32565b91505092915050565b5f60208284031215612bdc57612bdb612908565b5b5f82013567ffffffffffffffff811115612bf957612bf861290c565b5b612c0584828501612b9a565b91505092915050565b5f805f60608486031215612c2557612c24612908565b5b5f612c3286828701612956565b9350506020612c4386828701612956565b9250506040612c5486828701612989565b9150509250925092565b5f60ff82169050919050565b612c7381612c5e565b82525050565b5f602082019050612c8c5f830184612c6a565b92915050565b5f60208284031215612ca757612ca6612908565b5b5f612cb484828501612956565b91505092915050565b612cc68161292f565b82525050565b5f602082019050612cdf5f830184612cbd565b92915050565b5f8060408385031215612cfb57612cfa612908565b5b5f612d0885828601612956565b9250506020612d1985828601612956565b9150509250929050565b5f60208284031215612d3857612d37612908565b5b5f612d4584828501612989565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612d8260208361285f565b9150612d8d82612d4e565b602082019050919050565b5f6020820190508181035f830152612daf81612d76565b9050919050565b5f819050919050565b5f819050919050565b5f612de2612ddd612dd884612db6565b612dbf565b61296a565b9050919050565b612df281612dc8565b82525050565b5f602082019050612e0b5f830184612de9565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612e9357808604811115612e6f57612e6e612e11565b5b6001851615612e7e5780820291505b8081029050612e8c85612e3e565b9450612e53565b94509492505050565b5f82612eab5760019050612f66565b81612eb8575f9050612f66565b8160018114612ece5760028114612ed857612f07565b6001915050612f66565b60ff841115612eea57612ee9612e11565b5b8360020a915084821115612f0157612f00612e11565b5b50612f66565b5060208310610133831016604e8410600b8410161715612f3c5782820a905083811115612f3757612f36612e11565b5b612f66565b612f498484846001612e4a565b92509050818404811115612f6057612f5f612e11565b5b81810290505b9392505050565b5f612f778261296a565b9150612f8283612c5e565b9250612faf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612e9c565b905092915050565b5f612fc18261296a565b9150612fcc8361296a565b9250828202612fda8161296a565b91508282048414831517612ff157612ff0612e11565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061303381612973565b92915050565b5f6020828403121561304e5761304d612908565b5b5f61305b84828501613025565b91505092915050565b5f61307e61307961307484612910565b612dbf565b612910565b9050919050565b5f61308f82613064565b9050919050565b5f6130a082613085565b9050919050565b6130b081613096565b82525050565b5f6040820190506130c95f8301856130a7565b6130d66020830184612a0e565b9392505050565b6130e6816129db565b81146130f0575f80fd5b50565b5f81519050613101816130dd565b92915050565b5f6020828403121561311c5761311b612908565b5b5f613129848285016130f3565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61316660178361285f565b915061317182613132565b602082019050919050565b5f6020820190508181035f8301526131938161315a565b9050919050565b5f815190506131a881612940565b92915050565b5f602082840312156131c3576131c2612908565b5b5f6131d08482850161319a565b91505092915050565b5f6040820190506131ec5f830185612cbd565b6131f96020830184612cbd565b9392505050565b5f60c0820190506132135f830189612cbd565b6132206020830188612a0e565b61322d6040830187612de9565b61323a6060830186612de9565b6132476080830185612cbd565b61325460a0830184612a0e565b979650505050505050565b5f805f6060848603121561327657613275612908565b5b5f61328386828701613025565b935050602061329486828701613025565b92505060406132a586828701613025565b9150509250925092565b5f6040820190506132c25f830185612cbd565b6132cf6020830184612a0e565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61333060248361285f565b915061333b826132d6565b604082019050919050565b5f6020820190508181035f83015261335d81613324565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133be60228361285f565b91506133c982613364565b604082019050919050565b5f6020820190508181035f8301526133eb816133b2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61344c60258361285f565b9150613457826133f2565b604082019050919050565b5f6020820190508181035f83015261347981613440565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6134da60238361285f565b91506134e582613480565b604082019050919050565b5f6020820190508181035f830152613507816134ce565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61356860298361285f565b91506135738261350e565b604082019050919050565b5f6020820190508181035f8301526135958161355c565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6135d060198361285f565b91506135db8261359c565b602082019050919050565b5f6020820190508181035f8301526135fd816135c4565b9050919050565b5f61360e8261296a565b91506136198361296a565b925082820190508082111561363157613630612e11565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61366b601a8361285f565b915061367682613637565b602082019050919050565b5f6020820190508181035f8301526136988161365f565b9050919050565b5f6136a98261296a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036136db576136da612e11565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61371a60178361285f565b9150613725826136e6565b602082019050919050565b5f6020820190508181035f8301526137478161370e565b9050919050565b5f6137588261296a565b91506137638361296a565b925082820390508181111561377b5761377a612e11565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6137b38161292f565b82525050565b5f6137c483836137aa565b60208301905092915050565b5f602082019050919050565b5f6137e682613781565b6137f0818561378b565b93506137fb8361379b565b805f5b8381101561382b57815161381288826137b9565b975061381d836137d0565b9250506001810190506137fe565b5085935050505092915050565b5f60a08201905061384b5f830188612a0e565b6138586020830187612de9565b818103604083015261386a81866137dc565b90506138796060830185612cbd565b6138866080830184612a0e565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6138c78261296a565b91506138d28361296a565b9250826138e2576138e1613890565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61394760218361285f565b9150613952826138ed565b604082019050919050565b5f6020820190508181035f8301526139748161393b565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6139af601b8361285f565b91506139ba8261397b565b602082019050919050565b5f6020820190508181035f8301526139dc816139a3565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a17882522a6ce83afb337014921f8a61fa25d4d390f5c4f3e8186189318f307464736f6c63430008170033

Deployed Bytecode

0x60806040526004361061019f575f3560e01c806370a08231116100eb578063a9059cbb11610089578063dd62ed3e11610063578063dd62ed3e14610564578063ec1f3f63146105a0578063fb201b1d146105c8578063ffb54a99146105de576101a6565b8063a9059cbb146104d6578063bf474bed14610512578063c97c18211461053c576101a6565b80638cd4426d116100c55780638cd4426d146104305780638da5cb5b146104585780638f9a55c01461048257806395d89b41146104ac576101a6565b806370a08231146103b4578063715018a6146103f05780637d1db4a514610406576101a6565b806321bbcbb1116101585780633bbac579116101325780633bbac5791461033657806351bc3c851461037257806362256589146103885780636fc3eaec1461039e576101a6565b806321bbcbb1146102a857806323b872dd146102d0578063313ce5671461030c576101a6565b806302fa1f4a146101aa57806306fdde03146101c0578063095ea7b3146101ea5780630faee56f1461022657806318160ddd146102505780631fee58941461027a576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be610608565b005b3480156101cb575f80fd5b506101d46106dc565b6040516101e191906128df565b60405180910390f35b3480156101f5575f80fd5b50610210600480360381019061020b919061299d565b610719565b60405161021d91906129f5565b60405180910390f35b348015610231575f80fd5b5061023a610736565b6040516102479190612a1d565b60405180910390f35b34801561025b575f80fd5b5061026461073c565b6040516102719190612a1d565b60405180910390f35b348015610285575f80fd5b5061028e61075f565b60405161029f959493929190612a36565b60405180910390f35b3480156102b3575f80fd5b506102ce60048036038101906102c99190612bc7565b610784565b005b3480156102db575f80fd5b506102f660048036038101906102f19190612c0e565b6108a3565b60405161030391906129f5565b60405180910390f35b348015610317575f80fd5b50610320610977565b60405161032d9190612c79565b60405180910390f35b348015610341575f80fd5b5061035c60048036038101906103579190612c92565b61097f565b60405161036991906129f5565b60405180910390f35b34801561037d575f80fd5b506103866109d1565b005b348015610393575f80fd5b5061039c610a80565b005b3480156103a9575f80fd5b506103b2610baf565b005b3480156103bf575f80fd5b506103da60048036038101906103d59190612c92565b610c1e565b6040516103e79190612a1d565b60405180910390f35b3480156103fb575f80fd5b50610404610c64565b005b348015610411575f80fd5b5061041a610db2565b6040516104279190612a1d565b60405180910390f35b34801561043b575f80fd5b506104566004803603810190610451919061299d565b610db8565b005b348015610463575f80fd5b5061046c610f59565b6040516104799190612ccc565b60405180910390f35b34801561048d575f80fd5b50610496610f80565b6040516104a39190612a1d565b60405180910390f35b3480156104b7575f80fd5b506104c0610f86565b6040516104cd91906128df565b60405180910390f35b3480156104e1575f80fd5b506104fc60048036038101906104f7919061299d565b610fc3565b60405161050991906129f5565b60405180910390f35b34801561051d575f80fd5b50610526610fe0565b6040516105339190612a1d565b60405180910390f35b348015610547575f80fd5b50610562600480360381019061055d9190612bc7565b610fe6565b005b34801561056f575f80fd5b5061058a60048036038101906105859190612ce5565b611104565b6040516105979190612a1d565b60405180910390f35b3480156105ab575f80fd5b506105c660048036038101906105c19190612d23565b611186565b005b3480156105d3575f80fd5b506105dc611212565b005b3480156105e9575f80fd5b506105f2611786565b6040516105ff91906129f5565b60405180910390f35b610610611797565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461069c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069390612d98565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106d29190612df8565b60405180910390a1565b60606040518060400160405280600d81526020017f424954434f494e2050495a5a4100000000000000000000000000000000000000815250905090565b5f61072c610725611797565b848461179e565b6001905092915050565b60125481565b5f6009600a61074b9190612f6d565b633b9aca0061075a9190612fb7565b905090565b5f805f805f600654600754600854600954600d54945094509450945094509091929394565b61078c611797565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080f90612d98565b60405180910390fd5b5f5b815181101561089f57600160045f84848151811061083b5761083a612ff8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061081a565b5050565b5f6108af848484611961565b61096c846108bb611797565b610967856040518060600160405280602881526020016139e46028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61091e611797565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123419092919063ffffffff16565b61179e565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a11611797565b73ffffffffffffffffffffffffffffffffffffffff1614610a30575f80fd5b5f610a3a30610c1e565b90505f81118015610a575750601460169054906101000a900460ff165b15610a6657610a65816123a3565b5b5f4790505f811115610a7c57610a7b8161260e565b5b5050565b610a88611797565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0b90612d98565b60405180910390fd5b6009600a610b229190612f6d565b633b9aca00610b319190612fb7565b600f819055506009600a610b459190612f6d565b633b9aca00610b549190612fb7565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b899190612f6d565b633b9aca00610b989190612fb7565b604051610ba59190612a1d565b60405180910390a1565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bef611797565b73ffffffffffffffffffffffffffffffffffffffff1614610c0e575f80fd5b5f479050610c1b8161260e565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c6c611797565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cef90612d98565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610df8611797565b73ffffffffffffffffffffffffffffffffffffffff1614610e17575f80fd5b5f610eb56064610ea7848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e5a9190612ccc565b602060405180830381865afa158015610e75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e999190613039565b61267690919063ffffffff16565b6126ed90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610f139291906130b6565b6020604051808303815f875af1158015610f2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f539190613107565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600481526020017f4254435000000000000000000000000000000000000000000000000000000000815250905090565b5f610fd6610fcf611797565b8484611961565b6001905092915050565b60115481565b610fee611797565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461107a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107190612d98565b60405180910390fd5b5f5b8151811015611100575f60045f84848151811061109c5761109b612ff8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061107c565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111c6611797565b73ffffffffffffffffffffffffffffffffffffffff16146111e5575f80fd5b60085481111580156111f957506009548111155b611201575f80fd5b806008819055508060098190555050565b61121a611797565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129d90612d98565b60405180910390fd5b60148054906101000a900460ff16156112f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112eb9061317c565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113903060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61137c9190612f6d565b633b9aca0061138b9190612fb7565b61179e565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061141e91906131ae565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c891906131ae565b6040518363ffffffff1660e01b81526004016114e59291906131d9565b6020604051808303815f875af1158015611501573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061152591906131ae565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306115ac30610c1e565b5f806115b6610f59565b426040518863ffffffff1660e01b81526004016115d896959493929190613200565b60606040518083038185885af11580156115f4573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611619919061325f565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016116b99291906132af565b6020604051808303815f875af11580156116d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116f99190613107565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550611737610f59565b73ffffffffffffffffffffffffffffffffffffffff167ff9ca0f11181041c16343c0e2d0e0c3cf66188e39b033ab29e2fe6f0f84374a364260405161177c9190612a1d565b60405180910390a2565b60148054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361180c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180390613346565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361187a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611871906133d4565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119549190612a1d565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c690613462565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a34906134f0565b60405180910390fd5b5f8111611a7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a769061357e565b60405180910390fd5b5f611a88610f59565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611af65750611ac6610f59565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b4f575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156120915760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611bf2575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611bfa575f80fd5b5f600e5403611c4257611c3f6064611c31600a54600e5411611c1e57600654611c22565b6008545b8561267690919063ffffffff16565b6126ed90919063ffffffff16565b90505b5f600e541115611c7757611c746064611c66600d548561267690919063ffffffff16565b6126ed90919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d20575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d73575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e6b57600f54821115611dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db4906135e6565b60405180910390fd5b60105482611dca85610c1e565b611dd49190613604565b1115611e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0c90613681565b60405180910390fd5b611e516064611e43600a54600e5411611e3057600654611e34565b6008545b8561267690919063ffffffff16565b6126ed90919063ffffffff16565b9050600e5f815480929190611e659061369f565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ef357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f3757611f346064611f26600b54600e5411611f1357600754611f17565b6009545b8561267690919063ffffffff16565b6126ed90919063ffffffff16565b90505b5f611f4130610c1e565b9050601460159054906101000a900460ff16158015611fac575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611fc45750601460169054906101000a900460ff165b8015611fd1575060115481115b8015611fe05750600c54600e54115b1561208f57601654431115611ff7575f6015819055505b60036015541061203c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203390613730565b60405180910390fd5b6120596120548461204f84601254612736565b612736565b6123a3565b5f4790505f81111561206f5761206e4761260e565b5b60155f8154809291906120819061369f565b919050555043601681905550505b505b5f811115612190576120e98160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461274e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121879190612a1d565b60405180910390a35b6121e08260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127ab90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061228361223782846127ab90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461274e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61232684866127ab90919063ffffffff16565b6040516123339190612a1d565b60405180910390a350505050565b5f838311158290612388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237f91906128df565b60405180910390fd5b505f8385612396919061374e565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156123da576123d9612a8b565b5b6040519080825280602002602001820160405280156124085781602001602082028036833780820191505090505b50905030815f8151811061241f5761241e612ff8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124e791906131ae565b816001815181106124fb576124fa612ff8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125613060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461179e565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016125c3959493929190613838565b5f604051808303815f87803b1580156125da575f80fd5b505af11580156125ec573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612672573d5f803e3d5ffd5b5050565b5f808303612686575f90506126e7565b5f82846126939190612fb7565b90508284826126a291906138bd565b146126e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d99061395d565b60405180910390fd5b809150505b92915050565b5f61272e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127f4565b905092915050565b5f8183116127445782612746565b815b905092915050565b5f80828461275c9190613604565b9050838110156127a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612798906139c5565b60405180910390fd5b8091505092915050565b5f6127ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612341565b905092915050565b5f808311829061283a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283191906128df565b60405180910390fd5b505f838561284891906138bd565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561288c578082015181840152602081019050612871565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6128b182612855565b6128bb818561285f565b93506128cb81856020860161286f565b6128d481612897565b840191505092915050565b5f6020820190508181035f8301526128f781846128a7565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61293982612910565b9050919050565b6129498161292f565b8114612953575f80fd5b50565b5f8135905061296481612940565b92915050565b5f819050919050565b61297c8161296a565b8114612986575f80fd5b50565b5f8135905061299781612973565b92915050565b5f80604083850312156129b3576129b2612908565b5b5f6129c085828601612956565b92505060206129d185828601612989565b9150509250929050565b5f8115159050919050565b6129ef816129db565b82525050565b5f602082019050612a085f8301846129e6565b92915050565b612a178161296a565b82525050565b5f602082019050612a305f830184612a0e565b92915050565b5f60a082019050612a495f830188612a0e565b612a566020830187612a0e565b612a636040830186612a0e565b612a706060830185612a0e565b612a7d6080830184612a0e565b9695505050505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612ac182612897565b810181811067ffffffffffffffff82111715612ae057612adf612a8b565b5b80604052505050565b5f612af26128ff565b9050612afe8282612ab8565b919050565b5f67ffffffffffffffff821115612b1d57612b1c612a8b565b5b602082029050602081019050919050565b5f80fd5b5f612b44612b3f84612b03565b612ae9565b90508083825260208201905060208402830185811115612b6757612b66612b2e565b5b835b81811015612b905780612b7c8882612956565b845260208401935050602081019050612b69565b5050509392505050565b5f82601f830112612bae57612bad612a87565b5b8135612bbe848260208601612b32565b91505092915050565b5f60208284031215612bdc57612bdb612908565b5b5f82013567ffffffffffffffff811115612bf957612bf861290c565b5b612c0584828501612b9a565b91505092915050565b5f805f60608486031215612c2557612c24612908565b5b5f612c3286828701612956565b9350506020612c4386828701612956565b9250506040612c5486828701612989565b9150509250925092565b5f60ff82169050919050565b612c7381612c5e565b82525050565b5f602082019050612c8c5f830184612c6a565b92915050565b5f60208284031215612ca757612ca6612908565b5b5f612cb484828501612956565b91505092915050565b612cc68161292f565b82525050565b5f602082019050612cdf5f830184612cbd565b92915050565b5f8060408385031215612cfb57612cfa612908565b5b5f612d0885828601612956565b9250506020612d1985828601612956565b9150509250929050565b5f60208284031215612d3857612d37612908565b5b5f612d4584828501612989565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612d8260208361285f565b9150612d8d82612d4e565b602082019050919050565b5f6020820190508181035f830152612daf81612d76565b9050919050565b5f819050919050565b5f819050919050565b5f612de2612ddd612dd884612db6565b612dbf565b61296a565b9050919050565b612df281612dc8565b82525050565b5f602082019050612e0b5f830184612de9565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612e9357808604811115612e6f57612e6e612e11565b5b6001851615612e7e5780820291505b8081029050612e8c85612e3e565b9450612e53565b94509492505050565b5f82612eab5760019050612f66565b81612eb8575f9050612f66565b8160018114612ece5760028114612ed857612f07565b6001915050612f66565b60ff841115612eea57612ee9612e11565b5b8360020a915084821115612f0157612f00612e11565b5b50612f66565b5060208310610133831016604e8410600b8410161715612f3c5782820a905083811115612f3757612f36612e11565b5b612f66565b612f498484846001612e4a565b92509050818404811115612f6057612f5f612e11565b5b81810290505b9392505050565b5f612f778261296a565b9150612f8283612c5e565b9250612faf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612e9c565b905092915050565b5f612fc18261296a565b9150612fcc8361296a565b9250828202612fda8161296a565b91508282048414831517612ff157612ff0612e11565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061303381612973565b92915050565b5f6020828403121561304e5761304d612908565b5b5f61305b84828501613025565b91505092915050565b5f61307e61307961307484612910565b612dbf565b612910565b9050919050565b5f61308f82613064565b9050919050565b5f6130a082613085565b9050919050565b6130b081613096565b82525050565b5f6040820190506130c95f8301856130a7565b6130d66020830184612a0e565b9392505050565b6130e6816129db565b81146130f0575f80fd5b50565b5f81519050613101816130dd565b92915050565b5f6020828403121561311c5761311b612908565b5b5f613129848285016130f3565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61316660178361285f565b915061317182613132565b602082019050919050565b5f6020820190508181035f8301526131938161315a565b9050919050565b5f815190506131a881612940565b92915050565b5f602082840312156131c3576131c2612908565b5b5f6131d08482850161319a565b91505092915050565b5f6040820190506131ec5f830185612cbd565b6131f96020830184612cbd565b9392505050565b5f60c0820190506132135f830189612cbd565b6132206020830188612a0e565b61322d6040830187612de9565b61323a6060830186612de9565b6132476080830185612cbd565b61325460a0830184612a0e565b979650505050505050565b5f805f6060848603121561327657613275612908565b5b5f61328386828701613025565b935050602061329486828701613025565b92505060406132a586828701613025565b9150509250925092565b5f6040820190506132c25f830185612cbd565b6132cf6020830184612a0e565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61333060248361285f565b915061333b826132d6565b604082019050919050565b5f6020820190508181035f83015261335d81613324565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133be60228361285f565b91506133c982613364565b604082019050919050565b5f6020820190508181035f8301526133eb816133b2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61344c60258361285f565b9150613457826133f2565b604082019050919050565b5f6020820190508181035f83015261347981613440565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6134da60238361285f565b91506134e582613480565b604082019050919050565b5f6020820190508181035f830152613507816134ce565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61356860298361285f565b91506135738261350e565b604082019050919050565b5f6020820190508181035f8301526135958161355c565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6135d060198361285f565b91506135db8261359c565b602082019050919050565b5f6020820190508181035f8301526135fd816135c4565b9050919050565b5f61360e8261296a565b91506136198361296a565b925082820190508082111561363157613630612e11565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61366b601a8361285f565b915061367682613637565b602082019050919050565b5f6020820190508181035f8301526136988161365f565b9050919050565b5f6136a98261296a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036136db576136da612e11565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61371a60178361285f565b9150613725826136e6565b602082019050919050565b5f6020820190508181035f8301526137478161370e565b9050919050565b5f6137588261296a565b91506137638361296a565b925082820390508181111561377b5761377a612e11565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6137b38161292f565b82525050565b5f6137c483836137aa565b60208301905092915050565b5f602082019050919050565b5f6137e682613781565b6137f0818561378b565b93506137fb8361379b565b805f5b8381101561382b57815161381288826137b9565b975061381d836137d0565b9250506001810190506137fe565b5085935050505092915050565b5f60a08201905061384b5f830188612a0e565b6138586020830187612de9565b818103604083015261386a81866137dc565b90506138796060830185612cbd565b6138866080830184612a0e565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6138c78261296a565b91506138d28361296a565b9250826138e2576138e1613890565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61394760218361285f565b9150613952826138ed565b604082019050919050565b5f6020820190508181035f8301526139748161393b565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6139af601b8361285f565b91506139ba8261397b565b602082019050919050565b5f6020820190508181035f8301526139dc816139a3565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a17882522a6ce83afb337014921f8a61fa25d4d390f5c4f3e8186189318f307464736f6c63430008170033

Deployed Bytecode Sourcemap

3838:9857:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11205:115;;;;;;;;;;;;;:::i;:::-;;5871:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7131:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4963:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6148:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6378:419;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;11428:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7300:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6057:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11768;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13132:363;;;;;;;;;;;;;:::i;:::-;;11039:158;;;;;;;;;;;;;:::i;:::-;;13505:187;;;;;;;;;;;;;:::i;:::-;;6251:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2919:148;;;;;;;;;;;;;:::i;:::-;;4775:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12858:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2705:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4836:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5962:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6805:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4899:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11599:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6980:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12595:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11859:722;;;;;;;;;;;;;:::i;:::-;;5113:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11205:115;2842:12;:10;:12::i;:::-;2832:22;;:6;;;;;;;;;;:22;;;2824:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11274:1:::1;11259:12;:16;;;;11291:21;11310:1;11291:21;;;;;;:::i;:::-;;;;;;;;11205:115::o:0;5871:83::-;5908:13;5941:5;;;;;;;;;;;;;;;;;5934:12;;5871:83;:::o;7131:161::-;7206:4;7223:39;7232:12;:10;:12::i;:::-;7246:7;7255:6;7223:8;:39::i;:::-;7280:4;7273:11;;7131:161;;;;:::o;4963:52::-;;;;:::o;6148:95::-;6201:7;4584:1;4640:2;:13;;;;:::i;:::-;4627:10;:26;;;;:::i;:::-;6221:14;;6148:95;:::o;6378:419::-;6434:21;6466:22;6499:19;6529:20;6560:19;6632:14;;6665:15;;6699:12;;6730:13;;6762:12;;6606:183;;;;;;;;;;6378:419;;;;;:::o;11428:163::-;2842:12;:10;:12::i;:::-;2832:22;;:6;;;;;;;;;;:22;;;2824:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11501:6:::1;11496:88;11517:5;:12;11513:1;:16;11496:88;;;11568:4;11551;:14;11556:5;11562:1;11556:8;;;;;;;;:::i;:::-;;;;;;;;11551:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11531:3;;;;;;;11496:88;;;;11428:163:::0;:::o;7300:313::-;7398:4;7415:36;7425:6;7433:9;7444:6;7415:9;:36::i;:::-;7462:121;7471:6;7479:12;:10;:12::i;:::-;7493:89;7531:6;7493:89;;;;;;;;;;;;;;;;;:11;:19;7505:6;7493:19;;;;;;;;;;;;;;;:33;7513:12;:10;:12::i;:::-;7493:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7462:8;:121::i;:::-;7601:4;7594:11;;7300:313;;;;;:::o;6057:83::-;6098:5;4584:1;6116:16;;6057:83;:::o;11768:::-;11815:4;11836;:7;11841:1;11836:7;;;;;;;;;;;;;;;;;;;;;;;;;11829:14;;11768:83;;;:::o;13132:363::-;13196:10;;;;;;;;;;;13182:24;;:12;:10;:12::i;:::-;:24;;;13174:33;;;;;;13218:20;13239:24;13257:4;13239:9;:24::i;:::-;13218:45;;13290:1;13277:12;:14;:29;;;;;13295:11;;;;;;;;;;;13277:29;13274:88;;;13320:30;13337:12;13320:16;:30::i;:::-;13274:88;13372:18;13391:21;13372:40;;13437:1;13426:10;:12;13423:65;;;13452:24;13465:10;13452:12;:24::i;:::-;13423:65;13163:332;;13132:363::o;11039:158::-;2842:12;:10;:12::i;:::-;2832:22;;:6;;;;;;;;;;:22;;;2824:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4584:1:::1;4640:2;:13;;;;:::i;:::-;4627:10;:26;;;;:::i;:::-;11091:12;:22;;;;4584:1;4640:2;:13;;;;:::i;:::-;4627:10;:26;;;;:::i;:::-;11124:14;:22;;;;11162:27;4584:1;4640:2;:13;;;;:::i;:::-;4627:10;:26;;;;:::i;:::-;11162:27;;;;;;:::i;:::-;;;;;;;;11039:158::o:0;13505:187::-;13569:10;;;;;;;;;;;13555:24;;:12;:10;:12::i;:::-;:24;;;13547:33;;;;;;13591:26;13620:21;13591:50;;13652:32;13665:18;13652:12;:32::i;:::-;13536:156;13505:187::o;6251:119::-;6317:7;6344:9;:18;6354:7;6344:18;;;;;;;;;;;;;;;;6337:25;;6251:119;;;:::o;2919:148::-;2842:12;:10;:12::i;:::-;2832:22;;:6;;;;;;;;;;:22;;;2824:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3026:1:::1;2989:40;;3010:6;::::0;::::1;;;;;;;;2989:40;;;;;;;;;;;;3057:1;3040:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2919:148::o:0;4775:54::-;;;;:::o;12858:266::-;12956:10;;;;;;;;;;;12942:24;;:12;:10;:12::i;:::-;:24;;;12934:33;;;;;;12978:15;12996:63;13055:3;12996:54;13042:7;13003:8;12996:26;;;13031:4;12996:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54;;;;:::i;:::-;:58;;:63;;;;:::i;:::-;12978:81;;13077:8;13070:25;;;13096:10;;;;;;;;;;;13108:7;13070:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12923:201;12858:266;;:::o;2705:79::-;2743:7;2770:6;;;;;;;;;;;2763:13;;2705:79;:::o;4836:56::-;;;;:::o;5962:87::-;6001:13;6034:7;;;;;;;;;;;;;;;;;6027:14;;5962:87;:::o;6805:167::-;6883:4;6900:42;6910:12;:10;:12::i;:::-;6924:9;6935:6;6900:9;:42::i;:::-;6960:4;6953:11;;6805:167;;;;:::o;4899:57::-;;;;:::o;11599:161::-;2842:12;:10;:12::i;:::-;2832:22;;:6;;;;;;;;;;:22;;;2824:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11671:6:::1;11666:87;11687:6;:13;11683:1;:17;11666:87;;;11738:5;11720:4;:15;11725:6;11732:1;11725:9;;;;;;;;:::i;:::-;;;;;;;;11720:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;11702:3;;;;;;;11666:87;;;;11599:161:::0;:::o;6980:143::-;7061:7;7088:11;:18;7100:5;7088:18;;;;;;;;;;;;;;;:27;7107:7;7088:27;;;;;;;;;;;;;;;;7081:34;;6980:143;;;;:::o;12595:218::-;12670:10;;;;;;;;;;;12656:24;;:12;:10;:12::i;:::-;:24;;;12648:33;;;;;;12707:12;;12698:7;:21;;:47;;;;;12732:13;;12723:7;:22;;12698:47;12690:56;;;;;;12768:7;12755:12;:20;;;;12798:7;12784:13;:21;;;;12595:218;:::o;11859:722::-;2842:12;:10;:12::i;:::-;2832:22;;:6;;;;;;;;;;:22;;;2824:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11921:11:::1;::::0;::::1;;;;;;;;11920:12;11912:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12007:42;11970:15;;:80;;;;;;;;;;;;;;;;;;12061:58;12078:4;12093:15;;;;;;;;;;;4584:1;4640:2;:13;;;;:::i;:::-;4627:10;:26;;;;:::i;:::-;12061:8;:58::i;:::-;12164:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12146:55;;;12210:4;12217:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12146:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12130:13;;:110;;;;;;;;;;;;;;;;;;12251:15;;;;;;;;;;;:31;;;12290:21;12321:4;12327:24;12345:4;12327:9;:24::i;:::-;12352:1;12354::::0;12356:7:::1;:5;:7::i;:::-;12364:15;12251:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12398:13;;;;;;;;;;;12391:29;;;12429:15;;;;;;;;;;;12447:14;12391:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12487:4;12473:11;;:18;;;;;;;;;;;;;;;;;;12516:4;12502:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;12548:7;:5;:7::i;:::-;12538:35;;;12557:15;12538:35;;;;;;:::i;:::-;;;;;;;;11859:722::o:0;5113:23::-;;;;;;;;;;;;:::o;460:98::-;513:7;540:10;533:17;;460:98;:::o;7621:335::-;7731:1;7714:19;;:5;:19;;;7706:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7812:1;7793:21;;:7;:21;;;7785:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7894:6;7864:11;:18;7876:5;7864:18;;;;;;;;;;;;;;;:27;7883:7;7864:27;;;;;;;;;;;;;;;:36;;;;7932:7;7916:32;;7925:5;7916:32;;;7941:6;7916:32;;;;;;:::i;:::-;;;;;;;;7621:335;;;:::o;7964:2468::-;8068:1;8052:18;;:4;:18;;;8044:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8145:1;8131:16;;:2;:16;;;8123:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8215:1;8206:6;:10;8198:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8273:17;8315:7;:5;:7::i;:::-;8307:15;;:4;:15;;;;:32;;;;;8332:7;:5;:7::i;:::-;8326:13;;:2;:13;;;;8307:32;:52;;;;;8349:10;;;;;;;;;;;8343:16;;:2;:16;;;;8307:52;8303:1773;;;8385:4;:10;8390:4;8385:10;;;;;;;;;;;;;;;;;;;;;;;;;8384:11;:24;;;;;8400:4;:8;8405:2;8400:8;;;;;;;;;;;;;;;;;;;;;;;;;8399:9;8384:24;8376:33;;;;;;8440:1;8429:9;;:12;8426:139;;8473:76;8545:3;8473:67;8495:15;;8485:9;;:25;8484:55;;8525:14;;8484:55;;;8512:12;;8484:55;8473:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8461:88;;8426:139;8592:1;8582:9;;:11;8579:95;;;8625:33;8654:3;8625:24;8636:12;;8625:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8613:45;;8579:95;8702:13;;;;;;;;;;;8694:21;;:4;:21;;;:55;;;;;8733:15;;;;;;;;;;;8719:30;;:2;:30;;;;8694:55;:83;;;;;8755:18;:22;8774:2;8755:22;;;;;;;;;;;;;;;;;;;;;;;;;8753:24;8694:83;8690:420;;;8817:12;;8807:6;:22;;8799:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8912:14;;8902:6;8886:13;8896:2;8886:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8878:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8988:76;9060:3;8988:67;9010:15;;9000:9;;:25;8999:55;;9040:14;;8999:55;;;9027:12;;8999:55;8988:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8976:88;;9083:9;;:11;;;;;;;;;:::i;:::-;;;;;;8690:420;9135:13;;;;;;;;;;;9129:19;;:2;:19;;;:43;;;;;9167:4;9152:20;;:4;:20;;;;9129:43;9126:174;;;9205:79;9280:3;9205:70;9227:16;;9217:9;;:26;9216:58;;9259:15;;9216:58;;;9245:13;;9216:58;9205:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;9193:91;;9126:174;9316:28;9347:24;9365:4;9347:9;:24::i;:::-;9316:55;;9391:6;;;;;;;;;;;9390:7;:30;;;;;9407:13;;;;;;;;;;;9401:19;;:2;:19;;;9390:30;:45;;;;;9424:11;;;;;;;;;;;9390:45;:89;;;;;9462:17;;9439:20;:40;9390:89;:123;;;;;9495:18;;9483:9;;:30;9390:123;9386:679;;;9553:13;;9538:12;:28;9534:90;;;9603:1;9591:9;:13;;;;9534:90;9662:1;9650:9;;:13;9642:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9710:69;9727:51;9731:6;9739:38;9743:20;9765:11;;9739:3;:38::i;:::-;9727:3;:51::i;:::-;9710:16;:69::i;:::-;9798:26;9827:21;9798:50;;9892:1;9871:18;:22;9867:106;;;9918:35;9931:21;9918:12;:35::i;:::-;9867:106;9991:9;;:11;;;;;;;;;:::i;:::-;;;;;;10037:12;10021:13;:28;;;;9515:550;9386:679;8361:1715;8303:1773;10101:1;10091:9;:11;10088:161;;;10141:39;10170:9;10141;:24;10159:4;10141:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10116:9;:24;10134:4;10116:24;;;;;;;;;;;;;;;:64;;;;10221:4;10198:39;;10207:4;10198:39;;;10227:9;10198:39;;;;;;:::i;:::-;;;;;;;;10088:161;10275:27;10295:6;10275:9;:15;10285:4;10275:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10259:9;:15;10269:4;10259:15;;;;;;;;;;;;;;;:43;;;;10327:40;10345:21;10356:9;10345:6;:10;;:21;;;;:::i;:::-;10327:9;:13;10337:2;10327:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10313:9;:13;10323:2;10313:13;;;;;;;;;;;;;;;:54;;;;10398:2;10383:41;;10392:4;10383:41;;;10402:21;10413:9;10402:6;:10;;:21;;;;:::i;:::-;10383:41;;;;;;:::i;:::-;;;;;;;;8033:2399;7964:2468;;;:::o;1597:190::-;1683:7;1716:1;1711;:6;;1719:12;1703:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1743:9;1759:1;1755;:5;;;;:::i;:::-;1743:17;;1778:1;1771:8;;;1597:190;;;;;:::o;10548:483::-;5489:4;5480:6;;:13;;;;;;;;;;;;;;;;;;10626:21:::1;10664:1;10650:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10626:40;;10695:4;10677;10682:1;10677:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10721:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10711:4;10716:1;10711:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10754:62;10771:4;10786:15;;;;;;;;;;;10804:11;10754:8;:62::i;:::-;10827:15;;;;;;;;;;;:66;;;10908:11;10934:1;10950:4;10977;10997:15;10827:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10615:416;5525:5:::0;5516:6;;:14;;;;;;;;;;;;;;;;;;10548:483;:::o;11328:92::-;11385:10;;;;;;;;;;;:19;;:27;11405:6;11385:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11328:92;:::o;1795:246::-;1853:7;1882:1;1877;:6;1873:47;;1907:1;1900:8;;;;1873:47;1930:9;1946:1;1942;:5;;;;:::i;:::-;1930:17;;1975:1;1970;1966;:5;;;;:::i;:::-;:10;1958:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2032:1;2025:8;;;1795:246;;;;;:::o;2049:132::-;2107:7;2134:39;2138:1;2141;2134:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2127:46;;2049:132;;;;:::o;10442:98::-;10499:7;10526:1;10524;:3;10523:9;;10531:1;10523:9;;;10529:1;10523:9;10516:16;;10442:98;;;;:::o;1266:179::-;1324:7;1344:9;1360:1;1356;:5;;;;:::i;:::-;1344:17;;1385:1;1380;:6;;1372:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1436:1;1429:8;;;1266:179;;;;:::o;1453:136::-;1511:7;1538:43;1542:1;1545;1538:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1531:50;;1453:136;;;;:::o;2189:189::-;2275:7;2307:1;2303;:5;2310:12;2295:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2334:9;2350:1;2346;:5;;;;:::i;:::-;2334:17;;2369:1;2362:8;;;2189:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:664::-;4003:4;4041:3;4030:9;4026:19;4018:27;;4055:71;4123:1;4112:9;4108:17;4099:6;4055:71;:::i;:::-;4136:72;4204:2;4193:9;4189:18;4180:6;4136:72;:::i;:::-;4218;4286:2;4275:9;4271:18;4262:6;4218:72;:::i;:::-;4300;4368:2;4357:9;4353:18;4344:6;4300:72;:::i;:::-;4382:73;4450:3;4439:9;4435:19;4426:6;4382:73;:::i;:::-;3798:664;;;;;;;;:::o;4468:117::-;4577:1;4574;4567:12;4591:180;4639:77;4636:1;4629:88;4736:4;4733:1;4726:15;4760:4;4757:1;4750:15;4777:281;4860:27;4882:4;4860:27;:::i;:::-;4852:6;4848:40;4990:6;4978:10;4975:22;4954:18;4942:10;4939:34;4936:62;4933:88;;;5001:18;;:::i;:::-;4933:88;5041:10;5037:2;5030:22;4820:238;4777:281;;:::o;5064:129::-;5098:6;5125:20;;:::i;:::-;5115:30;;5154:33;5182:4;5174:6;5154:33;:::i;:::-;5064:129;;;:::o;5199:311::-;5276:4;5366:18;5358:6;5355:30;5352:56;;;5388:18;;:::i;:::-;5352:56;5438:4;5430:6;5426:17;5418:25;;5498:4;5492;5488:15;5480:23;;5199:311;;;:::o;5516:117::-;5625:1;5622;5615:12;5656:710;5752:5;5777:81;5793:64;5850:6;5793:64;:::i;:::-;5777:81;:::i;:::-;5768:90;;5878:5;5907:6;5900:5;5893:21;5941:4;5934:5;5930:16;5923:23;;5994:4;5986:6;5982:17;5974:6;5970:30;6023:3;6015:6;6012:15;6009:122;;;6042:79;;:::i;:::-;6009:122;6157:6;6140:220;6174:6;6169:3;6166:15;6140:220;;;6249:3;6278:37;6311:3;6299:10;6278:37;:::i;:::-;6273:3;6266:50;6345:4;6340:3;6336:14;6329:21;;6216:144;6200:4;6195:3;6191:14;6184:21;;6140:220;;;6144:21;5758:608;;5656:710;;;;;:::o;6389:370::-;6460:5;6509:3;6502:4;6494:6;6490:17;6486:27;6476:122;;6517:79;;:::i;:::-;6476:122;6634:6;6621:20;6659:94;6749:3;6741:6;6734:4;6726:6;6722:17;6659:94;:::i;:::-;6650:103;;6466:293;6389:370;;;;:::o;6765:539::-;6849:6;6898:2;6886:9;6877:7;6873:23;6869:32;6866:119;;;6904:79;;:::i;:::-;6866:119;7052:1;7041:9;7037:17;7024:31;7082:18;7074:6;7071:30;7068:117;;;7104:79;;:::i;:::-;7068:117;7209:78;7279:7;7270:6;7259:9;7255:22;7209:78;:::i;:::-;7199:88;;6995:302;6765:539;;;;:::o;7310:619::-;7387:6;7395;7403;7452:2;7440:9;7431:7;7427:23;7423:32;7420:119;;;7458:79;;:::i;:::-;7420:119;7578:1;7603:53;7648:7;7639:6;7628:9;7624:22;7603:53;:::i;:::-;7593:63;;7549:117;7705:2;7731:53;7776:7;7767:6;7756:9;7752:22;7731:53;:::i;:::-;7721:63;;7676:118;7833:2;7859:53;7904:7;7895:6;7884:9;7880:22;7859:53;:::i;:::-;7849:63;;7804:118;7310:619;;;;;:::o;7935:86::-;7970:7;8010:4;8003:5;7999:16;7988:27;;7935:86;;;:::o;8027:112::-;8110:22;8126:5;8110:22;:::i;:::-;8105:3;8098:35;8027:112;;:::o;8145:214::-;8234:4;8272:2;8261:9;8257:18;8249:26;;8285:67;8349:1;8338:9;8334:17;8325:6;8285:67;:::i;:::-;8145:214;;;;:::o;8365:329::-;8424:6;8473:2;8461:9;8452:7;8448:23;8444:32;8441:119;;;8479:79;;:::i;:::-;8441:119;8599:1;8624:53;8669:7;8660:6;8649:9;8645:22;8624:53;:::i;:::-;8614:63;;8570:117;8365:329;;;;:::o;8700:118::-;8787:24;8805:5;8787:24;:::i;:::-;8782:3;8775:37;8700:118;;:::o;8824:222::-;8917:4;8955:2;8944:9;8940:18;8932:26;;8968:71;9036:1;9025:9;9021:17;9012:6;8968:71;:::i;:::-;8824:222;;;;:::o;9052:474::-;9120:6;9128;9177:2;9165:9;9156:7;9152:23;9148:32;9145:119;;;9183:79;;:::i;:::-;9145:119;9303:1;9328:53;9373:7;9364:6;9353:9;9349:22;9328:53;:::i;:::-;9318:63;;9274:117;9430:2;9456:53;9501:7;9492:6;9481:9;9477:22;9456:53;:::i;:::-;9446:63;;9401:118;9052:474;;;;;:::o;9532:329::-;9591:6;9640:2;9628:9;9619:7;9615:23;9611:32;9608:119;;;9646:79;;:::i;:::-;9608:119;9766:1;9791:53;9836:7;9827:6;9816:9;9812:22;9791:53;:::i;:::-;9781:63;;9737:117;9532:329;;;;:::o;9867:182::-;10007:34;10003:1;9995:6;9991:14;9984:58;9867:182;:::o;10055:366::-;10197:3;10218:67;10282:2;10277:3;10218:67;:::i;:::-;10211:74;;10294:93;10383:3;10294:93;:::i;:::-;10412:2;10407:3;10403:12;10396:19;;10055:366;;;:::o;10427:419::-;10593:4;10631:2;10620:9;10616:18;10608:26;;10680:9;10674:4;10670:20;10666:1;10655:9;10651:17;10644:47;10708:131;10834:4;10708:131;:::i;:::-;10700:139;;10427:419;;;:::o;10852:85::-;10897:7;10926:5;10915:16;;10852:85;;;:::o;10943:60::-;10971:3;10992:5;10985:12;;10943:60;;;:::o;11009:158::-;11067:9;11100:61;11118:42;11127:32;11153:5;11127:32;:::i;:::-;11118:42;:::i;:::-;11100:61;:::i;:::-;11087:74;;11009:158;;;:::o;11173:147::-;11268:45;11307:5;11268:45;:::i;:::-;11263:3;11256:58;11173:147;;:::o;11326:238::-;11427:4;11465:2;11454:9;11450:18;11442:26;;11478:79;11554:1;11543:9;11539:17;11530:6;11478:79;:::i;:::-;11326:238;;;;:::o;11570:180::-;11618:77;11615:1;11608:88;11715:4;11712:1;11705:15;11739:4;11736:1;11729:15;11756:102;11798:8;11845:5;11842:1;11838:13;11817:34;;11756:102;;;:::o;11864:848::-;11925:5;11932:4;11956:6;11947:15;;11980:5;11971:14;;11994:712;12015:1;12005:8;12002:15;11994:712;;;12110:4;12105:3;12101:14;12095:4;12092:24;12089:50;;;12119:18;;:::i;:::-;12089:50;12169:1;12159:8;12155:16;12152:451;;;12584:4;12577:5;12573:16;12564:25;;12152:451;12634:4;12628;12624:15;12616:23;;12664:32;12687:8;12664:32;:::i;:::-;12652:44;;11994:712;;;11864:848;;;;;;;:::o;12718:1073::-;12772:5;12963:8;12953:40;;12984:1;12975:10;;12986:5;;12953:40;13012:4;13002:36;;13029:1;13020:10;;13031:5;;13002:36;13098:4;13146:1;13141:27;;;;13182:1;13177:191;;;;13091:277;;13141:27;13159:1;13150:10;;13161:5;;;13177:191;13222:3;13212:8;13209:17;13206:43;;;13229:18;;:::i;:::-;13206:43;13278:8;13275:1;13271:16;13262:25;;13313:3;13306:5;13303:14;13300:40;;;13320:18;;:::i;:::-;13300:40;13353:5;;;13091:277;;13477:2;13467:8;13464:16;13458:3;13452:4;13449:13;13445:36;13427:2;13417:8;13414:16;13409:2;13403:4;13400:12;13396:35;13380:111;13377:246;;;13533:8;13527:4;13523:19;13514:28;;13568:3;13561:5;13558:14;13555:40;;;13575:18;;:::i;:::-;13555:40;13608:5;;13377:246;13648:42;13686:3;13676:8;13670:4;13667:1;13648:42;:::i;:::-;13633:57;;;;13722:4;13717:3;13713:14;13706:5;13703:25;13700:51;;;13731:18;;:::i;:::-;13700:51;13780:4;13773:5;13769:16;13760:25;;12718:1073;;;;;;:::o;13797:281::-;13855:5;13879:23;13897:4;13879:23;:::i;:::-;13871:31;;13923:25;13939:8;13923:25;:::i;:::-;13911:37;;13967:104;14004:66;13994:8;13988:4;13967:104;:::i;:::-;13958:113;;13797:281;;;;:::o;14084:410::-;14124:7;14147:20;14165:1;14147:20;:::i;:::-;14142:25;;14181:20;14199:1;14181:20;:::i;:::-;14176:25;;14236:1;14233;14229:9;14258:30;14276:11;14258:30;:::i;:::-;14247:41;;14437:1;14428:7;14424:15;14421:1;14418:22;14398:1;14391:9;14371:83;14348:139;;14467:18;;:::i;:::-;14348:139;14132:362;14084:410;;;;:::o;14500:180::-;14548:77;14545:1;14538:88;14645:4;14642:1;14635:15;14669:4;14666:1;14659:15;14686:143;14743:5;14774:6;14768:13;14759:22;;14790:33;14817:5;14790:33;:::i;:::-;14686:143;;;;:::o;14835:351::-;14905:6;14954:2;14942:9;14933:7;14929:23;14925:32;14922:119;;;14960:79;;:::i;:::-;14922:119;15080:1;15105:64;15161:7;15152:6;15141:9;15137:22;15105:64;:::i;:::-;15095:74;;15051:128;14835:351;;;;:::o;15192:142::-;15242:9;15275:53;15293:34;15302:24;15320:5;15302:24;:::i;:::-;15293:34;:::i;:::-;15275:53;:::i;:::-;15262:66;;15192:142;;;:::o;15340:126::-;15390:9;15423:37;15454:5;15423:37;:::i;:::-;15410:50;;15340:126;;;:::o;15472:134::-;15530:9;15563:37;15594:5;15563:37;:::i;:::-;15550:50;;15472:134;;;:::o;15612:147::-;15707:45;15746:5;15707:45;:::i;:::-;15702:3;15695:58;15612:147;;:::o;15765:348::-;15894:4;15932:2;15921:9;15917:18;15909:26;;15945:79;16021:1;16010:9;16006:17;15997:6;15945:79;:::i;:::-;16034:72;16102:2;16091:9;16087:18;16078:6;16034:72;:::i;:::-;15765:348;;;;;:::o;16119:116::-;16189:21;16204:5;16189:21;:::i;:::-;16182:5;16179:32;16169:60;;16225:1;16222;16215:12;16169:60;16119:116;:::o;16241:137::-;16295:5;16326:6;16320:13;16311:22;;16342:30;16366:5;16342:30;:::i;:::-;16241:137;;;;:::o;16384:345::-;16451:6;16500:2;16488:9;16479:7;16475:23;16471:32;16468:119;;;16506:79;;:::i;:::-;16468:119;16626:1;16651:61;16704:7;16695:6;16684:9;16680:22;16651:61;:::i;:::-;16641:71;;16597:125;16384:345;;;;:::o;16735:173::-;16875:25;16871:1;16863:6;16859:14;16852:49;16735:173;:::o;16914:366::-;17056:3;17077:67;17141:2;17136:3;17077:67;:::i;:::-;17070:74;;17153:93;17242:3;17153:93;:::i;:::-;17271:2;17266:3;17262:12;17255:19;;16914:366;;;:::o;17286:419::-;17452:4;17490:2;17479:9;17475:18;17467:26;;17539:9;17533:4;17529:20;17525:1;17514:9;17510:17;17503:47;17567:131;17693:4;17567:131;:::i;:::-;17559:139;;17286:419;;;:::o;17711:143::-;17768:5;17799:6;17793:13;17784:22;;17815:33;17842:5;17815:33;:::i;:::-;17711:143;;;;:::o;17860:351::-;17930:6;17979:2;17967:9;17958:7;17954:23;17950:32;17947:119;;;17985:79;;:::i;:::-;17947:119;18105:1;18130:64;18186:7;18177:6;18166:9;18162:22;18130:64;:::i;:::-;18120:74;;18076:128;17860:351;;;;:::o;18217:332::-;18338:4;18376:2;18365:9;18361:18;18353:26;;18389:71;18457:1;18446:9;18442:17;18433:6;18389:71;:::i;:::-;18470:72;18538:2;18527:9;18523:18;18514:6;18470:72;:::i;:::-;18217:332;;;;;:::o;18555:807::-;18804:4;18842:3;18831:9;18827:19;18819:27;;18856:71;18924:1;18913:9;18909:17;18900:6;18856:71;:::i;:::-;18937:72;19005:2;18994:9;18990:18;18981:6;18937:72;:::i;:::-;19019:80;19095:2;19084:9;19080:18;19071:6;19019:80;:::i;:::-;19109;19185:2;19174:9;19170:18;19161:6;19109:80;:::i;:::-;19199:73;19267:3;19256:9;19252:19;19243:6;19199:73;:::i;:::-;19282;19350:3;19339:9;19335:19;19326:6;19282:73;:::i;:::-;18555:807;;;;;;;;;:::o;19368:663::-;19456:6;19464;19472;19521:2;19509:9;19500:7;19496:23;19492:32;19489:119;;;19527:79;;:::i;:::-;19489:119;19647:1;19672:64;19728:7;19719:6;19708:9;19704:22;19672:64;:::i;:::-;19662:74;;19618:128;19785:2;19811:64;19867:7;19858:6;19847:9;19843:22;19811:64;:::i;:::-;19801:74;;19756:129;19924:2;19950:64;20006:7;19997:6;19986:9;19982:22;19950:64;:::i;:::-;19940:74;;19895:129;19368:663;;;;;:::o;20037:332::-;20158:4;20196:2;20185:9;20181:18;20173:26;;20209:71;20277:1;20266:9;20262:17;20253:6;20209:71;:::i;:::-;20290:72;20358:2;20347:9;20343:18;20334:6;20290:72;:::i;:::-;20037:332;;;;;:::o;20375:223::-;20515:34;20511:1;20503:6;20499:14;20492:58;20584:6;20579:2;20571:6;20567:15;20560:31;20375:223;:::o;20604:366::-;20746:3;20767:67;20831:2;20826:3;20767:67;:::i;:::-;20760:74;;20843:93;20932:3;20843:93;:::i;:::-;20961:2;20956:3;20952:12;20945:19;;20604:366;;;:::o;20976:419::-;21142:4;21180:2;21169:9;21165:18;21157:26;;21229:9;21223:4;21219:20;21215:1;21204:9;21200:17;21193:47;21257:131;21383:4;21257:131;:::i;:::-;21249:139;;20976:419;;;:::o;21401:221::-;21541:34;21537:1;21529:6;21525:14;21518:58;21610:4;21605:2;21597:6;21593:15;21586:29;21401:221;:::o;21628:366::-;21770:3;21791:67;21855:2;21850:3;21791:67;:::i;:::-;21784:74;;21867:93;21956:3;21867:93;:::i;:::-;21985:2;21980:3;21976:12;21969:19;;21628:366;;;:::o;22000:419::-;22166:4;22204:2;22193:9;22189:18;22181:26;;22253:9;22247:4;22243:20;22239:1;22228:9;22224:17;22217:47;22281:131;22407:4;22281:131;:::i;:::-;22273:139;;22000:419;;;:::o;22425:224::-;22565:34;22561:1;22553:6;22549:14;22542:58;22634:7;22629:2;22621:6;22617:15;22610:32;22425:224;:::o;22655:366::-;22797:3;22818:67;22882:2;22877:3;22818:67;:::i;:::-;22811:74;;22894:93;22983:3;22894:93;:::i;:::-;23012:2;23007:3;23003:12;22996:19;;22655:366;;;:::o;23027:419::-;23193:4;23231:2;23220:9;23216:18;23208:26;;23280:9;23274:4;23270:20;23266:1;23255:9;23251:17;23244:47;23308:131;23434:4;23308:131;:::i;:::-;23300:139;;23027:419;;;:::o;23452:222::-;23592:34;23588:1;23580:6;23576:14;23569:58;23661:5;23656:2;23648:6;23644:15;23637:30;23452:222;:::o;23680:366::-;23822:3;23843:67;23907:2;23902:3;23843:67;:::i;:::-;23836:74;;23919:93;24008:3;23919:93;:::i;:::-;24037:2;24032:3;24028:12;24021:19;;23680:366;;;:::o;24052:419::-;24218:4;24256:2;24245:9;24241:18;24233:26;;24305:9;24299:4;24295:20;24291:1;24280:9;24276:17;24269:47;24333:131;24459:4;24333:131;:::i;:::-;24325:139;;24052:419;;;:::o;24477:228::-;24617:34;24613:1;24605:6;24601:14;24594:58;24686:11;24681:2;24673:6;24669:15;24662:36;24477:228;:::o;24711:366::-;24853:3;24874:67;24938:2;24933:3;24874:67;:::i;:::-;24867:74;;24950:93;25039:3;24950:93;:::i;:::-;25068:2;25063:3;25059:12;25052:19;;24711:366;;;:::o;25083:419::-;25249:4;25287:2;25276:9;25272:18;25264:26;;25336:9;25330:4;25326:20;25322:1;25311:9;25307:17;25300:47;25364:131;25490:4;25364:131;:::i;:::-;25356:139;;25083:419;;;:::o;25508:175::-;25648:27;25644:1;25636:6;25632:14;25625:51;25508:175;:::o;25689:366::-;25831:3;25852:67;25916:2;25911:3;25852:67;:::i;:::-;25845:74;;25928:93;26017:3;25928:93;:::i;:::-;26046:2;26041:3;26037:12;26030:19;;25689:366;;;:::o;26061:419::-;26227:4;26265:2;26254:9;26250:18;26242:26;;26314:9;26308:4;26304:20;26300:1;26289:9;26285:17;26278:47;26342:131;26468:4;26342:131;:::i;:::-;26334:139;;26061:419;;;:::o;26486:191::-;26526:3;26545:20;26563:1;26545:20;:::i;:::-;26540:25;;26579:20;26597:1;26579:20;:::i;:::-;26574:25;;26622:1;26619;26615:9;26608:16;;26643:3;26640:1;26637:10;26634:36;;;26650:18;;:::i;:::-;26634:36;26486:191;;;;:::o;26683:176::-;26823:28;26819:1;26811:6;26807:14;26800:52;26683:176;:::o;26865:366::-;27007:3;27028:67;27092:2;27087:3;27028:67;:::i;:::-;27021:74;;27104:93;27193:3;27104:93;:::i;:::-;27222:2;27217:3;27213:12;27206:19;;26865:366;;;:::o;27237:419::-;27403:4;27441:2;27430:9;27426:18;27418:26;;27490:9;27484:4;27480:20;27476:1;27465:9;27461:17;27454:47;27518:131;27644:4;27518:131;:::i;:::-;27510:139;;27237:419;;;:::o;27662:233::-;27701:3;27724:24;27742:5;27724:24;:::i;:::-;27715:33;;27770:66;27763:5;27760:77;27757:103;;27840:18;;:::i;:::-;27757:103;27887:1;27880:5;27876:13;27869:20;;27662:233;;;:::o;27901:173::-;28041:25;28037:1;28029:6;28025:14;28018:49;27901:173;:::o;28080:366::-;28222:3;28243:67;28307:2;28302:3;28243:67;:::i;:::-;28236:74;;28319:93;28408:3;28319:93;:::i;:::-;28437:2;28432:3;28428:12;28421:19;;28080:366;;;:::o;28452:419::-;28618:4;28656:2;28645:9;28641:18;28633:26;;28705:9;28699:4;28695:20;28691:1;28680:9;28676:17;28669:47;28733:131;28859:4;28733:131;:::i;:::-;28725:139;;28452:419;;;:::o;28877:194::-;28917:4;28937:20;28955:1;28937:20;:::i;:::-;28932:25;;28971:20;28989:1;28971:20;:::i;:::-;28966:25;;29015:1;29012;29008:9;29000:17;;29039:1;29033:4;29030:11;29027:37;;;29044:18;;:::i;:::-;29027:37;28877:194;;;;:::o;29077:114::-;29144:6;29178:5;29172:12;29162:22;;29077:114;;;:::o;29197:184::-;29296:11;29330:6;29325:3;29318:19;29370:4;29365:3;29361:14;29346:29;;29197:184;;;;:::o;29387:132::-;29454:4;29477:3;29469:11;;29507:4;29502:3;29498:14;29490:22;;29387:132;;;:::o;29525:108::-;29602:24;29620:5;29602:24;:::i;:::-;29597:3;29590:37;29525:108;;:::o;29639:179::-;29708:10;29729:46;29771:3;29763:6;29729:46;:::i;:::-;29807:4;29802:3;29798:14;29784:28;;29639:179;;;;:::o;29824:113::-;29894:4;29926;29921:3;29917:14;29909:22;;29824:113;;;:::o;29973:732::-;30092:3;30121:54;30169:5;30121:54;:::i;:::-;30191:86;30270:6;30265:3;30191:86;:::i;:::-;30184:93;;30301:56;30351:5;30301:56;:::i;:::-;30380:7;30411:1;30396:284;30421:6;30418:1;30415:13;30396:284;;;30497:6;30491:13;30524:63;30583:3;30568:13;30524:63;:::i;:::-;30517:70;;30610:60;30663:6;30610:60;:::i;:::-;30600:70;;30456:224;30443:1;30440;30436:9;30431:14;;30396:284;;;30400:14;30696:3;30689:10;;30097:608;;;29973:732;;;;:::o;30711:831::-;30974:4;31012:3;31001:9;30997:19;30989:27;;31026:71;31094:1;31083:9;31079:17;31070:6;31026:71;:::i;:::-;31107:80;31183:2;31172:9;31168:18;31159:6;31107:80;:::i;:::-;31234:9;31228:4;31224:20;31219:2;31208:9;31204:18;31197:48;31262:108;31365:4;31356:6;31262:108;:::i;:::-;31254:116;;31380:72;31448:2;31437:9;31433:18;31424:6;31380:72;:::i;:::-;31462:73;31530:3;31519:9;31515:19;31506:6;31462:73;:::i;:::-;30711:831;;;;;;;;:::o;31548:180::-;31596:77;31593:1;31586:88;31693:4;31690:1;31683:15;31717:4;31714:1;31707:15;31734:185;31774:1;31791:20;31809:1;31791:20;:::i;:::-;31786:25;;31825:20;31843:1;31825:20;:::i;:::-;31820:25;;31864:1;31854:35;;31869:18;;:::i;:::-;31854:35;31911:1;31908;31904:9;31899:14;;31734:185;;;;:::o;31925:220::-;32065:34;32061:1;32053:6;32049:14;32042:58;32134:3;32129:2;32121:6;32117:15;32110:28;31925:220;:::o;32151:366::-;32293:3;32314:67;32378:2;32373:3;32314:67;:::i;:::-;32307:74;;32390:93;32479:3;32390:93;:::i;:::-;32508:2;32503:3;32499:12;32492:19;;32151:366;;;:::o;32523:419::-;32689:4;32727:2;32716:9;32712:18;32704:26;;32776:9;32770:4;32766:20;32762:1;32751:9;32747:17;32740:47;32804:131;32930:4;32804:131;:::i;:::-;32796:139;;32523:419;;;:::o;32948:177::-;33088:29;33084:1;33076:6;33072:14;33065:53;32948:177;:::o;33131:366::-;33273:3;33294:67;33358:2;33353:3;33294:67;:::i;:::-;33287:74;;33370:93;33459:3;33370:93;:::i;:::-;33488:2;33483:3;33479:12;33472:19;;33131:366;;;:::o;33503:419::-;33669:4;33707:2;33696:9;33692:18;33684:26;;33756:9;33750:4;33746:20;33742:1;33731:9;33727:17;33720:47;33784:131;33910:4;33784:131;:::i;:::-;33776:139;;33503:419;;;:::o

Swarm Source

ipfs://a17882522a6ce83afb337014921f8a61fa25d4d390f5c4f3e8186189318f3074

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.