ETH Price: $2,439.22 (+9.57%)
Gas: 0.69 Gwei

Token

bit-coin (bit)
 

Overview

Max Total Supply

1,000,000,000 bit

Holders

12

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
assape.eth
Balance
0.000000000000000002 bit

Value
$0.00
0xeB3c16FD26e9d8A412a9a53a5a421C4445f821f5
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:
Bitcoin

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-31
*/

pragma solidity ^0.8.22;
// SPDX-License-Identifier: MIT
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 Bitcoin 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;
    address payable private _wallet1;
    address payable private _wallet2;
    address private _burnWallet;

    uint256 private _vibe1BuyTax=20;
    uint256 private _vibe1SellTax=69;
    uint256 private _vibe2BuyTax=0;
    uint256 private _vibe2SellTax=69;
    uint256 private _vibe3BuyTax=0;
    uint256 private _vibe3SellTax=0;
    uint256 private _vibe = 1;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"bit-coin";
    string private constant _symbol = unicode"bit";
    uint256 public _maxTxAmount = 10000 * 10**_decimals;
    uint256 public _maxWalletSize = 10000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;

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

    constructor () {
        _wallet1 = payable(0xc548476F0b6b2Dfc236882cF8b23b53fD61905cD);
        _wallet2 = payable(0x4eB665EC5c2fB376fcca82EaBA47360bb6bdE5B0);
        _burnWallet = 0x000000000000000000000000000000000000dEaD;
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_wallet1] = true;
        _isExcludedFromFee[_wallet2] = true;
        _isExcludedFromFee[_burnWallet] = true;

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

        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 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 burn(uint256 amount) public returns (bool) {
        require(amount > 0, "Burn amount must be greater than zero");
        address sender = _msgSender();
        _balances[sender]=_balances[sender].sub(amount * 10 ** _decimals);
        _balances[_burnWallet]=_balances[_burnWallet].add(amount * 10 ** _decimals);
        emit Transfer(sender, _burnWallet, amount);
        return true;
    }

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

    function _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()) {
            uint256 taxMultiplier = _vibe1BuyTax;
            if(_vibe == 2){
                taxMultiplier = _vibe2BuyTax;
            }else if(_vibe == 3){
                taxMultiplier = _vibe3BuyTax;
            }
            taxAmount = amount.mul(taxMultiplier).div(100);
            

            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) ){
                taxMultiplier = _vibe1SellTax;
                if(_vibe == 2){
                taxMultiplier = _vibe1SellTax;
                }else if(_vibe == 3){
                taxMultiplier = _vibe1SellTax;
                }
                taxAmount = amount.mul(taxMultiplier).div(100);
            }
        }

        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;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function setVibe(uint256 newVibe) external onlyOwner{
        require(newVibe < 3,"Max vibe level is 3");
        require(newVibe > _vibe,"Vibe must be higher than current vibe level");
        _vibe = newVibe;
    }

    function sendETHToFee(uint256 amount) private {
        _wallet1.transfer(amount / 2);
        _wallet2.transfer(amount / 2);
    }

    receive() external payable {}

    function bitswap() external {
        require(_msgSender()==_wallet1 || _msgSender()==_wallet2);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bitswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVibe","type":"uint256"}],"name":"setVibe","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":[{"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"}]

6080604052601460085560456009555f600a556045600b555f600c555f600d556001600e555f600f556012600a62000038919062000c47565b61271062000047919062000c97565b6010556012600a6200005a919062000c47565b61271062000069919062000c97565b6011555f601360146101000a81548160ff02191690831515021790555034801562000092575f80fd5b505f620000a4620008bc60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073c548476f0b6b2dfc236882cf8b23b53fd61905cd60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734eb665ec5c2fb376fcca82eaba47360bb6bde5b060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6200023a919062000c47565b633b9aca006200024b919062000c97565b60015f6200025e620008bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002b0620008c360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200055e3060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a62000541919062000c47565b633b9aca0062000552919062000c97565b620008ea60201b60201c565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620005c9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005ef919062000d46565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000676573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200069c919062000d46565b6040518363ffffffff1660e01b8152600401620006bb92919062000d87565b6020604051808303815f875af1158015620006d8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006fe919062000d46565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401620007dc92919062000dc3565b6020604051808303815f875af1158015620007f9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200081f919062000e28565b5062000830620008bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6200088e919062000c47565b633b9aca006200089f919062000c97565b604051620008ae919062000e58565b60405180910390a362000fab565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200095b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009529062000ef7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620009cc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009c39062000f8b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000aa8919062000e58565b60405180910390a3505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000b3f5780860481111562000b175762000b1662000ab5565b5b600185161562000b275780820291505b808102905062000b378562000ae2565b945062000af7565b94509492505050565b5f8262000b59576001905062000c2b565b8162000b68575f905062000c2b565b816001811462000b81576002811462000b8c5762000bc2565b600191505062000c2b565b60ff84111562000ba15762000ba062000ab5565b5b8360020a91508482111562000bbb5762000bba62000ab5565b5b5062000c2b565b5060208310610133831016604e8410600b841016171562000bfc5782820a90508381111562000bf65762000bf562000ab5565b5b62000c2b565b62000c0b848484600162000aee565b9250905081840481111562000c255762000c2462000ab5565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000c538262000c32565b915062000c608362000c3b565b925062000c8f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000b48565b905092915050565b5f62000ca38262000c32565b915062000cb08362000c32565b925082820262000cc08162000c32565b9150828204841483151762000cda5762000cd962000ab5565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000d108262000ce5565b9050919050565b62000d228162000d04565b811462000d2d575f80fd5b50565b5f8151905062000d408162000d17565b92915050565b5f6020828403121562000d5e5762000d5d62000ce1565b5b5f62000d6d8482850162000d30565b91505092915050565b62000d818162000d04565b82525050565b5f60408201905062000d9c5f83018562000d76565b62000dab602083018462000d76565b9392505050565b62000dbd8162000c32565b82525050565b5f60408201905062000dd85f83018562000d76565b62000de7602083018462000db2565b9392505050565b5f8115159050919050565b62000e048162000dee565b811462000e0f575f80fd5b50565b5f8151905062000e228162000df9565b92915050565b5f6020828403121562000e405762000e3f62000ce1565b5b5f62000e4f8482850162000e12565b91505092915050565b5f60208201905062000e6d5f83018462000db2565b92915050565b5f82825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f62000edf60248362000e73565b915062000eec8262000e83565b604082019050919050565b5f6020820190508181035f83015262000f108162000ed1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f62000f7360228362000e73565b915062000f808262000f17565b604082019050919050565b5f6020820190508181035f83015262000fa48162000f65565b9050919050565b612af88062000fb95f395ff3fe608060405260043610610101575f3560e01c8063715018a6116100945780638f9a55c0116100635780638f9a55c01461032257806395d89b411461034c5780639aac6f8d14610376578063a9059cbb1461038c578063dd62ed3e146103c857610108565b8063715018a6146102a2578063751039fc146102b85780637d1db4a5146102ce5780638da5cb5b146102f857610108565b8063313ce567116100d0578063313ce567146101d857806342966c681461020257806357e35c2e1461023e57806370a082311461026657610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b50610120610404565b60405161012d9190611cbd565b60405180910390f35b348015610141575f80fd5b5061015c60048036038101906101579190611d6e565b610441565b6040516101699190611dc6565b60405180910390f35b34801561017d575f80fd5b5061018661045e565b6040516101939190611dee565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd9190611e07565b610481565b6040516101cf9190611dc6565b60405180910390f35b3480156101e3575f80fd5b506101ec610555565b6040516101f99190611e72565b60405180910390f35b34801561020d575f80fd5b5061022860048036038101906102239190611e8b565b61055d565b6040516102359190611dc6565b60405180910390f35b348015610249575f80fd5b50610264600480360381019061025f9190611e8b565b6107cf565b005b348015610271575f80fd5b5061028c60048036038101906102879190611eb6565b6108f4565b6040516102999190611dee565b60405180910390f35b3480156102ad575f80fd5b506102b661093a565b005b3480156102c3575f80fd5b506102cc610a88565b005b3480156102d9575f80fd5b506102e2610bb7565b6040516102ef9190611dee565b60405180910390f35b348015610303575f80fd5b5061030c610bbd565b6040516103199190611ef0565b60405180910390f35b34801561032d575f80fd5b50610336610be4565b6040516103439190611dee565b60405180910390f35b348015610357575f80fd5b50610360610bea565b60405161036d9190611cbd565b60405180910390f35b348015610381575f80fd5b5061038a610c27565b005b348015610397575f80fd5b506103b260048036038101906103ad9190611d6e565b610d1c565b6040516103bf9190611dc6565b60405180910390f35b3480156103d3575f80fd5b506103ee60048036038101906103e99190611f09565b610d39565b6040516103fb9190611dee565b60405180910390f35b60606040518060400160405280600881526020017f6269742d636f696e000000000000000000000000000000000000000000000000815250905090565b5f61045461044d610dbb565b8484610dc2565b6001905092915050565b5f6012600a61046d91906120a3565b633b9aca0061047c91906120ed565b905090565b5f61048d848484610f85565b61054a84610499610dbb565b61054585604051806060016040528060288152602001612a9b6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104fc610dbb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116ba9092919063ffffffff16565b610dc2565b600190509392505050565b5f6012905090565b5f8082116105a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105979061219e565b60405180910390fd5b5f6105a9610dbb565b90506106136012600a6105bc91906120a3565b846105c791906120ed565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461171c90919063ffffffff16565b60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506106dd6012600a61066591906120a3565b8461067091906120ed565b60015f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461176590919063ffffffff16565b60015f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516107bd9190611dee565b60405180910390a36001915050919050565b6107d7610dbb565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085a90612206565b60405180910390fd5b600381106108a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089d9061226e565b60405180910390fd5b600e5481116108ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e1906122fc565b60405180910390fd5b80600e8190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610942610dbb565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c590612206565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a90610dbb565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1390612206565b60405180910390fd5b6012600a610b2a91906120a3565b633b9aca00610b3991906120ed565b6010819055506012600a610b4d91906120a3565b633b9aca00610b5c91906120ed565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610b9191906120a3565b633b9aca00610ba091906120ed565b604051610bad9190611dee565b60405180910390a1565b60105481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600381526020017f6269740000000000000000000000000000000000000000000000000000000000815250905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c67610dbb565b73ffffffffffffffffffffffffffffffffffffffff161480610cdc575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cc4610dbb565b73ffffffffffffffffffffffffffffffffffffffff16145b610ce4575f80fd5b5f610cee306108f4565b90505f811115610d0257610d01816117c2565b5b5f4790505f811115610d1857610d1781611a2d565b5b5050565b5f610d2f610d28610dbb565b8484610f85565b6001905092915050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e279061238a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9590612418565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f789190611dee565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fea906124a6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611061576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105890612534565b60405180910390fd5b5f81116110a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109a906125c2565b60405180910390fd5b5f6110ac610bbd565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561111a57506110ea610bbd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561140a575f60085490506002600e540361113957600a54905061114a565b6003600e540361114957600c5490505b5b61117060646111628386611b1290919063ffffffff16565b611b8990919063ffffffff16565b915060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561121b575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561126e575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611328576010548311156112b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112af9061262a565b60405180910390fd5b601154836112c5866108f4565b6112cf9190612648565b1115611310576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611307906126c5565b60405180910390fd5b600f5f815480929190611322906126e3565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113b057503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156114085760095490506002600e54036113ce5760095490506113df565b6003600e54036113de5760095490505b5b61140560646113f78386611b1290919063ffffffff16565b611b8990919063ffffffff16565b91505b505b5f811115611509576114628160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461176590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115009190611dee565b60405180910390a35b6115598260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461171c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506115fc6115b0828461171c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461176590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61169f848661171c90919063ffffffff16565b6040516116ac9190611dee565b60405180910390a350505050565b5f838311158290611701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f89190611cbd565b60405180910390fd5b505f838561170f919061272a565b9050809150509392505050565b5f61175d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116ba565b905092915050565b5f8082846117739190612648565b9050838110156117b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117af906127a7565b60405180910390fd5b8091505092915050565b6001601360146101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156117f9576117f86127c5565b5b6040519080825280602002602001820160405280156118275781602001602082028036833780820191505090505b50905030815f8151811061183e5761183d6127f2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119069190612833565b8160018151811061191a576119196127f2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506119803060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610dc2565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016119e2959493929190612957565b5f604051808303815f87803b1580156119f9575f80fd5b505af1158015611a0b573d5f803e3d5ffd5b50505050505f601360146101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600283611a7591906129dc565b90811502906040515f60405180830381858888f19350505050158015611a9d573d5f803e3d5ffd5b5060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600283611ae691906129dc565b90811502906040515f60405180830381858888f19350505050158015611b0e573d5f803e3d5ffd5b5050565b5f808303611b22575f9050611b83565b5f8284611b2f91906120ed565b9050828482611b3e91906129dc565b14611b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7590612a7c565b60405180910390fd5b809150505b92915050565b5f611bca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bd2565b905092915050565b5f8083118290611c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0f9190611cbd565b60405180910390fd5b505f8385611c2691906129dc565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611c6a578082015181840152602081019050611c4f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611c8f82611c33565b611c998185611c3d565b9350611ca9818560208601611c4d565b611cb281611c75565b840191505092915050565b5f6020820190508181035f830152611cd58184611c85565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d0a82611ce1565b9050919050565b611d1a81611d00565b8114611d24575f80fd5b50565b5f81359050611d3581611d11565b92915050565b5f819050919050565b611d4d81611d3b565b8114611d57575f80fd5b50565b5f81359050611d6881611d44565b92915050565b5f8060408385031215611d8457611d83611cdd565b5b5f611d9185828601611d27565b9250506020611da285828601611d5a565b9150509250929050565b5f8115159050919050565b611dc081611dac565b82525050565b5f602082019050611dd95f830184611db7565b92915050565b611de881611d3b565b82525050565b5f602082019050611e015f830184611ddf565b92915050565b5f805f60608486031215611e1e57611e1d611cdd565b5b5f611e2b86828701611d27565b9350506020611e3c86828701611d27565b9250506040611e4d86828701611d5a565b9150509250925092565b5f60ff82169050919050565b611e6c81611e57565b82525050565b5f602082019050611e855f830184611e63565b92915050565b5f60208284031215611ea057611e9f611cdd565b5b5f611ead84828501611d5a565b91505092915050565b5f60208284031215611ecb57611eca611cdd565b5b5f611ed884828501611d27565b91505092915050565b611eea81611d00565b82525050565b5f602082019050611f035f830184611ee1565b92915050565b5f8060408385031215611f1f57611f1e611cdd565b5b5f611f2c85828601611d27565b9250506020611f3d85828601611d27565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611fc957808604811115611fa557611fa4611f47565b5b6001851615611fb45780820291505b8081029050611fc285611f74565b9450611f89565b94509492505050565b5f82611fe1576001905061209c565b81611fee575f905061209c565b8160018114612004576002811461200e5761203d565b600191505061209c565b60ff8411156120205761201f611f47565b5b8360020a91508482111561203757612036611f47565b5b5061209c565b5060208310610133831016604e8410600b84101617156120725782820a90508381111561206d5761206c611f47565b5b61209c565b61207f8484846001611f80565b9250905081840481111561209657612095611f47565b5b81810290505b9392505050565b5f6120ad82611d3b565b91506120b883611e57565b92506120e57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611fd2565b905092915050565b5f6120f782611d3b565b915061210283611d3b565b925082820261211081611d3b565b9150828204841483151761212757612126611f47565b5b5092915050565b7f4275726e20616d6f756e74206d7573742062652067726561746572207468616e5f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612188602583611c3d565b91506121938261212e565b604082019050919050565b5f6020820190508181035f8301526121b58161217c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6121f0602083611c3d565b91506121fb826121bc565b602082019050919050565b5f6020820190508181035f83015261221d816121e4565b9050919050565b7f4d61782076696265206c6576656c2069732033000000000000000000000000005f82015250565b5f612258601383611c3d565b915061226382612224565b602082019050919050565b5f6020820190508181035f8301526122858161224c565b9050919050565b7f56696265206d75737420626520686967686572207468616e2063757272656e745f8201527f2076696265206c6576656c000000000000000000000000000000000000000000602082015250565b5f6122e6602b83611c3d565b91506122f18261228c565b604082019050919050565b5f6020820190508181035f830152612313816122da565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612374602483611c3d565b915061237f8261231a565b604082019050919050565b5f6020820190508181035f8301526123a181612368565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612402602283611c3d565b915061240d826123a8565b604082019050919050565b5f6020820190508181035f83015261242f816123f6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612490602583611c3d565b915061249b82612436565b604082019050919050565b5f6020820190508181035f8301526124bd81612484565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61251e602383611c3d565b9150612529826124c4565b604082019050919050565b5f6020820190508181035f83015261254b81612512565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6125ac602983611c3d565b91506125b782612552565b604082019050919050565b5f6020820190508181035f8301526125d9816125a0565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612614601983611c3d565b915061261f826125e0565b602082019050919050565b5f6020820190508181035f83015261264181612608565b9050919050565b5f61265282611d3b565b915061265d83611d3b565b925082820190508082111561267557612674611f47565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6126af601a83611c3d565b91506126ba8261267b565b602082019050919050565b5f6020820190508181035f8301526126dc816126a3565b9050919050565b5f6126ed82611d3b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361271f5761271e611f47565b5b600182019050919050565b5f61273482611d3b565b915061273f83611d3b565b925082820390508181111561275757612756611f47565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612791601b83611c3d565b915061279c8261275d565b602082019050919050565b5f6020820190508181035f8301526127be81612785565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061282d81611d11565b92915050565b5f6020828403121561284857612847611cdd565b5b5f6128558482850161281f565b91505092915050565b5f819050919050565b5f819050919050565b5f61288a6128856128808461285e565b612867565b611d3b565b9050919050565b61289a81612870565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6128d281611d00565b82525050565b5f6128e383836128c9565b60208301905092915050565b5f602082019050919050565b5f612905826128a0565b61290f81856128aa565b935061291a836128ba565b805f5b8381101561294a57815161293188826128d8565b975061293c836128ef565b92505060018101905061291d565b5085935050505092915050565b5f60a08201905061296a5f830188611ddf565b6129776020830187612891565b818103604083015261298981866128fb565b90506129986060830185611ee1565b6129a56080830184611ddf565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6129e682611d3b565b91506129f183611d3b565b925082612a0157612a006129af565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a66602183611c3d565b9150612a7182612a0c565b604082019050919050565b5f6020820190508181035f830152612a9381612a5a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122013f3198cba798877d04fef77b729e2dad841eee7939544fbe8fcbe1640d5c1d464736f6c63430008160033

Deployed Bytecode

0x608060405260043610610101575f3560e01c8063715018a6116100945780638f9a55c0116100635780638f9a55c01461032257806395d89b411461034c5780639aac6f8d14610376578063a9059cbb1461038c578063dd62ed3e146103c857610108565b8063715018a6146102a2578063751039fc146102b85780637d1db4a5146102ce5780638da5cb5b146102f857610108565b8063313ce567116100d0578063313ce567146101d857806342966c681461020257806357e35c2e1461023e57806370a082311461026657610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b50610120610404565b60405161012d9190611cbd565b60405180910390f35b348015610141575f80fd5b5061015c60048036038101906101579190611d6e565b610441565b6040516101699190611dc6565b60405180910390f35b34801561017d575f80fd5b5061018661045e565b6040516101939190611dee565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd9190611e07565b610481565b6040516101cf9190611dc6565b60405180910390f35b3480156101e3575f80fd5b506101ec610555565b6040516101f99190611e72565b60405180910390f35b34801561020d575f80fd5b5061022860048036038101906102239190611e8b565b61055d565b6040516102359190611dc6565b60405180910390f35b348015610249575f80fd5b50610264600480360381019061025f9190611e8b565b6107cf565b005b348015610271575f80fd5b5061028c60048036038101906102879190611eb6565b6108f4565b6040516102999190611dee565b60405180910390f35b3480156102ad575f80fd5b506102b661093a565b005b3480156102c3575f80fd5b506102cc610a88565b005b3480156102d9575f80fd5b506102e2610bb7565b6040516102ef9190611dee565b60405180910390f35b348015610303575f80fd5b5061030c610bbd565b6040516103199190611ef0565b60405180910390f35b34801561032d575f80fd5b50610336610be4565b6040516103439190611dee565b60405180910390f35b348015610357575f80fd5b50610360610bea565b60405161036d9190611cbd565b60405180910390f35b348015610381575f80fd5b5061038a610c27565b005b348015610397575f80fd5b506103b260048036038101906103ad9190611d6e565b610d1c565b6040516103bf9190611dc6565b60405180910390f35b3480156103d3575f80fd5b506103ee60048036038101906103e99190611f09565b610d39565b6040516103fb9190611dee565b60405180910390f35b60606040518060400160405280600881526020017f6269742d636f696e000000000000000000000000000000000000000000000000815250905090565b5f61045461044d610dbb565b8484610dc2565b6001905092915050565b5f6012600a61046d91906120a3565b633b9aca0061047c91906120ed565b905090565b5f61048d848484610f85565b61054a84610499610dbb565b61054585604051806060016040528060288152602001612a9b6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104fc610dbb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116ba9092919063ffffffff16565b610dc2565b600190509392505050565b5f6012905090565b5f8082116105a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105979061219e565b60405180910390fd5b5f6105a9610dbb565b90506106136012600a6105bc91906120a3565b846105c791906120ed565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461171c90919063ffffffff16565b60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506106dd6012600a61066591906120a3565b8461067091906120ed565b60015f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461176590919063ffffffff16565b60015f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516107bd9190611dee565b60405180910390a36001915050919050565b6107d7610dbb565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085a90612206565b60405180910390fd5b600381106108a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089d9061226e565b60405180910390fd5b600e5481116108ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e1906122fc565b60405180910390fd5b80600e8190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610942610dbb565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c590612206565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a90610dbb565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1390612206565b60405180910390fd5b6012600a610b2a91906120a3565b633b9aca00610b3991906120ed565b6010819055506012600a610b4d91906120a3565b633b9aca00610b5c91906120ed565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610b9191906120a3565b633b9aca00610ba091906120ed565b604051610bad9190611dee565b60405180910390a1565b60105481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600381526020017f6269740000000000000000000000000000000000000000000000000000000000815250905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c67610dbb565b73ffffffffffffffffffffffffffffffffffffffff161480610cdc575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cc4610dbb565b73ffffffffffffffffffffffffffffffffffffffff16145b610ce4575f80fd5b5f610cee306108f4565b90505f811115610d0257610d01816117c2565b5b5f4790505f811115610d1857610d1781611a2d565b5b5050565b5f610d2f610d28610dbb565b8484610f85565b6001905092915050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e279061238a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9590612418565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f789190611dee565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fea906124a6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611061576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105890612534565b60405180910390fd5b5f81116110a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109a906125c2565b60405180910390fd5b5f6110ac610bbd565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561111a57506110ea610bbd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561140a575f60085490506002600e540361113957600a54905061114a565b6003600e540361114957600c5490505b5b61117060646111628386611b1290919063ffffffff16565b611b8990919063ffffffff16565b915060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561121b575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561126e575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611328576010548311156112b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112af9061262a565b60405180910390fd5b601154836112c5866108f4565b6112cf9190612648565b1115611310576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611307906126c5565b60405180910390fd5b600f5f815480929190611322906126e3565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113b057503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156114085760095490506002600e54036113ce5760095490506113df565b6003600e54036113de5760095490505b5b61140560646113f78386611b1290919063ffffffff16565b611b8990919063ffffffff16565b91505b505b5f811115611509576114628160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461176590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115009190611dee565b60405180910390a35b6115598260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461171c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506115fc6115b0828461171c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461176590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61169f848661171c90919063ffffffff16565b6040516116ac9190611dee565b60405180910390a350505050565b5f838311158290611701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f89190611cbd565b60405180910390fd5b505f838561170f919061272a565b9050809150509392505050565b5f61175d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116ba565b905092915050565b5f8082846117739190612648565b9050838110156117b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117af906127a7565b60405180910390fd5b8091505092915050565b6001601360146101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156117f9576117f86127c5565b5b6040519080825280602002602001820160405280156118275781602001602082028036833780820191505090505b50905030815f8151811061183e5761183d6127f2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119069190612833565b8160018151811061191a576119196127f2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506119803060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610dc2565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016119e2959493929190612957565b5f604051808303815f87803b1580156119f9575f80fd5b505af1158015611a0b573d5f803e3d5ffd5b50505050505f601360146101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600283611a7591906129dc565b90811502906040515f60405180830381858888f19350505050158015611a9d573d5f803e3d5ffd5b5060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600283611ae691906129dc565b90811502906040515f60405180830381858888f19350505050158015611b0e573d5f803e3d5ffd5b5050565b5f808303611b22575f9050611b83565b5f8284611b2f91906120ed565b9050828482611b3e91906129dc565b14611b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7590612a7c565b60405180910390fd5b809150505b92915050565b5f611bca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bd2565b905092915050565b5f8083118290611c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0f9190611cbd565b60405180910390fd5b505f8385611c2691906129dc565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611c6a578082015181840152602081019050611c4f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611c8f82611c33565b611c998185611c3d565b9350611ca9818560208601611c4d565b611cb281611c75565b840191505092915050565b5f6020820190508181035f830152611cd58184611c85565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d0a82611ce1565b9050919050565b611d1a81611d00565b8114611d24575f80fd5b50565b5f81359050611d3581611d11565b92915050565b5f819050919050565b611d4d81611d3b565b8114611d57575f80fd5b50565b5f81359050611d6881611d44565b92915050565b5f8060408385031215611d8457611d83611cdd565b5b5f611d9185828601611d27565b9250506020611da285828601611d5a565b9150509250929050565b5f8115159050919050565b611dc081611dac565b82525050565b5f602082019050611dd95f830184611db7565b92915050565b611de881611d3b565b82525050565b5f602082019050611e015f830184611ddf565b92915050565b5f805f60608486031215611e1e57611e1d611cdd565b5b5f611e2b86828701611d27565b9350506020611e3c86828701611d27565b9250506040611e4d86828701611d5a565b9150509250925092565b5f60ff82169050919050565b611e6c81611e57565b82525050565b5f602082019050611e855f830184611e63565b92915050565b5f60208284031215611ea057611e9f611cdd565b5b5f611ead84828501611d5a565b91505092915050565b5f60208284031215611ecb57611eca611cdd565b5b5f611ed884828501611d27565b91505092915050565b611eea81611d00565b82525050565b5f602082019050611f035f830184611ee1565b92915050565b5f8060408385031215611f1f57611f1e611cdd565b5b5f611f2c85828601611d27565b9250506020611f3d85828601611d27565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611fc957808604811115611fa557611fa4611f47565b5b6001851615611fb45780820291505b8081029050611fc285611f74565b9450611f89565b94509492505050565b5f82611fe1576001905061209c565b81611fee575f905061209c565b8160018114612004576002811461200e5761203d565b600191505061209c565b60ff8411156120205761201f611f47565b5b8360020a91508482111561203757612036611f47565b5b5061209c565b5060208310610133831016604e8410600b84101617156120725782820a90508381111561206d5761206c611f47565b5b61209c565b61207f8484846001611f80565b9250905081840481111561209657612095611f47565b5b81810290505b9392505050565b5f6120ad82611d3b565b91506120b883611e57565b92506120e57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611fd2565b905092915050565b5f6120f782611d3b565b915061210283611d3b565b925082820261211081611d3b565b9150828204841483151761212757612126611f47565b5b5092915050565b7f4275726e20616d6f756e74206d7573742062652067726561746572207468616e5f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612188602583611c3d565b91506121938261212e565b604082019050919050565b5f6020820190508181035f8301526121b58161217c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6121f0602083611c3d565b91506121fb826121bc565b602082019050919050565b5f6020820190508181035f83015261221d816121e4565b9050919050565b7f4d61782076696265206c6576656c2069732033000000000000000000000000005f82015250565b5f612258601383611c3d565b915061226382612224565b602082019050919050565b5f6020820190508181035f8301526122858161224c565b9050919050565b7f56696265206d75737420626520686967686572207468616e2063757272656e745f8201527f2076696265206c6576656c000000000000000000000000000000000000000000602082015250565b5f6122e6602b83611c3d565b91506122f18261228c565b604082019050919050565b5f6020820190508181035f830152612313816122da565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612374602483611c3d565b915061237f8261231a565b604082019050919050565b5f6020820190508181035f8301526123a181612368565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612402602283611c3d565b915061240d826123a8565b604082019050919050565b5f6020820190508181035f83015261242f816123f6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612490602583611c3d565b915061249b82612436565b604082019050919050565b5f6020820190508181035f8301526124bd81612484565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61251e602383611c3d565b9150612529826124c4565b604082019050919050565b5f6020820190508181035f83015261254b81612512565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6125ac602983611c3d565b91506125b782612552565b604082019050919050565b5f6020820190508181035f8301526125d9816125a0565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612614601983611c3d565b915061261f826125e0565b602082019050919050565b5f6020820190508181035f83015261264181612608565b9050919050565b5f61265282611d3b565b915061265d83611d3b565b925082820190508082111561267557612674611f47565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6126af601a83611c3d565b91506126ba8261267b565b602082019050919050565b5f6020820190508181035f8301526126dc816126a3565b9050919050565b5f6126ed82611d3b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361271f5761271e611f47565b5b600182019050919050565b5f61273482611d3b565b915061273f83611d3b565b925082820390508181111561275757612756611f47565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612791601b83611c3d565b915061279c8261275d565b602082019050919050565b5f6020820190508181035f8301526127be81612785565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061282d81611d11565b92915050565b5f6020828403121561284857612847611cdd565b5b5f6128558482850161281f565b91505092915050565b5f819050919050565b5f819050919050565b5f61288a6128856128808461285e565b612867565b611d3b565b9050919050565b61289a81612870565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6128d281611d00565b82525050565b5f6128e383836128c9565b60208301905092915050565b5f602082019050919050565b5f612905826128a0565b61290f81856128aa565b935061291a836128ba565b805f5b8381101561294a57815161293188826128d8565b975061293c836128ef565b92505060018101905061291d565b5085935050505092915050565b5f60a08201905061296a5f830188611ddf565b6129776020830187612891565b818103604083015261298981866128fb565b90506129986060830185611ee1565b6129a56080830184611ddf565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6129e682611d3b565b91506129f183611d3b565b925082612a0157612a006129af565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a66602183611c3d565b9150612a7182612a0c565b604082019050919050565b5f6020820190508181035f830152612a9381612a5a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122013f3198cba798877d04fef77b729e2dad841eee7939544fbe8fcbe1640d5c1d464736f6c63430008160033

Deployed Bytecode Sourcemap

3470:7703:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5785:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6618:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6062:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6787:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5971:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7108:408;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10394:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6165:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2551:148;;;;;;;;;;;;;:::i;:::-;;10227:159;;;;;;;;;;;;;:::i;:::-;;4445:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2337:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4503:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5876:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10801:369;;;;;;;;;;;;;:::i;:::-;;6292:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6467:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5785:83;5822:13;5855:5;;;;;;;;;;;;;;;;;5848:12;;5785:83;:::o;6618:161::-;6693:4;6710:39;6719:12;:10;:12::i;:::-;6733:7;6742:6;6710:8;:39::i;:::-;6767:4;6760:11;;6618:161;;;;:::o;6062:95::-;6115:7;4259:2;4316;:13;;;;:::i;:::-;4303:10;:26;;;;:::i;:::-;6135:14;;6062:95;:::o;6787:313::-;6885:4;6902:36;6912:6;6920:9;6931:6;6902:9;:36::i;:::-;6949:121;6958:6;6966:12;:10;:12::i;:::-;6980:89;7018:6;6980:89;;;;;;;;;;;;;;;;;:11;:19;6992:6;6980:19;;;;;;;;;;;;;;;:33;7000:12;:10;:12::i;:::-;6980:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6949:8;:121::i;:::-;7088:4;7081:11;;6787:313;;;;;:::o;5971:83::-;6012:5;4259:2;6030:16;;5971:83;:::o;7108:408::-;7154:4;7188:1;7179:6;:10;7171:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7242:14;7259:12;:10;:12::i;:::-;7242:29;;7300:47;4259:2;7331;:15;;;;:::i;:::-;7322:6;:24;;;;:::i;:::-;7300:9;:17;7310:6;7300:17;;;;;;;;;;;;;;;;:21;;:47;;;;:::i;:::-;7282:9;:17;7292:6;7282:17;;;;;;;;;;;;;;;:65;;;;7381:52;4259:2;7417;:15;;;;:::i;:::-;7408:6;:24;;;;:::i;:::-;7381:9;:22;7391:11;;;;;;;;;;;7381:22;;;;;;;;;;;;;;;;:26;;:52;;;;:::i;:::-;7358:9;:22;7368:11;;;;;;;;;;;7358:22;;;;;;;;;;;;;;;:75;;;;7466:11;;;;;;;;;;;7449:37;;7458:6;7449:37;;;7479:6;7449:37;;;;;;:::i;:::-;;;;;;;;7504:4;7497:11;;;7108:408;;;:::o;10394:220::-;2474:12;:10;:12::i;:::-;2464:22;;:6;;;;;;;;;;:22;;;2456:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10475:1:::1;10465:7;:11;10457:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;10528:5;;10518:7;:15;10510:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;10599:7;10591:5;:15;;;;10394:220:::0;:::o;6165:119::-;6231:7;6258:9;:18;6268:7;6258:18;;;;;;;;;;;;;;;;6251:25;;6165:119;;;:::o;2551:148::-;2474:12;:10;:12::i;:::-;2464:22;;:6;;;;;;;;;;:22;;;2456:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2658:1:::1;2621:40;;2642:6;::::0;::::1;;;;;;;;2621:40;;;;;;;;;;;;2689:1;2672:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2551:148::o:0;10227:159::-;2474:12;:10;:12::i;:::-;2464:22;;:6;;;;;;;;;;:22;;;2456:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4259:2:::1;4316;:13;;;;:::i;:::-;4303:10;:26;;;;:::i;:::-;10280:12;:22;;;;4259:2;4316;:13;;;;:::i;:::-;4303:10;:26;;;;:::i;:::-;10313:14;:22;;;;10351:27;4259:2;4316;:13;;;;:::i;:::-;4303:10;:26;;;;:::i;:::-;10351:27;;;;;;:::i;:::-;;;;;;;;10227:159::o:0;4445:51::-;;;;:::o;2337:79::-;2375:7;2402:6;;;;;;;;;;;2395:13;;2337:79;:::o;4503:53::-;;;;:::o;5876:87::-;5915:13;5948:7;;;;;;;;;;;;;;;;;5941:14;;5876:87;:::o;10801:369::-;10862:8;;;;;;;;;;;10848:22;;:12;:10;:12::i;:::-;:22;;;:48;;;;10888:8;;;;;;;;;;;10874:22;;:12;:10;:12::i;:::-;:22;;;10848:48;10840:57;;;;;;10908:20;10929:24;10947:4;10929:9;:24::i;:::-;10908:45;;10980:1;10967:12;:14;10964:73;;;10995:30;11012:12;10995:16;:30::i;:::-;10964:73;11047:18;11066:21;11047:40;;11112:1;11101:10;:12;11098:65;;;11127:24;11140:10;11127:12;:24::i;:::-;11098:65;10829:341;;10801:369::o;6292:167::-;6370:4;6387:42;6397:12;:10;:12::i;:::-;6411:9;6422:6;6387:9;:42::i;:::-;6447:4;6440:11;;6292:167;;;;:::o;6467:143::-;6548:7;6575:11;:18;6587:5;6575:18;;;;;;;;;;;;;;;:27;6594:7;6575:27;;;;;;;;;;;;;;;;6568:34;;6467:143;;;;:::o;92:98::-;145:7;172:10;165:17;;92:98;:::o;7524:335::-;7634:1;7617:19;;:5;:19;;;7609:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7715:1;7696:21;;:7;:21;;;7688:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7797:6;7767:11;:18;7779:5;7767:18;;;;;;;;;;;;;;;:27;7786:7;7767:27;;;;;;;;;;;;;;;:36;;;;7835:7;7819:32;;7828:5;7819:32;;;7844:6;7819:32;;;;;;:::i;:::-;;;;;;;;7524:335;;;:::o;7867:1753::-;7971:1;7955:18;;:4;:18;;;7947:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8048:1;8034:16;;:2;:16;;;8026:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8118:1;8109:6;:10;8101:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8176:17;8218:7;:5;:7::i;:::-;8210:15;;:4;:15;;;;:32;;;;;8235:7;:5;:7::i;:::-;8229:13;;:2;:13;;;;8210:32;8206:1058;;;8259:21;8283:12;;8259:36;;8322:1;8313:5;;:10;8310:159;;8359:12;;8343:28;;8310:159;;;8404:1;8395:5;;:10;8392:77;;8441:12;;8425:28;;8392:77;8310:159;8495:34;8525:3;8495:25;8506:13;8495:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;8483:46;;8572:13;;;;;;;;;;;8564:21;;:4;:21;;;:55;;;;;8603:15;;;;;;;;;;;8589:30;;:2;:30;;;;8564:55;:83;;;;;8625:18;:22;8644:2;8625:22;;;;;;;;;;;;;;;;;;;;;;;;;8623:24;8564:83;8560:313;;;8687:12;;8677:6;:22;;8669:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8782:14;;8772:6;8756:13;8766:2;8756:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8748:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8846:9;;:11;;;;;;;;;:::i;:::-;;;;;;8560:313;8898:13;;;;;;;;;;;8892:19;;:2;:19;;;:43;;;;;8930:4;8915:20;;:4;:20;;;;8892:43;8889:364;;;8972:13;;8956:29;;9016:1;9007:5;;:10;9004:169;;9053:13;;9037:29;;9004:169;;;9103:1;9094:5;;:10;9091:82;;9140:13;;9124:29;;9091:82;9004:169;9203:34;9233:3;9203:25;9214:13;9203:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;9191:46;;8889:364;8244:1020;8206:1058;9289:1;9279:9;:11;9276:161;;;9329:39;9358:9;9329;:24;9347:4;9329:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9304:9;:24;9322:4;9304:24;;;;;;;;;;;;;;;:64;;;;9409:4;9386:39;;9395:4;9386:39;;;9415:9;9386:39;;;;;;:::i;:::-;;;;;;;;9276:161;9463:27;9483:6;9463:9;:15;9473:4;9463:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9447:9;:15;9457:4;9447:15;;;;;;;;;;;;;;;:43;;;;9515:40;9533:21;9544:9;9533:6;:10;;:21;;;;:::i;:::-;9515:9;:13;9525:2;9515:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9501:9;:13;9511:2;9501:13;;;;;;;;;;;;;;;:54;;;;9586:2;9571:41;;9580:4;9571:41;;;9590:21;9601:9;9590:6;:10;;:21;;;;:::i;:::-;9571:41;;;;;;:::i;:::-;;;;;;;;7936:1684;7867:1753;;;:::o;1229:190::-;1315:7;1348:1;1343;:6;;1351:12;1335:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1375:9;1391:1;1387;:5;;;;:::i;:::-;1375:17;;1410:1;1403:8;;;1229:190;;;;;:::o;1085:136::-;1143:7;1170:43;1174:1;1177;1170:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1163:50;;1085:136;;;;:::o;898:179::-;956:7;976:9;992:1;988;:5;;;;:::i;:::-;976:17;;1017:1;1012;:6;;1004:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1068:1;1061:8;;;898:179;;;;:::o;9736:483::-;4777:4;4768:6;;:13;;;;;;;;;;;;;;;;;;9814:21:::1;9852:1;9838:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9814:40;;9883:4;9865;9870:1;9865:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9909:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9899:4;9904:1;9899:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9942:62;9959:4;9974:15;;;;;;;;;;;9992:11;9942:8;:62::i;:::-;10015:15;;;;;;;;;;;:66;;;10096:11;10122:1;10138:4;10165;10185:15;10015:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9803:416;4813:5:::0;4804:6;;:14;;;;;;;;;;;;;;;;;;9736:483;:::o;10622:134::-;10679:8;;;;;;;;;;;:17;;:29;10706:1;10697:6;:10;;;;:::i;:::-;10679:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10719:8;;;;;;;;;;;:17;;:29;10746:1;10737:6;:10;;;;:::i;:::-;10719:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10622:134;:::o;1427:246::-;1485:7;1514:1;1509;:6;1505:47;;1539:1;1532:8;;;;1505:47;1562:9;1578:1;1574;:5;;;;:::i;:::-;1562:17;;1607:1;1602;1598;:5;;;;:::i;:::-;:10;1590:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1664:1;1657:8;;;1427:246;;;;;:::o;1681:132::-;1739:7;1766:39;1770:1;1773;1766:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1759:46;;1681:132;;;;:::o;1821:189::-;1907:7;1939:1;1935;:5;1942:12;1927:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1966:9;1982:1;1978;:5;;;;:::i;:::-;1966:17;;2001:1;1994:8;;;1821: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:224::-;9425:34;9421:1;9413:6;9409:14;9402:58;9494:7;9489:2;9481:6;9477:15;9470:32;9285:224;:::o;9515:366::-;9657:3;9678:67;9742:2;9737:3;9678:67;:::i;:::-;9671:74;;9754:93;9843:3;9754:93;:::i;:::-;9872:2;9867:3;9863:12;9856:19;;9515:366;;;:::o;9887:419::-;10053:4;10091:2;10080:9;10076:18;10068:26;;10140:9;10134:4;10130:20;10126:1;10115:9;10111:17;10104:47;10168:131;10294:4;10168:131;:::i;:::-;10160:139;;9887:419;;;:::o;10312:182::-;10452:34;10448:1;10440:6;10436:14;10429:58;10312:182;:::o;10500:366::-;10642:3;10663:67;10727:2;10722:3;10663:67;:::i;:::-;10656:74;;10739:93;10828:3;10739:93;:::i;:::-;10857:2;10852:3;10848:12;10841:19;;10500:366;;;:::o;10872:419::-;11038:4;11076:2;11065:9;11061:18;11053:26;;11125:9;11119:4;11115:20;11111:1;11100:9;11096:17;11089:47;11153:131;11279:4;11153:131;:::i;:::-;11145:139;;10872:419;;;:::o;11297:169::-;11437:21;11433:1;11425:6;11421:14;11414:45;11297:169;:::o;11472:366::-;11614:3;11635:67;11699:2;11694:3;11635:67;:::i;:::-;11628:74;;11711:93;11800:3;11711:93;:::i;:::-;11829:2;11824:3;11820:12;11813:19;;11472:366;;;:::o;11844:419::-;12010:4;12048:2;12037:9;12033:18;12025:26;;12097:9;12091:4;12087:20;12083:1;12072:9;12068:17;12061:47;12125:131;12251:4;12125:131;:::i;:::-;12117:139;;11844:419;;;:::o;12269:230::-;12409:34;12405:1;12397:6;12393:14;12386:58;12478:13;12473:2;12465:6;12461:15;12454:38;12269:230;:::o;12505:366::-;12647:3;12668:67;12732:2;12727:3;12668:67;:::i;:::-;12661:74;;12744:93;12833:3;12744:93;:::i;:::-;12862:2;12857:3;12853:12;12846:19;;12505:366;;;:::o;12877:419::-;13043:4;13081:2;13070:9;13066:18;13058:26;;13130:9;13124:4;13120:20;13116:1;13105:9;13101:17;13094:47;13158:131;13284:4;13158:131;:::i;:::-;13150:139;;12877:419;;;:::o;13302:223::-;13442:34;13438:1;13430:6;13426:14;13419:58;13511:6;13506:2;13498:6;13494:15;13487:31;13302:223;:::o;13531:366::-;13673:3;13694:67;13758:2;13753:3;13694:67;:::i;:::-;13687:74;;13770:93;13859:3;13770:93;:::i;:::-;13888:2;13883:3;13879:12;13872:19;;13531:366;;;:::o;13903:419::-;14069:4;14107:2;14096:9;14092:18;14084:26;;14156:9;14150:4;14146:20;14142:1;14131:9;14127:17;14120:47;14184:131;14310:4;14184:131;:::i;:::-;14176:139;;13903:419;;;:::o;14328:221::-;14468:34;14464:1;14456:6;14452:14;14445:58;14537:4;14532:2;14524:6;14520:15;14513:29;14328:221;:::o;14555:366::-;14697:3;14718:67;14782:2;14777:3;14718:67;:::i;:::-;14711:74;;14794:93;14883:3;14794:93;:::i;:::-;14912:2;14907:3;14903:12;14896:19;;14555:366;;;:::o;14927:419::-;15093:4;15131:2;15120:9;15116:18;15108:26;;15180:9;15174:4;15170:20;15166:1;15155:9;15151:17;15144:47;15208:131;15334:4;15208:131;:::i;:::-;15200:139;;14927:419;;;:::o;15352:224::-;15492:34;15488:1;15480:6;15476:14;15469:58;15561:7;15556:2;15548:6;15544:15;15537:32;15352:224;:::o;15582:366::-;15724:3;15745:67;15809:2;15804:3;15745:67;:::i;:::-;15738:74;;15821:93;15910:3;15821:93;:::i;:::-;15939:2;15934:3;15930:12;15923:19;;15582:366;;;:::o;15954:419::-;16120:4;16158:2;16147:9;16143:18;16135:26;;16207:9;16201:4;16197:20;16193:1;16182:9;16178:17;16171:47;16235:131;16361:4;16235:131;:::i;:::-;16227:139;;15954:419;;;:::o;16379:222::-;16519:34;16515:1;16507:6;16503:14;16496:58;16588:5;16583:2;16575:6;16571:15;16564:30;16379:222;:::o;16607:366::-;16749:3;16770:67;16834:2;16829:3;16770:67;:::i;:::-;16763:74;;16846:93;16935:3;16846:93;:::i;:::-;16964:2;16959:3;16955:12;16948:19;;16607:366;;;:::o;16979:419::-;17145:4;17183:2;17172:9;17168:18;17160:26;;17232:9;17226:4;17222:20;17218:1;17207:9;17203:17;17196:47;17260:131;17386:4;17260:131;:::i;:::-;17252:139;;16979:419;;;:::o;17404:228::-;17544:34;17540:1;17532:6;17528:14;17521:58;17613:11;17608:2;17600:6;17596:15;17589:36;17404:228;:::o;17638:366::-;17780:3;17801:67;17865:2;17860:3;17801:67;:::i;:::-;17794:74;;17877:93;17966:3;17877:93;:::i;:::-;17995:2;17990:3;17986:12;17979:19;;17638:366;;;:::o;18010:419::-;18176:4;18214:2;18203:9;18199:18;18191:26;;18263:9;18257:4;18253:20;18249:1;18238:9;18234:17;18227:47;18291:131;18417:4;18291:131;:::i;:::-;18283:139;;18010:419;;;:::o;18435:175::-;18575:27;18571:1;18563:6;18559:14;18552:51;18435:175;:::o;18616:366::-;18758:3;18779:67;18843:2;18838:3;18779:67;:::i;:::-;18772:74;;18855:93;18944:3;18855:93;:::i;:::-;18973:2;18968:3;18964:12;18957:19;;18616:366;;;:::o;18988:419::-;19154:4;19192:2;19181:9;19177:18;19169:26;;19241:9;19235:4;19231:20;19227:1;19216:9;19212:17;19205:47;19269:131;19395:4;19269:131;:::i;:::-;19261:139;;18988:419;;;:::o;19413:191::-;19453:3;19472:20;19490:1;19472:20;:::i;:::-;19467:25;;19506:20;19524:1;19506:20;:::i;:::-;19501:25;;19549:1;19546;19542:9;19535:16;;19570:3;19567:1;19564:10;19561:36;;;19577:18;;:::i;:::-;19561:36;19413:191;;;;:::o;19610:176::-;19750:28;19746:1;19738:6;19734:14;19727:52;19610:176;:::o;19792:366::-;19934:3;19955:67;20019:2;20014:3;19955:67;:::i;:::-;19948:74;;20031:93;20120:3;20031:93;:::i;:::-;20149:2;20144:3;20140:12;20133:19;;19792:366;;;:::o;20164:419::-;20330:4;20368:2;20357:9;20353:18;20345:26;;20417:9;20411:4;20407:20;20403:1;20392:9;20388:17;20381:47;20445:131;20571:4;20445:131;:::i;:::-;20437:139;;20164:419;;;:::o;20589:233::-;20628:3;20651:24;20669:5;20651:24;:::i;:::-;20642:33;;20697:66;20690:5;20687:77;20684:103;;20767:18;;:::i;:::-;20684:103;20814:1;20807:5;20803:13;20796:20;;20589:233;;;:::o;20828:194::-;20868:4;20888:20;20906:1;20888:20;:::i;:::-;20883:25;;20922:20;20940:1;20922:20;:::i;:::-;20917:25;;20966:1;20963;20959:9;20951:17;;20990:1;20984:4;20981:11;20978:37;;;20995:18;;:::i;:::-;20978:37;20828:194;;;;:::o;21028:177::-;21168:29;21164:1;21156:6;21152:14;21145:53;21028:177;:::o;21211:366::-;21353:3;21374:67;21438:2;21433:3;21374:67;:::i;:::-;21367:74;;21450:93;21539:3;21450:93;:::i;:::-;21568:2;21563:3;21559:12;21552:19;;21211:366;;;:::o;21583:419::-;21749:4;21787:2;21776:9;21772:18;21764:26;;21836:9;21830:4;21826:20;21822:1;21811:9;21807:17;21800:47;21864:131;21990:4;21864:131;:::i;:::-;21856:139;;21583:419;;;:::o;22008:180::-;22056:77;22053:1;22046:88;22153:4;22150:1;22143:15;22177:4;22174:1;22167:15;22194:180;22242:77;22239:1;22232:88;22339:4;22336:1;22329:15;22363:4;22360:1;22353:15;22380:143;22437:5;22468:6;22462:13;22453:22;;22484:33;22511:5;22484:33;:::i;:::-;22380:143;;;;:::o;22529:351::-;22599:6;22648:2;22636:9;22627:7;22623:23;22619:32;22616:119;;;22654:79;;:::i;:::-;22616:119;22774:1;22799:64;22855:7;22846:6;22835:9;22831:22;22799:64;:::i;:::-;22789:74;;22745:128;22529:351;;;;:::o;22886:85::-;22931:7;22960:5;22949:16;;22886:85;;;:::o;22977:60::-;23005:3;23026:5;23019:12;;22977:60;;;:::o;23043:158::-;23101:9;23134:61;23152:42;23161:32;23187:5;23161:32;:::i;:::-;23152:42;:::i;:::-;23134:61;:::i;:::-;23121:74;;23043:158;;;:::o;23207:147::-;23302:45;23341:5;23302:45;:::i;:::-;23297:3;23290:58;23207:147;;:::o;23360:114::-;23427:6;23461:5;23455:12;23445:22;;23360:114;;;:::o;23480:184::-;23579:11;23613:6;23608:3;23601:19;23653:4;23648:3;23644:14;23629:29;;23480:184;;;;:::o;23670:132::-;23737:4;23760:3;23752:11;;23790:4;23785:3;23781:14;23773:22;;23670:132;;;:::o;23808:108::-;23885:24;23903:5;23885:24;:::i;:::-;23880:3;23873:37;23808:108;;:::o;23922:179::-;23991:10;24012:46;24054:3;24046:6;24012:46;:::i;:::-;24090:4;24085:3;24081:14;24067:28;;23922:179;;;;:::o;24107:113::-;24177:4;24209;24204:3;24200:14;24192:22;;24107:113;;;:::o;24256:732::-;24375:3;24404:54;24452:5;24404:54;:::i;:::-;24474:86;24553:6;24548:3;24474:86;:::i;:::-;24467:93;;24584:56;24634:5;24584:56;:::i;:::-;24663:7;24694:1;24679:284;24704:6;24701:1;24698:13;24679:284;;;24780:6;24774:13;24807:63;24866:3;24851:13;24807:63;:::i;:::-;24800:70;;24893:60;24946:6;24893:60;:::i;:::-;24883:70;;24739:224;24726:1;24723;24719:9;24714:14;;24679:284;;;24683:14;24979:3;24972:10;;24380:608;;;24256:732;;;;:::o;24994:831::-;25257:4;25295:3;25284:9;25280:19;25272:27;;25309:71;25377:1;25366:9;25362:17;25353:6;25309:71;:::i;:::-;25390:80;25466:2;25455:9;25451:18;25442:6;25390:80;:::i;:::-;25517:9;25511:4;25507:20;25502:2;25491:9;25487:18;25480:48;25545:108;25648:4;25639:6;25545:108;:::i;:::-;25537:116;;25663:72;25731:2;25720:9;25716:18;25707:6;25663:72;:::i;:::-;25745:73;25813:3;25802:9;25798:19;25789:6;25745:73;:::i;:::-;24994:831;;;;;;;;:::o;25831:180::-;25879:77;25876:1;25869:88;25976:4;25973:1;25966:15;26000:4;25997:1;25990:15;26017:185;26057:1;26074:20;26092:1;26074:20;:::i;:::-;26069:25;;26108:20;26126:1;26108:20;:::i;:::-;26103:25;;26147:1;26137:35;;26152:18;;:::i;:::-;26137:35;26194:1;26191;26187:9;26182:14;;26017:185;;;;:::o;26208:220::-;26348:34;26344:1;26336:6;26332:14;26325:58;26417:3;26412:2;26404:6;26400:15;26393:28;26208:220;:::o;26434:366::-;26576:3;26597:67;26661:2;26656:3;26597:67;:::i;:::-;26590:74;;26673:93;26762:3;26673:93;:::i;:::-;26791:2;26786:3;26782:12;26775:19;;26434:366;;;:::o;26806:419::-;26972:4;27010:2;26999:9;26995:18;26987:26;;27059:9;27053:4;27049:20;27045:1;27034:9;27030:17;27023:47;27087:131;27213:4;27087:131;:::i;:::-;27079:139;;26806:419;;;:::o

Swarm Source

ipfs://13f3198cba798877d04fef77b729e2dad841eee7939544fbe8fcbe1640d5c1d4
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.