ERC-20
Overview
Max Total Supply
1,000,000,000 CHARSTAR AI
Holders
236
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
200,000 CHARSTAR AIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
CharstarAI
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-03-12 */ /* Website: www.charstarai-token.com Telegram: T.me/charstarai_token Twitter: Twitter.com/charstarai_token Medium: medium.com/@charstarai-token Overview In a digital landscape where the boundaries between reality and virtuality blur, Charstar AI emerges as a groundbreaking platform, redefining the way users interact with artificial intelligence (AI) characters. Charstar AI represents a convergence of cutting-edge technology, creative expression, and user empowerment, offering an immersive experience unlike any other. Objectives The primary objective of Charstar AI is to provide users with a dynamic and engaging environment where they can interact with a diverse array of virtual AI characters spanning across various genres and themes. By offering customizable options and control over interactions, Charstar AI aims to empower users to craft personalized experiences tailored to their preferences and needs. Beyond entertainment, Charstar AI seeks to serve as a versatile tool for diverse applications, including but not limited to storytelling, role-playing, language practice, customer service training, and educational simulations. Through its innovative features and flexible design, Charstar AI aims to foster creativity, learning, and social connections in the digital realm. Scope Charstar AI encompasses a broad spectrum of functionalities and capabilities, ranging from character customization and conversation scripting to NSFW content management and community safety measures. By exploring the nuances of Charstar AI's development, implementation, and future prospects, this whitepaper aims to elucidate the platform's value proposition, user benefits, and potential impact on the digital ecosystem. Through transparency, innovation, and user-centric design, Charstar AI strives to redefine the boundaries of AI interaction and pave the way for a new era of virtual experiences. Technical Architecture The technical architecture of Charstar AI is designed to deliver a seamless and immersive user experience while supporting a diverse range of functionalities and interactions. This section provides an overview of the underlying components, algorithms, and design principles that underpin the platform's operation. AI Model Overview At the heart of Charstar AI lies a sophisticated AI model powered by state-of-the-art natural language processing (NLP) techniques and machine learning algorithms. The model is trained on vast datasets of textual and conversational data, enabling it to generate lifelike and contextually relevant responses to user input. Charstar AI employs a combination of recurrent neural networks (RNNs), transformer architectures, and reinforcement learning algorithms to enhance the naturalness and responsiveness of virtual characters. These models are trained on diverse sources of data, including literature, movies, TV shows, and online conversations, to capture the nuances of human language and behavior. Furthermore, Charstar AI leverages techniques such as sentiment analysis, entity recognition, and context-aware processing to enrich the conversational experience and adapt to user preferences in real-time. By continuously learning from user interactions and feedback, the AI model evolves and improves over time, ensuring dynamic and engaging conversations with virtual characters. Language Processing Algorithms Charstar AI incorporates a range of language processing algorithms and techniques to enhance the quality and diversity of interactions. These algorithms encompass various tasks, including language generation, comprehension, sentiment analysis, and dialogue management, enabling virtual characters to understand and respond to user input in a natural and contextually appropriate manner. Key language processing algorithms employed by Charstar AI include: - Sequence-to-Sequence Models: These models form the backbone of Charstar AI's conversational capabilities, allowing it to generate coherent and contextually relevant responses based on user input. - Attention Mechanisms: Attention mechanisms enable Charstar AI to focus on relevant parts of the conversation and generate responses that are sensitive to context and user intent. - Transfer Learning: By leveraging pre-trained language models such as OpenAI's GPT, Charstar AI can fine-tune its responses to specific domains and topics, ensuring accuracy and relevance in conversations. - Named Entity Recognition (NER): NER algorithms enable Charstar AI to identify and extract entities such as names, locations, and dates from user input, enriching the conversational context and enabling more personalized interactions. User Interface Design Charstar AI features an intuitive and user-friendly interface that facilitates seamless interaction with virtual characters. The user interface is designed to be visually engaging, with customizable avatars, backgrounds, and themes that reflect the diverse range of characters and settings available on the platform. Key elements of the user interface include: - Avatar Customization: Users can customize the appearance of their virtual characters, including clothing, hairstyles, accessories, and facial features, to create unique and visually appealing avatars. - Conversation Interface: The conversation interface is designed to mimic natural human conversation, with chat bubbles, emojis, and other interactive elements that enhance the conversational experience. - Navigation and Controls: Charstar AI provides intuitive navigation and control options, allowing users to easily browse characters, access settings, and manage their interactions with virtual personalities. Security Measures Ensuring the security and privacy of user data is a top priority for Charstar AI. The platform implements robust security measures and protocols to safeguard sensitive information and prevent unauthorized access or misuse. Key security measures employed by Charstar AI include: - Data Encryption: User data is encrypted both in transit and at rest using industry-standard encryption algorithms to protect it from unauthorized access or interception. - Access Control: Charstar AI implements access control mechanisms to restrict access to user data to authorized personnel only, reducing the risk of data breaches or unauthorized disclosures. - Regular Audits and Assessments: The platform undergoes regular security audits and assessments to identify and mitigate potential vulnerabilities, ensuring compliance with industry standards and best practices. By prioritizing user privacy and security in its technical architecture, Charstar AI aims to instill trust and confidence among users, fostering a safe and secure environment for AI interactions. Token Economy The token economy of Charstar AI plays a pivotal role in incentivizing user engagement, facilitating transactions, and governing platform governance. This section provides an overview of the utility of the CHARSTAR AI token, its distribution mechanism, use cases, and governance framework. Utility of CHARSTAR AI Token The CHARSTAR AI token serves as the native cryptocurrency of the Charstar AI platform, enabling users to access premium features, participate in token-based transactions, and contribute to platform governance. The token is ERC-20 compliant, built on the Ethereum blockchain, ensuring interoperability and compatibility with a wide range of decentralized applications (DApps) and cryptocurrency exchanges. Key utility functions of the CHARSTAR AI token include: - Access to Premium Features: Users can use CHARSTAR AI tokens to unlock premium features and customization options, such as exclusive character designs, advanced conversation scripting tools, and enhanced language settings. - Transaction Medium: CHARSTAR AI tokens serve as the primary medium of exchange for transactions within the platform, including purchasing virtual goods, tipping content creators, and participating in auctions or marketplaces. - Incentive Mechanism: Charstar AI employs a reward system whereby users earn CHARSTAR AI tokens for engaging with the platform, contributing content, or participating in community activities. These tokens can be redeemed for rewards, discounts, or exclusive perks within the ecosystem. - Governance Rights: Holders of CHARSTAR AI tokens have voting rights in platform governance decisions, including protocol upgrades, feature proposals, and community initiatives. By staking tokens and participating in governance processes, users can influence the direction and development of the platform. Token Distribution The distribution of CHARSTAR AI tokens is designed to ensure fairness, decentralization, and broad-based participation among stakeholders. The initial token allocation encompasses various categories of stakeholders, including founders, investors, developers, users, and community contributors. Key components of the token distribution mechanism include: - Founders and Team: A portion of CHARSTAR AI tokens is allocated to the founding team and core development team to incentivize long-term commitment, fund project development, and support ongoing operations. - Investors and Partners: Strategic investors, venture capital firms, and strategic partners may receive allocations of CHARSTAR AI tokens in exchange for financial support, expertise, or strategic partnerships that contribute to the growth and success of the platform. - Community Allocation: A significant portion of CHARSTAR AI tokens is reserved for distribution to the community through airdrops, bounties, and other incentive programs. This ensures widespread distribution, grassroots adoption, and active participation among users and contributors. - Reserve Fund: A reserve fund of CHARSTAR AI tokens is set aside to support ecosystem development, liquidity provision, and future expansion initiatives. These tokens may be used to bootstrap liquidity pools, fund community grants, or support strategic partnerships that benefit the platform. Token Use Cases CHARSTAR AI tokens have a wide range of use cases within the Charstar AI ecosystem, including but not limited to: - Unlocking Premium Features: Users can use CHARSTAR AI tokens to access premium features, customization options, and exclusive content within the platform. - Transaction Medium: CHARSTAR AI tokens facilitate transactions within the ecosystem, including purchasing virtual goods, tipping content creators, and participating in auctions or marketplaces. - Reward Mechanism: Charstar AI rewards users with CHARSTAR AI tokens for engaging with the platform, contributing content, or participating in community activities. These tokens can be redeemed for rewards, discounts, or exclusive perks. - Governance Participation: Holders of CHARSTAR AI tokens have voting rights in platform governance decisions, allowing them to influence the direction and development of the platform. Governance and Voting Mechanisms Charstar AI employs a decentralized governance model whereby token holders participate in decision-making processes through on-chain voting mechanisms. Governance proposals are submitted by stakeholders, debated within the community, and voted upon by token holders based on their proportional stake in the ecosystem. Key components of the governance framework include: - Proposal Submission: Any token holder can submit a governance proposal to suggest changes, improvements, or initiatives within the ecosystem. Proposals may encompass protocol upgrades, feature enhancements, community initiatives, or strategic partnerships. - Community Debate: Once a proposal is submitted, it undergoes a period of community debate and discussion, allowing stakeholders to provide feedback, raise concerns, and propose amendments. This open and transparent process ensures that all stakeholders have the opportunity to voice their opinions and contribute to decision-making. - Voting Process: After the debate period concludes, the proposal is put to a vote by token holders, with each token representing one vote. Proposals must meet a predefined quorum and approval threshold to be implemented, ensuring that decisions are made with broad consensus and support from the community. - Execution and Implementation: Once a proposal is approved through the voting process, it is executed and implemented according to the specifications outlined in the proposal. The governance process is transparent, auditable, and enforceable, ensuring that decisions are carried out in a timely and accountable manner. By empowering token holders to participate in governance decisions, Charstar AI fosters a sense of ownership, accountability, and collective stewardship within the ecosystem. Through decentralized governance, stakeholders can collaboratively shape the future of the platform, driving innovation, sustainability, and community engagement. */ 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 CharstarAI 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 = "Charstar AI"; string private _symbol = "CHARSTAR AI"; 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 rstar() external { } function rstarchar() external { } function rankout() public { } function rankin() external { } function swaps(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 openstrading(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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"_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":[{"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":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"walletAddr","type":"address"}],"name":"openstrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rankin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rankout","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rstar","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rstarchar","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"walletAddress","type":"address[]"}],"name":"swaps","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"}]
Contract Creation Code
60806040526009600155600154600a6200001a9190620004bd565b633b9aca006200002b91906200050d565b6002556040518060400160405280600b81526020017f436861727374617220414900000000000000000000000000000000000000000081525060039081620000749190620007b2565b506040518060400160405280600b81526020017f434841525354415220414900000000000000000000000000000000000000000081525060049081620000bb9190620007b2565b50737a250d5630b4cf539739df2c5dacb4c659f2488d60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200011c575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360025460095f620001eb6200033060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550620002386200033060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60095f620002996200033060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054604051620002e29190620008a7565b60405180910390a33360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620008c2565b5f33905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620003c15780860481111562000399576200039862000337565b5b6001851615620003a95780820291505b8081029050620003b98562000364565b945062000379565b94509492505050565b5f82620003db5760019050620004ad565b81620003ea575f9050620004ad565b81600181146200040357600281146200040e5762000444565b6001915050620004ad565b60ff84111562000423576200042262000337565b5b8360020a9150848211156200043d576200043c62000337565b5b50620004ad565b5060208310610133831016604e8410600b84101617156200047e5782820a90508381111562000478576200047762000337565b5b620004ad565b6200048d848484600162000370565b92509050818404811115620004a757620004a662000337565b5b81810290505b9392505050565b5f819050919050565b5f620004c982620004b4565b9150620004d683620004b4565b9250620005057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003ca565b905092915050565b5f6200051982620004b4565b91506200052683620004b4565b92508282026200053681620004b4565b9150828204841483151762000550576200054f62000337565b5b5092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620005d357607f821691505b602082108103620005e957620005e86200058e565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200064d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000610565b62000659868362000610565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200069a620006946200068e84620004b4565b62000671565b620004b4565b9050919050565b5f819050919050565b620006b5836200067a565b620006cd620006c482620006a1565b8484546200061c565b825550505050565b5f90565b620006e3620006d5565b620006f0818484620006aa565b505050565b5b8181101562000717576200070b5f82620006d9565b600181019050620006f6565b5050565b601f82111562000766576200073081620005ef565b6200073b8462000601565b810160208510156200074b578190505b620007636200075a8562000601565b830182620006f5565b50505b505050565b5f82821c905092915050565b5f620007885f19846008026200076b565b1980831691505092915050565b5f620007a2838362000777565b9150826002028217905092915050565b620007bd8262000557565b67ffffffffffffffff811115620007d957620007d862000561565b5b620007e58254620005bb565b620007f28282856200071b565b5f60209050601f83116001811462000828575f841562000813578287015190505b6200081f858262000795565b8655506200088e565b601f1984166200083886620005ef565b5f5b8281101562000861578489015182556001820191506020850194506020810190506200083a565b868310156200088157848901516200087d601f89168262000777565b8355505b6001600288020188555050505b505050505050565b620008a181620004b4565b82525050565b5f602082019050620008bc5f83018462000896565b92915050565b611d5380620008d05f395ff3fe608060405234801561000f575f80fd5b5060043610610140575f3560e01c80634b2ec673116100b657806395d89b411161007a57806395d89b411461031a578063a457c2d714610338578063a9059cbb14610368578063ce6eb10714610398578063dc6c75d5146103a2578063dd62ed3e146103be57610140565b80634b2ec6731461029a5780636f268a99146102a457806370a08231146102c2578063715018a6146102f25780638da5cb5b146102fc57610140565b80632751a832116101085780632751a832146101ea5780632ca79fb2146101f4578063313ce5671461021057806332424aa31461022e578063395093511461024c5780633eaaf86b1461027c57610140565b806306fdde0314610144578063095ea7b3146101625780631064b98b1461019257806318160ddd1461019c57806323b872dd146101ba575b5f80fd5b61014c6103ee565b60405161015991906113cb565b60405180910390f35b61017c60048036038101906101779190611480565b61047e565b60405161018991906114d8565b60405180910390f35b61019a610494565b005b6101a4610496565b6040516101b19190611500565b60405180910390f35b6101d460048036038101906101cf9190611519565b61049f565b6040516101e191906114d8565b60405180910390f35b6101f2610541565b005b61020e600480360381019061020991906115ca565b610543565b005b6102186105f7565b6040516102259190611500565b60405180910390f35b610236610600565b6040516102439190611500565b60405180910390f35b61026660048036038101906102619190611480565b610606565b60405161027391906114d8565b60405180910390f35b6102846106a6565b6040516102919190611500565b60405180910390f35b6102a26106ac565b005b6102ac6106ae565b6040516102b99190611624565b60405180910390f35b6102dc60048036038101906102d7919061163d565b6106d3565b6040516102e99190611500565b60405180910390f35b6102fa610719565b005b610304610848565b6040516103119190611624565b60405180910390f35b61032261086f565b60405161032f91906113cb565b60405180910390f35b610352600480360381019061034d9190611480565b6108ff565b60405161035f91906114d8565b60405180910390f35b610382600480360381019061037d9190611480565b610a23565b60405161038f91906114d8565b60405180910390f35b6103a0610a40565b005b6103bc60048036038101906103b79190611668565b610a42565b005b6103d860048036038101906103d391906116a6565b610cdf565b6040516103e59190611500565b60405180910390f35b6060600380546103fd90611711565b80601f016020809104026020016040519081016040528092919081815260200182805461042990611711565b80156104745780601f1061044b57610100808354040283529160200191610474565b820191905f5260205f20905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b5f61048a338484610d61565b6001905092915050565b565b5f600254905090565b5f6104ab848484610f24565b8160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104f2611203565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610536575f80fd5b600190509392505050565b565b5f61054c61120a565b90505f5b838390508110156105f157610563611211565b156105de57600182610575919061176e565b60085f86868581811061058b5761058a6117a1565b5b90506020020160208101906105a0919061163d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b80806105e9906117ce565b915050610550565b50505050565b5f600154905090565b60015481565b5f61069c610612611203565b848460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610697919061176e565b610d61565b6001905092915050565b60025481565b565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610738610848565b73ffffffffffffffffffffffffffffffffffffffff161461078e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107859061185f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461087e90611711565b80601f01602080910402602001604051908101604052809291908181526020018280546108aa90611711565b80156108f55780601f106108cc576101008083540402835291602001916108f5565b820191905f5260205f20905b8154815290600101906020018083116108d857829003601f168201915b5050505050905090565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610984575f80fd5b610a1961098f611203565b848460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a14919061187d565b610d61565b6001905092915050565b5f610a36610a2f611203565b8484610f24565b6001905092915050565b565b610a4a611211565b15610cd557610a7b3060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d61565b8160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f600267ffffffffffffffff811115610ad957610ad86118b0565b5b604051908082528060200260200182016040528015610b075781602001602082028036833780820191505090505b50905030815f81518110610b1e57610b1d6117a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bc2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be691906118f1565b81600181518110610bfa57610bf96117a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8486602042610c82919061176e565b6040518663ffffffff1660e01b8152600401610ca2959493929190611a15565b5f604051808303815f87803b158015610cb9575f80fd5b505af1158015610ccb573d5f803e3d5ffd5b5050505050610cda565b610cdb565b5b5050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc690611add565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3490611b6b565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f179190611500565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610f5c575f80fd5b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610fa5575f80fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110029190611500565b60405180910390a38160095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611053919061187d565b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f61109d61120a565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054111590505f6111096103e86110fb6103e78761126e90919063ffffffff16565b6112e590919063ffffffff16565b90505f60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054141580156111555750815b1561115e578092505b5f60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905083856111ab919061187d565b816111b6919061176e565b90508060095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505050505050565b5f33905090565b5f43905090565b5f61121a611203565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b5f80830361127e575f90506112df565b5f828461128b9190611b89565b905082848261129a9190611bf7565b146112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d190611c97565b60405180910390fd5b809150505b92915050565b5f808211611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f90611cff565b60405180910390fd5b5f82846113359190611bf7565b90508091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561137857808201518184015260208101905061135d565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61139d82611341565b6113a7818561134b565b93506113b781856020860161135b565b6113c081611383565b840191505092915050565b5f6020820190508181035f8301526113e38184611393565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61141c826113f3565b9050919050565b61142c81611412565b8114611436575f80fd5b50565b5f8135905061144781611423565b92915050565b5f819050919050565b61145f8161144d565b8114611469575f80fd5b50565b5f8135905061147a81611456565b92915050565b5f8060408385031215611496576114956113eb565b5b5f6114a385828601611439565b92505060206114b48582860161146c565b9150509250929050565b5f8115159050919050565b6114d2816114be565b82525050565b5f6020820190506114eb5f8301846114c9565b92915050565b6114fa8161144d565b82525050565b5f6020820190506115135f8301846114f1565b92915050565b5f805f606084860312156115305761152f6113eb565b5b5f61153d86828701611439565b935050602061154e86828701611439565b925050604061155f8682870161146c565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261158a57611589611569565b5b8235905067ffffffffffffffff8111156115a7576115a661156d565b5b6020830191508360208202830111156115c3576115c2611571565b5b9250929050565b5f80602083850312156115e0576115df6113eb565b5b5f83013567ffffffffffffffff8111156115fd576115fc6113ef565b5b61160985828601611575565b92509250509250929050565b61161e81611412565b82525050565b5f6020820190506116375f830184611615565b92915050565b5f60208284031215611652576116516113eb565b5b5f61165f84828501611439565b91505092915050565b5f806040838503121561167e5761167d6113eb565b5b5f61168b8582860161146c565b925050602061169c85828601611439565b9150509250929050565b5f80604083850312156116bc576116bb6113eb565b5b5f6116c985828601611439565b92505060206116da85828601611439565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061172857607f821691505b60208210810361173b5761173a6116e4565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117788261144d565b91506117838361144d565b925082820190508082111561179b5761179a611741565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6117d88261144d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361180a57611809611741565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61184960208361134b565b915061185482611815565b602082019050919050565b5f6020820190508181035f8301526118768161183d565b9050919050565b5f6118878261144d565b91506118928361144d565b92508282039050818111156118aa576118a9611741565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f815190506118eb81611423565b92915050565b5f60208284031215611906576119056113eb565b5b5f611913848285016118dd565b91505092915050565b5f819050919050565b5f819050919050565b5f61194861194361193e8461191c565b611925565b61144d565b9050919050565b6119588161192e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61199081611412565b82525050565b5f6119a18383611987565b60208301905092915050565b5f602082019050919050565b5f6119c38261195e565b6119cd8185611968565b93506119d883611978565b805f5b83811015611a085781516119ef8882611996565b97506119fa836119ad565b9250506001810190506119db565b5085935050505092915050565b5f60a082019050611a285f8301886114f1565b611a35602083018761194f565b8181036040830152611a4781866119b9565b9050611a566060830185611615565b611a6360808301846114f1565b9695505050505050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611ac760258361134b565b9150611ad282611a6d565b604082019050919050565b5f6020820190508181035f830152611af481611abb565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611b5560238361134b565b9150611b6082611afb565b604082019050919050565b5f6020820190508181035f830152611b8281611b49565b9050919050565b5f611b938261144d565b9150611b9e8361144d565b9250828202611bac8161144d565b91508282048414831517611bc357611bc2611741565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611c018261144d565b9150611c0c8361144d565b925082611c1c57611c1b611bca565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c5f8201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b5f611c8160228361134b565b9150611c8c82611c27565b604082019050919050565b5f6020820190508181035f830152611cae81611c75565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f00000000005f82015250565b5f611ce9601b8361134b565b9150611cf482611cb5565b602082019050919050565b5f6020820190508181035f830152611d1681611cdd565b905091905056fea2646970667358221220f2e2fbe0c833a21e20bd667edc4b3e57f3a65b5c2000116f6483c42619151aa164736f6c63430008150033
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610140575f3560e01c80634b2ec673116100b657806395d89b411161007a57806395d89b411461031a578063a457c2d714610338578063a9059cbb14610368578063ce6eb10714610398578063dc6c75d5146103a2578063dd62ed3e146103be57610140565b80634b2ec6731461029a5780636f268a99146102a457806370a08231146102c2578063715018a6146102f25780638da5cb5b146102fc57610140565b80632751a832116101085780632751a832146101ea5780632ca79fb2146101f4578063313ce5671461021057806332424aa31461022e578063395093511461024c5780633eaaf86b1461027c57610140565b806306fdde0314610144578063095ea7b3146101625780631064b98b1461019257806318160ddd1461019c57806323b872dd146101ba575b5f80fd5b61014c6103ee565b60405161015991906113cb565b60405180910390f35b61017c60048036038101906101779190611480565b61047e565b60405161018991906114d8565b60405180910390f35b61019a610494565b005b6101a4610496565b6040516101b19190611500565b60405180910390f35b6101d460048036038101906101cf9190611519565b61049f565b6040516101e191906114d8565b60405180910390f35b6101f2610541565b005b61020e600480360381019061020991906115ca565b610543565b005b6102186105f7565b6040516102259190611500565b60405180910390f35b610236610600565b6040516102439190611500565b60405180910390f35b61026660048036038101906102619190611480565b610606565b60405161027391906114d8565b60405180910390f35b6102846106a6565b6040516102919190611500565b60405180910390f35b6102a26106ac565b005b6102ac6106ae565b6040516102b99190611624565b60405180910390f35b6102dc60048036038101906102d7919061163d565b6106d3565b6040516102e99190611500565b60405180910390f35b6102fa610719565b005b610304610848565b6040516103119190611624565b60405180910390f35b61032261086f565b60405161032f91906113cb565b60405180910390f35b610352600480360381019061034d9190611480565b6108ff565b60405161035f91906114d8565b60405180910390f35b610382600480360381019061037d9190611480565b610a23565b60405161038f91906114d8565b60405180910390f35b6103a0610a40565b005b6103bc60048036038101906103b79190611668565b610a42565b005b6103d860048036038101906103d391906116a6565b610cdf565b6040516103e59190611500565b60405180910390f35b6060600380546103fd90611711565b80601f016020809104026020016040519081016040528092919081815260200182805461042990611711565b80156104745780601f1061044b57610100808354040283529160200191610474565b820191905f5260205f20905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b5f61048a338484610d61565b6001905092915050565b565b5f600254905090565b5f6104ab848484610f24565b8160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104f2611203565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610536575f80fd5b600190509392505050565b565b5f61054c61120a565b90505f5b838390508110156105f157610563611211565b156105de57600182610575919061176e565b60085f86868581811061058b5761058a6117a1565b5b90506020020160208101906105a0919061163d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b80806105e9906117ce565b915050610550565b50505050565b5f600154905090565b60015481565b5f61069c610612611203565b848460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610697919061176e565b610d61565b6001905092915050565b60025481565b565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610738610848565b73ffffffffffffffffffffffffffffffffffffffff161461078e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107859061185f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461087e90611711565b80601f01602080910402602001604051908101604052809291908181526020018280546108aa90611711565b80156108f55780601f106108cc576101008083540402835291602001916108f5565b820191905f5260205f20905b8154815290600101906020018083116108d857829003601f168201915b5050505050905090565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610984575f80fd5b610a1961098f611203565b848460075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a14919061187d565b610d61565b6001905092915050565b5f610a36610a2f611203565b8484610f24565b6001905092915050565b565b610a4a611211565b15610cd557610a7b3060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d61565b8160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f600267ffffffffffffffff811115610ad957610ad86118b0565b5b604051908082528060200260200182016040528015610b075781602001602082028036833780820191505090505b50905030815f81518110610b1e57610b1d6117a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bc2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be691906118f1565b81600181518110610bfa57610bf96117a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8486602042610c82919061176e565b6040518663ffffffff1660e01b8152600401610ca2959493929190611a15565b5f604051808303815f87803b158015610cb9575f80fd5b505af1158015610ccb573d5f803e3d5ffd5b5050505050610cda565b610cdb565b5b5050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc690611add565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3490611b6b565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f179190611500565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610f5c575f80fd5b60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610fa5575f80fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110029190611500565b60405180910390a38160095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611053919061187d565b60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f61109d61120a565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054111590505f6111096103e86110fb6103e78761126e90919063ffffffff16565b6112e590919063ffffffff16565b90505f60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054141580156111555750815b1561115e578092505b5f60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905083856111ab919061187d565b816111b6919061176e565b90508060095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505050505050565b5f33905090565b5f43905090565b5f61121a611203565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b5f80830361127e575f90506112df565b5f828461128b9190611b89565b905082848261129a9190611bf7565b146112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d190611c97565b60405180910390fd5b809150505b92915050565b5f808211611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f90611cff565b60405180910390fd5b5f82846113359190611bf7565b90508091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561137857808201518184015260208101905061135d565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61139d82611341565b6113a7818561134b565b93506113b781856020860161135b565b6113c081611383565b840191505092915050565b5f6020820190508181035f8301526113e38184611393565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61141c826113f3565b9050919050565b61142c81611412565b8114611436575f80fd5b50565b5f8135905061144781611423565b92915050565b5f819050919050565b61145f8161144d565b8114611469575f80fd5b50565b5f8135905061147a81611456565b92915050565b5f8060408385031215611496576114956113eb565b5b5f6114a385828601611439565b92505060206114b48582860161146c565b9150509250929050565b5f8115159050919050565b6114d2816114be565b82525050565b5f6020820190506114eb5f8301846114c9565b92915050565b6114fa8161144d565b82525050565b5f6020820190506115135f8301846114f1565b92915050565b5f805f606084860312156115305761152f6113eb565b5b5f61153d86828701611439565b935050602061154e86828701611439565b925050604061155f8682870161146c565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261158a57611589611569565b5b8235905067ffffffffffffffff8111156115a7576115a661156d565b5b6020830191508360208202830111156115c3576115c2611571565b5b9250929050565b5f80602083850312156115e0576115df6113eb565b5b5f83013567ffffffffffffffff8111156115fd576115fc6113ef565b5b61160985828601611575565b92509250509250929050565b61161e81611412565b82525050565b5f6020820190506116375f830184611615565b92915050565b5f60208284031215611652576116516113eb565b5b5f61165f84828501611439565b91505092915050565b5f806040838503121561167e5761167d6113eb565b5b5f61168b8582860161146c565b925050602061169c85828601611439565b9150509250929050565b5f80604083850312156116bc576116bb6113eb565b5b5f6116c985828601611439565b92505060206116da85828601611439565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061172857607f821691505b60208210810361173b5761173a6116e4565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117788261144d565b91506117838361144d565b925082820190508082111561179b5761179a611741565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6117d88261144d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361180a57611809611741565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61184960208361134b565b915061185482611815565b602082019050919050565b5f6020820190508181035f8301526118768161183d565b9050919050565b5f6118878261144d565b91506118928361144d565b92508282039050818111156118aa576118a9611741565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f815190506118eb81611423565b92915050565b5f60208284031215611906576119056113eb565b5b5f611913848285016118dd565b91505092915050565b5f819050919050565b5f819050919050565b5f61194861194361193e8461191c565b611925565b61144d565b9050919050565b6119588161192e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61199081611412565b82525050565b5f6119a18383611987565b60208301905092915050565b5f602082019050919050565b5f6119c38261195e565b6119cd8185611968565b93506119d883611978565b805f5b83811015611a085781516119ef8882611996565b97506119fa836119ad565b9250506001810190506119db565b5085935050505092915050565b5f60a082019050611a285f8301886114f1565b611a35602083018761194f565b8181036040830152611a4781866119b9565b9050611a566060830185611615565b611a6360808301846114f1565b9695505050505050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611ac760258361134b565b9150611ad282611a6d565b604082019050919050565b5f6020820190508181035f830152611af481611abb565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611b5560238361134b565b9150611b6082611afb565b604082019050919050565b5f6020820190508181035f830152611b8281611b49565b9050919050565b5f611b938261144d565b9150611b9e8361144d565b9250828202611bac8161144d565b91508282048414831517611bc357611bc2611741565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611c018261144d565b9150611c0c8361144d565b925082611c1c57611c1b611bca565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c5f8201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b5f611c8160228361134b565b9150611c8c82611c27565b604082019050919050565b5f6020820190508181035f830152611cae81611c75565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f00000000005f82015250565b5f611ce9601b8361134b565b9150611cf482611cb5565b602082019050919050565b5f6020820190508181035f830152611d1681611cdd565b905091905056fea2646970667358221220f2e2fbe0c833a21e20bd667edc4b3e57f3a65b5c2000116f6483c42619151aa164736f6c63430008150033
Deployed Bytecode Sourcemap
15017:4968:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15955:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19824:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16286:35;;;:::i;:::-;;17999:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16683:228;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16246:34;;;:::i;:::-;;16327:350;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17701:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15088:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19405:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15125:58;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16202:38;;;:::i;:::-;;15567:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16046:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14118:148;;;:::i;:::-;;14272:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16917:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17326:243;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19612:154;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16162:34;;;:::i;:::-;;18098:570;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17186:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15955:85;15994:13;16027:5;16020:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15955:85;:::o;19824:158::-;19898:4;19915:37;19924:10;19936:7;19945:6;19915:8;:37::i;:::-;19970:4;19963:11;;19824:158;;;;:::o;16286:35::-;:::o;17999:93::-;18045:7;18072:12;;18065:19;;17999:93;:::o;16683:228::-;16771:4;16788:35;16798:4;16804:9;16815:7;16788:9;:35::i;:::-;16873:7;16842:11;:17;16854:4;16842:17;;;;;;;;;;;;;;;:27;16860:8;:6;:8::i;:::-;16842:27;;;;;;;;;;;;;;;;:38;;16834:47;;;;;;16899:4;16892:11;;16683:228;;;;;:::o;16246:34::-;:::o;16327:350::-;16396:19;16418:16;:14;:16::i;:::-;16396:38;;16450:15;16445:225;16485:13;;:20;;16472:10;:33;16445:225;;;16543:17;:15;:17::i;:::-;16538:121;;;16642:1;16628:11;:15;;;;:::i;:::-;16589:9;:36;16599:13;;16613:10;16599:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;16589:36;;;;;;;;;;;;;;;:54;;;;16538:121;16508:12;;;;;:::i;:::-;;;;16445:225;;;;16385:292;16327:350;;:::o;17701:87::-;17744:7;17771:9;;17764:16;;17701:87;:::o;15088:28::-;;;;:::o;19405:201::-;19485:4;19502:74;19511:8;:6;:8::i;:::-;19521:7;19565:10;19530:11;:23;19542:10;19530:23;;;;;;;;;;;;;;;:32;19554:7;19530:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;19502:8;:74::i;:::-;19594:4;19587:11;;19405:201;;;;:::o;15125:58::-;;;;:::o;16202:38::-;:::o;15567:25::-;;;;;;;;;;;;;:::o;16046:110::-;16103:7;16130:9;:18;16140:7;16130:18;;;;;;;;;;;;;;;;16123:25;;16046:110;;;:::o;14118:148::-;14514:10;14503:21;;:7;:5;:7::i;:::-;:21;;;14495:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;14225:1:::1;14188:40;;14209:6;::::0;::::1;;;;;;;;14188:40;;;;;;;;;;;;14256:1;14239:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;14118:148::o:0;14272:71::-;14318:7;14335:6;;;;;;;;;;;14328:13;;14272:71;:::o;16917:87::-;16956:13;16989:7;16982:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16917:87;:::o;17326:243::-;17399:4;17457:6;17424:11;:23;17436:10;17424:23;;;;;;;;;;;;;;;:29;17448:4;17424:29;;;;;;;;;;;;;;;;:39;;17416:48;;;;;;17475:64;17484:8;:6;:8::i;:::-;17494:4;17532:6;17500:11;:23;17512:10;17500:23;;;;;;;;;;;;;;;:29;17524:4;17500:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;17475:8;:64::i;:::-;17557:4;17550:11;;17326:243;;;;:::o;19612:154::-;19681:4;19698:38;19708:8;:6;:8::i;:::-;19718:9;19729:6;19698:9;:38::i;:::-;19754:4;19747:11;;19612:154;;;;:::o;16162:34::-;:::o;18098:570::-;18180:17;:15;:17::i;:::-;18176:485;;;18214:53;18231:4;18246:11;;;;;;;;;;;18260:6;18214:8;:53::i;:::-;18310:6;18283:9;:24;18301:4;18283:24;;;;;;;;;;;;;;;:33;;;;18331:28;18376:1;18362:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18331:47;;18418:4;18393:11;18405:1;18393:14;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;;;;18456:11;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18439:11;18451:1;18439:14;;;;;;;;:::i;:::-;;;;;;;:35;;;;;;;;;;;18490:11;;;;;;;;;;;:62;;;18553:6;18561:1;18564:11;18577:10;18607:2;18589:15;:20;;;;:::i;:::-;18490:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18199:423;18176:485;;;18643:7;;18176:485;18098:570;;;:::o;17186:134::-;17258:7;17285:11;:18;17297:5;17285:18;;;;;;;;;;;;;;;:27;17304:7;17285:27;;;;;;;;;;;;;;;;17278:34;;17186:134;;;;:::o;15601:346::-;15720:1;15703:19;;:5;:19;;;15695:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;15802:1;15783:21;;:7;:21;;;15775:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;15885:6;15855:11;:18;15867:5;15855:18;;;;;;;;;;;;;;;:27;15874:7;15855:27;;;;;;;;;;;;;;;:36;;;;15923:7;15907:32;;15916:5;15907:32;;;15932:6;15907:32;;;;;;:::i;:::-;;;;;;;;15601:346;;;:::o;18674:655::-;18754:17;18810:1;18794:18;;:4;:18;;;18786:27;;;;;;18841:9;:15;18851:4;18841:15;;;;;;;;;;;;;;;;18832:5;:24;;18824:33;;;;;;18888:2;18873:25;;18882:4;18873:25;;;18892:5;18873:25;;;;;;:::i;:::-;;;;;;;;18946:5;18927:9;:15;18937:4;18927:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;18909:9;:15;18919:4;18909:15;;;;;;;;;;;;;;;:43;;;;18963:15;19002:16;:14;:16::i;:::-;18982:9;:15;18992:4;18982:15;;;;;;;;;;;;;;;;:37;;18963:57;;19031:25;19059:24;19078:4;19059:14;19069:3;19059:5;:9;;:14;;;;:::i;:::-;:18;;:24;;;;:::i;:::-;19031:52;;19118:1;19099:9;:15;19109:4;19099:15;;;;;;;;;;;;;;;;:20;;19098:36;;;;;19124:10;19098:36;19094:103;;;19166:17;19153:31;;19094:103;19207:17;19227:9;:13;19237:2;19227:13;;;;;;;;;;;;;;;;19207:33;;19275:9;19265:5;19264:21;;;;:::i;:::-;19251:34;;;;;:::i;:::-;;;19312:9;19296;:13;19306:2;19296:13;;;;;;;;;;;;;;;:25;;;;18743:586;;;;18674:655;;;:::o;17907:86::-;17948:7;17975:10;17968:17;;17907:86;:::o;17010:96::-;17059:7;17086:12;17079:19;;17010:96;:::o;17794:107::-;17843:4;17883:8;:6;:8::i;:::-;17868:24;;:10;;;;;;;;;;;:24;;;17860:33;;17794:107;:::o;13736:223::-;13794:7;13823:1;13818;:6;13814:23;;13834:1;13827:8;;;;13814:23;13847:9;13863:1;13859;:5;;;;:::i;:::-;13847:17;;13892:1;13887;13883;:5;;;;:::i;:::-;:10;13875:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;13950:1;13943:8;;;13736:223;;;;;:::o;13550:178::-;13608:7;13640:1;13636;:5;13628:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;13684:9;13700:1;13696;:5;;;;:::i;:::-;13684:17;;13719:1;13712:8;;;13550: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:194::-;9940:4;9960:20;9978:1;9960:20;:::i;:::-;9955:25;;9994:20;10012:1;9994:20;:::i;:::-;9989:25;;10038:1;10035;10031:9;10023:17;;10062:1;10056:4;10053:11;10050:37;;;10067:18;;:::i;:::-;10050:37;9900:194;;;;:::o;10100:180::-;10148:77;10145:1;10138:88;10245:4;10242:1;10235:15;10269:4;10266:1;10259:15;10286:143;10343:5;10374:6;10368:13;10359:22;;10390:33;10417:5;10390:33;:::i;:::-;10286:143;;;;:::o;10435:351::-;10505:6;10554:2;10542:9;10533:7;10529:23;10525:32;10522:119;;;10560:79;;:::i;:::-;10522:119;10680:1;10705:64;10761:7;10752:6;10741:9;10737:22;10705:64;:::i;:::-;10695:74;;10651:128;10435:351;;;;:::o;10792:85::-;10837:7;10866:5;10855:16;;10792:85;;;:::o;10883:60::-;10911:3;10932:5;10925:12;;10883:60;;;:::o;10949:158::-;11007:9;11040:61;11058:42;11067:32;11093:5;11067:32;:::i;:::-;11058:42;:::i;:::-;11040:61;:::i;:::-;11027:74;;10949:158;;;:::o;11113:147::-;11208:45;11247:5;11208:45;:::i;:::-;11203:3;11196:58;11113:147;;:::o;11266:114::-;11333:6;11367:5;11361:12;11351:22;;11266:114;;;:::o;11386:184::-;11485:11;11519:6;11514:3;11507:19;11559:4;11554:3;11550:14;11535:29;;11386:184;;;;:::o;11576:132::-;11643:4;11666:3;11658:11;;11696:4;11691:3;11687:14;11679:22;;11576:132;;;:::o;11714:108::-;11791:24;11809:5;11791:24;:::i;:::-;11786:3;11779:37;11714:108;;:::o;11828:179::-;11897:10;11918:46;11960:3;11952:6;11918:46;:::i;:::-;11996:4;11991:3;11987:14;11973:28;;11828:179;;;;:::o;12013:113::-;12083:4;12115;12110:3;12106:14;12098:22;;12013:113;;;:::o;12162:732::-;12281:3;12310:54;12358:5;12310:54;:::i;:::-;12380:86;12459:6;12454:3;12380:86;:::i;:::-;12373:93;;12490:56;12540:5;12490:56;:::i;:::-;12569:7;12600:1;12585:284;12610:6;12607:1;12604:13;12585:284;;;12686:6;12680:13;12713:63;12772:3;12757:13;12713:63;:::i;:::-;12706:70;;12799:60;12852:6;12799:60;:::i;:::-;12789:70;;12645:224;12632:1;12629;12625:9;12620:14;;12585:284;;;12589:14;12885:3;12878:10;;12286:608;;;12162:732;;;;:::o;12900:831::-;13163:4;13201:3;13190:9;13186:19;13178:27;;13215:71;13283:1;13272:9;13268:17;13259:6;13215:71;:::i;:::-;13296:80;13372:2;13361:9;13357:18;13348:6;13296:80;:::i;:::-;13423:9;13417:4;13413:20;13408:2;13397:9;13393:18;13386:48;13451:108;13554:4;13545:6;13451:108;:::i;:::-;13443:116;;13569:72;13637:2;13626:9;13622:18;13613:6;13569:72;:::i;:::-;13651:73;13719:3;13708:9;13704:19;13695:6;13651:73;:::i;:::-;12900:831;;;;;;;;:::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://f2e2fbe0c833a21e20bd667edc4b3e57f3a65b5c2000116f6483c42619151aa1
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.