ETH Price: $2,852.68 (-10.28%)
Gas: 14 Gwei

Token

The UNION (UNION)
 

Overview

Max Total Supply

10,000,000,000 UNION

Holders

23

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
105,127,236.219487791 UNION

Value
$0.00
0x9cce6e603e9af689df18374bc7d76243b9b156b3
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:
TheUNION

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-20
*/

pragma solidity ^0.8.4;
// SPDX-License-Identifier: UNLICENSED
// https://www.uniontheunion.com
// https://t.me/theunionhome
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;
    address private _previousOwner;
    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 TheUNION is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "The UNION";
    string private constant _symbol = "UNION";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddrWallet1 = payable(0x9D252B4eA9BAd3ff1e368Ec1ab498c9fc2eB173A);
        _feeAddrWallet2 = payable(0x9D252B4eA9BAd3ff1e368Ec1ab498c9fc2eB173A);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        emit Transfer(address(0x9D252B4eA9BAd3ff1e368Ec1ab498c9fc2eB173A), _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 tokenFromReflection(_rOwned[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 setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    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");
        _feeAddr1 = 1;
        _feeAddr2 = 0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 1;
                _feeAddr2 = 0;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(from,to,amount);
    }

    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 sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = false;
        _maxTxAmount = 10000000000 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","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"}]

608060405262000019678ac7230489e800005f19620001fa565b62000026905f196200021a565b600855600f805462ffffff60a81b19169055678ac7230489e8000060105534801562000050575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c8054739d252b4ea9bad3ff1e368ec1ab498c9fc2eb173a6001600160a01b03199182168117909255600d8054909116909117905560085460025f620000d53390565b6001600160a01b03166001600160a01b031681526020019081526020015f2081905550600160055f6200010d620001ec60201b60201c565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526005909352818320805485166001908117909155600c54821684528284208054861682179055600d549091168352912080549092161790556200017d3390565b6001600160a01b0316739d252b4ea9bad3ff1e368ec1ab498c9fc2eb173a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef678ac7230489e80000604051620001de91815260200190565b60405180910390a362000240565b5f546001600160a01b031690565b5f826200021557634e487b7160e01b5f52601260045260245ffd5b500690565b818103818111156200023a57634e487b7160e01b5f52601160045260245ffd5b92915050565b6118ee806200024e5f395ff3fe6080604052600436106100fd575f3560e01c806370a0823111610092578063a9059cbb11610062578063a9059cbb146102b2578063b515566a146102d1578063c3c8cd80146102f0578063c9567bf914610304578063dd62ed3e14610318575f80fd5b806370a082311461022c578063715018a61461024b5780638da5cb5b1461025f57806395d89b4114610285575f80fd5b8063273123b7116100cd578063273123b7146101bd578063313ce567146101de5780635932ead1146101f95780636fc3eaec14610218575f80fd5b806306fdde0314610108578063095ea7b31461014b57806318160ddd1461017a57806323b872dd1461019e575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b506040805180820190915260098152682a3432902aa724a7a760b91b60208201525b60405161014291906114ca565b60405180910390f35b348015610156575f80fd5b5061016a610165366004611539565b61035c565b6040519015158152602001610142565b348015610185575f80fd5b50678ac7230489e800005b604051908152602001610142565b3480156101a9575f80fd5b5061016a6101b8366004611563565b610372565b3480156101c8575f80fd5b506101dc6101d73660046115a1565b6103d9565b005b3480156101e9575f80fd5b5060405160098152602001610142565b348015610204575f80fd5b506101dc6102133660046115c9565b61042b565b348015610223575f80fd5b506101dc610472565b348015610237575f80fd5b506101906102463660046115a1565b61049e565b348015610256575f80fd5b506101dc6104bf565b34801561026a575f80fd5b505f546040516001600160a01b039091168152602001610142565b348015610290575f80fd5b506040805180820190915260058152642aa724a7a760d91b6020820152610135565b3480156102bd575f80fd5b5061016a6102cc366004611539565b610530565b3480156102dc575f80fd5b506101dc6102eb3660046115f8565b61053c565b3480156102fb575f80fd5b506101dc6105ce565b34801561030f575f80fd5b506101dc610602565b348015610323575f80fd5b506101906103323660046116b8565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b5f610368338484610968565b5060015b92915050565b5f61037e848484610a8b565b6103cf84336103ca85604051806060016040528060288152602001611891602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610dde565b610968565b5060019392505050565b5f546001600160a01b0316331461040b5760405162461bcd60e51b8152600401610402906116ef565b60405180910390fd5b6001600160a01b03165f908152600660205260409020805460ff19169055565b5f546001600160a01b031633146104545760405162461bcd60e51b8152600401610402906116ef565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b600c546001600160a01b0316336001600160a01b031614610491575f80fd5b4761049b81610e16565b50565b6001600160a01b0381165f9081526002602052604081205461036c90610e95565b5f546001600160a01b031633146104e85760405162461bcd60e51b8152600401610402906116ef565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f610368338484610a8b565b5f546001600160a01b031633146105655760405162461bcd60e51b8152600401610402906116ef565b5f5b81518110156105ca57600160065f84848151811061058757610587611724565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806105c28161174c565b915050610567565b5050565b600c546001600160a01b0316336001600160a01b0316146105ed575f80fd5b5f6105f73061049e565b905061049b81610f17565b5f546001600160a01b0316331461062b5760405162461bcd60e51b8152600401610402906116ef565b600f54600160a01b900460ff16156106855760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610402565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106c13082678ac7230489e80000610968565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107219190611764565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107909190611764565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107fe9190611764565b600f80546001600160a01b0319166001600160a01b03928316179055600e541663f305d719473061082e8161049e565b5f806108415f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108a7573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108cc919061177f565b5050600f8054678ac7230489e8000060105563ffff00ff60a01b1981166201000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610944573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ca91906117aa565b6001600160a01b0383166109ca5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610402565b6001600160a01b038216610a2b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610402565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aef5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610402565b6001600160a01b038216610b515760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610402565b5f8111610bb25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610402565b6001600a555f600b55610bcc5f546001600160a01b031690565b6001600160a01b0316836001600160a01b031614158015610bfa57505f546001600160a01b03838116911614155b15610dce576001600160a01b0383165f9081526006602052604090205460ff16158015610c3f57506001600160a01b0382165f9081526006602052604090205460ff16155b610c47575f80fd5b600f546001600160a01b038481169116148015610c725750600e546001600160a01b03838116911614155b8015610c9657506001600160a01b0382165f9081526005602052604090205460ff16155b8015610cab5750600f54600160b81b900460ff165b15610d0457601054811115610cbe575f80fd5b6001600160a01b0382165f908152600760205260409020544211610ce0575f80fd5b610ceb42601e6117c5565b6001600160a01b0383165f908152600760205260409020555b600f546001600160a01b038381169116148015610d2f5750600e546001600160a01b03848116911614155b8015610d5357506001600160a01b0383165f9081526005602052604090205460ff16155b15610d62576001600a555f600b555b5f610d6c3061049e565b600f54909150600160a81b900460ff16158015610d975750600f546001600160a01b03858116911614155b8015610dac5750600f54600160b01b900460ff165b15610dcc57610dba81610f17565b478015610dca57610dca47610e16565b505b505b610dd9838383611087565b505050565b5f8184841115610e015760405162461bcd60e51b815260040161040291906114ca565b505f610e0d84866117d8565b95945050505050565b600c546001600160a01b03166108fc610e30836002611092565b6040518115909202915f818181858888f19350505050158015610e55573d5f803e3d5ffd5b50600d546001600160a01b03166108fc610e70836002611092565b6040518115909202915f818181858888f193505050501580156105ca573d5f803e3d5ffd5b5f600854821115610efb5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610402565b5f610f046110d3565b9050610f108382611092565b9392505050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f5d57610f5d611724565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fb4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fd89190611764565b81600181518110610feb57610feb611724565b6001600160a01b039283166020918202929092010152600e546110119130911684610968565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110499085905f908690309042906004016117eb565b5f604051808303815f87803b158015611060575f80fd5b505af1158015611072573d5f803e3d5ffd5b5050600f805460ff60a81b1916905550505050565b610dd98383836110f4565b5f610f1083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111e5565b5f805f6110de611211565b90925090506110ed8282611092565b9250505090565b5f805f805f8061110387611250565b6001600160a01b038f165f90815260026020526040902054959b5093995091975095509350915061113490876112a5565b6001600160a01b03808b165f9081526002602052604080822093909355908a168152205461116290866112e6565b6001600160a01b0389165f9081526002602052604090205561118381611344565b61118d848361138a565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516111d291815260200190565b60405180910390a3505050505050505050565b5f81836112055760405162461bcd60e51b815260040161040291906114ca565b505f610e0d848661185a565b6008545f908190678ac7230489e8000061122b8282611092565b82101561124757505060085492678ac7230489e8000092509050565b90939092509050565b5f805f805f805f805f6112688a600a54600b546113ae565b9250925092505f6112776110d3565b90505f805f6112888e878787611400565b919e509c509a509598509396509194505050505091939550919395565b5f610f1083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dde565b5f806112f283856117c5565b905083811015610f105760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610402565b5f61134d6110d3565b90505f61135a838361144c565b305f9081526002602052604090205490915061137690826112e6565b305f90815260026020526040902055505050565b60085461139790836112a5565b6008556009546113a790826112e6565b6009555050565b5f8080806113c760646113c1898961144c565b90611092565b90505f6113d960646113c18a8961144c565b90505f6113f0826113ea8b866112a5565b906112a5565b9992985090965090945050505050565b5f80808061140e888661144c565b90505f61141b888761144c565b90505f611428888861144c565b90505f611439826113ea86866112a5565b939b939a50919850919650505050505050565b5f825f0361145b57505f61036c565b5f6114668385611879565b905082611473858361185a565b14610f105760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610402565b5f6020808352835180828501525f5b818110156114f5578581018301518582016040015282016114d9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461049b575f80fd5b803561153481611515565b919050565b5f806040838503121561154a575f80fd5b823561155581611515565b946020939093013593505050565b5f805f60608486031215611575575f80fd5b833561158081611515565b9250602084013561159081611515565b929592945050506040919091013590565b5f602082840312156115b1575f80fd5b8135610f1081611515565b801515811461049b575f80fd5b5f602082840312156115d9575f80fd5b8135610f10816115bc565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611609575f80fd5b823567ffffffffffffffff80821115611620575f80fd5b818501915085601f830112611633575f80fd5b813581811115611645576116456115e4565b8060051b604051601f19603f8301168101818110858211171561166a5761166a6115e4565b604052918252848201925083810185019188831115611687575f80fd5b938501935b828510156116ac5761169d85611529565b8452938501939285019261168c565b98975050505050505050565b5f80604083850312156116c9575f80fd5b82356116d481611515565b915060208301356116e481611515565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f6001820161175d5761175d611738565b5060010190565b5f60208284031215611774575f80fd5b8151610f1081611515565b5f805f60608486031215611791575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156117ba575f80fd5b8151610f10816115bc565b8082018082111561036c5761036c611738565b8181038181111561036c5761036c611738565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156118395784516001600160a01b031683529383019391830191600101611814565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261187457634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761036c5761036c61173856fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203badae6fc3f9142df70526df50da3ad7c3042522defcee79913e34009bba23cb64736f6c63430008140033

Deployed Bytecode

0x6080604052600436106100fd575f3560e01c806370a0823111610092578063a9059cbb11610062578063a9059cbb146102b2578063b515566a146102d1578063c3c8cd80146102f0578063c9567bf914610304578063dd62ed3e14610318575f80fd5b806370a082311461022c578063715018a61461024b5780638da5cb5b1461025f57806395d89b4114610285575f80fd5b8063273123b7116100cd578063273123b7146101bd578063313ce567146101de5780635932ead1146101f95780636fc3eaec14610218575f80fd5b806306fdde0314610108578063095ea7b31461014b57806318160ddd1461017a57806323b872dd1461019e575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b506040805180820190915260098152682a3432902aa724a7a760b91b60208201525b60405161014291906114ca565b60405180910390f35b348015610156575f80fd5b5061016a610165366004611539565b61035c565b6040519015158152602001610142565b348015610185575f80fd5b50678ac7230489e800005b604051908152602001610142565b3480156101a9575f80fd5b5061016a6101b8366004611563565b610372565b3480156101c8575f80fd5b506101dc6101d73660046115a1565b6103d9565b005b3480156101e9575f80fd5b5060405160098152602001610142565b348015610204575f80fd5b506101dc6102133660046115c9565b61042b565b348015610223575f80fd5b506101dc610472565b348015610237575f80fd5b506101906102463660046115a1565b61049e565b348015610256575f80fd5b506101dc6104bf565b34801561026a575f80fd5b505f546040516001600160a01b039091168152602001610142565b348015610290575f80fd5b506040805180820190915260058152642aa724a7a760d91b6020820152610135565b3480156102bd575f80fd5b5061016a6102cc366004611539565b610530565b3480156102dc575f80fd5b506101dc6102eb3660046115f8565b61053c565b3480156102fb575f80fd5b506101dc6105ce565b34801561030f575f80fd5b506101dc610602565b348015610323575f80fd5b506101906103323660046116b8565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b5f610368338484610968565b5060015b92915050565b5f61037e848484610a8b565b6103cf84336103ca85604051806060016040528060288152602001611891602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610dde565b610968565b5060019392505050565b5f546001600160a01b0316331461040b5760405162461bcd60e51b8152600401610402906116ef565b60405180910390fd5b6001600160a01b03165f908152600660205260409020805460ff19169055565b5f546001600160a01b031633146104545760405162461bcd60e51b8152600401610402906116ef565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b600c546001600160a01b0316336001600160a01b031614610491575f80fd5b4761049b81610e16565b50565b6001600160a01b0381165f9081526002602052604081205461036c90610e95565b5f546001600160a01b031633146104e85760405162461bcd60e51b8152600401610402906116ef565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f610368338484610a8b565b5f546001600160a01b031633146105655760405162461bcd60e51b8152600401610402906116ef565b5f5b81518110156105ca57600160065f84848151811061058757610587611724565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806105c28161174c565b915050610567565b5050565b600c546001600160a01b0316336001600160a01b0316146105ed575f80fd5b5f6105f73061049e565b905061049b81610f17565b5f546001600160a01b0316331461062b5760405162461bcd60e51b8152600401610402906116ef565b600f54600160a01b900460ff16156106855760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610402565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106c13082678ac7230489e80000610968565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107219190611764565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107909190611764565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107fe9190611764565b600f80546001600160a01b0319166001600160a01b03928316179055600e541663f305d719473061082e8161049e565b5f806108415f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108a7573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108cc919061177f565b5050600f8054678ac7230489e8000060105563ffff00ff60a01b1981166201000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610944573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ca91906117aa565b6001600160a01b0383166109ca5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610402565b6001600160a01b038216610a2b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610402565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aef5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610402565b6001600160a01b038216610b515760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610402565b5f8111610bb25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610402565b6001600a555f600b55610bcc5f546001600160a01b031690565b6001600160a01b0316836001600160a01b031614158015610bfa57505f546001600160a01b03838116911614155b15610dce576001600160a01b0383165f9081526006602052604090205460ff16158015610c3f57506001600160a01b0382165f9081526006602052604090205460ff16155b610c47575f80fd5b600f546001600160a01b038481169116148015610c725750600e546001600160a01b03838116911614155b8015610c9657506001600160a01b0382165f9081526005602052604090205460ff16155b8015610cab5750600f54600160b81b900460ff165b15610d0457601054811115610cbe575f80fd5b6001600160a01b0382165f908152600760205260409020544211610ce0575f80fd5b610ceb42601e6117c5565b6001600160a01b0383165f908152600760205260409020555b600f546001600160a01b038381169116148015610d2f5750600e546001600160a01b03848116911614155b8015610d5357506001600160a01b0383165f9081526005602052604090205460ff16155b15610d62576001600a555f600b555b5f610d6c3061049e565b600f54909150600160a81b900460ff16158015610d975750600f546001600160a01b03858116911614155b8015610dac5750600f54600160b01b900460ff165b15610dcc57610dba81610f17565b478015610dca57610dca47610e16565b505b505b610dd9838383611087565b505050565b5f8184841115610e015760405162461bcd60e51b815260040161040291906114ca565b505f610e0d84866117d8565b95945050505050565b600c546001600160a01b03166108fc610e30836002611092565b6040518115909202915f818181858888f19350505050158015610e55573d5f803e3d5ffd5b50600d546001600160a01b03166108fc610e70836002611092565b6040518115909202915f818181858888f193505050501580156105ca573d5f803e3d5ffd5b5f600854821115610efb5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610402565b5f610f046110d3565b9050610f108382611092565b9392505050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f5d57610f5d611724565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fb4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fd89190611764565b81600181518110610feb57610feb611724565b6001600160a01b039283166020918202929092010152600e546110119130911684610968565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110499085905f908690309042906004016117eb565b5f604051808303815f87803b158015611060575f80fd5b505af1158015611072573d5f803e3d5ffd5b5050600f805460ff60a81b1916905550505050565b610dd98383836110f4565b5f610f1083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111e5565b5f805f6110de611211565b90925090506110ed8282611092565b9250505090565b5f805f805f8061110387611250565b6001600160a01b038f165f90815260026020526040902054959b5093995091975095509350915061113490876112a5565b6001600160a01b03808b165f9081526002602052604080822093909355908a168152205461116290866112e6565b6001600160a01b0389165f9081526002602052604090205561118381611344565b61118d848361138a565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516111d291815260200190565b60405180910390a3505050505050505050565b5f81836112055760405162461bcd60e51b815260040161040291906114ca565b505f610e0d848661185a565b6008545f908190678ac7230489e8000061122b8282611092565b82101561124757505060085492678ac7230489e8000092509050565b90939092509050565b5f805f805f805f805f6112688a600a54600b546113ae565b9250925092505f6112776110d3565b90505f805f6112888e878787611400565b919e509c509a509598509396509194505050505091939550919395565b5f610f1083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dde565b5f806112f283856117c5565b905083811015610f105760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610402565b5f61134d6110d3565b90505f61135a838361144c565b305f9081526002602052604090205490915061137690826112e6565b305f90815260026020526040902055505050565b60085461139790836112a5565b6008556009546113a790826112e6565b6009555050565b5f8080806113c760646113c1898961144c565b90611092565b90505f6113d960646113c18a8961144c565b90505f6113f0826113ea8b866112a5565b906112a5565b9992985090965090945050505050565b5f80808061140e888661144c565b90505f61141b888761144c565b90505f611428888861144c565b90505f611439826113ea86866112a5565b939b939a50919850919650505050505050565b5f825f0361145b57505f61036c565b5f6114668385611879565b905082611473858361185a565b14610f105760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610402565b5f6020808352835180828501525f5b818110156114f5578581018301518582016040015282016114d9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461049b575f80fd5b803561153481611515565b919050565b5f806040838503121561154a575f80fd5b823561155581611515565b946020939093013593505050565b5f805f60608486031215611575575f80fd5b833561158081611515565b9250602084013561159081611515565b929592945050506040919091013590565b5f602082840312156115b1575f80fd5b8135610f1081611515565b801515811461049b575f80fd5b5f602082840312156115d9575f80fd5b8135610f10816115bc565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611609575f80fd5b823567ffffffffffffffff80821115611620575f80fd5b818501915085601f830112611633575f80fd5b813581811115611645576116456115e4565b8060051b604051601f19603f8301168101818110858211171561166a5761166a6115e4565b604052918252848201925083810185019188831115611687575f80fd5b938501935b828510156116ac5761169d85611529565b8452938501939285019261168c565b98975050505050505050565b5f80604083850312156116c9575f80fd5b82356116d481611515565b915060208301356116e481611515565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f6001820161175d5761175d611738565b5060010190565b5f60208284031215611774575f80fd5b8151610f1081611515565b5f805f60608486031215611791575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156117ba575f80fd5b8151610f10816115bc565b8082018082111561036c5761036c611738565b8181038181111561036c5761036c611738565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156118395784516001600160a01b031683529383019391830191600101611814565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261187457634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761036c5761036c61173856fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203badae6fc3f9142df70526df50da3ad7c3042522defcee79913e34009bba23cb64736f6c63430008140033

Deployed Bytecode Sourcemap

3579:10359:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5468:83;;;;;;;;;;-1:-1:-1;5538:5:0;;;;;;;;;;;;-1:-1:-1;;;5538:5:0;;;;5468:83;;;;;;;:::i;:::-;;;;;;;;6320:161;;;;;;;;;;-1:-1:-1;6320:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6320:161:0;1162:187:1;5745:95:0;;;;;;;;;;-1:-1:-1;4080:19:0;5745:95;;;1500:25:1;;;1488:2;1473:18;5745:95:0;1354:177:1;6489:313:0;;;;;;;;;;-1:-1:-1;6489:313:0;;;;;:::i;:::-;;:::i;10665:88::-;;;;;;;;;;-1:-1:-1;10665:88:0;;;;;:::i;:::-;;:::i;:::-;;5654:83;;;;;;;;;;-1:-1:-1;5654:83:0;;4496:1;2391:36:1;;2379:2;2364:18;5654:83:0;2249:184:1;6810:103:0;;;;;;;;;;-1:-1:-1;6810:103:0;;;;;:::i;:::-;;:::i;12042:194::-;;;;;;;;;;;;;:::i;5848:138::-;;;;;;;;;;-1:-1:-1;5848:138:0;;;;;:::i;:::-;;:::i;2658:148::-;;;;;;;;;;;;;:::i;2444:79::-;;;;;;;;;;-1:-1:-1;2482:7:0;2509:6;2444:79;;-1:-1:-1;;;;;2509:6:0;;;2953:51:1;;2941:2;2926:18;2444:79:0;2807:203:1;5559:87:0;;;;;;;;;;-1:-1:-1;5631:7:0;;;;;;;;;;;;-1:-1:-1;;;5631:7:0;;;;5559:87;;5994:167;;;;;;;;;;-1:-1:-1;5994:167:0;;;;;:::i;:::-;;:::i;10489:164::-;;;;;;;;;;-1:-1:-1;10489:164:0;;;;;:::i;:::-;;:::i;11835:195::-;;;;;;;;;;;;;:::i;9660:817::-;;;;;;;;;;;;;:::i;6169:143::-;;;;;;;;;;-1:-1:-1;6169:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6277:18:0;;;6250:7;6277:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6169:143;6320:161;6395:4;6412:39;242:10;6435:7;6444:6;6412:8;:39::i;:::-;-1:-1:-1;6469:4:0;6320:161;;;;;:::o;6489:313::-;6587:4;6604:36;6614:6;6622:9;6633:6;6604:9;:36::i;:::-;6651:121;6660:6;242:10;6682:89;6720:6;6682:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6682:19:0;;;;;;:11;:19;;;;;;;;242:10;6682:33;;;;;;;;;;:37;:89::i;:::-;6651:8;:121::i;:::-;-1:-1:-1;6790:4:0;6489:313;;;;;:::o;10665:88::-;2571:6;;-1:-1:-1;;;;;2571:6:0;242:10;2571:22;2563:67;;;;-1:-1:-1;;;2563:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;10725:12:0::1;10740:5;10725:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;10725:20:0::1;::::0;;10665:88::o;6810:103::-;2571:6;;-1:-1:-1;;;;;2571:6:0;242:10;2571:22;2563:67;;;;-1:-1:-1;;;2563:67:0;;;;;;;:::i;:::-;6882:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;6882:23:0::1;-1:-1:-1::0;;;;6882:23:0;;::::1;::::0;;;::::1;::::0;;6810:103::o;12042:194::-;12108:15;;-1:-1:-1;;;;;12108:15:0;242:10;-1:-1:-1;;;;;12092:31:0;;12084:40;;;;;;12164:21;12196:32;12164:21;12196:12;:32::i;:::-;12073:163;12042:194::o;5848:138::-;-1:-1:-1;;;;;5961:16:0;;5914:7;5961:16;;;:7;:16;;;;;;5941:37;;:19;:37::i;2658:148::-;2571:6;;-1:-1:-1;;;;;2571:6:0;242:10;2571:22;2563:67;;;;-1:-1:-1;;;2563:67:0;;;;;;;:::i;:::-;2765:1:::1;2749:6:::0;;2728:40:::1;::::0;-1:-1:-1;;;;;2749:6:0;;::::1;::::0;2728:40:::1;::::0;2765:1;;2728:40:::1;2796:1;2779:19:::0;;-1:-1:-1;;;;;;2779:19:0::1;::::0;;2658:148::o;5994:167::-;6072:4;6089:42;242:10;6113:9;6124:6;6089:9;:42::i;10489:164::-;2571:6;;-1:-1:-1;;;;;2571:6:0;242:10;2571:22;2563:67;;;;-1:-1:-1;;;2563:67:0;;;;;;;:::i;:::-;10563:6:::1;10558:88;10579:5;:12;10575:1;:16;10558:88;;;10630:4;10613;:14;10618:5;10624:1;10618:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10613:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10613:14:0;:21;;-1:-1:-1;;10613:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10593:3;::::1;::::0;::::1;:::i;:::-;;;;10558:88;;;;10489:164:::0;:::o;11835:195::-;11901:15;;-1:-1:-1;;;;;11901:15:0;242:10;-1:-1:-1;;;;;11885:31:0;;11877:40;;;;;;11928:23;11954:24;11972:4;11954:9;:24::i;:::-;11928:50;;11989:33;12006:15;11989:16;:33::i;9660:817::-;2571:6;;-1:-1:-1;;;;;2571:6:0;242:10;2571:22;2563:67;;;;-1:-1:-1;;;2563:67:0;;;;;;;:::i;:::-;9724:11:::1;::::0;-1:-1:-1;;;9724:11:0;::::1;;;9723:12;9715:47;;;::::0;-1:-1:-1;;;9715:47:0;;5633:2:1;9715:47:0::1;::::0;::::1;5615:21:1::0;5672:2;5652:18;;;5645:30;5711:25;5691:18;;;5684:53;5754:18;;9715:47:0::1;5431:347:1::0;9715:47:0::1;9884:15;:34:::0;;-1:-1:-1;;;;;;9884:34:0::1;9830:42;9884:34:::0;;::::1;::::0;;;9929:58:::1;9946:4;9830:42:::0;4080:19:::1;9929:8;:58::i;:::-;10032:16;-1:-1:-1::0;;;;;10032:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10014:56:0::1;;10079:4;10086:16;-1:-1:-1::0;;;;;10086:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10014:96;::::0;-1:-1:-1;;;;;;10014:96:0::1;::::0;;;;;;-1:-1:-1;;;;;6269:15:1;;;10014:96:0::1;::::0;::::1;6251:34:1::0;6321:15;;6301:18;;;6294:43;6186:18;;10014:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9998:13;:112:::0;;-1:-1:-1;;;;;;9998:112:0::1;-1:-1:-1::0;;;;;9998:112:0;;::::1;;::::0;;10121:15:::1;::::0;::::1;:31;10160:21;10191:4;10197:24;10191:4:::0;10197:9:::1;:24::i;:::-;10222:1;10224::::0;10226:7:::1;2482::::0;2509:6;-1:-1:-1;;;;;2509:6:0;;2444:79;10226:7:::1;10121:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10121:129:0;;;-1:-1:-1;;;;;6707:15:1;;;10121:129:0::1;::::0;::::1;6689:34:1::0;6739:18;;;6732:34;;;;6782:18;;;6775:34;;;;6825:18;;;6818:34;6889:15;;;6868:19;;;6861:44;10234:15:0::1;6921:19:1::0;;;6914:35;6623:19;;10121:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10261:11:0::1;:18:::0;;10339:19:::1;10324:12;:34:::0;-1:-1:-1;;;;10369:18:0;;-1:-1:-1;;;10369:18:0;;;;10436:15:::1;::::0;10398:71:::1;::::0;-1:-1:-1;;;10398:71:0;;-1:-1:-1;;;;;10436:15:0;;::::1;10398:71;::::0;::::1;7445:51:1::0;-1:-1:-1;;7512:18:1;;;7505:34;10405:13:0;;;-1:-1:-1;10398:29:0::1;::::0;7418:18:1;;10398:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7183:335::-:0;-1:-1:-1;;;;;7276:19:0;;7268:68;;;;-1:-1:-1;;;7268:68:0;;8002:2:1;7268:68:0;;;7984:21:1;8041:2;8021:18;;;8014:30;8080:34;8060:18;;;8053:62;-1:-1:-1;;;8131:18:1;;;8124:34;8175:19;;7268:68:0;7800:400:1;7268:68:0;-1:-1:-1;;;;;7355:21:0;;7347:68;;;;-1:-1:-1;;;7347:68:0;;8407:2:1;7347:68:0;;;8389:21:1;8446:2;8426:18;;;8419:30;8485:34;8465:18;;;8458:62;-1:-1:-1;;;8536:18:1;;;8529:32;8578:19;;7347:68:0;8205:398:1;7347:68:0;-1:-1:-1;;;;;7426:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7478:32;;1500:25:1;;;7478:32:0;;1473:18:1;7478:32:0;;;;;;;7183:335;;;:::o;7526:1461::-;-1:-1:-1;;;;;7614:18:0;;7606:68;;;;-1:-1:-1;;;7606:68:0;;8810:2:1;7606:68:0;;;8792:21:1;8849:2;8829:18;;;8822:30;8888:34;8868:18;;;8861:62;-1:-1:-1;;;8939:18:1;;;8932:35;8984:19;;7606:68:0;8608:401:1;7606:68:0;-1:-1:-1;;;;;7693:16:0;;7685:64;;;;-1:-1:-1;;;7685:64:0;;9216:2:1;7685:64:0;;;9198:21:1;9255:2;9235:18;;;9228:30;9294:34;9274:18;;;9267:62;-1:-1:-1;;;9345:18:1;;;9338:33;9388:19;;7685:64:0;9014:399:1;7685:64:0;7777:1;7768:6;:10;7760:64;;;;-1:-1:-1;;;7760:64:0;;9620:2:1;7760:64:0;;;9602:21:1;9659:2;9639:18;;;9632:30;9698:34;9678:18;;;9671:62;-1:-1:-1;;;9749:18:1;;;9742:39;9798:19;;7760:64:0;9418:405:1;7760:64:0;7847:1;7835:9;:13;7871:1;7859:9;:13;7895:7;2482;2509:6;-1:-1:-1;;;;;2509:6:0;;2444:79;7895:7;-1:-1:-1;;;;;7887:15:0;:4;-1:-1:-1;;;;;7887:15:0;;;:32;;;;-1:-1:-1;2482:7:0;2509:6;-1:-1:-1;;;;;7906:13:0;;;2509:6;;7906:13;;7887:32;7883:1052;;;-1:-1:-1;;;;;7945:10:0;;;;;;:4;:10;;;;;;;;7944:11;:24;;;;-1:-1:-1;;;;;;7960:8:0;;;;;;:4;:8;;;;;;;;7959:9;7944:24;7936:33;;;;;;7996:13;;-1:-1:-1;;;;;7988:21:0;;;7996:13;;7988:21;:55;;;;-1:-1:-1;8027:15:0;;-1:-1:-1;;;;;8013:30:0;;;8027:15;;8013:30;;7988:55;:83;;;;-1:-1:-1;;;;;;8049:22:0;;;;;;:18;:22;;;;;;;;8047:24;7988:83;:102;;;;-1:-1:-1;8075:15:0;;-1:-1:-1;;;8075:15:0;;;;7988:102;7984:325;;;8158:12;;8148:6;:22;;8140:31;;;;;;-1:-1:-1;;;;;8198:12:0;;;;;;:8;:12;;;;;;8213:15;-1:-1:-1;8190:39:0;;;;;;8263:30;:15;8282:10;8263:30;:::i;:::-;-1:-1:-1;;;;;8248:12:0;;;;;;:8;:12;;;;;:45;7984:325;8361:13;;-1:-1:-1;;;;;8355:19:0;;;8361:13;;8355:19;:55;;;;-1:-1:-1;8394:15:0;;-1:-1:-1;;;;;8378:32:0;;;8394:15;;8378:32;;8355:55;:85;;;;-1:-1:-1;;;;;;8416:24:0;;;;;;:18;:24;;;;;;;;8414:26;8355:85;8351:171;;;8473:1;8461:9;:13;8505:1;8493:9;:13;8351:171;8536:28;8567:24;8585:4;8567:9;:24::i;:::-;8611:6;;8536:55;;-1:-1:-1;;;;8611:6:0;;;;8610:7;:32;;;;-1:-1:-1;8629:13:0;;-1:-1:-1;;;;;8621:21:0;;;8629:13;;8621:21;;8610:32;:47;;;;-1:-1:-1;8646:11:0;;-1:-1:-1;;;8646:11:0;;;;8610:47;8606:318;;;8678:38;8695:20;8678:16;:38::i;:::-;8764:21;8807:22;;8804:105;;8854:35;8867:21;8854:12;:35::i;:::-;8659:265;8606:318;7921:1014;7883:1052;8949:30;8964:4;8969:2;8972:6;8949:14;:30::i;:::-;7526:1461;;;:::o;1299:190::-;1385:7;1421:12;1413:6;;;;1405:29;;;;-1:-1:-1;;;1405:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1445:9:0;1457:5;1461:1;1457;:5;:::i;:::-;1445:17;1299:190;-1:-1:-1;;;;;1299:190:0:o;9494:154::-;9551:15;;-1:-1:-1;;;;;9551:15:0;:39;9576:13;:6;9587:1;9576:10;:13::i;:::-;9551:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9601:15:0;;-1:-1:-1;;;;;9601:15:0;:39;9626:13;:6;9637:1;9626:10;:13::i;:::-;9601:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6921:254;6988:7;7027;;7016;:18;;7008:73;;;;-1:-1:-1;;;7008:73:0;;10293:2:1;7008:73:0;;;10275:21:1;10332:2;10312:18;;;10305:30;10371:34;10351:18;;;10344:62;-1:-1:-1;;;10422:18:1;;;10415:40;10472:19;;7008:73:0;10091:406:1;7008:73:0;7092:19;7115:10;:8;:10::i;:::-;7092:33;-1:-1:-1;7143:24:0;:7;7092:33;7143:11;:24::i;:::-;7136:31;6921:254;-1:-1:-1;;;6921:254:0:o;8995:483::-;4869:6;:13;;-1:-1:-1;;;;4869:13:0;-1:-1:-1;;;4869:13:0;;;9097:16:::1;::::0;;9111:1:::1;9097:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9097:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9097:16:0::1;9073:40;;9142:4;9124;9129:1;9124:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9124:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9168:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9168:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9124:7;;9168:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9158:4;9163:1;9158:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9158:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9233:15:::1;::::0;9201:62:::1;::::0;9218:4:::1;::::0;9233:15:::1;9251:11:::0;9201:8:::1;:62::i;:::-;9274:15;::::0;:196:::1;::::0;-1:-1:-1;;;9274:196:0;;-1:-1:-1;;;;;9274:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9355:11;;9274:15:::1;::::0;9397:4;;9424::::1;::::0;9444:15:::1;::::0;9274:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4905:6:0;:14;;-1:-1:-1;;;;4905:14:0;;;-1:-1:-1;;;;8995:483:0:o;10769:146::-;10863:44;10881:6;10889:9;10900:6;10863:17;:44::i;1751:132::-;1809:7;1836:39;1840:1;1843;1836:39;;;;;;;;;;;;;;;;;:3;:39::i;13502:163::-;13543:7;13564:15;13581;13600:19;:17;:19::i;:::-;13563:56;;-1:-1:-1;13563:56:0;-1:-1:-1;13637:20:0;13563:56;;13637:11;:20::i;:::-;13630:27;;;;13502:163;:::o;10923:488::-;11022:15;11039:23;11064:12;11078:23;11103:12;11117:13;11134:19;11145:7;11134:10;:19::i;:::-;-1:-1:-1;;;;;11182:15:0;;;;;;:7;:15;;;;;;11021:132;;-1:-1:-1;11021:132:0;;-1:-1:-1;11021:132:0;;-1:-1:-1;11021:132:0;-1:-1:-1;11021:132:0;-1:-1:-1;11021:132:0;-1:-1:-1;11182:28:0;;11021:132;11182:19;:28::i;:::-;-1:-1:-1;;;;;11164:15:0;;;;;;;:7;:15;;;;;;:46;;;;11242:18;;;;;;;:39;;11265:15;11242:22;:39::i;:::-;-1:-1:-1;;;;;11221:18:0;;;;;;:7;:18;;;;;:60;11293:16;11303:5;11293:9;:16::i;:::-;11320:23;11332:4;11338;11320:11;:23::i;:::-;11376:9;-1:-1:-1;;;;;11359:44:0;11368:6;-1:-1:-1;;;;;11359:44:0;;11387:15;11359:44;;;;1500:25:1;;1488:2;1473:18;;1354:177;11359:44:0;;;;;;;;11010:401;;;;;;10923:488;;;:::o;1891:189::-;1977:7;2012:12;2005:5;1997:28;;;;-1:-1:-1;;;1997:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2036:9:0;2048:5;2052:1;2048;:5;:::i;13673:262::-;13770:7;;13723;;;;4080:19;13844:20;13770:7;4080:19;13844:11;:20::i;:::-;13834:7;:30;13830:61;;;-1:-1:-1;;13874:7:0;;;4080:19;;-1:-1:-1;13673:262:0;-1:-1:-1;13673:262:0:o;13830:61::-;13910:7;;13919;;-1:-1:-1;13673:262:0;-1:-1:-1;13673:262:0:o;12250:471::-;12309:7;12318;12327;12336;12345;12354;12375:23;12400:12;12414:13;12431:42;12443:7;12452:9;;12463;;12431:11;:42::i;:::-;12374:99;;;;;;12484:19;12507:10;:8;:10::i;:::-;12484:33;;12529:15;12546:23;12571:12;12587:46;12599:7;12608:4;12614:5;12621:11;12587;:46::i;:::-;12528:105;;-1:-1:-1;12528:105:0;-1:-1:-1;12528:105:0;-1:-1:-1;12684:15:0;;-1:-1:-1;12701:4:0;;-1:-1:-1;12707:5:0;;-1:-1:-1;;;;;12250:471:0;;;;;;;:::o;1155:136::-;1213:7;1240:43;1244:1;1247;1240:43;;;;;;;;;;;;;;;;;:3;:43::i;968:179::-;1026:7;;1058:5;1062:1;1058;:5;:::i;:::-;1046:17;;1087:1;1082;:6;;1074:46;;;;-1:-1:-1;;;1074:46:0;;11911:2:1;1074:46:0;;;11893:21:1;11950:2;11930:18;;;11923:30;11989:29;11969:18;;;11962:57;12036:18;;1074:46:0;11709:351:1;11419:212:0;11472:19;11495:10;:8;:10::i;:::-;11472:33;-1:-1:-1;11516:13:0;11532:22;:5;11472:33;11532:9;:22::i;:::-;11606:4;11590:22;;;;:7;:22;;;;;;11516:38;;-1:-1:-1;11590:33:0;;11516:38;11590:26;:33::i;:::-;11581:4;11565:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11419:212:0:o;11639:147::-;11717:7;;:17;;11729:4;11717:11;:17::i;:::-;11707:7;:27;11758:10;;:20;;11773:4;11758:14;:20::i;:::-;11745:10;:33;-1:-1:-1;;11639:147:0:o;12729:351::-;12822:7;;;;12875:28;12899:3;12875:19;:7;12887:6;12875:11;:19::i;:::-;:23;;:28::i;:::-;12860:43;-1:-1:-1;12914:13:0;12930:29;12955:3;12930:20;:7;12942;12930:11;:20::i;:29::-;12914:45;-1:-1:-1;12970:23:0;12996:28;12914:45;12996:17;:7;13008:4;12996:11;:17::i;:::-;:21;;:28::i;:::-;12970:54;13060:4;;-1:-1:-1;13066:5:0;;-1:-1:-1;12729:351:0;;-1:-1:-1;;;;;12729:351:0:o;13088:409::-;13198:7;;;;13254:24;:7;13266:11;13254;:24::i;:::-;13236:42;-1:-1:-1;13289:12:0;13304:21;:4;13313:11;13304:8;:21::i;:::-;13289:36;-1:-1:-1;13336:13:0;13352:22;:5;13362:11;13352:9;:22::i;:::-;13336:38;-1:-1:-1;13385:23:0;13411:28;13336:38;13411:17;:7;13423:4;13411:11;:17::i;:28::-;13458:7;;;;-1:-1:-1;13484:4:0;;-1:-1:-1;13088:409:0;;-1:-1:-1;;;;;;;13088:409:0:o;1497:246::-;1555:7;1579:1;1584;1579:6;1575:47;;-1:-1:-1;1609:1:0;1602:8;;1575:47;1632:9;1644:5;1648:1;1644;:5;:::i;:::-;1632:17;-1:-1:-1;1677:1:0;1668:5;1672:1;1632:17;1668:5;:::i;:::-;:10;1660:56;;;;-1:-1:-1;;;1660:56:0;;12440:2:1;1660:56:0;;;12422:21:1;12479:2;12459:18;;;12452:30;12518:34;12498:18;;;12491:62;-1:-1:-1;;;12569:18:1;;;12562:31;12610:19;;1660:56:0;12238:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;1997:247::-;2056:6;2109:2;2097:9;2088:7;2084:23;2080:32;2077:52;;;2125:1;2122;2115:12;2077:52;2164:9;2151:23;2183:31;2208:5;2183:31;:::i;2438:118::-;2524:5;2517:13;2510:21;2503:5;2500:32;2490:60;;2546:1;2543;2536:12;2561:241;2617:6;2670:2;2658:9;2649:7;2645:23;2641:32;2638:52;;;2686:1;2683;2676:12;2638:52;2725:9;2712:23;2744:28;2766:5;2744:28;:::i;3015:127::-;3076:10;3071:3;3067:20;3064:1;3057:31;3107:4;3104:1;3097:15;3131:4;3128:1;3121:15;3147:1121;3231:6;3262:2;3305;3293:9;3284:7;3280:23;3276:32;3273:52;;;3321:1;3318;3311:12;3273:52;3361:9;3348:23;3390:18;3431:2;3423:6;3420:14;3417:34;;;3447:1;3444;3437:12;3417:34;3485:6;3474:9;3470:22;3460:32;;3530:7;3523:4;3519:2;3515:13;3511:27;3501:55;;3552:1;3549;3542:12;3501:55;3588:2;3575:16;3610:2;3606;3603:10;3600:36;;;3616:18;;:::i;:::-;3662:2;3659:1;3655:10;3694:2;3688:9;3757:2;3753:7;3748:2;3744;3740:11;3736:25;3728:6;3724:38;3812:6;3800:10;3797:22;3792:2;3780:10;3777:18;3774:46;3771:72;;;3823:18;;:::i;:::-;3859:2;3852:22;3909:18;;;3943:15;;;;-1:-1:-1;3985:11:1;;;3981:20;;;4013:19;;;4010:39;;;4045:1;4042;4035:12;4010:39;4069:11;;;;4089:148;4105:6;4100:3;4097:15;4089:148;;;4171:23;4190:3;4171:23;:::i;:::-;4159:36;;4122:12;;;;4215;;;;4089:148;;;4256:6;3147:1121;-1:-1:-1;;;;;;;;3147:1121:1:o;4273:388::-;4341:6;4349;4402:2;4390:9;4381:7;4377:23;4373:32;4370:52;;;4418:1;4415;4408:12;4370:52;4457:9;4444:23;4476:31;4501:5;4476:31;:::i;:::-;4526:5;-1:-1:-1;4583:2:1;4568:18;;4555:32;4596:33;4555:32;4596:33;:::i;:::-;4648:7;4638:17;;;4273:388;;;;;:::o;4666:356::-;4868:2;4850:21;;;4887:18;;;4880:30;4946:34;4941:2;4926:18;;4919:62;5013:2;4998:18;;4666:356::o;5027:127::-;5088:10;5083:3;5079:20;5076:1;5069:31;5119:4;5116:1;5109:15;5143:4;5140:1;5133:15;5159:127;5220:10;5215:3;5211:20;5208:1;5201:31;5251:4;5248:1;5241:15;5275:4;5272:1;5265:15;5291:135;5330:3;5351:17;;;5348:43;;5371:18;;:::i;:::-;-1:-1:-1;5418:1:1;5407:13;;5291:135::o;5783:251::-;5853:6;5906:2;5894:9;5885:7;5881:23;5877:32;5874:52;;;5922:1;5919;5912:12;5874:52;5954:9;5948:16;5973:31;5998:5;5973:31;:::i;6960:306::-;7048:6;7056;7064;7117:2;7105:9;7096:7;7092:23;7088:32;7085:52;;;7133:1;7130;7123:12;7085:52;7162:9;7156:16;7146:26;;7212:2;7201:9;7197:18;7191:25;7181:35;;7256:2;7245:9;7241:18;7235:25;7225:35;;6960:306;;;;;:::o;7550:245::-;7617:6;7670:2;7658:9;7649:7;7645:23;7641:32;7638:52;;;7686:1;7683;7676:12;7638:52;7718:9;7712:16;7737:28;7759:5;7737:28;:::i;9828:125::-;9893:9;;;9914:10;;;9911:36;;;9927:18;;:::i;9958:128::-;10025:9;;;10046:11;;;10043:37;;;10060:18;;:::i;10502:980::-;10764:4;10812:3;10801:9;10797:19;10843:6;10832:9;10825:25;10869:2;10907:6;10902:2;10891:9;10887:18;10880:34;10950:3;10945:2;10934:9;10930:18;10923:31;10974:6;11009;11003:13;11040:6;11032;11025:22;11078:3;11067:9;11063:19;11056:26;;11117:2;11109:6;11105:15;11091:29;;11138:1;11148:195;11162:6;11159:1;11156:13;11148:195;;;11227:13;;-1:-1:-1;;;;;11223:39:1;11211:52;;11318:15;;;;11283:12;;;;11259:1;11177:9;11148:195;;;-1:-1:-1;;;;;;;11399:32:1;;;;11394:2;11379:18;;11372:60;-1:-1:-1;;;11463:3:1;11448:19;11441:35;11360:3;10502:980;-1:-1:-1;;;10502:980:1:o;11487:217::-;11527:1;11553;11543:132;;11597:10;11592:3;11588:20;11585:1;11578:31;11632:4;11629:1;11622:15;11660:4;11657:1;11650:15;11543:132;-1:-1:-1;11689:9:1;;11487:217::o;12065:168::-;12138:9;;;12169;;12186:15;;;12180:22;;12166:37;12156:71;;12207:18;;:::i

Swarm Source

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