ETH Price: $3,412.98 (-1.47%)
Gas: 8 Gwei

Token

Great American Comeback (GAC)
 

Overview

Max Total Supply

200,100,202,500 GAC

Holders

208

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
254,798,328.205278159 GAC

Value
$0.00
0x2a7673345bd8b9b8723b28612284b0b54716ed5a
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:
GreatAmericanComeback

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-25
*/

//  TWITTER: https://twitter.com/gaccoineth


// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;

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);
}

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

    string private constant _name = unicode"Great American Comeback";
    string private constant _symbol = unicode"GAC";

    uint256 private _buyTax = 20;
    uint256 private _sellTax = 35;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 200100202500 * 10**_decimals;
    uint256 public _maxTxAmount = 15 * (_tTotal / 1000);
    uint256 public _maxWalletSize = 15 * (_tTotal / 1000);
    uint256 public _taxSwapThreshold= 5 * (_tTotal / 1000);

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

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

    constructor () {
        _balances[_msgSender()] = _tTotal;

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        
        _marketingWallet = payable(_msgSender());
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingWallet] = 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 transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

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

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_sellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance >= _maxTxAmount) {
                contractTokenBalance = _maxTxAmount;
            }
            if (!inSwap && to  == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
                swapTokensForEth(contractTokenBalance);
                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 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 setMaxWalletAndTx() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function openTrading(bool _open) external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        tradingOpen = _open;
    }
    
    function setFee(uint256 _buy, uint256 _sell ) external {
      require(_msgSender()==_marketingWallet);
      _buyTax = _buy;
      _sellTax = _sell;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_marketingWallet);
        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

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"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":[{"internalType":"bool","name":"_open","type":"bool"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setMaxWalletAndTx","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601460065560236007556103e86009600a62000021919062000887565b642e96e6c804620000339190620008d8565b6200003f919062000952565b600f6200004d9190620008d8565b6008556103e86009600a62000063919062000887565b642e96e6c804620000759190620008d8565b62000081919062000952565b600f6200008f9190620008d8565b6009556103e86009600a620000a5919062000887565b642e96e6c804620000b79190620008d8565b620000c3919062000952565b6005620000d19190620008d8565b600a556001600c60146101000a81548160ff0219169083151502179055506000600c60156101000a81548160ff0219169083151502179055506001600c60166101000a81548160ff0219169083151502179055503480156200013257600080fd5b50600062000145620006bc60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506009600a620001f3919062000887565b642e96e6c804620002059190620008d8565b6001600062000219620006bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003409190620009f4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f09190620009f4565b6040518363ffffffff1660e01b81526004016200040f92919062000a37565b6020604051808303816000875af11580156200042f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004559190620009f4565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004a5620006bc60201b60201c565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000620004fb620006c460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200062e620006bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200068d919062000887565b642e96e6c8046200069f9190620008d8565b604051620006ae919062000a75565b60405180910390a362000a92565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200077b57808604811115620007535762000752620006ed565b5b6001851615620007635780820291505b808102905062000773856200071c565b945062000733565b94509492505050565b60008262000796576001905062000869565b81620007a6576000905062000869565b8160018114620007bf5760028114620007ca5762000800565b600191505062000869565b60ff841115620007df57620007de620006ed565b5b8360020a915084821115620007f957620007f8620006ed565b5b5062000869565b5060208310610133831016604e8410600b84101617156200083a5782820a905083811115620008345762000833620006ed565b5b62000869565b62000849848484600162000729565b92509050818404811115620008635762000862620006ed565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008948262000870565b9150620008a1836200087a565b9250620008d07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000784565b905092915050565b6000620008e58262000870565b9150620008f28362000870565b9250828202620009028162000870565b915082820484148315176200091c576200091b620006ed565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200095f8262000870565b91506200096c8362000870565b9250826200097f576200097e62000923565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009bc826200098f565b9050919050565b620009ce81620009af565b8114620009da57600080fd5b50565b600081519050620009ee81620009c3565b92915050565b60006020828403121562000a0d5762000a0c6200098a565b5b600062000a1d84828501620009dd565b91505092915050565b62000a3181620009af565b82525050565b600060408201905062000a4e600083018562000a26565b62000a5d602083018462000a26565b9392505050565b62000a6f8162000870565b82525050565b600060208201905062000a8c600083018462000a64565b92915050565b612aef8062000aa26000396000f3fe6080604052600436106101235760003560e01c806370a08231116100a057806395d89b411161006457806395d89b41146103be5780639b838f3e146103e9578063a9059cbb14610400578063bf474bed1461043d578063dd62ed3e146104685761012a565b806370a08231146102e9578063715018a6146103265780637d1db4a51461033d5780638da5cb5b146103685780638f9a55c0146103935761012a565b80632a9b8072116100e75780632a9b80721461022a578063313ce5671461025357806349bd5a5e1461027e57806351bc3c85146102a957806352f7c988146102c05761012a565b806306fdde031461012f578063095ea7b31461015a5780631694505e1461019757806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104a5565b6040516101519190611c64565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c9190611d1f565b6104e2565b60405161018e9190611d7a565b60405180910390f35b3480156101a357600080fd5b506101ac610500565b6040516101b99190611df4565b60405180910390f35b3480156101ce57600080fd5b506101d7610526565b6040516101e49190611e1e565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190611e39565b61054b565b6040516102219190611d7a565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c9190611eb8565b610624565b005b34801561025f57600080fd5b50610268610726565b6040516102759190611f01565b60405180910390f35b34801561028a57600080fd5b5061029361072f565b6040516102a09190611f2b565b60405180910390f35b3480156102b557600080fd5b506102be610755565b005b3480156102cc57600080fd5b506102e760048036038101906102e29190611f46565b6107f2565b005b3480156102f557600080fd5b50610310600480360381019061030b9190611f86565b610865565b60405161031d9190611e1e565b60405180910390f35b34801561033257600080fd5b5061033b6108ae565b005b34801561034957600080fd5b50610352610a01565b60405161035f9190611e1e565b60405180910390f35b34801561037457600080fd5b5061037d610a07565b60405161038a9190611f2b565b60405180910390f35b34801561039f57600080fd5b506103a8610a30565b6040516103b59190611e1e565b60405180910390f35b3480156103ca57600080fd5b506103d3610a36565b6040516103e09190611c64565b60405180910390f35b3480156103f557600080fd5b506103fe610a73565b005b34801561040c57600080fd5b5061042760048036038101906104229190611d1f565b610ba6565b6040516104349190611d7a565b60405180910390f35b34801561044957600080fd5b50610452610bc4565b60405161045f9190611e1e565b60405180910390f35b34801561047457600080fd5b5061048f600480360381019061048a9190611fb3565b610bca565b60405161049c9190611e1e565b60405180910390f35b60606040518060400160405280601781526020017f477265617420416d65726963616e20436f6d656261636b000000000000000000815250905090565b60006104f66104ef610c51565b8484610c59565b6001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a6105369190612155565b642e96e6c80461054691906121a0565b905090565b6000610558848484610e22565b61061984610564610c51565b61061485604051806060016040528060288152602001612a9260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ca610c51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116bc9092919063ffffffff16565b610c59565b600190509392505050565b61062c610c51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b09061222e565b60405180910390fd5b600c60149054906101000a900460ff1615610709576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107009061229a565b60405180910390fd5b80600c60146101000a81548160ff02191690831515021790555050565b60006009905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610796610c51565b73ffffffffffffffffffffffffffffffffffffffff16146107b657600080fd5b60006107c130610865565b905060008111156107d6576107d581611720565b5b600047905060008111156107ee576107ed81611999565b5b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610833610c51565b73ffffffffffffffffffffffffffffffffffffffff161461085357600080fd5b81600681905550806007819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108b6610c51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093a9061222e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600381526020017f4741430000000000000000000000000000000000000000000000000000000000815250905090565b610a7b610c51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aff9061222e565b60405180910390fd5b6009600a610b169190612155565b642e96e6c804610b2691906121a0565b6008819055506009600a610b3a9190612155565b642e96e6c804610b4a91906121a0565b6009819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b7f9190612155565b642e96e6c804610b8f91906121a0565b604051610b9c9190611e1e565b60405180910390a1565b6000610bba610bb3610c51565b8484610e22565b6001905092915050565b600a5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbf9061232c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2e906123be565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e159190611e1e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8890612450565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef7906124e2565b60405180910390fd5b60008111610f43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3a90612574565b60405180910390fd5b6000610f4d610a07565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610fbb5750610f8b610a07565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156113ff57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156110645750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6110a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109a906125e0565b60405180910390fd5b6110cb60646110bd60065485611a0590919063ffffffff16565b611a7f90919063ffffffff16565b9050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111785750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111ce5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561127157600854821115611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f9061264c565b60405180910390fd5b6009548261122585610865565b61122f919061266c565b1115611270576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611267906126ec565b60405180910390fd5b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112fa57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561132a57611327606461131960075485611a0590919063ffffffff16565b611a7f90919063ffffffff16565b90505b600061133530610865565b905060085481106113465760085490505b600c60159054906101000a900460ff161580156113b05750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156113c85750600c60169054906101000a900460ff165b80156113d55750600a5481115b156113fd576113e381611720565b600047905060008111156113fb576113fa47611999565b5b505b505b60008111156115035761145a81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ac990919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114fa9190611e1e565b60405180910390a35b61155582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115fc6115ae8284611b2790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ac990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6116a18486611b2790919063ffffffff16565b6040516116ae9190611e1e565b60405180910390a350505050565b6000838311158290611704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fb9190611c64565b60405180910390fd5b5060008385611713919061270c565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561175857611757612740565b5b6040519080825280602002602001820160405280156117865781602001602082028036833780820191505090505b509050308160008151811061179e5761179d61276f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611845573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186991906127b3565b8160018151811061187d5761187c61276f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118e430600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c59565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016119489594939291906128d9565b600060405180830381600087803b15801561196257600080fd5b505af1158015611976573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a01573d6000803e3d6000fd5b5050565b6000808303611a175760009050611a79565b60008284611a2591906121a0565b9050828482611a349190612962565b14611a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6b90612a05565b60405180910390fd5b809150505b92915050565b6000611ac183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b71565b905092915050565b6000808284611ad8919061266c565b905083811015611b1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1490612a71565b60405180910390fd5b8091505092915050565b6000611b6983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116bc565b905092915050565b60008083118290611bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611baf9190611c64565b60405180910390fd5b5060008385611bc79190612962565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c0e578082015181840152602081019050611bf3565b60008484015250505050565b6000601f19601f8301169050919050565b6000611c3682611bd4565b611c408185611bdf565b9350611c50818560208601611bf0565b611c5981611c1a565b840191505092915050565b60006020820190508181036000830152611c7e8184611c2b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611cb682611c8b565b9050919050565b611cc681611cab565b8114611cd157600080fd5b50565b600081359050611ce381611cbd565b92915050565b6000819050919050565b611cfc81611ce9565b8114611d0757600080fd5b50565b600081359050611d1981611cf3565b92915050565b60008060408385031215611d3657611d35611c86565b5b6000611d4485828601611cd4565b9250506020611d5585828601611d0a565b9150509250929050565b60008115159050919050565b611d7481611d5f565b82525050565b6000602082019050611d8f6000830184611d6b565b92915050565b6000819050919050565b6000611dba611db5611db084611c8b565b611d95565b611c8b565b9050919050565b6000611dcc82611d9f565b9050919050565b6000611dde82611dc1565b9050919050565b611dee81611dd3565b82525050565b6000602082019050611e096000830184611de5565b92915050565b611e1881611ce9565b82525050565b6000602082019050611e336000830184611e0f565b92915050565b600080600060608486031215611e5257611e51611c86565b5b6000611e6086828701611cd4565b9350506020611e7186828701611cd4565b9250506040611e8286828701611d0a565b9150509250925092565b611e9581611d5f565b8114611ea057600080fd5b50565b600081359050611eb281611e8c565b92915050565b600060208284031215611ece57611ecd611c86565b5b6000611edc84828501611ea3565b91505092915050565b600060ff82169050919050565b611efb81611ee5565b82525050565b6000602082019050611f166000830184611ef2565b92915050565b611f2581611cab565b82525050565b6000602082019050611f406000830184611f1c565b92915050565b60008060408385031215611f5d57611f5c611c86565b5b6000611f6b85828601611d0a565b9250506020611f7c85828601611d0a565b9150509250929050565b600060208284031215611f9c57611f9b611c86565b5b6000611faa84828501611cd4565b91505092915050565b60008060408385031215611fca57611fc9611c86565b5b6000611fd885828601611cd4565b9250506020611fe985828601611cd4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156120795780860481111561205557612054611ff3565b5b60018516156120645780820291505b808102905061207285612022565b9450612039565b94509492505050565b600082612092576001905061214e565b816120a0576000905061214e565b81600181146120b657600281146120c0576120ef565b600191505061214e565b60ff8411156120d2576120d1611ff3565b5b8360020a9150848211156120e9576120e8611ff3565b5b5061214e565b5060208310610133831016604e8410600b84101617156121245782820a90508381111561211f5761211e611ff3565b5b61214e565b612131848484600161202f565b9250905081840481111561214857612147611ff3565b5b81810290505b9392505050565b600061216082611ce9565b915061216b83611ee5565b92506121987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612082565b905092915050565b60006121ab82611ce9565b91506121b683611ce9565b92508282026121c481611ce9565b915082820484148315176121db576121da611ff3565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612218602083611bdf565b9150612223826121e2565b602082019050919050565b600060208201905081810360008301526122478161220b565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612284601783611bdf565b915061228f8261224e565b602082019050919050565b600060208201905081810360008301526122b381612277565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612316602483611bdf565b9150612321826122ba565b604082019050919050565b6000602082019050818103600083015261234581612309565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006123a8602283611bdf565b91506123b38261234c565b604082019050919050565b600060208201905081810360008301526123d78161239b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061243a602583611bdf565b9150612445826123de565b604082019050919050565b600060208201905081810360008301526124698161242d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006124cc602383611bdf565b91506124d782612470565b604082019050919050565b600060208201905081810360008301526124fb816124bf565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061255e602983611bdf565b915061256982612502565b604082019050919050565b6000602082019050818103600083015261258d81612551565b9050919050565b7f45524332303a2057616c6c657420697320626c61636b6c697374210000000000600082015250565b60006125ca601b83611bdf565b91506125d582612594565b602082019050919050565b600060208201905081810360008301526125f9816125bd565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612636601983611bdf565b915061264182612600565b602082019050919050565b6000602082019050818103600083015261266581612629565b9050919050565b600061267782611ce9565b915061268283611ce9565b925082820190508082111561269a57612699611ff3565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006126d6601a83611bdf565b91506126e1826126a0565b602082019050919050565b60006020820190508181036000830152612705816126c9565b9050919050565b600061271782611ce9565b915061272283611ce9565b925082820390508181111561273a57612739611ff3565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506127ad81611cbd565b92915050565b6000602082840312156127c9576127c8611c86565b5b60006127d78482850161279e565b91505092915050565b6000819050919050565b60006128056128006127fb846127e0565b611d95565b611ce9565b9050919050565b612815816127ea565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61285081611cab565b82525050565b60006128628383612847565b60208301905092915050565b6000602082019050919050565b60006128868261281b565b6128908185612826565b935061289b83612837565b8060005b838110156128cc5781516128b38882612856565b97506128be8361286e565b92505060018101905061289f565b5085935050505092915050565b600060a0820190506128ee6000830188611e0f565b6128fb602083018761280c565b818103604083015261290d818661287b565b905061291c6060830185611f1c565b6129296080830184611e0f565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061296d82611ce9565b915061297883611ce9565b92508261298857612987612933565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006129ef602183611bdf565b91506129fa82612993565b604082019050919050565b60006020820190508181036000830152612a1e816129e2565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612a5b601b83611bdf565b9150612a6682612a25565b602082019050919050565b60006020820190508181036000830152612a8a81612a4e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ad10923a77c41ebfdaaf2c2b5eaae726948560d917d3a38a0e257de214d1443e64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101235760003560e01c806370a08231116100a057806395d89b411161006457806395d89b41146103be5780639b838f3e146103e9578063a9059cbb14610400578063bf474bed1461043d578063dd62ed3e146104685761012a565b806370a08231146102e9578063715018a6146103265780637d1db4a51461033d5780638da5cb5b146103685780638f9a55c0146103935761012a565b80632a9b8072116100e75780632a9b80721461022a578063313ce5671461025357806349bd5a5e1461027e57806351bc3c85146102a957806352f7c988146102c05761012a565b806306fdde031461012f578063095ea7b31461015a5780631694505e1461019757806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104a5565b6040516101519190611c64565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c9190611d1f565b6104e2565b60405161018e9190611d7a565b60405180910390f35b3480156101a357600080fd5b506101ac610500565b6040516101b99190611df4565b60405180910390f35b3480156101ce57600080fd5b506101d7610526565b6040516101e49190611e1e565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190611e39565b61054b565b6040516102219190611d7a565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c9190611eb8565b610624565b005b34801561025f57600080fd5b50610268610726565b6040516102759190611f01565b60405180910390f35b34801561028a57600080fd5b5061029361072f565b6040516102a09190611f2b565b60405180910390f35b3480156102b557600080fd5b506102be610755565b005b3480156102cc57600080fd5b506102e760048036038101906102e29190611f46565b6107f2565b005b3480156102f557600080fd5b50610310600480360381019061030b9190611f86565b610865565b60405161031d9190611e1e565b60405180910390f35b34801561033257600080fd5b5061033b6108ae565b005b34801561034957600080fd5b50610352610a01565b60405161035f9190611e1e565b60405180910390f35b34801561037457600080fd5b5061037d610a07565b60405161038a9190611f2b565b60405180910390f35b34801561039f57600080fd5b506103a8610a30565b6040516103b59190611e1e565b60405180910390f35b3480156103ca57600080fd5b506103d3610a36565b6040516103e09190611c64565b60405180910390f35b3480156103f557600080fd5b506103fe610a73565b005b34801561040c57600080fd5b5061042760048036038101906104229190611d1f565b610ba6565b6040516104349190611d7a565b60405180910390f35b34801561044957600080fd5b50610452610bc4565b60405161045f9190611e1e565b60405180910390f35b34801561047457600080fd5b5061048f600480360381019061048a9190611fb3565b610bca565b60405161049c9190611e1e565b60405180910390f35b60606040518060400160405280601781526020017f477265617420416d65726963616e20436f6d656261636b000000000000000000815250905090565b60006104f66104ef610c51565b8484610c59565b6001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a6105369190612155565b642e96e6c80461054691906121a0565b905090565b6000610558848484610e22565b61061984610564610c51565b61061485604051806060016040528060288152602001612a9260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ca610c51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116bc9092919063ffffffff16565b610c59565b600190509392505050565b61062c610c51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b09061222e565b60405180910390fd5b600c60149054906101000a900460ff1615610709576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107009061229a565b60405180910390fd5b80600c60146101000a81548160ff02191690831515021790555050565b60006009905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610796610c51565b73ffffffffffffffffffffffffffffffffffffffff16146107b657600080fd5b60006107c130610865565b905060008111156107d6576107d581611720565b5b600047905060008111156107ee576107ed81611999565b5b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610833610c51565b73ffffffffffffffffffffffffffffffffffffffff161461085357600080fd5b81600681905550806007819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108b6610c51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093a9061222e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600381526020017f4741430000000000000000000000000000000000000000000000000000000000815250905090565b610a7b610c51565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aff9061222e565b60405180910390fd5b6009600a610b169190612155565b642e96e6c804610b2691906121a0565b6008819055506009600a610b3a9190612155565b642e96e6c804610b4a91906121a0565b6009819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b7f9190612155565b642e96e6c804610b8f91906121a0565b604051610b9c9190611e1e565b60405180910390a1565b6000610bba610bb3610c51565b8484610e22565b6001905092915050565b600a5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbf9061232c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2e906123be565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e159190611e1e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8890612450565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef7906124e2565b60405180910390fd5b60008111610f43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3a90612574565b60405180910390fd5b6000610f4d610a07565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610fbb5750610f8b610a07565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156113ff57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156110645750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6110a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109a906125e0565b60405180910390fd5b6110cb60646110bd60065485611a0590919063ffffffff16565b611a7f90919063ffffffff16565b9050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111785750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111ce5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561127157600854821115611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f9061264c565b60405180910390fd5b6009548261122585610865565b61122f919061266c565b1115611270576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611267906126ec565b60405180910390fd5b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112fa57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561132a57611327606461131960075485611a0590919063ffffffff16565b611a7f90919063ffffffff16565b90505b600061133530610865565b905060085481106113465760085490505b600c60159054906101000a900460ff161580156113b05750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156113c85750600c60169054906101000a900460ff165b80156113d55750600a5481115b156113fd576113e381611720565b600047905060008111156113fb576113fa47611999565b5b505b505b60008111156115035761145a81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ac990919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114fa9190611e1e565b60405180910390a35b61155582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115fc6115ae8284611b2790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ac990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6116a18486611b2790919063ffffffff16565b6040516116ae9190611e1e565b60405180910390a350505050565b6000838311158290611704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fb9190611c64565b60405180910390fd5b5060008385611713919061270c565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561175857611757612740565b5b6040519080825280602002602001820160405280156117865781602001602082028036833780820191505090505b509050308160008151811061179e5761179d61276f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611845573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186991906127b3565b8160018151811061187d5761187c61276f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118e430600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c59565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016119489594939291906128d9565b600060405180830381600087803b15801561196257600080fd5b505af1158015611976573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a01573d6000803e3d6000fd5b5050565b6000808303611a175760009050611a79565b60008284611a2591906121a0565b9050828482611a349190612962565b14611a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6b90612a05565b60405180910390fd5b809150505b92915050565b6000611ac183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b71565b905092915050565b6000808284611ad8919061266c565b905083811015611b1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1490612a71565b60405180910390fd5b8091505092915050565b6000611b6983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116bc565b905092915050565b60008083118290611bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611baf9190611c64565b60405180910390fd5b5060008385611bc79190612962565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c0e578082015181840152602081019050611bf3565b60008484015250505050565b6000601f19601f8301169050919050565b6000611c3682611bd4565b611c408185611bdf565b9350611c50818560208601611bf0565b611c5981611c1a565b840191505092915050565b60006020820190508181036000830152611c7e8184611c2b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611cb682611c8b565b9050919050565b611cc681611cab565b8114611cd157600080fd5b50565b600081359050611ce381611cbd565b92915050565b6000819050919050565b611cfc81611ce9565b8114611d0757600080fd5b50565b600081359050611d1981611cf3565b92915050565b60008060408385031215611d3657611d35611c86565b5b6000611d4485828601611cd4565b9250506020611d5585828601611d0a565b9150509250929050565b60008115159050919050565b611d7481611d5f565b82525050565b6000602082019050611d8f6000830184611d6b565b92915050565b6000819050919050565b6000611dba611db5611db084611c8b565b611d95565b611c8b565b9050919050565b6000611dcc82611d9f565b9050919050565b6000611dde82611dc1565b9050919050565b611dee81611dd3565b82525050565b6000602082019050611e096000830184611de5565b92915050565b611e1881611ce9565b82525050565b6000602082019050611e336000830184611e0f565b92915050565b600080600060608486031215611e5257611e51611c86565b5b6000611e6086828701611cd4565b9350506020611e7186828701611cd4565b9250506040611e8286828701611d0a565b9150509250925092565b611e9581611d5f565b8114611ea057600080fd5b50565b600081359050611eb281611e8c565b92915050565b600060208284031215611ece57611ecd611c86565b5b6000611edc84828501611ea3565b91505092915050565b600060ff82169050919050565b611efb81611ee5565b82525050565b6000602082019050611f166000830184611ef2565b92915050565b611f2581611cab565b82525050565b6000602082019050611f406000830184611f1c565b92915050565b60008060408385031215611f5d57611f5c611c86565b5b6000611f6b85828601611d0a565b9250506020611f7c85828601611d0a565b9150509250929050565b600060208284031215611f9c57611f9b611c86565b5b6000611faa84828501611cd4565b91505092915050565b60008060408385031215611fca57611fc9611c86565b5b6000611fd885828601611cd4565b9250506020611fe985828601611cd4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156120795780860481111561205557612054611ff3565b5b60018516156120645780820291505b808102905061207285612022565b9450612039565b94509492505050565b600082612092576001905061214e565b816120a0576000905061214e565b81600181146120b657600281146120c0576120ef565b600191505061214e565b60ff8411156120d2576120d1611ff3565b5b8360020a9150848211156120e9576120e8611ff3565b5b5061214e565b5060208310610133831016604e8410600b84101617156121245782820a90508381111561211f5761211e611ff3565b5b61214e565b612131848484600161202f565b9250905081840481111561214857612147611ff3565b5b81810290505b9392505050565b600061216082611ce9565b915061216b83611ee5565b92506121987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612082565b905092915050565b60006121ab82611ce9565b91506121b683611ce9565b92508282026121c481611ce9565b915082820484148315176121db576121da611ff3565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612218602083611bdf565b9150612223826121e2565b602082019050919050565b600060208201905081810360008301526122478161220b565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612284601783611bdf565b915061228f8261224e565b602082019050919050565b600060208201905081810360008301526122b381612277565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612316602483611bdf565b9150612321826122ba565b604082019050919050565b6000602082019050818103600083015261234581612309565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006123a8602283611bdf565b91506123b38261234c565b604082019050919050565b600060208201905081810360008301526123d78161239b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061243a602583611bdf565b9150612445826123de565b604082019050919050565b600060208201905081810360008301526124698161242d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006124cc602383611bdf565b91506124d782612470565b604082019050919050565b600060208201905081810360008301526124fb816124bf565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061255e602983611bdf565b915061256982612502565b604082019050919050565b6000602082019050818103600083015261258d81612551565b9050919050565b7f45524332303a2057616c6c657420697320626c61636b6c697374210000000000600082015250565b60006125ca601b83611bdf565b91506125d582612594565b602082019050919050565b600060208201905081810360008301526125f9816125bd565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612636601983611bdf565b915061264182612600565b602082019050919050565b6000602082019050818103600083015261266581612629565b9050919050565b600061267782611ce9565b915061268283611ce9565b925082820190508082111561269a57612699611ff3565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006126d6601a83611bdf565b91506126e1826126a0565b602082019050919050565b60006020820190508181036000830152612705816126c9565b9050919050565b600061271782611ce9565b915061272283611ce9565b925082820390508181111561273a57612739611ff3565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506127ad81611cbd565b92915050565b6000602082840312156127c9576127c8611c86565b5b60006127d78482850161279e565b91505092915050565b6000819050919050565b60006128056128006127fb846127e0565b611d95565b611ce9565b9050919050565b612815816127ea565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61285081611cab565b82525050565b60006128628383612847565b60208301905092915050565b6000602082019050919050565b60006128868261281b565b6128908185612826565b935061289b83612837565b8060005b838110156128cc5781516128b38882612856565b97506128be8361286e565b92505060018101905061289f565b5085935050505092915050565b600060a0820190506128ee6000830188611e0f565b6128fb602083018761280c565b818103604083015261290d818661287b565b905061291c6060830185611f1c565b6129296080830184611e0f565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061296d82611ce9565b915061297883611ce9565b92508261298857612987612933565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006129ef602183611bdf565b91506129fa82612993565b604082019050919050565b60006020820190508181036000830152612a1e816129e2565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612a5b601b83611bdf565b9150612a6682612a25565b602082019050919050565b60006020820190508181036000830152612a8a81612a4e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ad10923a77c41ebfdaaf2c2b5eaae726948560d917d3a38a0e257de214d1443e64736f6c63430008110033

Deployed Bytecode Sourcemap

3245:6833:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5024:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5857:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4120:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5301:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6026:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9355:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5210:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4168:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9721:354;;;;;;;;;;;;;:::i;:::-;;9517:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5404:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2601:148;;;;;;;;;;;;;:::i;:::-;;3939:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2387:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3997:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5115:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9077:164;;;;;;;;;;;;;:::i;:::-;;5531:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4057:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5706:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5024:83;5061:13;5094:5;;;;;;;;;;;;;;;;;5087:12;;5024:83;:::o;5857:161::-;5932:4;5949:39;5958:12;:10;:12::i;:::-;5972:7;5981:6;5949:8;:39::i;:::-;6006:4;5999:11;;5857:161;;;;:::o;4120:41::-;;;;;;;;;;;;;:::o;5301:95::-;5354:7;3861:1;3919:2;:13;;;;:::i;:::-;3904:12;:28;;;;:::i;:::-;5374:14;;5301:95;:::o;6026:313::-;6124:4;6141:36;6151:6;6159:9;6170:6;6141:9;:36::i;:::-;6188:121;6197:6;6205:12;:10;:12::i;:::-;6219:89;6257:6;6219:89;;;;;;;;;;;;;;;;;:11;:19;6231:6;6219:19;;;;;;;;;;;;;;;:33;6239:12;:10;:12::i;:::-;6219:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6188:8;:121::i;:::-;6327:4;6320:11;;6026:313;;;;;:::o;9355:150::-;2524:12;:10;:12::i;:::-;2514:22;;:6;;;;;;;;;;:22;;;2506:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9429:11:::1;;;;;;;;;;;9428:12;9420:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9492:5;9478:11;;:19;;;;;;;;;;;;;;;;;;9355:150:::0;:::o;5210:83::-;5251:5;3861:1;5269:16;;5210:83;:::o;4168:28::-;;;;;;;;;;;;;:::o;9721:354::-;9785:16;;;;;;;;;;;9771:30;;:12;:10;:12::i;:::-;:30;;;9763:39;;;;;;9813:20;9834:24;9852:4;9834:9;:24::i;:::-;9813:45;;9885:1;9872:12;:14;9869:73;;;9900:30;9917:12;9900:16;:30::i;:::-;9869:73;9952:18;9971:21;9952:40;;10017:1;10006:10;:12;10003:65;;;10032:24;10045:10;10032:12;:24::i;:::-;10003:65;9752:323;;9721:354::o;9517:159::-;9603:16;;;;;;;;;;;9589:30;;:12;:10;:12::i;:::-;:30;;;9581:39;;;;;;9639:4;9629:7;:14;;;;9663:5;9652:8;:16;;;;9517:159;;:::o;5404:119::-;5470:7;5497:9;:18;5507:7;5497:18;;;;;;;;;;;;;;;;5490:25;;5404:119;;;:::o;2601:148::-;2524:12;:10;:12::i;:::-;2514:22;;:6;;;;;;;;;;:22;;;2506:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2708:1:::1;2671:40;;2692:6;::::0;::::1;;;;;;;;2671:40;;;;;;;;;;;;2739:1;2722:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2601:148::o:0;3939:51::-;;;;:::o;2387:79::-;2425:7;2452:6;;;;;;;;;;;2445:13;;2387:79;:::o;3997:53::-;;;;:::o;5115:87::-;5154:13;5187:7;;;;;;;;;;;;;;;;;5180:14;;5115:87;:::o;9077:164::-;2524:12;:10;:12::i;:::-;2514:22;;:6;;;;;;;;;;:22;;;2506:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3861:1:::1;3919:2;:13;;;;:::i;:::-;3904:12;:28;;;;:::i;:::-;9135:12;:22;;;;3861:1;3919:2;:13;;;;:::i;:::-;3904:12;:28;;;;:::i;:::-;9168:14;:22;;;;9206:27;3861:1;3919:2;:13;;;;:::i;:::-;3904:12;:28;;;;:::i;:::-;9206:27;;;;;;:::i;:::-;;;;;;;;9077:164::o:0;5531:167::-;5609:4;5626:42;5636:12;:10;:12::i;:::-;5650:9;5661:6;5626:9;:42::i;:::-;5686:4;5679:11;;5531:167;;;;:::o;4057:54::-;;;;:::o;5706:143::-;5787:7;5814:11;:18;5826:5;5814:18;;;;;;;;;;;;;;;:27;5833:7;5814:27;;;;;;;;;;;;;;;;5807:34;;5706:143;;;;:::o;142:98::-;195:7;222:10;215:17;;142:98;:::o;6347:335::-;6457:1;6440:19;;:5;:19;;;6432:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6538:1;6519:21;;:7;:21;;;6511:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6620:6;6590:11;:18;6602:5;6590:18;;;;;;;;;;;;;;;:27;6609:7;6590:27;;;;;;;;;;;;;;;:36;;;;6658:7;6642:32;;6651:5;6642:32;;;6667:6;6642:32;;;;;;:::i;:::-;;;;;;;;6347:335;;;:::o;6690:1888::-;6794:1;6778:18;;:4;:18;;;6770:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6871:1;6857:16;;:2;:16;;;6849:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6941:1;6932:6;:10;6924:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6999:17;7041:7;:5;:7::i;:::-;7033:15;;:4;:15;;;;:32;;;;;7058:7;:5;:7::i;:::-;7052:13;;:2;:13;;;;7033:32;7029:1193;;;7091:4;:10;7096:4;7091:10;;;;;;;;;;;;;;;;;;;;;;;;;7090:11;:24;;;;;7106:4;:8;7111:2;7106:8;;;;;;;;;;;;;;;;;;;;;;;;;7105:9;7090:24;7082:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7173:28;7197:3;7173:19;7184:7;;7173:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;7161:40;;7230:13;;;;;;;;;;;7222:21;;:4;:21;;;:55;;;;;7261:15;;;;;;;;;;;7247:30;;:2;:30;;;;7222:55;:83;;;;;7283:18;:22;7302:2;7283:22;;;;;;;;;;;;;;;;;;;;;;;;;7281:24;7222:83;7218:283;;;7345:12;;7335:6;:22;;7327:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7440:14;;7430:6;7414:13;7424:2;7414:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7406:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7218:283;7526:13;;;;;;;;;;;7520:19;;:2;:19;;;:43;;;;;7558:4;7543:20;;:4;:20;;;;7520:43;7517:124;;;7596:29;7621:3;7596:20;7607:8;;7596:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;7584:41;;7517:124;7657:28;7688:24;7706:4;7688:9;:24::i;:::-;7657:55;;7754:12;;7730:20;:36;7727:111;;7810:12;;7787:35;;7727:111;7857:6;;;;;;;;;;;7856:7;:31;;;;;7874:13;;;;;;;;;;;7867:20;;:2;:20;;;7856:31;:46;;;;;7891:11;;;;;;;;;;;7856:46;:88;;;;;7927:17;;7906:20;:38;7856:88;7852:359;;;7965:38;7982:20;7965:16;:38::i;:::-;8022:26;8051:21;8022:50;;8115:1;8094:18;:22;8091:105;;;8141:35;8154:21;8141:12;:35::i;:::-;8091:105;7946:265;7852:359;7067:1155;7029:1193;8247:1;8237:9;:11;8234:161;;;8287:39;8316:9;8287;:24;8305:4;8287:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8262:9;:24;8280:4;8262:24;;;;;;;;;;;;;;;:64;;;;8367:4;8344:39;;8353:4;8344:39;;;8373:9;8344:39;;;;;;:::i;:::-;;;;;;;;8234:161;8421:27;8441:6;8421:9;:15;8431:4;8421:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8405:9;:15;8415:4;8405:15;;;;;;;;;;;;;;;:43;;;;8473:40;8491:21;8502:9;8491:6;:10;;:21;;;;:::i;:::-;8473:9;:13;8483:2;8473:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8459:9;:13;8469:2;8459:13;;;;;;;;;;;;;;;:54;;;;8544:2;8529:41;;8538:4;8529:41;;;8548:21;8559:9;8548:6;:10;;:21;;;;:::i;:::-;8529:41;;;;;;:::i;:::-;;;;;;;;6759:1819;6690:1888;;;:::o;1279:190::-;1365:7;1398:1;1393;:6;;1401:12;1385:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1425:9;1441:1;1437;:5;;;;:::i;:::-;1425:17;;1460:1;1453:8;;;1279:190;;;;;:::o;8586:483::-;4406:4;4397:6;;:13;;;;;;;;;;;;;;;;;;8664:21:::1;8702:1;8688:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8664:40;;8733:4;8715;8720:1;8715:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8759:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8749:4;8754:1;8749:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8792:62;8809:4;8824:15;;;;;;;;;;;8842:11;8792:8;:62::i;:::-;8865:15;;;;;;;;;;;:66;;;8946:11;8972:1;8988:4;9015;9035:15;8865:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8653:416;4442:5:::0;4433:6;;:14;;;;;;;;;;;;;;;;;;8586:483;:::o;9249:98::-;9306:16;;;;;;;;;;;:25;;:33;9332:6;9306:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9249:98;:::o;1477:246::-;1535:7;1564:1;1559;:6;1555:47;;1589:1;1582:8;;;;1555:47;1612:9;1628:1;1624;:5;;;;:::i;:::-;1612:17;;1657:1;1652;1648;:5;;;;:::i;:::-;:10;1640:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1714:1;1707:8;;;1477:246;;;;;:::o;1731:132::-;1789:7;1816:39;1820:1;1823;1816:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1809:46;;1731:132;;;;:::o;948:179::-;1006:7;1026:9;1042:1;1038;:5;;;;:::i;:::-;1026:17;;1067:1;1062;:6;;1054:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1118:1;1111:8;;;948:179;;;;:::o;1135:136::-;1193:7;1220:43;1224:1;1227;1220:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1213:50;;1135:136;;;;:::o;1871:189::-;1957:7;1989:1;1985;:5;1992:12;1977:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2016:9;2032:1;2028;:5;;;;:::i;:::-;2016:17;;2051:1;2044:8;;;1871: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:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:116::-;5466:21;5481:5;5466:21;:::i;:::-;5459:5;5456:32;5446:60;;5502:1;5499;5492:12;5446:60;5396:116;:::o;5518:133::-;5561:5;5599:6;5586:20;5577:29;;5615:30;5639:5;5615:30;:::i;:::-;5518:133;;;;:::o;5657:323::-;5713:6;5762:2;5750:9;5741:7;5737:23;5733:32;5730:119;;;5768:79;;:::i;:::-;5730:119;5888:1;5913:50;5955:7;5946:6;5935:9;5931:22;5913:50;:::i;:::-;5903:60;;5859:114;5657:323;;;;:::o;5986:86::-;6021:7;6061:4;6054:5;6050:16;6039:27;;5986:86;;;:::o;6078:112::-;6161:22;6177:5;6161:22;:::i;:::-;6156:3;6149:35;6078:112;;:::o;6196:214::-;6285:4;6323:2;6312:9;6308:18;6300:26;;6336:67;6400:1;6389:9;6385:17;6376:6;6336:67;:::i;:::-;6196:214;;;;:::o;6416:118::-;6503:24;6521:5;6503:24;:::i;:::-;6498:3;6491:37;6416:118;;:::o;6540:222::-;6633:4;6671:2;6660:9;6656:18;6648:26;;6684:71;6752:1;6741:9;6737:17;6728:6;6684:71;:::i;:::-;6540:222;;;;:::o;6768:474::-;6836:6;6844;6893:2;6881:9;6872:7;6868:23;6864:32;6861:119;;;6899:79;;:::i;:::-;6861:119;7019:1;7044:53;7089:7;7080:6;7069:9;7065:22;7044:53;:::i;:::-;7034:63;;6990:117;7146:2;7172:53;7217:7;7208:6;7197:9;7193:22;7172:53;:::i;:::-;7162:63;;7117:118;6768:474;;;;;:::o;7248:329::-;7307:6;7356:2;7344:9;7335:7;7331:23;7327:32;7324:119;;;7362:79;;:::i;:::-;7324:119;7482:1;7507:53;7552:7;7543:6;7532:9;7528:22;7507:53;:::i;:::-;7497:63;;7453:117;7248:329;;;;:::o;7583:474::-;7651:6;7659;7708:2;7696:9;7687:7;7683:23;7679:32;7676:119;;;7714:79;;:::i;:::-;7676:119;7834:1;7859:53;7904:7;7895:6;7884:9;7880:22;7859:53;:::i;:::-;7849:63;;7805:117;7961:2;7987:53;8032:7;8023:6;8012:9;8008:22;7987:53;:::i;:::-;7977:63;;7932:118;7583:474;;;;;:::o;8063:180::-;8111:77;8108:1;8101:88;8208:4;8205:1;8198:15;8232:4;8229:1;8222:15;8249:102;8291:8;8338:5;8335:1;8331:13;8310:34;;8249:102;;;:::o;8357:848::-;8418:5;8425:4;8449:6;8440:15;;8473:5;8464:14;;8487:712;8508:1;8498:8;8495:15;8487:712;;;8603:4;8598:3;8594:14;8588:4;8585:24;8582:50;;;8612:18;;:::i;:::-;8582:50;8662:1;8652:8;8648:16;8645:451;;;9077:4;9070:5;9066:16;9057:25;;8645:451;9127:4;9121;9117:15;9109:23;;9157:32;9180:8;9157:32;:::i;:::-;9145:44;;8487:712;;;8357:848;;;;;;;:::o;9211:1073::-;9265:5;9456:8;9446:40;;9477:1;9468:10;;9479:5;;9446:40;9505:4;9495:36;;9522:1;9513:10;;9524:5;;9495:36;9591:4;9639:1;9634:27;;;;9675:1;9670:191;;;;9584:277;;9634:27;9652:1;9643:10;;9654:5;;;9670:191;9715:3;9705:8;9702:17;9699:43;;;9722:18;;:::i;:::-;9699:43;9771:8;9768:1;9764:16;9755:25;;9806:3;9799:5;9796:14;9793:40;;;9813:18;;:::i;:::-;9793:40;9846:5;;;9584:277;;9970:2;9960:8;9957:16;9951:3;9945:4;9942:13;9938:36;9920:2;9910:8;9907:16;9902:2;9896:4;9893:12;9889:35;9873:111;9870:246;;;10026:8;10020:4;10016:19;10007:28;;10061:3;10054:5;10051:14;10048:40;;;10068:18;;:::i;:::-;10048:40;10101:5;;9870:246;10141:42;10179:3;10169:8;10163:4;10160:1;10141:42;:::i;:::-;10126:57;;;;10215:4;10210:3;10206:14;10199:5;10196:25;10193:51;;;10224:18;;:::i;:::-;10193:51;10273:4;10266:5;10262:16;10253:25;;9211:1073;;;;;;:::o;10290:281::-;10348:5;10372:23;10390:4;10372:23;:::i;:::-;10364:31;;10416:25;10432:8;10416:25;:::i;:::-;10404:37;;10460:104;10497:66;10487:8;10481:4;10460:104;:::i;:::-;10451:113;;10290:281;;;;:::o;10577:410::-;10617:7;10640:20;10658:1;10640:20;:::i;:::-;10635:25;;10674:20;10692:1;10674:20;:::i;:::-;10669:25;;10729:1;10726;10722:9;10751:30;10769:11;10751:30;:::i;:::-;10740:41;;10930:1;10921:7;10917:15;10914:1;10911:22;10891:1;10884:9;10864:83;10841:139;;10960:18;;:::i;:::-;10841:139;10625:362;10577:410;;;;:::o;10993:182::-;11133:34;11129:1;11121:6;11117:14;11110:58;10993:182;:::o;11181:366::-;11323:3;11344:67;11408:2;11403:3;11344:67;:::i;:::-;11337:74;;11420:93;11509:3;11420:93;:::i;:::-;11538:2;11533:3;11529:12;11522:19;;11181:366;;;:::o;11553:419::-;11719:4;11757:2;11746:9;11742:18;11734:26;;11806:9;11800:4;11796:20;11792:1;11781:9;11777:17;11770:47;11834:131;11960:4;11834:131;:::i;:::-;11826:139;;11553:419;;;:::o;11978:173::-;12118:25;12114:1;12106:6;12102:14;12095:49;11978:173;:::o;12157:366::-;12299:3;12320:67;12384:2;12379:3;12320:67;:::i;:::-;12313:74;;12396:93;12485:3;12396:93;:::i;:::-;12514:2;12509:3;12505:12;12498:19;;12157:366;;;:::o;12529:419::-;12695:4;12733:2;12722:9;12718:18;12710:26;;12782:9;12776:4;12772:20;12768:1;12757:9;12753:17;12746:47;12810:131;12936:4;12810:131;:::i;:::-;12802:139;;12529:419;;;:::o;12954:223::-;13094:34;13090:1;13082:6;13078:14;13071:58;13163:6;13158:2;13150:6;13146:15;13139:31;12954:223;:::o;13183:366::-;13325:3;13346:67;13410:2;13405:3;13346:67;:::i;:::-;13339:74;;13422:93;13511:3;13422:93;:::i;:::-;13540:2;13535:3;13531:12;13524:19;;13183:366;;;:::o;13555:419::-;13721:4;13759:2;13748:9;13744:18;13736:26;;13808:9;13802:4;13798:20;13794:1;13783:9;13779:17;13772:47;13836:131;13962:4;13836:131;:::i;:::-;13828:139;;13555:419;;;:::o;13980:221::-;14120:34;14116:1;14108:6;14104:14;14097:58;14189:4;14184:2;14176:6;14172:15;14165:29;13980:221;:::o;14207:366::-;14349:3;14370:67;14434:2;14429:3;14370:67;:::i;:::-;14363:74;;14446:93;14535:3;14446:93;:::i;:::-;14564:2;14559:3;14555:12;14548:19;;14207:366;;;:::o;14579:419::-;14745:4;14783:2;14772:9;14768:18;14760:26;;14832:9;14826:4;14822:20;14818:1;14807:9;14803:17;14796:47;14860:131;14986:4;14860:131;:::i;:::-;14852:139;;14579:419;;;:::o;15004:224::-;15144:34;15140:1;15132:6;15128:14;15121:58;15213:7;15208:2;15200:6;15196:15;15189:32;15004:224;:::o;15234:366::-;15376:3;15397:67;15461:2;15456:3;15397:67;:::i;:::-;15390:74;;15473:93;15562:3;15473:93;:::i;:::-;15591:2;15586:3;15582:12;15575:19;;15234:366;;;:::o;15606:419::-;15772:4;15810:2;15799:9;15795:18;15787:26;;15859:9;15853:4;15849:20;15845:1;15834:9;15830:17;15823:47;15887:131;16013:4;15887:131;:::i;:::-;15879:139;;15606:419;;;:::o;16031:222::-;16171:34;16167:1;16159:6;16155:14;16148:58;16240:5;16235:2;16227:6;16223:15;16216:30;16031:222;:::o;16259:366::-;16401:3;16422:67;16486:2;16481:3;16422:67;:::i;:::-;16415:74;;16498:93;16587:3;16498:93;:::i;:::-;16616:2;16611:3;16607:12;16600:19;;16259:366;;;:::o;16631:419::-;16797:4;16835:2;16824:9;16820:18;16812:26;;16884:9;16878:4;16874:20;16870:1;16859:9;16855:17;16848:47;16912:131;17038:4;16912:131;:::i;:::-;16904:139;;16631:419;;;:::o;17056:228::-;17196:34;17192:1;17184:6;17180:14;17173:58;17265:11;17260:2;17252:6;17248:15;17241:36;17056:228;:::o;17290:366::-;17432:3;17453:67;17517:2;17512:3;17453:67;:::i;:::-;17446:74;;17529:93;17618:3;17529:93;:::i;:::-;17647:2;17642:3;17638:12;17631:19;;17290:366;;;:::o;17662:419::-;17828:4;17866:2;17855:9;17851:18;17843:26;;17915:9;17909:4;17905:20;17901:1;17890:9;17886:17;17879:47;17943:131;18069:4;17943:131;:::i;:::-;17935:139;;17662:419;;;:::o;18087:177::-;18227:29;18223:1;18215:6;18211:14;18204:53;18087:177;:::o;18270:366::-;18412:3;18433:67;18497:2;18492:3;18433:67;:::i;:::-;18426:74;;18509:93;18598:3;18509:93;:::i;:::-;18627:2;18622:3;18618:12;18611:19;;18270:366;;;:::o;18642:419::-;18808:4;18846:2;18835:9;18831:18;18823:26;;18895:9;18889:4;18885:20;18881:1;18870:9;18866:17;18859:47;18923:131;19049:4;18923:131;:::i;:::-;18915:139;;18642:419;;;:::o;19067:175::-;19207:27;19203:1;19195:6;19191:14;19184:51;19067:175;:::o;19248:366::-;19390:3;19411:67;19475:2;19470:3;19411:67;:::i;:::-;19404:74;;19487:93;19576:3;19487:93;:::i;:::-;19605:2;19600:3;19596:12;19589:19;;19248:366;;;:::o;19620:419::-;19786:4;19824:2;19813:9;19809:18;19801:26;;19873:9;19867:4;19863:20;19859:1;19848:9;19844:17;19837:47;19901:131;20027:4;19901:131;:::i;:::-;19893:139;;19620:419;;;:::o;20045:191::-;20085:3;20104:20;20122:1;20104:20;:::i;:::-;20099:25;;20138:20;20156:1;20138:20;:::i;:::-;20133:25;;20181:1;20178;20174:9;20167:16;;20202:3;20199:1;20196:10;20193:36;;;20209:18;;:::i;:::-;20193:36;20045:191;;;;:::o;20242:176::-;20382:28;20378:1;20370:6;20366:14;20359:52;20242:176;:::o;20424:366::-;20566:3;20587:67;20651:2;20646:3;20587:67;:::i;:::-;20580:74;;20663:93;20752:3;20663:93;:::i;:::-;20781:2;20776:3;20772:12;20765:19;;20424:366;;;:::o;20796:419::-;20962:4;21000:2;20989:9;20985:18;20977:26;;21049:9;21043:4;21039:20;21035:1;21024:9;21020:17;21013:47;21077:131;21203:4;21077:131;:::i;:::-;21069:139;;20796:419;;;:::o;21221:194::-;21261:4;21281:20;21299:1;21281:20;:::i;:::-;21276:25;;21315:20;21333:1;21315:20;:::i;:::-;21310:25;;21359:1;21356;21352:9;21344:17;;21383:1;21377:4;21374:11;21371:37;;;21388:18;;:::i;:::-;21371:37;21221:194;;;;:::o;21421:180::-;21469:77;21466:1;21459:88;21566:4;21563:1;21556:15;21590:4;21587:1;21580:15;21607:180;21655:77;21652:1;21645:88;21752:4;21749:1;21742:15;21776:4;21773:1;21766:15;21793:143;21850:5;21881:6;21875:13;21866:22;;21897:33;21924:5;21897:33;:::i;:::-;21793:143;;;;:::o;21942:351::-;22012:6;22061:2;22049:9;22040:7;22036:23;22032:32;22029:119;;;22067:79;;:::i;:::-;22029:119;22187:1;22212:64;22268:7;22259:6;22248:9;22244:22;22212:64;:::i;:::-;22202:74;;22158:128;21942:351;;;;:::o;22299:85::-;22344:7;22373:5;22362:16;;22299:85;;;:::o;22390:158::-;22448:9;22481:61;22499:42;22508:32;22534:5;22508:32;:::i;:::-;22499:42;:::i;:::-;22481:61;:::i;:::-;22468:74;;22390:158;;;:::o;22554:147::-;22649:45;22688:5;22649:45;:::i;:::-;22644:3;22637:58;22554:147;;:::o;22707:114::-;22774:6;22808:5;22802:12;22792:22;;22707:114;;;:::o;22827:184::-;22926:11;22960:6;22955:3;22948:19;23000:4;22995:3;22991:14;22976:29;;22827:184;;;;:::o;23017:132::-;23084:4;23107:3;23099:11;;23137:4;23132:3;23128:14;23120:22;;23017:132;;;:::o;23155:108::-;23232:24;23250:5;23232:24;:::i;:::-;23227:3;23220:37;23155:108;;:::o;23269:179::-;23338:10;23359:46;23401:3;23393:6;23359:46;:::i;:::-;23437:4;23432:3;23428:14;23414:28;;23269:179;;;;:::o;23454:113::-;23524:4;23556;23551:3;23547:14;23539:22;;23454:113;;;:::o;23603:732::-;23722:3;23751:54;23799:5;23751:54;:::i;:::-;23821:86;23900:6;23895:3;23821:86;:::i;:::-;23814:93;;23931:56;23981:5;23931:56;:::i;:::-;24010:7;24041:1;24026:284;24051:6;24048:1;24045:13;24026:284;;;24127:6;24121:13;24154:63;24213:3;24198:13;24154:63;:::i;:::-;24147:70;;24240:60;24293:6;24240:60;:::i;:::-;24230:70;;24086:224;24073:1;24070;24066:9;24061:14;;24026:284;;;24030:14;24326:3;24319:10;;23727:608;;;23603:732;;;;:::o;24341:831::-;24604:4;24642:3;24631:9;24627:19;24619:27;;24656:71;24724:1;24713:9;24709:17;24700:6;24656:71;:::i;:::-;24737:80;24813:2;24802:9;24798:18;24789:6;24737:80;:::i;:::-;24864:9;24858:4;24854:20;24849:2;24838:9;24834:18;24827:48;24892:108;24995:4;24986:6;24892:108;:::i;:::-;24884:116;;25010:72;25078:2;25067:9;25063:18;25054:6;25010:72;:::i;:::-;25092:73;25160:3;25149:9;25145:19;25136:6;25092:73;:::i;:::-;24341:831;;;;;;;;:::o;25178:180::-;25226:77;25223:1;25216:88;25323:4;25320:1;25313:15;25347:4;25344:1;25337:15;25364:185;25404:1;25421:20;25439:1;25421:20;:::i;:::-;25416:25;;25455:20;25473:1;25455:20;:::i;:::-;25450:25;;25494:1;25484:35;;25499:18;;:::i;:::-;25484:35;25541:1;25538;25534:9;25529:14;;25364:185;;;;:::o;25555:220::-;25695:34;25691:1;25683:6;25679:14;25672:58;25764:3;25759:2;25751:6;25747:15;25740:28;25555:220;:::o;25781:366::-;25923:3;25944:67;26008:2;26003:3;25944:67;:::i;:::-;25937:74;;26020:93;26109:3;26020:93;:::i;:::-;26138:2;26133:3;26129:12;26122:19;;25781:366;;;:::o;26153:419::-;26319:4;26357:2;26346:9;26342:18;26334:26;;26406:9;26400:4;26396:20;26392:1;26381:9;26377:17;26370:47;26434:131;26560:4;26434:131;:::i;:::-;26426:139;;26153:419;;;:::o;26578:177::-;26718:29;26714:1;26706:6;26702:14;26695:53;26578:177;:::o;26761:366::-;26903:3;26924:67;26988:2;26983:3;26924:67;:::i;:::-;26917:74;;27000:93;27089:3;27000:93;:::i;:::-;27118:2;27113:3;27109:12;27102:19;;26761:366;;;:::o;27133:419::-;27299:4;27337:2;27326:9;27322:18;27314:26;;27386:9;27380:4;27376:20;27372:1;27361:9;27357:17;27350:47;27414:131;27540:4;27414:131;:::i;:::-;27406:139;;27133:419;;;:::o

Swarm Source

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