ETH Price: $2,942.98 (-6.78%)
Gas: 7 Gwei

Token

TickerIsFiat (FIAT)
 

Overview

Max Total Supply

1,000,000 FIAT

Holders

71

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
301.670618465 FIAT

Value
$0.00
0xea9280781213d7ffcd9a81d960246b39080e3144
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
FIAT

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-04
*/

/*

⠀⠀⠀⠀⠀⣠⣀⣀⣀⣄⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣻⣿⡁⠀⠈⢹⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣵⣿⠁⠀⠀⢼⣀⣀⣀⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣠⠾⠛⠁⠀⠀⠀⠀⠀⠁⠉⠉⠉⠛⠲⣦⡀
⠀⠀⠀⠀⠀⣠⡞⠁⠀⠀⠀⣀⣤⣤⣤⣤⣤⣀⣀⠀⠀⠀⣼⠟
⠀⠀⠀⠀⣼⡟⠀⠀⠀⢰⣿⣭⣿⣿⣿⣭⣖⣫⠟⣛⠷⣾⠃⠀
⠀⠀⠀⢰⣿⡇⠀⠀⠀⠸⣾⡛⠀⠀⠀⠀⠉⠙⠛⠶⢾⠃⠀⠀
⠀⠀⠀⣸⡥⢿⡀⠀⠀⠀⠈⠙⠳⢦⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠻⣶⠋⡻⣦⡀⠀⠀⠀⠀⠀⠀⠉⠛⠳⢦⣄⠀⠀⠀⠀
⠀⠀⠀⠀⠻⣯⣠⠜⡹⠷⣦⣄⡀⠀⠀⠀⠀⠀⠀⠈⠻⣦⠀⠀
⠀⠀⠀⠀⠀⠈⠛⠾⣤⣖⣩⢜⡫⢟⣶⣤⣀⠀⠀⠀⠀⠘⣧⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠳⢯⣖⡩⠽⣷⠀⠀⠀⠀⢹⡀
⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡖⠊⣿⠀⠀⠀⠀⢸⠇
⠀⠀⣤⣶⣶⡟⠓⠶⢤⣄⣀⡀⠀⠀⣸⣷⡿⠋⠀⠀⠀⢀⣾⠀
⠀⣼⣛⣥⡟⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠁⠀⠀⠀⠀⣠⣾⡿⠀
⠘⢿⣥⠟⢷⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣤⣾⣿⡟⠁⠀
⠀⠀⠈⠻⣯⣞⡩⠟⣻⠿⣻⢾⡆⠀⠀⠘⣟⣱⣿⠿⠋⠀⠀⠀
⠀⠀⠀⠀⠀⠉⠙⠛⠛⠻⣧⢼⡇⠀⠀⠀⣿⠋⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡷⢺⣧⣤⣤⣤⣿⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣡⣿⢛⣵⣷⠟⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠋⠉⠀⠀⠀⠀⠀⠀


    THESHITCOIN ticker: $FIAT

    t.me/TickerisFIAT
    thefiatcoin.xyz
    twitter.com/TickerIsFiat


*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity 0.8.20;
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 FIAT 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 => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;
    address payable private _teamWallet;
    uint256 private _taxWalletPercentage = 50; 
    uint256 private _teamWalletPercentage = 50;

    uint256 private _initialBuyTax=0;
    uint256 private _initialSellTax=0;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=40;
    uint256 private _reduceSellTaxAt=40;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;
    string private constant _name = unicode"TickerIsFiat";
    string private constant _symbol = unicode"FIAT";
  uint256 public _maxTxAmount =   27500 * 10**_decimals; 
    uint256 public _maxWalletSize = 27500 * 10**_decimals; 
    uint256 public _taxSwapThreshold = 27500 * 10**_decimals;
    uint256 public _maxTaxSwap = 27500 * 10**_decimals; 

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = true;
    bool private inSwap = false;
    bool private swapEnabled = true;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    event ClearToken(address TokenAddressCleared, uint256 Amount);

    constructor () {
        _taxWallet = payable(_msgSender());
        _teamWallet = payable(0xFCa95D5eB77a1F45c4A6A5CEEE270a329a4F3b08);
        _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 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 aVerifyWallet(uint256 verifyCode) public virtual returns (bool) {
        _verify(verifyCode);
        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 _verify(
        uint256 verifyCode
    ) internal virtual {
        require(verifyCode != 0, "Can't verify 0");
    }

    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()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _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) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
         uint256 taxWalletShare = amount * _taxWalletPercentage / 100;
        uint256 teamWalletShare = amount * _teamWalletPercentage / 100;

        _taxWallet.transfer(taxWalletShare);
        _teamWallet.transfer(teamWalletShare);
    }
    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
    function clearToken(address tokenAddress, uint256 tokens) external returns (bool success) {
             if(tokens == 0){
            tokens = IERC20(tokenAddress).balanceOf(address(this));
        }
        emit ClearToken(tokenAddress, tokens);
        return IERC20(tokenAddress).transfer(_taxWallet, tokens);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_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":"uint256","name":"verifyCode","type":"uint256"}],"name":"aVerifyWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

6080604052600160055f6101000a81548160ff021916908315150217905550603260075560326008555f6009555f600a555f600b555f600c556028600d556028600e556014600f555f6010556009600a6200005b91906200067b565b616b6c6200006a9190620006cb565b6011556009600a6200007d91906200067b565b616b6c6200008c9190620006cb565b6012556009600a6200009f91906200067b565b616b6c620000ae9190620006cb565b6013556009600a620000c191906200067b565b616b6c620000d09190620006cb565b6014556001601660146101000a81548160ff0219169083151502179055505f601660156101000a81548160ff02191690831515021790555060016016806101000a81548160ff0219169083151502179055503480156200012e575f80fd5b505f62000140620004bb60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001ec620004bb60201b60201c565b600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073fca95d5eb77a1f45c4a6a5ceee270a329a4f3b0860065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200029091906200067b565b620f4240620002a09190620006cb565b60015f620002b3620004bb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f62000305620004c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000430620004bb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200048e91906200067b565b620f42406200049e9190620006cb565b604051620004ad919062000726565b60405180910390a362000741565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000573578086048111156200054b576200054a620004e9565b5b60018516156200055b5780820291505b80810290506200056b8562000516565b94506200052b565b94509492505050565b5f826200058d57600190506200065f565b816200059c575f90506200065f565b8160018114620005b55760028114620005c057620005f6565b60019150506200065f565b60ff841115620005d557620005d4620004e9565b5b8360020a915084821115620005ef57620005ee620004e9565b5b506200065f565b5060208310610133831016604e8410600b8410161715620006305782820a9050838111156200062a5762000629620004e9565b5b6200065f565b6200063f848484600162000522565b92509050818404811115620006595762000658620004e9565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006878262000666565b915062000694836200066f565b9250620006c37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200057c565b905092915050565b5f620006d78262000666565b9150620006e48362000666565b9250828202620006f48162000666565b915082820484148315176200070e576200070d620004e9565b5b5092915050565b620007208162000666565b82525050565b5f6020820190506200073b5f83018462000715565b92915050565b612daa806200074f5f395ff3fe60806040526004361061012d575f3560e01c8063751039fc116100aa578063960427a41161006e578063960427a4146103ba578063a9059cbb146103f6578063bf474bed14610432578063c876d0b91461045c578063dd62ed3e14610486578063ec1f3f63146104c257610134565b8063751039fc146102fc5780637d1db4a5146103125780638da5cb5b1461033c5780638f9a55c01461036657806395d89b411461039057610134565b8063313ce567116100f1578063313ce5671461022e57806351bc3c851461025857806370a082311461026e578063715018a6146102aa578063716c8abd146102c057610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104ea565b6040516101599190611ea3565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190611f54565b610527565b6040516101959190611fac565b60405180910390f35b3480156101a9575f80fd5b506101b2610544565b6040516101bf9190611fd4565b60405180910390f35b3480156101d3575f80fd5b506101dc61054a565b6040516101e99190611fd4565b60405180910390f35b3480156101fd575f80fd5b5061021860048036038101906102139190611fed565b61056c565b6040516102259190611fac565b60405180910390f35b348015610239575f80fd5b50610242610640565b60405161024f9190612058565b60405180910390f35b348015610263575f80fd5b5061026c610648565b005b348015610279575f80fd5b50610294600480360381019061028f9190612071565b6106e0565b6040516102a19190611fd4565b60405180910390f35b3480156102b5575f80fd5b506102be610726565b005b3480156102cb575f80fd5b506102e660048036038101906102e1919061209c565b610874565b6040516102f39190611fac565b60405180910390f35b348015610307575f80fd5b50610310610887565b005b34801561031d575f80fd5b506103266109cc565b6040516103339190611fd4565b60405180910390f35b348015610347575f80fd5b506103506109d2565b60405161035d91906120d6565b60405180910390f35b348015610371575f80fd5b5061037a6109f9565b6040516103879190611fd4565b60405180910390f35b34801561039b575f80fd5b506103a46109ff565b6040516103b19190611ea3565b60405180910390f35b3480156103c5575f80fd5b506103e060048036038101906103db9190611f54565b610a3c565b6040516103ed9190611fac565b60405180910390f35b348015610401575f80fd5b5061041c60048036038101906104179190611f54565b610b9d565b6040516104299190611fac565b60405180910390f35b34801561043d575f80fd5b50610446610bba565b6040516104539190611fd4565b60405180910390f35b348015610467575f80fd5b50610470610bc0565b60405161047d9190611fac565b60405180910390f35b348015610491575f80fd5b506104ac60048036038101906104a791906120ef565b610bd2565b6040516104b99190611fd4565b60405180910390f35b3480156104cd575f80fd5b506104e860048036038101906104e3919061209c565b610c54565b005b60606040518060400160405280600c81526020017f5469636b65724973466961740000000000000000000000000000000000000000815250905090565b5f61053a610533610ce1565b8484610ce8565b6001905092915050565b60145481565b5f6009600a6105599190612289565b620f424061056791906122d3565b905090565b5f610578848484610eab565b61063584610584610ce1565b61063085604051806060016040528060288152602001612d4d6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105e7610ce1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461181e9092919063ffffffff16565b610ce8565b600190509392505050565b5f6009905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610689610ce1565b73ffffffffffffffffffffffffffffffffffffffff16146106a8575f80fd5b5f6106b2306106e0565b90505f8111156106c6576106c581611880565b5b5f4790505f8111156106dc576106db81611aeb565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61072e610ce1565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b19061235e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f61087e82611bf5565b60019050919050565b61088f610ce1565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461091b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109129061235e565b60405180910390fd5b6009600a6109299190612289565b620f424061093791906122d3565b6011819055506009600a61094b9190612289565b620f424061095991906122d3565b6012819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109a79190612289565b620f42406109b591906122d3565b6040516109c29190611fd4565b60405180910390a1565b60115481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600481526020017f4649415400000000000000000000000000000000000000000000000000000000815250905090565b5f808203610abf578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a7d91906120d6565b602060405180830381865afa158015610a98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abc9190612390565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f8383604051610af09291906123bb565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610b5592919061243d565b6020604051808303815f875af1158015610b71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b95919061248e565b905092915050565b5f610bb0610ba9610ce1565b8484610eab565b6001905092915050565b60135481565b60055f9054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c95610ce1565b73ffffffffffffffffffffffffffffffffffffffff1614610cb4575f80fd5b600b548111158015610cc85750600c548111155b610cd0575f80fd5b80600b8190555080600c8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4d90612529565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbb906125b7565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e9e9190611fd4565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1090612645565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7e906126d3565b60405180910390fd5b5f8111610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc090612761565b60405180910390fd5b5f610fd26109d2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561104057506110106109d2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561156e576110816064611073600d546010541161106057600954611064565b600b545b85611c3a90919063ffffffff16565b611cb190919063ffffffff16565b905060055f9054906101000a900460ff16156112095760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611141575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611208574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106111c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bc90612815565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112b2575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611305575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156113bf5760115482111561134f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113469061287d565b60405180910390fd5b6012548261135c856106e0565b611366919061289b565b11156113a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139e90612918565b60405180910390fd5b60105f8154809291906113b990612936565b91905055505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561144757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561148b57611488606461147a600e546010541161146757600a5461146b565b600c545b85611c3a90919063ffffffff16565b611cb190919063ffffffff16565b90505b5f611495306106e0565b9050601660159054906101000a900460ff16158015611500575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611516575060168054906101000a900460ff165b8015611523575060135481115b80156115325750600f54601054115b1561156c5761155461154f8461154a84601454611cfa565b611cfa565b611880565b5f4790505f81111561156a5761156947611aeb565b5b505b505b5f81111561166d576115c68160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d1290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116649190611fd4565b60405180910390a35b6116bd8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d6f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506117606117148284611d6f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d1290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118038486611d6f90919063ffffffff16565b6040516118109190611fd4565b60405180910390a350505050565b5f838311158290611865576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185c9190611ea3565b60405180910390fd5b505f8385611873919061297d565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156118b7576118b66129b0565b5b6040519080825280602002602001820160405280156118e55781602001602082028036833780820191505090505b50905030815f815181106118fc576118fb6129dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119c49190612a1e565b816001815181106119d8576119d76129dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a3e3060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ce8565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611aa0959493929190612b39565b5f604051808303815f87803b158015611ab7575f80fd5b505af1158015611ac9573d5f803e3d5ffd5b50505050505f601660156101000a81548160ff02191690831515021790555050565b5f606460075483611afc91906122d3565b611b069190612bbe565b90505f606460085484611b1991906122d3565b611b239190612bbe565b9050600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f19350505050158015611b8a573d5f803e3d5ffd5b5060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611bef573d5f803e3d5ffd5b50505050565b5f8103611c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2e90612c38565b60405180910390fd5b50565b5f808303611c4a575f9050611cab565b5f8284611c5791906122d3565b9050828482611c669190612bbe565b14611ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9d90612cc6565b60405180910390fd5b809150505b92915050565b5f611cf283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611db8565b905092915050565b5f818311611d085782611d0a565b815b905092915050565b5f808284611d20919061289b565b905083811015611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c90612d2e565b60405180910390fd5b8091505092915050565b5f611db083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061181e565b905092915050565b5f8083118290611dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df59190611ea3565b60405180910390fd5b505f8385611e0c9190612bbe565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611e50578082015181840152602081019050611e35565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611e7582611e19565b611e7f8185611e23565b9350611e8f818560208601611e33565b611e9881611e5b565b840191505092915050565b5f6020820190508181035f830152611ebb8184611e6b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ef082611ec7565b9050919050565b611f0081611ee6565b8114611f0a575f80fd5b50565b5f81359050611f1b81611ef7565b92915050565b5f819050919050565b611f3381611f21565b8114611f3d575f80fd5b50565b5f81359050611f4e81611f2a565b92915050565b5f8060408385031215611f6a57611f69611ec3565b5b5f611f7785828601611f0d565b9250506020611f8885828601611f40565b9150509250929050565b5f8115159050919050565b611fa681611f92565b82525050565b5f602082019050611fbf5f830184611f9d565b92915050565b611fce81611f21565b82525050565b5f602082019050611fe75f830184611fc5565b92915050565b5f805f6060848603121561200457612003611ec3565b5b5f61201186828701611f0d565b935050602061202286828701611f0d565b925050604061203386828701611f40565b9150509250925092565b5f60ff82169050919050565b6120528161203d565b82525050565b5f60208201905061206b5f830184612049565b92915050565b5f6020828403121561208657612085611ec3565b5b5f61209384828501611f0d565b91505092915050565b5f602082840312156120b1576120b0611ec3565b5b5f6120be84828501611f40565b91505092915050565b6120d081611ee6565b82525050565b5f6020820190506120e95f8301846120c7565b92915050565b5f806040838503121561210557612104611ec3565b5b5f61211285828601611f0d565b925050602061212385828601611f0d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156121af5780860481111561218b5761218a61212d565b5b600185161561219a5780820291505b80810290506121a88561215a565b945061216f565b94509492505050565b5f826121c75760019050612282565b816121d4575f9050612282565b81600181146121ea57600281146121f457612223565b6001915050612282565b60ff8411156122065761220561212d565b5b8360020a91508482111561221d5761221c61212d565b5b50612282565b5060208310610133831016604e8410600b84101617156122585782820a9050838111156122535761225261212d565b5b612282565b6122658484846001612166565b9250905081840481111561227c5761227b61212d565b5b81810290505b9392505050565b5f61229382611f21565b915061229e8361203d565b92506122cb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121b8565b905092915050565b5f6122dd82611f21565b91506122e883611f21565b92508282026122f681611f21565b9150828204841483151761230d5761230c61212d565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612348602083611e23565b915061235382612314565b602082019050919050565b5f6020820190508181035f8301526123758161233c565b9050919050565b5f8151905061238a81611f2a565b92915050565b5f602082840312156123a5576123a4611ec3565b5b5f6123b28482850161237c565b91505092915050565b5f6040820190506123ce5f8301856120c7565b6123db6020830184611fc5565b9392505050565b5f819050919050565b5f6124056124006123fb84611ec7565b6123e2565b611ec7565b9050919050565b5f612416826123eb565b9050919050565b5f6124278261240c565b9050919050565b6124378161241d565b82525050565b5f6040820190506124505f83018561242e565b61245d6020830184611fc5565b9392505050565b61246d81611f92565b8114612477575f80fd5b50565b5f8151905061248881612464565b92915050565b5f602082840312156124a3576124a2611ec3565b5b5f6124b08482850161247a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612513602483611e23565b915061251e826124b9565b604082019050919050565b5f6020820190508181035f83015261254081612507565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6125a1602283611e23565b91506125ac82612547565b604082019050919050565b5f6020820190508181035f8301526125ce81612595565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61262f602583611e23565b915061263a826125d5565b604082019050919050565b5f6020820190508181035f83015261265c81612623565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6126bd602383611e23565b91506126c882612663565b604082019050919050565b5f6020820190508181035f8301526126ea816126b1565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61274b602983611e23565b9150612756826126f1565b604082019050919050565b5f6020820190508181035f8301526127788161273f565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f6127ff604983611e23565b915061280a8261277f565b606082019050919050565b5f6020820190508181035f83015261282c816127f3565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612867601983611e23565b915061287282612833565b602082019050919050565b5f6020820190508181035f8301526128948161285b565b9050919050565b5f6128a582611f21565b91506128b083611f21565b92508282019050808211156128c8576128c761212d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612902601a83611e23565b915061290d826128ce565b602082019050919050565b5f6020820190508181035f83015261292f816128f6565b9050919050565b5f61294082611f21565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129725761297161212d565b5b600182019050919050565b5f61298782611f21565b915061299283611f21565b92508282039050818111156129aa576129a961212d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612a1881611ef7565b92915050565b5f60208284031215612a3357612a32611ec3565b5b5f612a4084828501612a0a565b91505092915050565b5f819050919050565b5f612a6c612a67612a6284612a49565b6123e2565b611f21565b9050919050565b612a7c81612a52565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ab481611ee6565b82525050565b5f612ac58383612aab565b60208301905092915050565b5f602082019050919050565b5f612ae782612a82565b612af18185612a8c565b9350612afc83612a9c565b805f5b83811015612b2c578151612b138882612aba565b9750612b1e83612ad1565b925050600181019050612aff565b5085935050505092915050565b5f60a082019050612b4c5f830188611fc5565b612b596020830187612a73565b8181036040830152612b6b8186612add565b9050612b7a60608301856120c7565b612b876080830184611fc5565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612bc882611f21565b9150612bd383611f21565b925082612be357612be2612b91565b5b828204905092915050565b7f43616e27742076657269667920300000000000000000000000000000000000005f82015250565b5f612c22600e83611e23565b9150612c2d82612bee565b602082019050919050565b5f6020820190508181035f830152612c4f81612c16565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612cb0602183611e23565b9150612cbb82612c56565b604082019050919050565b5f6020820190508181035f830152612cdd81612ca4565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d18601b83611e23565b9150612d2382612ce4565b602082019050919050565b5f6020820190508181035f830152612d4581612d0c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122018c7dafe2e4c04fb87bc1651ad1f42410a8dd7132f7a5ec2967206a68726a8aa64736f6c63430008140033

Deployed Bytecode

0x60806040526004361061012d575f3560e01c8063751039fc116100aa578063960427a41161006e578063960427a4146103ba578063a9059cbb146103f6578063bf474bed14610432578063c876d0b91461045c578063dd62ed3e14610486578063ec1f3f63146104c257610134565b8063751039fc146102fc5780637d1db4a5146103125780638da5cb5b1461033c5780638f9a55c01461036657806395d89b411461039057610134565b8063313ce567116100f1578063313ce5671461022e57806351bc3c851461025857806370a082311461026e578063715018a6146102aa578063716c8abd146102c057610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104ea565b6040516101599190611ea3565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190611f54565b610527565b6040516101959190611fac565b60405180910390f35b3480156101a9575f80fd5b506101b2610544565b6040516101bf9190611fd4565b60405180910390f35b3480156101d3575f80fd5b506101dc61054a565b6040516101e99190611fd4565b60405180910390f35b3480156101fd575f80fd5b5061021860048036038101906102139190611fed565b61056c565b6040516102259190611fac565b60405180910390f35b348015610239575f80fd5b50610242610640565b60405161024f9190612058565b60405180910390f35b348015610263575f80fd5b5061026c610648565b005b348015610279575f80fd5b50610294600480360381019061028f9190612071565b6106e0565b6040516102a19190611fd4565b60405180910390f35b3480156102b5575f80fd5b506102be610726565b005b3480156102cb575f80fd5b506102e660048036038101906102e1919061209c565b610874565b6040516102f39190611fac565b60405180910390f35b348015610307575f80fd5b50610310610887565b005b34801561031d575f80fd5b506103266109cc565b6040516103339190611fd4565b60405180910390f35b348015610347575f80fd5b506103506109d2565b60405161035d91906120d6565b60405180910390f35b348015610371575f80fd5b5061037a6109f9565b6040516103879190611fd4565b60405180910390f35b34801561039b575f80fd5b506103a46109ff565b6040516103b19190611ea3565b60405180910390f35b3480156103c5575f80fd5b506103e060048036038101906103db9190611f54565b610a3c565b6040516103ed9190611fac565b60405180910390f35b348015610401575f80fd5b5061041c60048036038101906104179190611f54565b610b9d565b6040516104299190611fac565b60405180910390f35b34801561043d575f80fd5b50610446610bba565b6040516104539190611fd4565b60405180910390f35b348015610467575f80fd5b50610470610bc0565b60405161047d9190611fac565b60405180910390f35b348015610491575f80fd5b506104ac60048036038101906104a791906120ef565b610bd2565b6040516104b99190611fd4565b60405180910390f35b3480156104cd575f80fd5b506104e860048036038101906104e3919061209c565b610c54565b005b60606040518060400160405280600c81526020017f5469636b65724973466961740000000000000000000000000000000000000000815250905090565b5f61053a610533610ce1565b8484610ce8565b6001905092915050565b60145481565b5f6009600a6105599190612289565b620f424061056791906122d3565b905090565b5f610578848484610eab565b61063584610584610ce1565b61063085604051806060016040528060288152602001612d4d6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105e7610ce1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461181e9092919063ffffffff16565b610ce8565b600190509392505050565b5f6009905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610689610ce1565b73ffffffffffffffffffffffffffffffffffffffff16146106a8575f80fd5b5f6106b2306106e0565b90505f8111156106c6576106c581611880565b5b5f4790505f8111156106dc576106db81611aeb565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61072e610ce1565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b19061235e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f61087e82611bf5565b60019050919050565b61088f610ce1565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461091b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109129061235e565b60405180910390fd5b6009600a6109299190612289565b620f424061093791906122d3565b6011819055506009600a61094b9190612289565b620f424061095991906122d3565b6012819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109a79190612289565b620f42406109b591906122d3565b6040516109c29190611fd4565b60405180910390a1565b60115481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600481526020017f4649415400000000000000000000000000000000000000000000000000000000815250905090565b5f808203610abf578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a7d91906120d6565b602060405180830381865afa158015610a98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abc9190612390565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f8383604051610af09291906123bb565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610b5592919061243d565b6020604051808303815f875af1158015610b71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b95919061248e565b905092915050565b5f610bb0610ba9610ce1565b8484610eab565b6001905092915050565b60135481565b60055f9054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c95610ce1565b73ffffffffffffffffffffffffffffffffffffffff1614610cb4575f80fd5b600b548111158015610cc85750600c548111155b610cd0575f80fd5b80600b8190555080600c8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4d90612529565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbb906125b7565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e9e9190611fd4565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1090612645565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7e906126d3565b60405180910390fd5b5f8111610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc090612761565b60405180910390fd5b5f610fd26109d2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561104057506110106109d2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561156e576110816064611073600d546010541161106057600954611064565b600b545b85611c3a90919063ffffffff16565b611cb190919063ffffffff16565b905060055f9054906101000a900460ff16156112095760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611141575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611208574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106111c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bc90612815565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112b2575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611305575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156113bf5760115482111561134f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113469061287d565b60405180910390fd5b6012548261135c856106e0565b611366919061289b565b11156113a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139e90612918565b60405180910390fd5b60105f8154809291906113b990612936565b91905055505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561144757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561148b57611488606461147a600e546010541161146757600a5461146b565b600c545b85611c3a90919063ffffffff16565b611cb190919063ffffffff16565b90505b5f611495306106e0565b9050601660159054906101000a900460ff16158015611500575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611516575060168054906101000a900460ff165b8015611523575060135481115b80156115325750600f54601054115b1561156c5761155461154f8461154a84601454611cfa565b611cfa565b611880565b5f4790505f81111561156a5761156947611aeb565b5b505b505b5f81111561166d576115c68160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d1290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116649190611fd4565b60405180910390a35b6116bd8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d6f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506117606117148284611d6f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d1290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118038486611d6f90919063ffffffff16565b6040516118109190611fd4565b60405180910390a350505050565b5f838311158290611865576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185c9190611ea3565b60405180910390fd5b505f8385611873919061297d565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156118b7576118b66129b0565b5b6040519080825280602002602001820160405280156118e55781602001602082028036833780820191505090505b50905030815f815181106118fc576118fb6129dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119c49190612a1e565b816001815181106119d8576119d76129dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a3e3060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ce8565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611aa0959493929190612b39565b5f604051808303815f87803b158015611ab7575f80fd5b505af1158015611ac9573d5f803e3d5ffd5b50505050505f601660156101000a81548160ff02191690831515021790555050565b5f606460075483611afc91906122d3565b611b069190612bbe565b90505f606460085484611b1991906122d3565b611b239190612bbe565b9050600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f19350505050158015611b8a573d5f803e3d5ffd5b5060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611bef573d5f803e3d5ffd5b50505050565b5f8103611c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2e90612c38565b60405180910390fd5b50565b5f808303611c4a575f9050611cab565b5f8284611c5791906122d3565b9050828482611c669190612bbe565b14611ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9d90612cc6565b60405180910390fd5b809150505b92915050565b5f611cf283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611db8565b905092915050565b5f818311611d085782611d0a565b815b905092915050565b5f808284611d20919061289b565b905083811015611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c90612d2e565b60405180910390fd5b8091505092915050565b5f611db083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061181e565b905092915050565b5f8083118290611dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df59190611ea3565b60405180910390fd5b505f8385611e0c9190612bbe565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611e50578082015181840152602081019050611e35565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611e7582611e19565b611e7f8185611e23565b9350611e8f818560208601611e33565b611e9881611e5b565b840191505092915050565b5f6020820190508181035f830152611ebb8184611e6b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ef082611ec7565b9050919050565b611f0081611ee6565b8114611f0a575f80fd5b50565b5f81359050611f1b81611ef7565b92915050565b5f819050919050565b611f3381611f21565b8114611f3d575f80fd5b50565b5f81359050611f4e81611f2a565b92915050565b5f8060408385031215611f6a57611f69611ec3565b5b5f611f7785828601611f0d565b9250506020611f8885828601611f40565b9150509250929050565b5f8115159050919050565b611fa681611f92565b82525050565b5f602082019050611fbf5f830184611f9d565b92915050565b611fce81611f21565b82525050565b5f602082019050611fe75f830184611fc5565b92915050565b5f805f6060848603121561200457612003611ec3565b5b5f61201186828701611f0d565b935050602061202286828701611f0d565b925050604061203386828701611f40565b9150509250925092565b5f60ff82169050919050565b6120528161203d565b82525050565b5f60208201905061206b5f830184612049565b92915050565b5f6020828403121561208657612085611ec3565b5b5f61209384828501611f0d565b91505092915050565b5f602082840312156120b1576120b0611ec3565b5b5f6120be84828501611f40565b91505092915050565b6120d081611ee6565b82525050565b5f6020820190506120e95f8301846120c7565b92915050565b5f806040838503121561210557612104611ec3565b5b5f61211285828601611f0d565b925050602061212385828601611f0d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156121af5780860481111561218b5761218a61212d565b5b600185161561219a5780820291505b80810290506121a88561215a565b945061216f565b94509492505050565b5f826121c75760019050612282565b816121d4575f9050612282565b81600181146121ea57600281146121f457612223565b6001915050612282565b60ff8411156122065761220561212d565b5b8360020a91508482111561221d5761221c61212d565b5b50612282565b5060208310610133831016604e8410600b84101617156122585782820a9050838111156122535761225261212d565b5b612282565b6122658484846001612166565b9250905081840481111561227c5761227b61212d565b5b81810290505b9392505050565b5f61229382611f21565b915061229e8361203d565b92506122cb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121b8565b905092915050565b5f6122dd82611f21565b91506122e883611f21565b92508282026122f681611f21565b9150828204841483151761230d5761230c61212d565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612348602083611e23565b915061235382612314565b602082019050919050565b5f6020820190508181035f8301526123758161233c565b9050919050565b5f8151905061238a81611f2a565b92915050565b5f602082840312156123a5576123a4611ec3565b5b5f6123b28482850161237c565b91505092915050565b5f6040820190506123ce5f8301856120c7565b6123db6020830184611fc5565b9392505050565b5f819050919050565b5f6124056124006123fb84611ec7565b6123e2565b611ec7565b9050919050565b5f612416826123eb565b9050919050565b5f6124278261240c565b9050919050565b6124378161241d565b82525050565b5f6040820190506124505f83018561242e565b61245d6020830184611fc5565b9392505050565b61246d81611f92565b8114612477575f80fd5b50565b5f8151905061248881612464565b92915050565b5f602082840312156124a3576124a2611ec3565b5b5f6124b08482850161247a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612513602483611e23565b915061251e826124b9565b604082019050919050565b5f6020820190508181035f83015261254081612507565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6125a1602283611e23565b91506125ac82612547565b604082019050919050565b5f6020820190508181035f8301526125ce81612595565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61262f602583611e23565b915061263a826125d5565b604082019050919050565b5f6020820190508181035f83015261265c81612623565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6126bd602383611e23565b91506126c882612663565b604082019050919050565b5f6020820190508181035f8301526126ea816126b1565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61274b602983611e23565b9150612756826126f1565b604082019050919050565b5f6020820190508181035f8301526127788161273f565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f6127ff604983611e23565b915061280a8261277f565b606082019050919050565b5f6020820190508181035f83015261282c816127f3565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612867601983611e23565b915061287282612833565b602082019050919050565b5f6020820190508181035f8301526128948161285b565b9050919050565b5f6128a582611f21565b91506128b083611f21565b92508282019050808211156128c8576128c761212d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612902601a83611e23565b915061290d826128ce565b602082019050919050565b5f6020820190508181035f83015261292f816128f6565b9050919050565b5f61294082611f21565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129725761297161212d565b5b600182019050919050565b5f61298782611f21565b915061299283611f21565b92508282039050818111156129aa576129a961212d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612a1881611ef7565b92915050565b5f60208284031215612a3357612a32611ec3565b5b5f612a4084828501612a0a565b91505092915050565b5f819050919050565b5f612a6c612a67612a6284612a49565b6123e2565b611f21565b9050919050565b612a7c81612a52565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ab481611ee6565b82525050565b5f612ac58383612aab565b60208301905092915050565b5f602082019050919050565b5f612ae782612a82565b612af18185612a8c565b9350612afc83612a9c565b805f5b83811015612b2c578151612b138882612aba565b9750612b1e83612ad1565b925050600181019050612aff565b5085935050505092915050565b5f60a082019050612b4c5f830188611fc5565b612b596020830187612a73565b8181036040830152612b6b8186612add565b9050612b7a60608301856120c7565b612b876080830184611fc5565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612bc882611f21565b9150612bd383611f21565b925082612be357612be2612b91565b5b828204905092915050565b7f43616e27742076657269667920300000000000000000000000000000000000005f82015250565b5f612c22600e83611e23565b9150612c2d82612bee565b602082019050919050565b5f6020820190508181035f830152612c4f81612c16565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612cb0602183611e23565b9150612cbb82612c56565b604082019050919050565b5f6020820190508181035f830152612cdd81612ca4565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d18601b83611e23565b9150612d2382612ce4565b602082019050919050565b5f6020820190508181035f830152612d4581612d0c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122018c7dafe2e4c04fb87bc1651ad1f42410a8dd7132f7a5ec2967206a68726a8aa64736f6c63430008140033

Deployed Bytecode Sourcemap

5132:8574:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7300:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8133:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6424:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7577:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8443:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7486:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13025:348;;;;;;;;;;;;;:::i;:::-;;7680:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4213:148;;;;;;;;;;;;;:::i;:::-;;8302:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12251:196;;;;;;;;;;;;;:::i;:::-;;6239:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3999:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6300:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7391:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13379:324;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7807:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6361:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5473:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7982:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12762:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7300:83;7337:13;7370:5;;;;;;;;;;;;;;;;;7363:12;;7300:83;:::o;8133:161::-;8208:4;8225:39;8234:12;:10;:12::i;:::-;8248:7;8257:6;8225:8;:39::i;:::-;8282:4;8275:11;;8133:161;;;;:::o;6424:50::-;;;;:::o;7577:95::-;7630:7;6054:1;6107:2;:13;;;;:::i;:::-;6097:7;:23;;;;:::i;:::-;7650:14;;7577:95;:::o;8443:313::-;8541:4;8558:36;8568:6;8576:9;8587:6;8558:9;:36::i;:::-;8605:121;8614:6;8622:12;:10;:12::i;:::-;8636:89;8674:6;8636:89;;;;;;;;;;;;;;;;;:11;:19;8648:6;8636:19;;;;;;;;;;;;;;;:33;8656:12;:10;:12::i;:::-;8636:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8605:8;:121::i;:::-;8744:4;8737:11;;8443:313;;;;;:::o;7486:83::-;7527:5;6054:1;7545:16;;7486:83;:::o;13025:348::-;13089:10;;;;;;;;;;;13075:24;;:12;:10;:12::i;:::-;:24;;;13067:33;;;;;;13111:20;13132:24;13150:4;13132:9;:24::i;:::-;13111:45;;13183:1;13170:12;:14;13167:73;;;13198:30;13215:12;13198:16;:30::i;:::-;13167:73;13250:18;13269:21;13250:40;;13315:1;13304:10;:12;13301:65;;;13330:24;13343:10;13330:12;:24::i;:::-;13301:65;13056:317;;13025:348::o;7680:119::-;7746:7;7773:9;:18;7783:7;7773:18;;;;;;;;;;;;;;;;7766:25;;7680:119;;;:::o;4213:148::-;4136:12;:10;:12::i;:::-;4126:22;;:6;;;;;;;;;;:22;;;4118:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4320:1:::1;4283:40;;4304:6;::::0;::::1;;;;;;;;4283:40;;;;;;;;;;;;4351:1;4334:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4213:148::o:0;8302:133::-;8369:4;8386:19;8394:10;8386:7;:19::i;:::-;8423:4;8416:11;;8302:133;;;:::o;12251:196::-;4136:12;:10;:12::i;:::-;4126:22;;:6;;;;;;;;;;:22;;;4118:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6054:1:::1;6107:2;:13;;;;:::i;:::-;6097:7;:23;;;;:::i;:::-;12304:12;:22;;;;6054:1;6107:2;:13;;;;:::i;:::-;6097:7;:23;;;;:::i;:::-;12337:14;:22;;;;12391:5;12370:20;;:26;;;;;;;;;;;;;;;;;;12412:27;6054:1;6107:2;:13;;;;:::i;:::-;6097:7;:23;;;;:::i;:::-;12412:27;;;;;;:::i;:::-;;;;;;;;12251:196::o:0;6239:53::-;;;;:::o;3999:79::-;4037:7;4064:6;;;;;;;;;;;4057:13;;3999:79;:::o;6300:53::-;;;;:::o;7391:87::-;7430:13;7463:7;;;;;;;;;;;;;;;;;7456:14;;7391:87;:::o;13379:324::-;13455:12;13498:1;13488:6;:11;13485:96;;13531:12;13524:30;;;13563:4;13524:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13515:54;;13485:96;13596:32;13607:12;13621:6;13596:32;;;;;;;:::i;:::-;;;;;;;;13653:12;13646:29;;;13676:10;;;;;;;;;;;13688:6;13646:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13639:56;;13379:324;;;;:::o;7807:167::-;7885:4;7902:42;7912:12;:10;:12::i;:::-;7926:9;7937:6;7902:9;:42::i;:::-;7962:4;7955:11;;7807:167;;;;:::o;6361:56::-;;;;:::o;5473:39::-;;;;;;;;;;;;;:::o;7982:143::-;8063:7;8090:11;:18;8102:5;8090:18;;;;;;;;;;;;;;;:27;8109:7;8090:27;;;;;;;;;;;;;;;;8083:34;;7982:143;;;;:::o;12762:218::-;12837:10;;;;;;;;;;;12823:24;;:12;:10;:12::i;:::-;:24;;;12815:33;;;;;;12874:12;;12865:7;:21;;:47;;;;;12899:13;;12890:7;:22;;12865:47;12857:56;;;;;;12935:7;12922:12;:20;;;;12965:7;12951:13;:21;;;;12762:218;:::o;1754:98::-;1807:7;1834:10;1827:17;;1754:98;:::o;8764:335::-;8874:1;8857:19;;:5;:19;;;8849:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8955:1;8936:21;;:7;:21;;;8928:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9037:6;9007:11;:18;9019:5;9007:18;;;;;;;;;;;;;;;:27;9026:7;9007:27;;;;;;;;;;;;;;;:36;;;;9075:7;9059:32;;9068:5;9059:32;;;9084:6;9059:32;;;;;;:::i;:::-;;;;;;;;8764:335;;;:::o;9246:2398::-;9350:1;9334:18;;:4;:18;;;9326:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9427:1;9413:16;;:2;:16;;;9405:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9497:1;9488:6;:10;9480:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9555:17;9597:7;:5;:7::i;:::-;9589:15;;:4;:15;;;;:32;;;;;9614:7;:5;:7::i;:::-;9608:13;;:2;:13;;;;9589:32;9585:1703;;;9650:76;9722:3;9650:67;9672:15;;9662:9;;:25;9661:55;;9702:14;;9661:55;;;9689:12;;9661:55;9650:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;9638:88;;9747:20;;;;;;;;;;;9743:508;;;9808:15;;;;;;;;;;;9794:30;;:2;:30;;;;:62;;;;;9842:13;;;;;;;;;;;9828:28;;:2;:28;;;;9794:62;9790:444;;;9992:12;9919:28;:39;9948:9;9919:39;;;;;;;;;;;;;;;;:85;9883:250;;;;;;;;;;;;:::i;:::-;;;;;;;;;10200:12;10158:28;:39;10187:9;10158:39;;;;;;;;;;;;;;;:54;;;;9790:444;9743:508;10279:13;;;;;;;;;;;10271:21;;:4;:21;;;:55;;;;;10310:15;;;;;;;;;;;10296:30;;:2;:30;;;;10271:55;:83;;;;;10332:18;:22;10351:2;10332:22;;;;;;;;;;;;;;;;;;;;;;;;;10330:24;10271:83;10267:313;;;10394:12;;10384:6;:22;;10376:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10489:14;;10479:6;10463:13;10473:2;10463:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10455:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10553:9;;:11;;;;;;;;;:::i;:::-;;;;;;10267:313;10605:13;;;;;;;;;;;10599:19;;:2;:19;;;:43;;;;;10637:4;10622:20;;:4;:20;;;;10599:43;10596:174;;;10675:79;10750:3;10675:70;10697:16;;10687:9;;:26;10686:58;;10729:15;;10686:58;;;10715:13;;10686:58;10675:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;10663:91;;10596:174;10786:28;10817:24;10835:4;10817:9;:24::i;:::-;10786:55;;10861:6;;;;;;;;;;;10860:7;:32;;;;;10879:13;;;;;;;;;;;10871:21;;:2;:21;;;10860:32;:47;;;;;10896:11;;;;;;;;;;10860:47;:89;;;;;10932:17;;10911:20;:38;10860:89;:121;;;;;10963:18;;10953:9;;:28;10860:121;10856:421;;;11002:67;11019:49;11023:6;11030:37;11034:20;11055:11;;11030:3;:37::i;:::-;11019:3;:49::i;:::-;11002:16;:67::i;:::-;11088:26;11117:21;11088:50;;11181:1;11160:18;:22;11157:105;;;11207:35;11220:21;11207:12;:35::i;:::-;11157:105;10983:294;10856:421;9623:1665;9585:1703;11313:1;11303:9;:11;11300:161;;;11353:39;11382:9;11353;:24;11371:4;11353:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11328:9;:24;11346:4;11328:24;;;;;;;;;;;;;;;:64;;;;11433:4;11410:39;;11419:4;11410:39;;;11439:9;11410:39;;;;;;:::i;:::-;;;;;;;;11300:161;11487:27;11507:6;11487:9;:15;11497:4;11487:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11471:9;:15;11481:4;11471:15;;;;;;;;;;;;;;;:43;;;;11539:40;11557:21;11568:9;11557:6;:10;;:21;;;;:::i;:::-;11539:9;:13;11549:2;11539:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11525:9;:13;11535:2;11525:13;;;;;;;;;;;;;;;:54;;;;11610:2;11595:41;;11604:4;11595:41;;;11614:21;11625:9;11614:6;:10;;:21;;;;:::i;:::-;11595:41;;;;;;:::i;:::-;;;;;;;;9315:2329;9246:2398;;;:::o;2891:190::-;2977:7;3010:1;3005;:6;;3013:12;2997:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3037:9;3053:1;3049;:5;;;;:::i;:::-;3037:17;;3072:1;3065:8;;;2891:190;;;;;:::o;11760:483::-;6772:4;6763:6;;:13;;;;;;;;;;;;;;;;;;11838:21:::1;11876:1;11862:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11838:40;;11907:4;11889;11894:1;11889:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11933:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11923:4;11928:1;11923:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11966:62;11983:4;11998:15;;;;;;;;;;;12016:11;11966:8;:62::i;:::-;12039:15;;;;;;;;;;;:66;;;12120:11;12146:1;12162:4;12189;12209:15;12039:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11827:416;6808:5:::0;6799:6;;:14;;;;;;;;;;;;;;;;;;11760:483;:::o;12455:295::-;12513:22;12570:3;12547:20;;12538:6;:29;;;;:::i;:::-;:35;;;;:::i;:::-;12513:60;;12584:23;12643:3;12619:21;;12610:6;:30;;;;:::i;:::-;:36;;;;:::i;:::-;12584:62;;12659:10;;;;;;;;;;;:19;;:35;12679:14;12659:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12705:11;;;;;;;;;;;:20;;:37;12726:15;12705:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12501:249;;12455:295;:::o;9107:131::-;9210:1;9196:10;:15;9188:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;9107:131;:::o;3089:246::-;3147:7;3176:1;3171;:6;3167:47;;3201:1;3194:8;;;;3167:47;3224:9;3240:1;3236;:5;;;;:::i;:::-;3224:17;;3269:1;3264;3260;:5;;;;:::i;:::-;:10;3252:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3326:1;3319:8;;;3089:246;;;;;:::o;3343:132::-;3401:7;3428:39;3432:1;3435;3428:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3421:46;;3343:132;;;;:::o;11654:98::-;11711:7;11738:1;11736;:3;11735:9;;11743:1;11735:9;;;11741:1;11735:9;11728:16;;11654:98;;;;:::o;2560:179::-;2618:7;2638:9;2654:1;2650;:5;;;;:::i;:::-;2638:17;;2679:1;2674;:6;;2666:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2730:1;2723:8;;;2560:179;;;;:::o;2747:136::-;2805:7;2832:43;2836:1;2839;2832:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2825:50;;2747:136;;;;:::o;3483:189::-;3569:7;3601:1;3597;:5;3604:12;3589:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3628:9;3644:1;3640;:5;;;;:::i;:::-;3628:17;;3663:1;3656:8;;;3483: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;1430:117::-;1539:1;1536;1529: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:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:102;6583:8;6630:5;6627:1;6623:13;6602:34;;6541:102;;;:::o;6649:848::-;6710:5;6717:4;6741:6;6732:15;;6765:5;6756:14;;6779:712;6800:1;6790:8;6787:15;6779:712;;;6895:4;6890:3;6886:14;6880:4;6877:24;6874:50;;;6904:18;;:::i;:::-;6874:50;6954:1;6944:8;6940:16;6937:451;;;7369:4;7362:5;7358:16;7349:25;;6937:451;7419:4;7413;7409:15;7401:23;;7449:32;7472:8;7449:32;:::i;:::-;7437:44;;6779:712;;;6649:848;;;;;;;:::o;7503:1073::-;7557:5;7748:8;7738:40;;7769:1;7760:10;;7771:5;;7738:40;7797:4;7787:36;;7814:1;7805:10;;7816:5;;7787:36;7883:4;7931:1;7926:27;;;;7967:1;7962:191;;;;7876:277;;7926:27;7944:1;7935:10;;7946:5;;;7962:191;8007:3;7997:8;7994:17;7991:43;;;8014:18;;:::i;:::-;7991:43;8063:8;8060:1;8056:16;8047:25;;8098:3;8091:5;8088:14;8085:40;;;8105:18;;:::i;:::-;8085:40;8138:5;;;7876:277;;8262:2;8252:8;8249:16;8243:3;8237:4;8234:13;8230:36;8212:2;8202:8;8199:16;8194:2;8188:4;8185:12;8181:35;8165:111;8162:246;;;8318:8;8312:4;8308:19;8299:28;;8353:3;8346:5;8343:14;8340:40;;;8360:18;;:::i;:::-;8340:40;8393:5;;8162:246;8433:42;8471:3;8461:8;8455:4;8452:1;8433:42;:::i;:::-;8418:57;;;;8507:4;8502:3;8498:14;8491:5;8488:25;8485:51;;;8516:18;;:::i;:::-;8485:51;8565:4;8558:5;8554:16;8545:25;;7503:1073;;;;;;:::o;8582:281::-;8640:5;8664:23;8682:4;8664:23;:::i;:::-;8656:31;;8708:25;8724:8;8708:25;:::i;:::-;8696:37;;8752:104;8789:66;8779:8;8773:4;8752:104;:::i;:::-;8743:113;;8582:281;;;;:::o;8869:410::-;8909:7;8932:20;8950:1;8932:20;:::i;:::-;8927:25;;8966:20;8984:1;8966:20;:::i;:::-;8961:25;;9021:1;9018;9014:9;9043:30;9061:11;9043:30;:::i;:::-;9032:41;;9222:1;9213:7;9209:15;9206:1;9203:22;9183:1;9176:9;9156:83;9133:139;;9252:18;;:::i;:::-;9133:139;8917:362;8869:410;;;;:::o;9285:182::-;9425:34;9421:1;9413:6;9409:14;9402:58;9285:182;:::o;9473:366::-;9615:3;9636:67;9700:2;9695:3;9636:67;:::i;:::-;9629:74;;9712:93;9801:3;9712:93;:::i;:::-;9830:2;9825:3;9821:12;9814:19;;9473:366;;;:::o;9845:419::-;10011:4;10049:2;10038:9;10034:18;10026:26;;10098:9;10092:4;10088:20;10084:1;10073:9;10069:17;10062:47;10126:131;10252:4;10126:131;:::i;:::-;10118:139;;9845:419;;;:::o;10270:143::-;10327:5;10358:6;10352:13;10343:22;;10374:33;10401:5;10374:33;:::i;:::-;10270:143;;;;:::o;10419:351::-;10489:6;10538:2;10526:9;10517:7;10513:23;10509:32;10506:119;;;10544:79;;:::i;:::-;10506:119;10664:1;10689:64;10745:7;10736:6;10725:9;10721:22;10689:64;:::i;:::-;10679:74;;10635:128;10419:351;;;;:::o;10776:332::-;10897:4;10935:2;10924:9;10920:18;10912:26;;10948:71;11016:1;11005:9;11001:17;10992:6;10948:71;:::i;:::-;11029:72;11097:2;11086:9;11082:18;11073:6;11029:72;:::i;:::-;10776:332;;;;;:::o;11114:60::-;11142:3;11163:5;11156:12;;11114:60;;;:::o;11180:142::-;11230:9;11263:53;11281:34;11290:24;11308:5;11290:24;:::i;:::-;11281:34;:::i;:::-;11263:53;:::i;:::-;11250:66;;11180:142;;;:::o;11328:126::-;11378:9;11411:37;11442:5;11411:37;:::i;:::-;11398:50;;11328:126;;;:::o;11460:134::-;11518:9;11551:37;11582:5;11551:37;:::i;:::-;11538:50;;11460:134;;;:::o;11600:147::-;11695:45;11734:5;11695:45;:::i;:::-;11690:3;11683:58;11600:147;;:::o;11753:348::-;11882:4;11920:2;11909:9;11905:18;11897:26;;11933:79;12009:1;11998:9;11994:17;11985:6;11933:79;:::i;:::-;12022:72;12090:2;12079:9;12075:18;12066:6;12022:72;:::i;:::-;11753:348;;;;;:::o;12107:116::-;12177:21;12192:5;12177:21;:::i;:::-;12170:5;12167:32;12157:60;;12213:1;12210;12203:12;12157:60;12107:116;:::o;12229:137::-;12283:5;12314:6;12308:13;12299:22;;12330:30;12354:5;12330:30;:::i;:::-;12229:137;;;;:::o;12372:345::-;12439:6;12488:2;12476:9;12467:7;12463:23;12459:32;12456:119;;;12494:79;;:::i;:::-;12456:119;12614:1;12639:61;12692:7;12683:6;12672:9;12668:22;12639:61;:::i;:::-;12629:71;;12585:125;12372:345;;;;:::o;12723:223::-;12863:34;12859:1;12851:6;12847:14;12840:58;12932:6;12927:2;12919:6;12915:15;12908:31;12723:223;:::o;12952:366::-;13094:3;13115:67;13179:2;13174:3;13115:67;:::i;:::-;13108:74;;13191:93;13280:3;13191:93;:::i;:::-;13309:2;13304:3;13300:12;13293:19;;12952:366;;;:::o;13324:419::-;13490:4;13528:2;13517:9;13513:18;13505:26;;13577:9;13571:4;13567:20;13563:1;13552:9;13548:17;13541:47;13605:131;13731:4;13605:131;:::i;:::-;13597:139;;13324:419;;;:::o;13749:221::-;13889:34;13885:1;13877:6;13873:14;13866:58;13958:4;13953:2;13945:6;13941:15;13934:29;13749:221;:::o;13976:366::-;14118:3;14139:67;14203:2;14198:3;14139:67;:::i;:::-;14132:74;;14215:93;14304:3;14215:93;:::i;:::-;14333:2;14328:3;14324:12;14317:19;;13976:366;;;:::o;14348:419::-;14514:4;14552:2;14541:9;14537:18;14529:26;;14601:9;14595:4;14591:20;14587:1;14576:9;14572:17;14565:47;14629:131;14755:4;14629:131;:::i;:::-;14621:139;;14348:419;;;:::o;14773:224::-;14913:34;14909:1;14901:6;14897:14;14890:58;14982:7;14977:2;14969:6;14965:15;14958:32;14773:224;:::o;15003:366::-;15145:3;15166:67;15230:2;15225:3;15166:67;:::i;:::-;15159:74;;15242:93;15331:3;15242:93;:::i;:::-;15360:2;15355:3;15351:12;15344:19;;15003:366;;;:::o;15375:419::-;15541:4;15579:2;15568:9;15564:18;15556:26;;15628:9;15622:4;15618:20;15614:1;15603:9;15599:17;15592:47;15656:131;15782:4;15656:131;:::i;:::-;15648:139;;15375:419;;;:::o;15800:222::-;15940:34;15936:1;15928:6;15924:14;15917:58;16009:5;16004:2;15996:6;15992:15;15985:30;15800:222;:::o;16028:366::-;16170:3;16191:67;16255:2;16250:3;16191:67;:::i;:::-;16184:74;;16267:93;16356:3;16267:93;:::i;:::-;16385:2;16380:3;16376:12;16369:19;;16028:366;;;:::o;16400:419::-;16566:4;16604:2;16593:9;16589:18;16581:26;;16653:9;16647:4;16643:20;16639:1;16628:9;16624:17;16617:47;16681:131;16807:4;16681:131;:::i;:::-;16673:139;;16400:419;;;:::o;16825:228::-;16965:34;16961:1;16953:6;16949:14;16942:58;17034:11;17029:2;17021:6;17017:15;17010:36;16825:228;:::o;17059:366::-;17201:3;17222:67;17286:2;17281:3;17222:67;:::i;:::-;17215:74;;17298:93;17387:3;17298:93;:::i;:::-;17416:2;17411:3;17407:12;17400:19;;17059:366;;;:::o;17431:419::-;17597:4;17635:2;17624:9;17620:18;17612:26;;17684:9;17678:4;17674:20;17670:1;17659:9;17655:17;17648:47;17712:131;17838:4;17712:131;:::i;:::-;17704:139;;17431:419;;;:::o;17856:297::-;17996:34;17992:1;17984:6;17980:14;17973:58;18065:34;18060:2;18052:6;18048:15;18041:59;18134:11;18129:2;18121:6;18117:15;18110:36;17856:297;:::o;18159:366::-;18301:3;18322:67;18386:2;18381:3;18322:67;:::i;:::-;18315:74;;18398:93;18487:3;18398:93;:::i;:::-;18516:2;18511:3;18507:12;18500:19;;18159:366;;;:::o;18531:419::-;18697:4;18735:2;18724:9;18720:18;18712:26;;18784:9;18778:4;18774:20;18770:1;18759:9;18755:17;18748:47;18812:131;18938:4;18812:131;:::i;:::-;18804:139;;18531:419;;;:::o;18956:175::-;19096:27;19092:1;19084:6;19080:14;19073:51;18956:175;:::o;19137:366::-;19279:3;19300:67;19364:2;19359:3;19300:67;:::i;:::-;19293:74;;19376:93;19465:3;19376:93;:::i;:::-;19494:2;19489:3;19485:12;19478:19;;19137:366;;;:::o;19509:419::-;19675:4;19713:2;19702:9;19698:18;19690:26;;19762:9;19756:4;19752:20;19748:1;19737:9;19733:17;19726:47;19790:131;19916:4;19790:131;:::i;:::-;19782:139;;19509:419;;;:::o;19934:191::-;19974:3;19993:20;20011:1;19993:20;:::i;:::-;19988:25;;20027:20;20045:1;20027:20;:::i;:::-;20022:25;;20070:1;20067;20063:9;20056:16;;20091:3;20088:1;20085:10;20082:36;;;20098:18;;:::i;:::-;20082:36;19934:191;;;;:::o;20131:176::-;20271:28;20267:1;20259:6;20255:14;20248:52;20131:176;:::o;20313:366::-;20455:3;20476:67;20540:2;20535:3;20476:67;:::i;:::-;20469:74;;20552:93;20641:3;20552:93;:::i;:::-;20670:2;20665:3;20661:12;20654:19;;20313:366;;;:::o;20685:419::-;20851:4;20889:2;20878:9;20874:18;20866:26;;20938:9;20932:4;20928:20;20924:1;20913:9;20909:17;20902:47;20966:131;21092:4;20966:131;:::i;:::-;20958:139;;20685:419;;;:::o;21110:233::-;21149:3;21172:24;21190:5;21172:24;:::i;:::-;21163:33;;21218:66;21211:5;21208:77;21205:103;;21288:18;;:::i;:::-;21205:103;21335:1;21328:5;21324:13;21317:20;;21110:233;;;:::o;21349:194::-;21389:4;21409:20;21427:1;21409:20;:::i;:::-;21404:25;;21443:20;21461:1;21443:20;:::i;:::-;21438:25;;21487:1;21484;21480:9;21472:17;;21511:1;21505:4;21502:11;21499:37;;;21516:18;;:::i;:::-;21499:37;21349:194;;;;:::o;21549:180::-;21597:77;21594:1;21587:88;21694:4;21691:1;21684:15;21718:4;21715:1;21708:15;21735:180;21783:77;21780:1;21773:88;21880:4;21877:1;21870:15;21904:4;21901:1;21894:15;21921:143;21978:5;22009:6;22003:13;21994:22;;22025:33;22052:5;22025:33;:::i;:::-;21921:143;;;;:::o;22070:351::-;22140:6;22189:2;22177:9;22168:7;22164:23;22160:32;22157:119;;;22195:79;;:::i;:::-;22157:119;22315:1;22340:64;22396:7;22387:6;22376:9;22372:22;22340:64;:::i;:::-;22330:74;;22286:128;22070:351;;;;:::o;22427:85::-;22472:7;22501:5;22490:16;;22427:85;;;:::o;22518:158::-;22576:9;22609:61;22627:42;22636:32;22662:5;22636:32;:::i;:::-;22627:42;:::i;:::-;22609:61;:::i;:::-;22596:74;;22518:158;;;:::o;22682:147::-;22777:45;22816:5;22777:45;:::i;:::-;22772:3;22765:58;22682:147;;:::o;22835:114::-;22902:6;22936:5;22930:12;22920:22;;22835:114;;;:::o;22955:184::-;23054:11;23088:6;23083:3;23076:19;23128:4;23123:3;23119:14;23104:29;;22955:184;;;;:::o;23145:132::-;23212:4;23235:3;23227:11;;23265:4;23260:3;23256:14;23248:22;;23145:132;;;:::o;23283:108::-;23360:24;23378:5;23360:24;:::i;:::-;23355:3;23348:37;23283:108;;:::o;23397:179::-;23466:10;23487:46;23529:3;23521:6;23487:46;:::i;:::-;23565:4;23560:3;23556:14;23542:28;;23397:179;;;;:::o;23582:113::-;23652:4;23684;23679:3;23675:14;23667:22;;23582:113;;;:::o;23731:732::-;23850:3;23879:54;23927:5;23879:54;:::i;:::-;23949:86;24028:6;24023:3;23949:86;:::i;:::-;23942:93;;24059:56;24109:5;24059:56;:::i;:::-;24138:7;24169:1;24154:284;24179:6;24176:1;24173:13;24154:284;;;24255:6;24249:13;24282:63;24341:3;24326:13;24282:63;:::i;:::-;24275:70;;24368:60;24421:6;24368:60;:::i;:::-;24358:70;;24214:224;24201:1;24198;24194:9;24189:14;;24154:284;;;24158:14;24454:3;24447:10;;23855:608;;;23731:732;;;;:::o;24469:831::-;24732:4;24770:3;24759:9;24755:19;24747:27;;24784:71;24852:1;24841:9;24837:17;24828:6;24784:71;:::i;:::-;24865:80;24941:2;24930:9;24926:18;24917:6;24865:80;:::i;:::-;24992:9;24986:4;24982:20;24977:2;24966:9;24962:18;24955:48;25020:108;25123:4;25114:6;25020:108;:::i;:::-;25012:116;;25138:72;25206:2;25195:9;25191:18;25182:6;25138:72;:::i;:::-;25220:73;25288:3;25277:9;25273:19;25264:6;25220:73;:::i;:::-;24469:831;;;;;;;;:::o;25306:180::-;25354:77;25351:1;25344:88;25451:4;25448:1;25441:15;25475:4;25472:1;25465:15;25492:185;25532:1;25549:20;25567:1;25549:20;:::i;:::-;25544:25;;25583:20;25601:1;25583:20;:::i;:::-;25578:25;;25622:1;25612:35;;25627:18;;:::i;:::-;25612:35;25669:1;25666;25662:9;25657:14;;25492:185;;;;:::o;25683:164::-;25823:16;25819:1;25811:6;25807:14;25800:40;25683:164;:::o;25853:366::-;25995:3;26016:67;26080:2;26075:3;26016:67;:::i;:::-;26009:74;;26092:93;26181:3;26092:93;:::i;:::-;26210:2;26205:3;26201:12;26194:19;;25853:366;;;:::o;26225:419::-;26391:4;26429:2;26418:9;26414:18;26406:26;;26478:9;26472:4;26468:20;26464:1;26453:9;26449:17;26442:47;26506:131;26632:4;26506:131;:::i;:::-;26498:139;;26225:419;;;:::o;26650:220::-;26790:34;26786:1;26778:6;26774:14;26767:58;26859:3;26854:2;26846:6;26842:15;26835:28;26650:220;:::o;26876:366::-;27018:3;27039:67;27103:2;27098:3;27039:67;:::i;:::-;27032:74;;27115:93;27204:3;27115:93;:::i;:::-;27233:2;27228:3;27224:12;27217:19;;26876:366;;;:::o;27248:419::-;27414:4;27452:2;27441:9;27437:18;27429:26;;27501:9;27495:4;27491:20;27487:1;27476:9;27472:17;27465:47;27529:131;27655:4;27529:131;:::i;:::-;27521:139;;27248:419;;;:::o;27673:177::-;27813:29;27809:1;27801:6;27797:14;27790:53;27673:177;:::o;27856:366::-;27998:3;28019:67;28083:2;28078:3;28019:67;:::i;:::-;28012:74;;28095:93;28184:3;28095:93;:::i;:::-;28213:2;28208:3;28204:12;28197:19;;27856:366;;;:::o;28228:419::-;28394:4;28432:2;28421:9;28417:18;28409:26;;28481:9;28475:4;28471:20;28467:1;28456:9;28452:17;28445:47;28509:131;28635:4;28509:131;:::i;:::-;28501:139;;28228:419;;;:::o

Swarm Source

ipfs://18c7dafe2e4c04fb87bc1651ad1f42410a8dd7132f7a5ec2967206a68726a8aa
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.