Token Arbitrum Pad

 

Overview ERC20

Price
$0.00 @ 0.000000 ETH
Fully Diluted Market Cap
Total Supply:
1,000,000,000 ARBPAD

Holders:
1,251 addresses

Transfers:
-

Contract:
0x2A35C341F4dcF2d18e0FB38E0dF50e8a47Af13680x2A35C341F4dcF2d18e0FB38E0dF50e8a47Af1368

Decimals:
18

Social Profiles:
Not Available, Update ?

Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

Click here to update the token ICO / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ArbitrumPad

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-02
*/

// SPDX-License-Identifier: Unlicensed

/**
 * Arbitrum Pad Contract
 * Discord: https://discord.com/invite/ZpfSJvdHdA
 * Medium: https://medium.com/@ArbitrumPad
 * Telegram: @ArbitrumPadChat
 * Twitter: @Arbitrum_Pad
 * Website: https://www.arbitrumpad.com/
*/

pragma solidity ^0.8.10;

abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

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 waiveOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract ArbitrumPad is Context, IERC20, Ownable {
    
    using SafeMath for uint256;
    using Address for address;
    
    string private _name = "Arbitrum Pad";
    string private _symbol = "ARBPAD";
    uint8 private _decimals = 18;

    address public deadAddress = 0x000000000000000000000000000000000000dEaD;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;

    uint256 public buyFee = 0;

    uint256 public sellFee = 1;

    uint256 public _totalBuyTax = buyFee;
    uint256 public _totalSellTax = sellFee;

    uint256 private _totalSupply = 1000000000 * 10 ** _decimals;

    bool public tradeOpen = false;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);

        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[deadAddress] = true;

        isMarketPair[address(uniswapPair)] = true;

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

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

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

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        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 setIsExcludedFromFee(address account, bool newValue) public onlyOwner {
        isExcludedFromFee[account] = newValue;
    }

    function setMarketPairStatus(address account, bool newValue) public onlyOwner {
        isMarketPair[account] = newValue;
    }

    function setBuy(uint256 buyFeeNew) external onlyOwner(){
        buyFee = buyFeeNew;
        _totalBuyTax = buyFee;
        require(_totalBuyTax <= 1 , "Max buy fee 1%");
    }

    function setSell(uint256 sellFeeNew) external onlyOwner(){
        sellFee = sellFeeNew;
        _totalSellTax = sellFee;
        require(_totalSellTax <= 1 , "Max sell fee 1%");
    }

    function Trade() external onlyOwner{
        tradeOpen = true;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

    //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(tradeOpen || isExcludedFromFee[sender] || isExcludedFromFee[recipient], "Trading is not open yet");

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? amount : takeFee(sender,recipient, amount);

        _balances[recipient] = _balances[recipient].add(finalAmount);

        emit Transfer(sender, recipient, finalAmount);
        return true;
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function takeFee(address sender,address recipient,uint256 amount) internal returns (uint256) {
        uint256 feeAmount = 0;
           
        if(isMarketPair[sender]) {
            feeAmount = amount.mul(_totalBuyTax).div(100);
        }
        else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalSellTax).div(100);
        }   
        
        if(feeAmount > 0) {
            _balances[deadAddress] = _balances[deadAddress].add(feeAmount);
            emit Transfer(sender, deadAddress, feeAmount);
        }
        return amount.sub(feeAmount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Trade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_totalBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyFeeNew","type":"uint256"}],"name":"setBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellFeeNew","type":"uint256"}],"name":"setSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradeOpen","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280600c81526020017f417262697472756d20506164000000000000000000000000000000000000000081525060019080519060200190620000519291906200077d565b506040518060400160405280600681526020017f4152425041440000000000000000000000000000000000000000000000000000815250600290805190602001906200009f9291906200077d565b506012600360006101000a81548160ff021916908360ff16021790555061dead600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006008556001600955600854600a55600954600b55600360009054906101000a900460ff16600a620001339190620009c7565b633b9aca0062000144919062000a18565b600c556000600d60006101000a81548160ff0219169083151502179055503480156200016f57600080fd5b506000620001826200074c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000731b02da8cb0d097eb8d57a175b88c7d8b4799750690508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000285573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ab919062000ae3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000313573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000339919062000ae3565b6040518363ffffffff1660e01b81526004016200035892919062000b26565b6020604051808303816000875af115801562000378573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039e919062000ae3565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620004da6200075460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600c54600460006200068e6200074c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006dc6200074c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c546040516200073d919062000b64565b60405180910390a35062000be6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200078b9062000bb0565b90600052602060002090601f016020900481019282620007af5760008555620007fb565b82601f10620007ca57805160ff1916838001178555620007fb565b82800160010185558215620007fb579182015b82811115620007fa578251825591602001919060010190620007dd565b5b5090506200080a91906200080e565b5090565b5b80821115620008295760008160009055506001016200080f565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620008bb578086048111156200089357620008926200082d565b5b6001851615620008a35780820291505b8081029050620008b3856200085c565b945062000873565b94509492505050565b600082620008d65760019050620009a9565b81620008e65760009050620009a9565b8160018114620008ff57600281146200090a5762000940565b6001915050620009a9565b60ff8411156200091f576200091e6200082d565b5b8360020a9150848211156200093957620009386200082d565b5b50620009a9565b5060208310610133831016604e8410600b84101617156200097a5782820a9050838111156200097457620009736200082d565b5b620009a9565b62000989848484600162000869565b92509050818404811115620009a357620009a26200082d565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620009d482620009b0565b9150620009e183620009ba565b925062000a107fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620008c4565b905092915050565b600062000a2582620009b0565b915062000a3283620009b0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000a6e5762000a6d6200082d565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000aab8262000a7e565b9050919050565b62000abd8162000a9e565b811462000ac957600080fd5b50565b60008151905062000add8162000ab2565b92915050565b60006020828403121562000afc5762000afb62000a79565b5b600062000b0c8482850162000acc565b91505092915050565b62000b208162000a9e565b82525050565b600060408201905062000b3d600083018562000b15565b62000b4c602083018462000b15565b9392505050565b62000b5e81620009b0565b82525050565b600060208201905062000b7b600083018462000b53565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000bc957607f821691505b6020821081141562000be05762000bdf62000b81565b5b50919050565b612bd28062000bf66000396000f3fe6080604052600436106101d15760003560e01c80635342acb4116100f7578063a457c2d711610095578063d35a419011610064578063d35a41901461069d578063dd62ed3e146106c8578063ef422a1814610705578063f2fde38b1461072e576101d8565b8063a457c2d7146105cf578063a9059cbb1461060c578063c816841b14610649578063c8da659614610674576101d8565b80638da5cb5b116100d15780638da5cb5b14610537578063914eb66a1461056257806395d89b41146105795780639ad2817a146105a4576101d8565b80635342acb41461049457806370a08231146104d1578063844d591c1461050e576101d8565b806327c8f8351161016f578063395093511161013e57806339509351146103d85780633ecad2711461041557806347062402146104525780634d9fb1211461047d576101d8565b806327c8f8351461032c5780632b112e49146103575780632b14ca5614610382578063313ce567146103ad576101d8565b80631694505e116101ab5780631694505e1461026e57806318160ddd1461029957806323b872dd146102c457806325fa0b9814610301576101d8565b806306fdde03146101dd57806309494a0114610208578063095ea7b314610231576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f2610757565b6040516101ff9190612064565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a91906120c1565b6107e9565b005b34801561023d57600080fd5b506102586004803603810190610253919061214c565b6108d7565b60405161026591906121a7565b60405180910390f35b34801561027a57600080fd5b506102836108f5565b6040516102909190612221565b60405180910390f35b3480156102a557600080fd5b506102ae61091b565b6040516102bb919061224b565b60405180910390f35b3480156102d057600080fd5b506102eb60048036038101906102e69190612266565b610925565b6040516102f891906121a7565b60405180910390f35b34801561030d57600080fd5b506103166109ff565b60405161032391906121a7565b60405180910390f35b34801561033857600080fd5b50610341610a12565b60405161034e91906122c8565b60405180910390f35b34801561036357600080fd5b5061036c610a38565b604051610379919061224b565b60405180910390f35b34801561038e57600080fd5b50610397610a7e565b6040516103a4919061224b565b60405180910390f35b3480156103b957600080fd5b506103c2610a84565b6040516103cf91906122ff565b60405180910390f35b3480156103e457600080fd5b506103ff60048036038101906103fa919061214c565b610a9b565b60405161040c91906121a7565b60405180910390f35b34801561042157600080fd5b5061043c6004803603810190610437919061231a565b610b4e565b60405161044991906121a7565b60405180910390f35b34801561045e57600080fd5b50610467610b6e565b604051610474919061224b565b60405180910390f35b34801561048957600080fd5b50610492610b74565b005b3480156104a057600080fd5b506104bb60048036038101906104b6919061231a565b610c26565b6040516104c891906121a7565b60405180910390f35b3480156104dd57600080fd5b506104f860048036038101906104f3919061231a565b610c46565b604051610505919061224b565b60405180910390f35b34801561051a57600080fd5b5061053560048036038101906105309190612373565b610c8f565b005b34801561054357600080fd5b5061054c610d7f565b60405161055991906122c8565b60405180910390f35b34801561056e57600080fd5b50610577610da8565b005b34801561058557600080fd5b5061058e610efb565b60405161059b9190612064565b60405180910390f35b3480156105b057600080fd5b506105b9610f8d565b6040516105c6919061224b565b60405180910390f35b3480156105db57600080fd5b506105f660048036038101906105f1919061214c565b610f93565b60405161060391906121a7565b60405180910390f35b34801561061857600080fd5b50610633600480360381019061062e919061214c565b611060565b60405161064091906121a7565b60405180910390f35b34801561065557600080fd5b5061065e61107f565b60405161066b91906122c8565b60405180910390f35b34801561068057600080fd5b5061069b600480360381019061069691906120c1565b6110a5565b005b3480156106a957600080fd5b506106b2611193565b6040516106bf919061224b565b60405180910390f35b3480156106d457600080fd5b506106ef60048036038101906106ea91906123b3565b611199565b6040516106fc919061224b565b60405180910390f35b34801561071157600080fd5b5061072c60048036038101906107279190612373565b611220565b005b34801561073a57600080fd5b506107556004803603810190610750919061231a565b611310565b005b60606001805461076690612422565b80601f016020809104026020016040519081016040528092919081815260200182805461079290612422565b80156107df5780601f106107b4576101008083540402835291602001916107df565b820191906000526020600020905b8154815290600101906020018083116107c257829003601f168201915b5050505050905090565b6107f16114d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461087e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610875906124a0565b60405180910390fd5b80600981905550600954600b819055506001600b5411156108d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cb9061250c565b60405180910390fd5b50565b60006108eb6108e46114d2565b84846114da565b6001905092915050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b60006109328484846116a5565b506109f48461093f6114d2565b6109ef85604051806060016040528060288152602001612b5060289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109a56114d2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0a9092919063ffffffff16565b6114da565b600190509392505050565b600d60009054906101000a900460ff1681565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610a79610a68600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610c46565b600c54611b6e90919063ffffffff16565b905090565b60095481565b6000600360009054906101000a900460ff16905090565b6000610b44610aa86114d2565b84610b3f8560056000610ab96114d2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bb890919063ffffffff16565b6114da565b6001905092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b60085481565b610b7c6114d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c00906124a0565b60405180910390fd5b6001600d60006101000a81548160ff021916908315150217905550565b60066020528060005260406000206000915054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c976114d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b906124a0565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610db06114d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e34906124a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610f0a90612422565b80601f0160208091040260200160405190810160405280929190818152602001828054610f3690612422565b8015610f835780601f10610f5857610100808354040283529160200191610f83565b820191906000526020600020905b815481529060010190602001808311610f6657829003601f168201915b5050505050905090565b600a5481565b6000611056610fa06114d2565b8461105185604051806060016040528060258152602001612b786025913960056000610fca6114d2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0a9092919063ffffffff16565b6114da565b6001905092915050565b600061107461106d6114d2565b84846116a5565b506001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ad6114d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461113a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611131906124a0565b60405180910390fd5b80600881905550600854600a819055506001600a541115611190576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118790612578565b60405180910390fd5b50565b600b5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112286114d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ac906124a0565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6113186114d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c906124a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140c9061260a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561154a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115419061269c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b19061272e565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611698919061224b565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611716576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170d906127c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d90612852565b60405180910390fd5b600d60009054906101000a900460ff16806117ea5750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061183e5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61187d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611874906128be565b60405180910390fd5b611906826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b0a9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119ec5750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a00576119fb858585611c16565b611a02565b825b9050611a5681600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bb890919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611af6919061224b565b60405180910390a360019150509392505050565b6000838311158290611b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b499190612064565b60405180910390fd5b5060008385611b61919061290d565b9050809150509392505050565b6000611bb083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b0a565b905092915050565b6000808284611bc79190612941565b905083811015611c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c03906129e3565b60405180910390fd5b8091505092915050565b60008060009050600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c9e57611c976064611c89600a5486611ea390919063ffffffff16565b611f1e90919063ffffffff16565b9050611d1c565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d1b57611d186064611d0a600b5486611ea390919063ffffffff16565b611f1e90919063ffffffff16565b90505b5b6000811115611e8657611d998160046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bb890919063ffffffff16565b60046000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e7d919061224b565b60405180910390a35b611e998184611b6e90919063ffffffff16565b9150509392505050565b600080831415611eb65760009050611f18565b60008284611ec49190612a03565b9050828482611ed39190612a8c565b14611f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0a90612b2f565b60405180910390fd5b809150505b92915050565b6000611f6083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f68565b905092915050565b60008083118290611faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa69190612064565b60405180910390fd5b5060008385611fbe9190612a8c565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612005578082015181840152602081019050611fea565b83811115612014576000848401525b50505050565b6000601f19601f8301169050919050565b600061203682611fcb565b6120408185611fd6565b9350612050818560208601611fe7565b6120598161201a565b840191505092915050565b6000602082019050818103600083015261207e818461202b565b905092915050565b600080fd5b6000819050919050565b61209e8161208b565b81146120a957600080fd5b50565b6000813590506120bb81612095565b92915050565b6000602082840312156120d7576120d6612086565b5b60006120e5848285016120ac565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612119826120ee565b9050919050565b6121298161210e565b811461213457600080fd5b50565b60008135905061214681612120565b92915050565b6000806040838503121561216357612162612086565b5b600061217185828601612137565b9250506020612182858286016120ac565b9150509250929050565b60008115159050919050565b6121a18161218c565b82525050565b60006020820190506121bc6000830184612198565b92915050565b6000819050919050565b60006121e76121e26121dd846120ee565b6121c2565b6120ee565b9050919050565b60006121f9826121cc565b9050919050565b600061220b826121ee565b9050919050565b61221b81612200565b82525050565b60006020820190506122366000830184612212565b92915050565b6122458161208b565b82525050565b6000602082019050612260600083018461223c565b92915050565b60008060006060848603121561227f5761227e612086565b5b600061228d86828701612137565b935050602061229e86828701612137565b92505060406122af868287016120ac565b9150509250925092565b6122c28161210e565b82525050565b60006020820190506122dd60008301846122b9565b92915050565b600060ff82169050919050565b6122f9816122e3565b82525050565b600060208201905061231460008301846122f0565b92915050565b6000602082840312156123305761232f612086565b5b600061233e84828501612137565b91505092915050565b6123508161218c565b811461235b57600080fd5b50565b60008135905061236d81612347565b92915050565b6000806040838503121561238a57612389612086565b5b600061239885828601612137565b92505060206123a98582860161235e565b9150509250929050565b600080604083850312156123ca576123c9612086565b5b60006123d885828601612137565b92505060206123e985828601612137565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061243a57607f821691505b6020821081141561244e5761244d6123f3565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061248a602083611fd6565b915061249582612454565b602082019050919050565b600060208201905081810360008301526124b98161247d565b9050919050565b7f4d61782073656c6c206665652031250000000000000000000000000000000000600082015250565b60006124f6600f83611fd6565b9150612501826124c0565b602082019050919050565b60006020820190508181036000830152612525816124e9565b9050919050565b7f4d61782062757920666565203125000000000000000000000000000000000000600082015250565b6000612562600e83611fd6565b915061256d8261252c565b602082019050919050565b6000602082019050818103600083015261259181612555565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006125f4602683611fd6565b91506125ff82612598565b604082019050919050565b60006020820190508181036000830152612623816125e7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612686602483611fd6565b91506126918261262a565b604082019050919050565b600060208201905081810360008301526126b581612679565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612718602283611fd6565b9150612723826126bc565b604082019050919050565b600060208201905081810360008301526127478161270b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006127aa602583611fd6565b91506127b58261274e565b604082019050919050565b600060208201905081810360008301526127d98161279d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061283c602383611fd6565b9150612847826127e0565b604082019050919050565b6000602082019050818103600083015261286b8161282f565b9050919050565b7f54726164696e67206973206e6f74206f70656e20796574000000000000000000600082015250565b60006128a8601783611fd6565b91506128b382612872565b602082019050919050565b600060208201905081810360008301526128d78161289b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006129188261208b565b91506129238361208b565b925082821015612936576129356128de565b5b828203905092915050565b600061294c8261208b565b91506129578361208b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561298c5761298b6128de565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006129cd601b83611fd6565b91506129d882612997565b602082019050919050565b600060208201905081810360008301526129fc816129c0565b9050919050565b6000612a0e8261208b565b9150612a198361208b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a5257612a516128de565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a978261208b565b9150612aa28361208b565b925082612ab257612ab1612a5d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b19602183611fd6565b9150612b2482612abd565b604082019050919050565b60006020820190508181036000830152612b4881612b0c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205bc85b4cb742b728d2d2559a18de923b64d5e381a1d86cf27b70c4c080dd3ac364736f6c634300080a0033

Deployed ByteCode Sourcemap

14425:7271:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16444:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18592:188;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17610:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15266:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16721:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19404:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15228:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14679:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18866:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15035:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16630:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17107:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14947:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15001:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18788:70;;;;;;;;;;;;;:::i;:::-;;14890:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16829:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18267:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5964:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6189:145;;;;;;;;;;;;;:::i;:::-;;16535:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15070:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17333:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19229:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15314:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18404:180;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15113:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16956:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18124:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6342:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16444:83;16481:13;16514:5;16507:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16444:83;:::o;18592:188::-;6108:12;:10;:12::i;:::-;6098:22;;:6;;;;;;;;;;:22;;;6090:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18670:10:::1;18660:7;:20;;;;18707:7;;18691:13;:23;;;;18750:1;18733:13;;:18;;18725:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;18592:188:::0;:::o;17610:161::-;17685:4;17702:39;17711:12;:10;:12::i;:::-;17725:7;17734:6;17702:8;:39::i;:::-;17759:4;17752:11;;17610:161;;;;:::o;15266:41::-;;;;;;;;;;;;;:::o;16721:100::-;16774:7;16801:12;;16794:19;;16721:100;:::o;19404:313::-;19502:4;19519:36;19529:6;19537:9;19548:6;19519:9;:36::i;:::-;;19566:121;19575:6;19583:12;:10;:12::i;:::-;19597:89;19635:6;19597:89;;;;;;;;;;;;;;;;;:11;:19;19609:6;19597:19;;;;;;;;;;;;;;;:33;19617:12;:10;:12::i;:::-;19597:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;19566:8;:121::i;:::-;19705:4;19698:11;;19404:313;;;;;:::o;15228:29::-;;;;;;;;;;;;;:::o;14679:71::-;;;;;;;;;;;;;:::o;18866:128::-;18919:7;18946:40;18963:22;18973:11;;;;;;;;;;;18963:9;:22::i;:::-;18946:12;;:16;;:40;;;;:::i;:::-;18939:47;;18866:128;:::o;15035:26::-;;;;:::o;16630:83::-;16671:5;16696:9;;;;;;;;;;;16689:16;;16630:83;:::o;17107:218::-;17195:4;17212:83;17221:12;:10;:12::i;:::-;17235:7;17244:50;17283:10;17244:11;:25;17256:12;:10;:12::i;:::-;17244:25;;;;;;;;;;;;;;;:34;17270:7;17244:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;17212:8;:83::i;:::-;17313:4;17306:11;;17107:218;;;;:::o;14947:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;15001:25::-;;;;:::o;18788:70::-;6108:12;:10;:12::i;:::-;6098:22;;:6;;;;;;;;;;:22;;;6090:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18846:4:::1;18834:9;;:16;;;;;;;;;;;;;;;;;;18788:70::o:0;14890:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;16829:119::-;16895:7;16922:9;:18;16932:7;16922:18;;;;;;;;;;;;;;;;16915:25;;16829:119;;;:::o;18267:129::-;6108:12;:10;:12::i;:::-;6098:22;;:6;;;;;;;;;;:22;;;6090:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18380:8:::1;18356:12;:21;18369:7;18356:21;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;18267:129:::0;;:::o;5964:79::-;6002:7;6029:6;;;;;;;;;;;6022:13;;5964:79;:::o;6189:145::-;6108:12;:10;:12::i;:::-;6098:22;;:6;;;;;;;;;;:22;;;6090:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6293:1:::1;6256:40;;6277:6;::::0;::::1;;;;;;;;6256:40;;;;;;;;;;;;6324:1;6307:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6189:145::o:0;16535:87::-;16574:13;16607:7;16600:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16535:87;:::o;15070:36::-;;;;:::o;17333:269::-;17426:4;17443:129;17452:12;:10;:12::i;:::-;17466:7;17475:96;17514:15;17475:96;;;;;;;;;;;;;;;;;:11;:25;17487:12;:10;:12::i;:::-;17475:25;;;;;;;;;;;;;;;:34;17501:7;17475:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;17443:8;:129::i;:::-;17590:4;17583:11;;17333:269;;;;:::o;19229:167::-;19307:4;19324:42;19334:12;:10;:12::i;:::-;19348:9;19359:6;19324:9;:42::i;:::-;;19384:4;19377:11;;19229:167;;;;:::o;15314:26::-;;;;;;;;;;;;;:::o;18404:180::-;6108:12;:10;:12::i;:::-;6098:22;;:6;;;;;;;;;;:22;;;6090:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18479:9:::1;18470:6;:18;;;;18514:6;;18499:12;:21;;;;18555:1;18539:12;;:17;;18531:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;18404:180:::0;:::o;15113:38::-;;;;:::o;16956:143::-;17037:7;17064:11;:18;17076:5;17064:18;;;;;;;;;;;;;;;:27;17083:7;17064:27;;;;;;;;;;;;;;;;17057:34;;16956:143;;;;:::o;18124:135::-;6108:12;:10;:12::i;:::-;6098:22;;:6;;;;;;;;;;:22;;;6090:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18243:8:::1;18214:17;:26;18232:7;18214:26;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;18124:135:::0;;:::o;6342:244::-;6108:12;:10;:12::i;:::-;6098:22;;:6;;;;;;;;;;:22;;;6090:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6451:1:::1;6431:22;;:8;:22;;;;6423:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6541:8;6512:38;;6533:6;::::0;::::1;;;;;;;;6512:38;;;;;;;;;;;;6570:8;6561:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6342:244:::0;:::o;337:115::-;390:15;433:10;418:26;;337:115;:::o;17779:337::-;17889:1;17872:19;;:5;:19;;;;17864:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17970:1;17951:21;;:7;:21;;;;17943:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18054:6;18024:11;:18;18036:5;18024:18;;;;;;;;;;;;;;;:27;18043:7;18024:27;;;;;;;;;;;;;;;:36;;;;18092:7;18076:32;;18085:5;18076:32;;;18101:6;18076:32;;;;;;:::i;:::-;;;;;;;;17779:337;;;:::o;19729:761::-;19816:4;19861:1;19843:20;;:6;:20;;;;19835:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;19945:1;19924:23;;:9;:23;;;;19916:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;20006:9;;;;;;;;;;;:38;;;;20019:17;:25;20037:6;20019:25;;;;;;;;;;;;;;;;;;;;;;;;;20006:38;:70;;;;20048:17;:28;20066:9;20048:28;;;;;;;;;;;;;;;;;;;;;;;;;20006:70;19998:106;;;;;;;;;;;;:::i;:::-;;;;;;;;;20137:53;20159:6;20137:53;;;;;;;;;;;;;;;;;:9;:17;20147:6;20137:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;20117:9;:17;20127:6;20117:17;;;;;;;;;;;;;;;:73;;;;20203:19;20226:17;:25;20244:6;20226:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;20255:17;:28;20273:9;20255:28;;;;;;;;;;;;;;;;;;;;;;;;;20226:57;20225:104;;20296:33;20304:6;20311:9;20322:6;20296:7;:33::i;:::-;20225:104;;;20287:6;20225:104;20203:126;;20365:37;20390:11;20365:9;:20;20375:9;20365:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;20342:9;:20;20352:9;20342:20;;;;;;;;;;;;;;;:60;;;;20437:9;20420:40;;20429:6;20420:40;;;20448:11;20420:40;;;;;;:::i;:::-;;;;;;;;20478:4;20471:11;;;19729:761;;;;;:::o;1738:192::-;1824:7;1857:1;1852;:6;;1860:12;1844:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1884:9;1900:1;1896;:5;;;;:::i;:::-;1884:17;;1921:1;1914:8;;;1738:192;;;;;:::o;1594:136::-;1652:7;1679:43;1683:1;1686;1679:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1672:50;;1594:136;;;;:::o;1405:181::-;1463:7;1483:9;1499:1;1495;:5;;;;:::i;:::-;1483:17;;1524:1;1519;:6;;1511:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1577:1;1570:8;;;1405:181;;;;:::o;21095:598::-;21179:7;21199:17;21219:1;21199:21;;21247:12;:20;21260:6;21247:20;;;;;;;;;;;;;;;;;;;;;;;;;21244:213;;;21296:33;21325:3;21296:24;21307:12;;21296:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;21284:45;;21244:213;;;21359:12;:23;21372:9;21359:23;;;;;;;;;;;;;;;;;;;;;;;;;21356:101;;;21411:34;21441:3;21411:25;21422:13;;21411:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;21399:46;;21356:101;21244:213;21495:1;21483:9;:13;21480:167;;;21538:37;21565:9;21538;:22;21548:11;;;;;;;;;;;21538:22;;;;;;;;;;;;;;;;:26;;:37;;;;:::i;:::-;21513:9;:22;21523:11;;;;;;;;;;;21513:22;;;;;;;;;;;;;;;:62;;;;21612:11;;;;;;;;;;;21595:40;;21604:6;21595:40;;;21625:9;21595:40;;;;;;:::i;:::-;;;;;;;;21480:167;21664:21;21675:9;21664:6;:10;;:21;;;;:::i;:::-;21657:28;;;21095:598;;;;;:::o;1938:250::-;1996:7;2025:1;2020;:6;2016:47;;;2050:1;2043:8;;;;2016:47;2075:9;2091:1;2087;:5;;;;:::i;:::-;2075:17;;2120:1;2115;2111;:5;;;;:::i;:::-;:10;2103:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2179:1;2172:8;;;1938:250;;;;;:::o;2196:132::-;2254:7;2281:39;2285:1;2288;2281:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2274:46;;2196:132;;;;:::o;2336:278::-;2422:7;2454:1;2450;:5;2457:12;2442:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2481:9;2497:1;2493;:5;;;;:::i;:::-;2481:17;;2605:1;2598:8;;;2336:278;;;;;:::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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:77;1761:7;1790:5;1779:16;;1724:77;;;:::o;1807:122::-;1880:24;1898:5;1880:24;:::i;:::-;1873:5;1870:35;1860:63;;1919:1;1916;1909:12;1860:63;1807:122;:::o;1935:139::-;1981:5;2019:6;2006:20;1997:29;;2035:33;2062:5;2035:33;:::i;:::-;1935:139;;;;:::o;2080:329::-;2139:6;2188:2;2176:9;2167:7;2163:23;2159:32;2156:119;;;2194:79;;:::i;:::-;2156:119;2314:1;2339:53;2384:7;2375:6;2364:9;2360:22;2339:53;:::i;:::-;2329:63;;2285:117;2080:329;;;;:::o;2415:126::-;2452:7;2492:42;2485:5;2481:54;2470:65;;2415:126;;;:::o;2547:96::-;2584:7;2613:24;2631:5;2613:24;:::i;:::-;2602:35;;2547:96;;;:::o;2649:122::-;2722:24;2740:5;2722:24;:::i;:::-;2715:5;2712:35;2702:63;;2761:1;2758;2751:12;2702:63;2649:122;:::o;2777:139::-;2823:5;2861:6;2848:20;2839:29;;2877:33;2904:5;2877:33;:::i;:::-;2777:139;;;;:::o;2922:474::-;2990:6;2998;3047:2;3035:9;3026:7;3022:23;3018:32;3015:119;;;3053:79;;:::i;:::-;3015:119;3173:1;3198:53;3243:7;3234:6;3223:9;3219:22;3198:53;:::i;:::-;3188:63;;3144:117;3300:2;3326:53;3371:7;3362:6;3351:9;3347:22;3326:53;:::i;:::-;3316:63;;3271:118;2922:474;;;;;:::o;3402:90::-;3436:7;3479:5;3472:13;3465:21;3454:32;;3402:90;;;:::o;3498:109::-;3579:21;3594:5;3579:21;:::i;:::-;3574:3;3567:34;3498:109;;:::o;3613:210::-;3700:4;3738:2;3727:9;3723:18;3715:26;;3751:65;3813:1;3802:9;3798:17;3789:6;3751:65;:::i;:::-;3613:210;;;;:::o;3829:60::-;3857:3;3878:5;3871:12;;3829:60;;;:::o;3895:142::-;3945:9;3978:53;3996:34;4005:24;4023:5;4005:24;:::i;:::-;3996:34;:::i;:::-;3978:53;:::i;:::-;3965:66;;3895:142;;;:::o;4043:126::-;4093:9;4126:37;4157:5;4126:37;:::i;:::-;4113:50;;4043:126;;;:::o;4175:153::-;4252:9;4285:37;4316:5;4285:37;:::i;:::-;4272:50;;4175:153;;;:::o;4334:185::-;4448:64;4506:5;4448:64;:::i;:::-;4443:3;4436:77;4334:185;;:::o;4525:276::-;4645:4;4683:2;4672:9;4668:18;4660:26;;4696:98;4791:1;4780:9;4776:17;4767:6;4696:98;:::i;:::-;4525:276;;;;:::o;4807:118::-;4894:24;4912:5;4894:24;:::i;:::-;4889:3;4882:37;4807:118;;:::o;4931:222::-;5024:4;5062:2;5051:9;5047:18;5039:26;;5075:71;5143:1;5132:9;5128:17;5119:6;5075:71;:::i;:::-;4931:222;;;;:::o;5159:619::-;5236:6;5244;5252;5301:2;5289:9;5280:7;5276:23;5272:32;5269:119;;;5307:79;;:::i;:::-;5269:119;5427:1;5452:53;5497:7;5488:6;5477:9;5473:22;5452:53;:::i;:::-;5442:63;;5398:117;5554:2;5580:53;5625:7;5616:6;5605:9;5601:22;5580:53;:::i;:::-;5570:63;;5525:118;5682:2;5708:53;5753:7;5744:6;5733:9;5729:22;5708:53;:::i;:::-;5698:63;;5653:118;5159:619;;;;;:::o;5784:118::-;5871:24;5889:5;5871:24;:::i;:::-;5866:3;5859:37;5784:118;;:::o;5908:222::-;6001:4;6039:2;6028:9;6024:18;6016:26;;6052:71;6120:1;6109:9;6105:17;6096:6;6052:71;:::i;:::-;5908:222;;;;:::o;6136:86::-;6171:7;6211:4;6204:5;6200:16;6189:27;;6136:86;;;:::o;6228:112::-;6311:22;6327:5;6311:22;:::i;:::-;6306:3;6299:35;6228:112;;:::o;6346:214::-;6435:4;6473:2;6462:9;6458:18;6450:26;;6486:67;6550:1;6539:9;6535:17;6526:6;6486:67;:::i;:::-;6346:214;;;;:::o;6566:329::-;6625:6;6674:2;6662:9;6653:7;6649:23;6645:32;6642:119;;;6680:79;;:::i;:::-;6642:119;6800:1;6825:53;6870:7;6861:6;6850:9;6846:22;6825:53;:::i;:::-;6815:63;;6771:117;6566:329;;;;:::o;6901:116::-;6971:21;6986:5;6971:21;:::i;:::-;6964:5;6961:32;6951:60;;7007:1;7004;6997:12;6951:60;6901:116;:::o;7023:133::-;7066:5;7104:6;7091:20;7082:29;;7120:30;7144:5;7120:30;:::i;:::-;7023:133;;;;:::o;7162:468::-;7227:6;7235;7284:2;7272:9;7263:7;7259:23;7255:32;7252:119;;;7290:79;;:::i;:::-;7252:119;7410:1;7435:53;7480:7;7471:6;7460:9;7456:22;7435:53;:::i;:::-;7425:63;;7381:117;7537:2;7563:50;7605:7;7596:6;7585:9;7581:22;7563:50;:::i;:::-;7553:60;;7508:115;7162:468;;;;;:::o;7636:474::-;7704:6;7712;7761:2;7749:9;7740:7;7736:23;7732:32;7729:119;;;7767:79;;:::i;:::-;7729:119;7887:1;7912:53;7957:7;7948:6;7937:9;7933:22;7912:53;:::i;:::-;7902:63;;7858:117;8014:2;8040:53;8085:7;8076:6;8065:9;8061:22;8040:53;:::i;:::-;8030:63;;7985:118;7636:474;;;;;:::o;8116:180::-;8164:77;8161:1;8154:88;8261:4;8258:1;8251:15;8285:4;8282:1;8275:15;8302:320;8346:6;8383:1;8377:4;8373:12;8363:22;;8430:1;8424:4;8420:12;8451:18;8441:81;;8507:4;8499:6;8495:17;8485:27;;8441:81;8569:2;8561:6;8558:14;8538:18;8535:38;8532:84;;;8588:18;;:::i;:::-;8532:84;8353:269;8302:320;;;:::o;8628:182::-;8768:34;8764:1;8756:6;8752:14;8745:58;8628:182;:::o;8816:366::-;8958:3;8979:67;9043:2;9038:3;8979:67;:::i;:::-;8972:74;;9055:93;9144:3;9055:93;:::i;:::-;9173:2;9168:3;9164:12;9157:19;;8816:366;;;:::o;9188:419::-;9354:4;9392:2;9381:9;9377:18;9369:26;;9441:9;9435:4;9431:20;9427:1;9416:9;9412:17;9405:47;9469:131;9595:4;9469:131;:::i;:::-;9461:139;;9188:419;;;:::o;9613:165::-;9753:17;9749:1;9741:6;9737:14;9730:41;9613:165;:::o;9784:366::-;9926:3;9947:67;10011:2;10006:3;9947:67;:::i;:::-;9940:74;;10023:93;10112:3;10023:93;:::i;:::-;10141:2;10136:3;10132:12;10125:19;;9784:366;;;:::o;10156:419::-;10322:4;10360:2;10349:9;10345:18;10337:26;;10409:9;10403:4;10399:20;10395:1;10384:9;10380:17;10373:47;10437:131;10563:4;10437:131;:::i;:::-;10429:139;;10156:419;;;:::o;10581:164::-;10721:16;10717:1;10709:6;10705:14;10698:40;10581:164;:::o;10751:366::-;10893:3;10914:67;10978:2;10973:3;10914:67;:::i;:::-;10907:74;;10990:93;11079:3;10990:93;:::i;:::-;11108:2;11103:3;11099:12;11092:19;;10751:366;;;:::o;11123:419::-;11289:4;11327:2;11316:9;11312:18;11304:26;;11376:9;11370:4;11366:20;11362:1;11351:9;11347:17;11340:47;11404:131;11530:4;11404:131;:::i;:::-;11396:139;;11123:419;;;:::o;11548:225::-;11688:34;11684:1;11676:6;11672:14;11665:58;11757:8;11752:2;11744:6;11740:15;11733:33;11548:225;:::o;11779:366::-;11921:3;11942:67;12006:2;12001:3;11942:67;:::i;:::-;11935:74;;12018:93;12107:3;12018:93;:::i;:::-;12136:2;12131:3;12127:12;12120:19;;11779:366;;;:::o;12151:419::-;12317:4;12355:2;12344:9;12340:18;12332:26;;12404:9;12398:4;12394:20;12390:1;12379:9;12375:17;12368:47;12432:131;12558:4;12432:131;:::i;:::-;12424:139;;12151:419;;;:::o;12576:223::-;12716:34;12712:1;12704:6;12700:14;12693:58;12785:6;12780:2;12772:6;12768:15;12761:31;12576:223;:::o;12805:366::-;12947:3;12968:67;13032:2;13027:3;12968:67;:::i;:::-;12961:74;;13044:93;13133:3;13044:93;:::i;:::-;13162:2;13157:3;13153:12;13146:19;;12805:366;;;:::o;13177:419::-;13343:4;13381:2;13370:9;13366:18;13358:26;;13430:9;13424:4;13420:20;13416:1;13405:9;13401:17;13394:47;13458:131;13584:4;13458:131;:::i;:::-;13450:139;;13177:419;;;:::o;13602:221::-;13742:34;13738:1;13730:6;13726:14;13719:58;13811:4;13806:2;13798:6;13794:15;13787:29;13602:221;:::o;13829:366::-;13971:3;13992:67;14056:2;14051:3;13992:67;:::i;:::-;13985:74;;14068:93;14157:3;14068:93;:::i;:::-;14186:2;14181:3;14177:12;14170:19;;13829:366;;;:::o;14201:419::-;14367:4;14405:2;14394:9;14390:18;14382:26;;14454:9;14448:4;14444:20;14440:1;14429:9;14425:17;14418:47;14482:131;14608:4;14482:131;:::i;:::-;14474:139;;14201:419;;;:::o;14626:224::-;14766:34;14762:1;14754:6;14750:14;14743:58;14835:7;14830:2;14822:6;14818:15;14811:32;14626:224;:::o;14856:366::-;14998:3;15019:67;15083:2;15078:3;15019:67;:::i;:::-;15012:74;;15095:93;15184:3;15095:93;:::i;:::-;15213:2;15208:3;15204:12;15197:19;;14856:366;;;:::o;15228:419::-;15394:4;15432:2;15421:9;15417:18;15409:26;;15481:9;15475:4;15471:20;15467:1;15456:9;15452:17;15445:47;15509:131;15635:4;15509:131;:::i;:::-;15501:139;;15228:419;;;:::o;15653:222::-;15793:34;15789:1;15781:6;15777:14;15770:58;15862:5;15857:2;15849:6;15845:15;15838:30;15653:222;:::o;15881:366::-;16023:3;16044:67;16108:2;16103:3;16044:67;:::i;:::-;16037:74;;16120:93;16209:3;16120:93;:::i;:::-;16238:2;16233:3;16229:12;16222:19;;15881:366;;;:::o;16253:419::-;16419:4;16457:2;16446:9;16442:18;16434:26;;16506:9;16500:4;16496:20;16492:1;16481:9;16477:17;16470:47;16534:131;16660:4;16534:131;:::i;:::-;16526:139;;16253:419;;;:::o;16678:173::-;16818:25;16814:1;16806:6;16802:14;16795:49;16678:173;:::o;16857:366::-;16999:3;17020:67;17084:2;17079:3;17020:67;:::i;:::-;17013:74;;17096:93;17185:3;17096:93;:::i;:::-;17214:2;17209:3;17205:12;17198:19;;16857:366;;;:::o;17229:419::-;17395:4;17433:2;17422:9;17418:18;17410:26;;17482:9;17476:4;17472:20;17468:1;17457:9;17453:17;17446:47;17510:131;17636:4;17510:131;:::i;:::-;17502:139;;17229:419;;;:::o;17654:180::-;17702:77;17699:1;17692:88;17799:4;17796:1;17789:15;17823:4;17820:1;17813:15;17840:191;17880:4;17900:20;17918:1;17900:20;:::i;:::-;17895:25;;17934:20;17952:1;17934:20;:::i;:::-;17929:25;;17973:1;17970;17967:8;17964:34;;;17978:18;;:::i;:::-;17964:34;18023:1;18020;18016:9;18008:17;;17840:191;;;;:::o;18037:305::-;18077:3;18096:20;18114:1;18096:20;:::i;:::-;18091:25;;18130:20;18148:1;18130:20;:::i;:::-;18125:25;;18284:1;18216:66;18212:74;18209:1;18206:81;18203:107;;;18290:18;;:::i;:::-;18203:107;18334:1;18331;18327:9;18320:16;;18037:305;;;;:::o;18348:177::-;18488:29;18484:1;18476:6;18472:14;18465:53;18348:177;:::o;18531:366::-;18673:3;18694:67;18758:2;18753:3;18694:67;:::i;:::-;18687:74;;18770:93;18859:3;18770:93;:::i;:::-;18888:2;18883:3;18879:12;18872:19;;18531:366;;;:::o;18903:419::-;19069:4;19107:2;19096:9;19092:18;19084:26;;19156:9;19150:4;19146:20;19142:1;19131:9;19127:17;19120:47;19184:131;19310:4;19184:131;:::i;:::-;19176:139;;18903:419;;;:::o;19328:348::-;19368:7;19391:20;19409:1;19391:20;:::i;:::-;19386:25;;19425:20;19443:1;19425:20;:::i;:::-;19420:25;;19613:1;19545:66;19541:74;19538:1;19535:81;19530:1;19523:9;19516:17;19512:105;19509:131;;;19620:18;;:::i;:::-;19509:131;19668:1;19665;19661:9;19650:20;;19328:348;;;;:::o;19682:180::-;19730:77;19727:1;19720:88;19827:4;19824:1;19817:15;19851:4;19848:1;19841:15;19868:185;19908:1;19925:20;19943:1;19925:20;:::i;:::-;19920:25;;19959:20;19977:1;19959:20;:::i;:::-;19954:25;;19998:1;19988:35;;20003:18;;:::i;:::-;19988:35;20045:1;20042;20038:9;20033:14;;19868:185;;;;:::o;20059:220::-;20199:34;20195:1;20187:6;20183:14;20176:58;20268:3;20263:2;20255:6;20251:15;20244:28;20059:220;:::o;20285:366::-;20427:3;20448:67;20512:2;20507:3;20448:67;:::i;:::-;20441:74;;20524:93;20613:3;20524:93;:::i;:::-;20642:2;20637:3;20633:12;20626:19;;20285:366;;;:::o;20657:419::-;20823:4;20861:2;20850:9;20846:18;20838:26;;20910:9;20904:4;20900:20;20896:1;20885:9;20881:17;20874:47;20938:131;21064:4;20938:131;:::i;:::-;20930:139;;20657:419;;;:::o

Metadata Hash

ipfs://5bc85b4cb742b728d2d2559a18de923b64d5e381a1d86cf27b70c4c080dd3ac3
Loading