ERC-20
Overview
Max Total Supply
60,000 COFBR
Holders
60
Total Transfers
-
Market
Fully Diluted Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 3 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
CoffeeCoin
Compiler Version
v0.8.5+commit.a4f2e591
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-23 */ pragma solidity >=0.6.0 <= 0.8.5; // SPDX-License-Identifier: MIT // @title ERC20 Token // @created_by Stonoex /** * * @dev Operations with Overflow chechs. * **/ library Math { /** * * @dev Return the subtraction of two integers, reverting with message on overflow * **/ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "Subtraction overflow"); return a - b; } /** * * @dev Return the addition of two integers, reverting with message on overflow * **/ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "Addition overflow"); return c; } /** * * @dev Return the multiplication of two two integers, reverting with message on overflow * **/ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "Multiplication overflow"); return c; } } /** * * @dev Contract that guarantees exclusive access to specific functions for the owner * * */ abstract contract Ownable { address private _owner; address private _newOwner; event OwnerShipTransferred(address indexed oldOwner, address indexed newOwner); /** * * @dev Setting the deployer as the initial owner. * */ constructor() { _owner = msg.sender; _newOwner = msg.sender; emit OwnerShipTransferred(address(0), _owner); } /** * * @dev Returns the address of the current owner. * */ function owner() public view returns(address){ return _owner; } /** * * @dev Reverting with message on overflow if called by any account other than the owner. * */ modifier onlyOwner(){ require(msg.sender == _owner, "You are not the owner"); _; } /** * * @dev Set new owner to transfer ownership, reverting with message on overflow if account is not the owner * */ function transferOwnership(address newOwner_) public onlyOwner{ require(newOwner_ != address(0), "Invalid address"); _newOwner = newOwner_; } /** * * @dev Accept ownership, reverting with message on overflow if account is not the new owner * */ function acceptOwnership()public{ require(msg.sender == _newOwner, "You are not the new owner"); _transferOwnership(_newOwner); } function _transferOwnership(address newOwner_) internal{ emit OwnerShipTransferred(_owner,newOwner_); _owner = newOwner_; } } /** * * @dev Contract that guarantees pause and unpause specific functions * * */ contract Pausable is Ownable{ event Pause(); event Unpause(); bool private _isPaused = true; function isPaused() public view returns(bool){ return _isPaused; } modifier whenNotPaused(){ require(!_isPaused, "Contract is paused."); _; } modifier whenPaused(){ require(_isPaused, "Contract is not paused."); _; } function pause()public onlyOwner whenNotPaused{ _isPaused = true; emit Pause(); } function unpause()public onlyOwner whenPaused{ _isPaused = false; emit Unpause(); } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract CollateralDetails is Ownable { event record(uint position, string document, string book, uint256 bags, uint256 tokens, string executionType); uint256 private _currentBags; string private _docURL; struct Collateral { string cda_wa_document; string book; uint256 bags; uint256 tokenAmount; string executionType; } Collateral[] private _collateralList; mapping(uint => Collateral) private _collateral; function getDocURL() public view returns(string memory){ return _docURL; } function setDocURL(string memory url) public onlyOwner { _docURL = url; } function getCurrentBags() public view returns(uint256){ return _currentBags; } function setCurrentBags(uint256 bags_) internal onlyOwner{ _currentBags = bags_; } function getRecords(uint indexes_) public view returns(string [] memory documents, string[] memory books, uint256[] memory bags, uint256[] memory tokensAmounts,string[] memory executionTypes){ require(indexes_ <= _collateralList.length, "Invalid indexes, value is greater than the _collateralList!"); string [] memory _documents = new string[](indexes_); string [] memory _books = new string[](indexes_); uint256 [] memory _bags = new uint256[](indexes_); uint256 [] memory _tokenAmount = new uint256[](indexes_); string [] memory _executionTypes = new string[](indexes_); for( uint i = 0; i < indexes_; i++){ Collateral storage c = _collateral[i]; _documents[i] = c.cda_wa_document; _books[i] = c.book; _bags[i] = c.bags; _tokenAmount[i] = c.tokenAmount; _executionTypes[i] = c.executionType; } return(_documents,_books,_bags,_tokenAmount,_executionTypes); } function getCollateral(uint position_) public view returns(string memory cda_wa_document, string memory book, uint256 bags, uint256 tokenAmount ,string memory executionType){ require(position_ <= _collateralList.length, "Invalid position, value is greater than the _collateralList"); Collateral storage c = _collateral[position_]; return (c.cda_wa_document, c.book, c.bags, c.tokenAmount,c.executionType); } function lastId() public view returns(uint256){ return _collateralList.length-1; } function recordCollateral(string memory cda_wa_document_, string memory book_, uint256 bags_, uint256 tokenAmount_, string memory executionType_) internal onlyOwner{ _collateralList.push(Collateral(cda_wa_document_,book_,bags_,tokenAmount_,executionType_)); _collateral[_collateralList.length-1] = Collateral(cda_wa_document_,book_,bags_,tokenAmount_,executionType_); emit record(_collateralList.length-1, cda_wa_document_,book_,bags_,tokenAmount_,executionType_); } } contract CoffeeCoin is IERC20, Ownable, Pausable, CollateralDetails{ using Math for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowed; string private _name; string private _symbol; uint8 private _decimals; uint256 private _totalSupply; event Burn(address indexed account, uint256 value); event Mint(address indexed from, address indexed to, uint256 value); constructor (string memory name_, string memory symbol_, uint256 totalSupply_, uint8 decimals_, string memory cda_wa_document_, string memory book_, uint256 bags_) { _name = name_; _symbol = symbol_; _totalSupply = totalSupply_.mul(10 ** decimals_); _decimals = decimals_; _balances[msg.sender] = _balances[msg.sender].add(_totalSupply); recordCollateral(cda_wa_document_, book_, bags_, totalSupply_, "INIT"); setCurrentBags(bags_); emit Transfer(address(0), msg.sender, _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 value) public override returns (bool) { _transfer(msg.sender, to, value); return true; } function allowance(address owner, address spender) public override view returns (uint256) { return _allowed[owner][spender]; } function approve(address spender, uint256 value) public override returns (bool) { _approve(msg.sender, spender, value); return true; } function transferFrom(address sender, address recipient, uint256 value) public override returns (bool) { _transfer(sender, recipient, value); _approve(sender, msg.sender, _allowed[sender][msg.sender].sub(value)); return true; } function _transfer(address from_, address to_, uint256 amount_) internal{ require(from_ != address(0), "Sender Invalid address"); require(to_ != address(0), "Recipient Invalid Address"); _balances[from_] = _balances[from_].sub(amount_); _balances[to_] = _balances[to_].add(amount_); emit Transfer(from_, to_, amount_); } function _approve(address owner_, address spender_, uint256 amount_) internal{ require(owner_ != address(0), "Approve from the zero address"); require(spender_ != address(0), "Approve to the zero address"); _allowed[owner_][spender_] = amount_; emit Approval(owner_, spender_, amount_); } /** * * @dev Destroy Tokens from the caller, reverting with message on overflow if caller is not the contract owner, event Burn will record CollateralDetails * */ function burn(uint256 amount_, string memory cda_wa_document_, string memory book_, uint256 bags_) public onlyOwner whenNotPaused{ require(msg.sender != address(0), "Invalid account address"); uint256 _amount = amount_.mul(10 ** _decimals); _balances[msg.sender] = _balances[msg.sender].sub(_amount); _totalSupply = _totalSupply.sub(_amount); uint256 _currentBags = getCurrentBags(); setCurrentBags(_currentBags.sub(bags_)); recordCollateral(cda_wa_document_, book_, bags_, amount_, "BURN"); emit Burn(msg.sender, _amount); emit Transfer(msg.sender, address(0), _amount); } /** * * @dev Mint Tokens, reverting with message on overflow if caller is not the contract owner or the contract is not paused, event Mint will record CollateralDetails * */ function mint(uint256 amount_, string memory cda_wa_document_, string memory book_, uint256 bags_)public onlyOwner whenNotPaused{ uint256 _amount = amount_.mul(10 ** _decimals); _totalSupply = _totalSupply.add(_amount); _balances[msg.sender] = _balances[msg.sender].add(_amount); uint256 _currentBags = getCurrentBags(); setCurrentBags(_currentBags.add(bags_)); recordCollateral(cda_wa_document_, book_, bags_, amount_, "MINT"); emit Mint(address(0), msg.sender, _amount); emit Transfer(address(0), msg.sender, _amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"string","name":"cda_wa_document_","type":"string"},{"internalType":"string","name":"book_","type":"string"},{"internalType":"uint256","name":"bags_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerShipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"position","type":"uint256"},{"indexed":false,"internalType":"string","name":"document","type":"string"},{"indexed":false,"internalType":"string","name":"book","type":"string"},{"indexed":false,"internalType":"uint256","name":"bags","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"},{"indexed":false,"internalType":"string","name":"executionType","type":"string"}],"name":"record","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"string","name":"cda_wa_document_","type":"string"},{"internalType":"string","name":"book_","type":"string"},{"internalType":"uint256","name":"bags_","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"position_","type":"uint256"}],"name":"getCollateral","outputs":[{"internalType":"string","name":"cda_wa_document","type":"string"},{"internalType":"string","name":"book","type":"string"},{"internalType":"uint256","name":"bags","type":"uint256"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"string","name":"executionType","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBags","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDocURL","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"indexes_","type":"uint256"}],"name":"getRecords","outputs":[{"internalType":"string[]","name":"documents","type":"string[]"},{"internalType":"string[]","name":"books","type":"string[]"},{"internalType":"uint256[]","name":"bags","type":"uint256[]"},{"internalType":"uint256[]","name":"tokensAmounts","type":"uint256[]"},{"internalType":"string[]","name":"executionTypes","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"string","name":"cda_wa_document_","type":"string"},{"internalType":"string","name":"book_","type":"string"},{"internalType":"uint256","name":"bags_","type":"uint256"}],"name":"mint","outputs":[],"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":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"url","type":"string"}],"name":"setDocURL","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":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner_","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405260018060146101000a81548160ff0219169083151502179055503480156200002b57600080fd5b50604051620048493803806200484983398181016040528101906200005191906200088a565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f370116ad724b3fc87a2f6ff5e76e5a8cc7045b232d1431b7a4bca898c26fdace60405160405180910390a38660089080519060200190620001659291906200072e565b5085600990805190602001906200017e9291906200072e565b50620001a784600a62000192919062000cf0565b866200033860201b62001a261790919060201c565b600b8190555083600a60006101000a81548160ff021916908360ff16021790555062000223600b54600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620003bc60201b62001aa11790919060201c565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002b0838383886040518060400160405280600481526020017f494e4954000000000000000000000000000000000000000000000000000000008152506200041f60201b60201c565b620002c1816200069360201b60201c565b3373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b5460405162000323919062000ae6565b60405180910390a3505050505050506200111f565b6000808314156200034d5760009050620003b6565b600082846200035d919062000e2d565b90508284826200036e919062000c5d565b14620003b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003a89062000ac4565b60405180910390fd5b809150505b92915050565b6000808284620003cd919062000c00565b90508381101562000415576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200040c9062000aa2565b60405180910390fd5b8091505092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620004b0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004a79062000a80565b60405180910390fd5b60046040518060a001604052808781526020018681526020018581526020018481526020018381525090806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000019080519060200190620005209291906200072e565b5060208201518160010190805190602001906200053f9291906200072e565b5060408201518160020155606082015181600301556080820151816004019080519060200190620005729291906200072e565b5050506040518060a0016040528086815260200185815260200184815260200183815260200182815250600560006001600480549050620005b4919062000e8e565b81526020019081526020016000206000820151816000019080519060200190620005e09291906200072e565b506020820151816001019080519060200190620005ff9291906200072e565b5060408201518160020155606082015181600301556080820151816004019080519060200190620006329291906200072e565b509050507f502388ad03174e9b1311b2adf76d5089bcd207e6311d1afda9dcf02157c5ac0260016004805490506200066b919062000e8e565b8686868686604051620006849695949392919062000b03565b60405180910390a15050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161462000724576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200071b9062000a80565b60405180910390fd5b8060028190555050565b8280546200073c9062000f16565b90600052602060002090601f016020900481019282620007605760008555620007ac565b82601f106200077b57805160ff1916838001178555620007ac565b82800160010185558215620007ac579182015b82811115620007ab5782518255916020019190600101906200078e565b5b509050620007bb9190620007bf565b5090565b5b80821115620007da576000816000905550600101620007c0565b5090565b6000620007f5620007ef8462000bae565b62000b85565b90508281526020810184848401111562000814576200081362001043565b5b6200082184828562000ee0565b509392505050565b600082601f8301126200084157620008406200103e565b5b815162000853848260208601620007de565b91505092915050565b6000815190506200086d81620010eb565b92915050565b600081519050620008848162001105565b92915050565b600080600080600080600060e0888a031215620008ac57620008ab6200104d565b5b600088015167ffffffffffffffff811115620008cd57620008cc62001048565b5b620008db8a828b0162000829565b975050602088015167ffffffffffffffff811115620008ff57620008fe62001048565b5b6200090d8a828b0162000829565b9650506040620009208a828b016200085c565b9550506060620009338a828b0162000873565b945050608088015167ffffffffffffffff81111562000957576200095662001048565b5b620009658a828b0162000829565b93505060a088015167ffffffffffffffff81111562000989576200098862001048565b5b620009978a828b0162000829565b92505060c0620009aa8a828b016200085c565b91505092959891949750929550565b6000620009c68262000be4565b620009d2818562000bef565b9350620009e481856020860162000ee0565b620009ef8162001052565b840191505092915050565b600062000a0960158362000bef565b915062000a168262001070565b602082019050919050565b600062000a3060118362000bef565b915062000a3d8262001099565b602082019050919050565b600062000a5760178362000bef565b915062000a6482620010c2565b602082019050919050565b62000a7a8162000ec9565b82525050565b6000602082019050818103600083015262000a9b81620009fa565b9050919050565b6000602082019050818103600083015262000abd8162000a21565b9050919050565b6000602082019050818103600083015262000adf8162000a48565b9050919050565b600060208201905062000afd600083018462000a6f565b92915050565b600060c08201905062000b1a600083018962000a6f565b818103602083015262000b2e8188620009b9565b9050818103604083015262000b448187620009b9565b905062000b55606083018662000a6f565b62000b64608083018562000a6f565b81810360a083015262000b788184620009b9565b9050979650505050505050565b600062000b9162000ba4565b905062000b9f828262000f4c565b919050565b6000604051905090565b600067ffffffffffffffff82111562000bcc5762000bcb6200100f565b5b62000bd78262001052565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600062000c0d8262000ec9565b915062000c1a8362000ec9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c525762000c5162000f82565b5b828201905092915050565b600062000c6a8262000ec9565b915062000c778362000ec9565b92508262000c8a5762000c8962000fb1565b5b828204905092915050565b6000808291508390505b600185111562000ce75780860481111562000cbf5762000cbe62000f82565b5b600185161562000ccf5780820291505b808102905062000cdf8562001063565b945062000c9f565b94509492505050565b600062000cfd8262000ec9565b915062000d0a8362000ed3565b925062000d397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000d41565b905092915050565b60008262000d53576001905062000e26565b8162000d63576000905062000e26565b816001811462000d7c576002811462000d875762000dbd565b600191505062000e26565b60ff84111562000d9c5762000d9b62000f82565b5b8360020a91508482111562000db65762000db562000f82565b5b5062000e26565b5060208310610133831016604e8410600b841016171562000df75782820a90508381111562000df15762000df062000f82565b5b62000e26565b62000e06848484600162000c95565b9250905081840481111562000e205762000e1f62000f82565b5b81810290505b9392505050565b600062000e3a8262000ec9565b915062000e478362000ec9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000e835762000e8262000f82565b5b828202905092915050565b600062000e9b8262000ec9565b915062000ea88362000ec9565b92508282101562000ebe5762000ebd62000f82565b5b828203905092915050565b6000819050919050565b600060ff82169050919050565b60005b8381101562000f0057808201518184015260208101905062000ee3565b8381111562000f10576000848401525b50505050565b6000600282049050600182168062000f2f57607f821691505b6020821081141562000f465762000f4562000fe0565b5b50919050565b62000f578262001052565b810181811067ffffffffffffffff8211171562000f795762000f786200100f565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f596f7520617265206e6f7420746865206f776e65720000000000000000000000600082015250565b7f4164646974696f6e206f766572666c6f77000000000000000000000000000000600082015250565b7f4d756c7469706c69636174696f6e206f766572666c6f77000000000000000000600082015250565b620010f68162000ec9565b81146200110257600080fd5b50565b620011108162000ed3565b81146200111c57600080fd5b50565b61371a806200112f6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80638456cb59116100c3578063c1292cc31161007c578063c1292cc314610386578063dd40e2e1146103a4578063dd62ed3e146103c0578063ec428fb6146103f0578063f2fde38b1461040e578063f6fa76b81461042a5761014d565b80638456cb59146102be5780638da5cb5b146102c857806395d89b41146102e657806398f903db14610304578063a9059cbb14610338578063b187bd26146103685761014d565b80632a62a490116101155780632a62a4901461020a578063313ce5671461023e5780633f4ba83a1461025c57806369c864b71461026657806370a082311461028457806379ba5097146102b45761014d565b806306fdde0314610152578063095ea7b31461017057806318160ddd146101a057806320126178146101be57806323b872dd146101da575b600080fd5b61015a610446565b6040516101679190612b12565b60405180910390f35b61018a60048036038101906101859190612548565b6104d8565b6040516101979190612af7565b60405180910390f35b6101a86104ef565b6040516101b59190612d7c565b60405180910390f35b6101d860048036038101906101d39190612588565b6104f9565b005b6101f460048036038101906101ef91906124f5565b6105a1565b6040516102019190612af7565b60405180910390f35b610224600480360381019061021f91906125d1565b610652565b604051610235959493929190612b34565b60405180910390f35b610246610887565b6040516102539190612e0d565b60405180910390f35b61026461089e565b005b61026e6109c4565b60405161027b9190612b12565b60405180910390f35b61029e60048036038101906102999190612488565b610a56565b6040516102ab9190612d7c565b60405180910390f35b6102bc610a9f565b005b6102c6610b5c565b005b6102d0610c82565b6040516102dd9190612a66565b60405180910390f35b6102ee610cab565b6040516102fb9190612b12565b60405180910390f35b61031e600480360381019061031991906125d1565b610d3d565b60405161032f959493929190612a81565b60405180910390f35b610352600480360381019061034d9190612548565b6111ba565b60405161035f9190612af7565b60405180910390f35b6103706111d1565b60405161037d9190612af7565b60405180910390f35b61038e6111e8565b60405161039b9190612d7c565b60405180910390f35b6103be60048036038101906103b991906125fe565b611201565b005b6103da60048036038101906103d591906124b5565b6114fe565b6040516103e79190612d7c565b60405180910390f35b6103f8611585565b6040516104059190612d7c565b60405180910390f35b61042860048036038101906104239190612488565b61158f565b005b610444600480360381019061043f91906125fe565b6116d1565b005b6060600880546104559061323a565b80601f01602080910402602001604051908101604052809291908181526020018280546104819061323a565b80156104ce5780601f106104a3576101008083540402835291602001916104ce565b820191906000526020600020905b8154815290600101906020018083116104b157829003601f168201915b5050505050905090565b60006104e5338484611aff565b6001905092915050565b6000600b54905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057e90612c1c565b60405180910390fd5b806003908051906020019061059d92919061234b565b5050565b60006105ae848484611cca565b610647843361064285600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3e90919063ffffffff16565b611aff565b600190509392505050565b60608060008060606004805490508611156106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612bdc565b60405180910390fd5b6000600560008881526020019081526020016000209050806000018160010182600201548360030154846004018480546106db9061323a565b80601f01602080910402602001604051908101604052809291908181526020018280546107079061323a565b80156107545780601f1061072957610100808354040283529160200191610754565b820191906000526020600020905b81548152906001019060200180831161073757829003601f168201915b505050505094508380546107679061323a565b80601f01602080910402602001604051908101604052809291908181526020018280546107939061323a565b80156107e05780601f106107b5576101008083540402835291602001916107e0565b820191906000526020600020905b8154815290600101906020018083116107c357829003601f168201915b505050505093508080546107f39061323a565b80601f016020809104026020016040519081016040528092919081815260200182805461081f9061323a565b801561086c5780601f106108415761010080835404028352916020019161086c565b820191906000526020600020905b81548152906001019060200180831161084f57829003601f168201915b50505050509050955095509550955095505091939590929450565b6000600a60009054906101000a900460ff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092390612c1c565b60405180910390fd5b600160149054906101000a900460ff1661097b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097290612cbc565b60405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6060600380546109d39061323a565b80601f01602080910402602001604051908101604052809291908181526020018280546109ff9061323a565b8015610a4c5780601f10610a2157610100808354040283529160200191610a4c565b820191906000526020600020905b815481529060010190602001808311610a2f57829003601f168201915b5050505050905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2690612bfc565b60405180910390fd5b610b5a600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611f97565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be190612c1c565b60405180910390fd5b600160149054906101000a900460ff1615610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190612d1c565b60405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054610cba9061323a565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce69061323a565b8015610d335780601f10610d0857610100808354040283529160200191610d33565b820191906000526020600020905b815481529060010190602001808311610d1657829003601f168201915b5050505050905090565b6060806060806060600480549050861115610d8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8490612d3c565b60405180910390fd5b60008667ffffffffffffffff811115610da957610da86133a2565b5b604051908082528060200260200182016040528015610ddc57816020015b6060815260200190600190039081610dc75790505b50905060008767ffffffffffffffff811115610dfb57610dfa6133a2565b5b604051908082528060200260200182016040528015610e2e57816020015b6060815260200190600190039081610e195790505b50905060008867ffffffffffffffff811115610e4d57610e4c6133a2565b5b604051908082528060200260200182016040528015610e7b5781602001602082028036833780820191505090505b50905060008967ffffffffffffffff811115610e9a57610e996133a2565b5b604051908082528060200260200182016040528015610ec85781602001602082028036833780820191505090505b50905060008a67ffffffffffffffff811115610ee757610ee66133a2565b5b604051908082528060200260200182016040528015610f1a57816020015b6060815260200190600190039081610f055790505b50905060005b8b81101561119c576000600560008381526020019081526020016000209050806000018054610f4e9061323a565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7a9061323a565b8015610fc75780601f10610f9c57610100808354040283529160200191610fc7565b820191906000526020600020905b815481529060010190602001808311610faa57829003601f168201915b5050505050878381518110610fdf57610fde613373565b5b6020026020010181905250806001018054610ff99061323a565b80601f01602080910402602001604051908101604052809291908181526020018280546110259061323a565b80156110725780601f1061104757610100808354040283529160200191611072565b820191906000526020600020905b81548152906001019060200180831161105557829003601f168201915b505050505086838151811061108a57611089613373565b5b602002602001018190525080600201548583815181106110ad576110ac613373565b5b60200260200101818152505080600301548483815181106110d1576110d0613373565b5b6020026020010181815250508060040180546110ec9061323a565b80601f01602080910402602001604051908101604052809291908181526020018280546111189061323a565b80156111655780601f1061113a57610100808354040283529160200191611165565b820191906000526020600020905b81548152906001019060200180831161114857829003601f168201915b505050505083838151811061117d5761117c613373565b5b60200260200101819052505080806111949061329d565b915050610f20565b50848484848499509950995099509950505050505091939590929450565b60006111c7338484611cca565b6001905092915050565b6000600160149054906101000a900460ff16905090565b600060016004805490506111fc919061316f565b905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461128f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128690612c1c565b60405180910390fd5b600160149054906101000a900460ff16156112df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d690612d1c565b60405180910390fd5b600061130f600a60009054906101000a900460ff16600a6113009190612ff7565b86611a2690919063ffffffff16565b905061132681600b54611aa190919063ffffffff16565b600b8190555061137e81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aa190919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006113cb611585565b90506113e86113e38483611aa190919063ffffffff16565b612054565b61142a858585896040518060400160405280600481526020017f4d494e54000000000000000000000000000000000000000000000000000000008152506120ec565b3373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8846040516114889190612d7c565b60405180910390a33373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114ee9190612d7c565b60405180910390a3505050505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600254905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461161d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161490612c1c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561168d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168490612b9c565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461175f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175690612c1c565b60405180910390fd5b600160149054906101000a900460ff16156117af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a690612d1c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561181f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181690612c9c565b60405180910390fd5b600061184f600a60009054906101000a900460ff16600a6118409190612ff7565b86611a2690919063ffffffff16565b90506118a381600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3e90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118fb81600b54611f3e90919063ffffffff16565b600b81905550600061190b611585565b90506119286119238483611f3e90919063ffffffff16565b612054565b61196a858585896040518060400160405280600481526020017f4255524e000000000000000000000000000000000000000000000000000000008152506120ec565b3373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040516119b09190612d7c565b60405180910390a2600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a169190612d7c565b60405180910390a3505050505050565b600080831415611a395760009050611a9b565b60008284611a479190613115565b9050828482611a569190612f73565b14611a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8d90612cfc565b60405180910390fd5b809150505b92915050565b6000808284611ab09190612f1d565b905083811015611af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aec90612c7c565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6690612c3c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd690612bbc565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611cbd9190612d7c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3190612cdc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611daa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da190612d5c565b60405180910390fd5b611dfc81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3e90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e9181600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aa190919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f319190612d7c565b60405180910390a3505050565b600082821115611f83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7a90612c5c565b60405180910390fd5b8183611f8f919061316f565b905092915050565b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f370116ad724b3fc87a2f6ff5e76e5a8cc7045b232d1431b7a4bca898c26fdace60405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d990612c1c565b60405180910390fd5b8060028190555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461217a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217190612c1c565b60405180910390fd5b60046040518060a0016040528087815260200186815260200185815260200184815260200183815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000190805190602001906121e892919061234b565b50602082015181600101908051906020019061220592919061234b565b506040820151816002015560608201518160030155608082015181600401908051906020019061223692919061234b565b5050506040518060a0016040528086815260200185815260200184815260200183815260200182815250600560006001600480549050612276919061316f565b815260200190815260200160002060008201518160000190805190602001906122a092919061234b565b5060208201518160010190805190602001906122bd92919061234b565b50604082015181600201556060820151816003015560808201518160040190805190602001906122ee92919061234b565b509050507f502388ad03174e9b1311b2adf76d5089bcd207e6311d1afda9dcf02157c5ac026001600480549050612325919061316f565b868686868660405161233c96959493929190612d97565b60405180910390a15050505050565b8280546123579061323a565b90600052602060002090601f01602090048101928261237957600085556123c0565b82601f1061239257805160ff19168380011785556123c0565b828001600101855582156123c0579182015b828111156123bf5782518255916020019190600101906123a4565b5b5090506123cd91906123d1565b5090565b5b808211156123ea5760008160009055506001016123d2565b5090565b60006124016123fc84612e4d565b612e28565b90508281526020810184848401111561241d5761241c6133d6565b5b6124288482856131f8565b509392505050565b60008135905061243f816136b6565b92915050565b600082601f83011261245a576124596133d1565b5b813561246a8482602086016123ee565b91505092915050565b600081359050612482816136cd565b92915050565b60006020828403121561249e5761249d6133e0565b5b60006124ac84828501612430565b91505092915050565b600080604083850312156124cc576124cb6133e0565b5b60006124da85828601612430565b92505060206124eb85828601612430565b9150509250929050565b60008060006060848603121561250e5761250d6133e0565b5b600061251c86828701612430565b935050602061252d86828701612430565b925050604061253e86828701612473565b9150509250925092565b6000806040838503121561255f5761255e6133e0565b5b600061256d85828601612430565b925050602061257e85828601612473565b9150509250929050565b60006020828403121561259e5761259d6133e0565b5b600082013567ffffffffffffffff8111156125bc576125bb6133db565b5b6125c884828501612445565b91505092915050565b6000602082840312156125e7576125e66133e0565b5b60006125f584828501612473565b91505092915050565b60008060008060808587031215612618576126176133e0565b5b600061262687828801612473565b945050602085013567ffffffffffffffff811115612647576126466133db565b5b61265387828801612445565b935050604085013567ffffffffffffffff811115612674576126736133db565b5b61268087828801612445565b925050606061269187828801612473565b91505092959194509250565b60006126a983836127ba565b905092915050565b60006126bd8383612a39565b60208301905092915050565b6126d2816131a3565b82525050565b60006126e382612e9e565b6126ed8185612ed9565b9350836020820285016126ff85612e7e565b8060005b8581101561273b578484038952815161271c858261269d565b945061272783612ebf565b925060208a01995050600181019050612703565b50829750879550505050505092915050565b600061275882612ea9565b6127628185612eea565b935061276d83612e8e565b8060005b8381101561279e57815161278588826126b1565b975061279083612ecc565b925050600181019050612771565b5085935050505092915050565b6127b4816131b5565b82525050565b60006127c582612eb4565b6127cf8185612efb565b93506127df818560208601613207565b6127e8816133e5565b840191505092915050565b60006127fe82612eb4565b6128088185612f0c565b9350612818818560208601613207565b612821816133e5565b840191505092915050565b6000612839600f83612f0c565b915061284482613403565b602082019050919050565b600061285c601b83612f0c565b91506128678261342c565b602082019050919050565b600061287f603b83612f0c565b915061288a82613455565b604082019050919050565b60006128a2601983612f0c565b91506128ad826134a4565b602082019050919050565b60006128c5601583612f0c565b91506128d0826134cd565b602082019050919050565b60006128e8601d83612f0c565b91506128f3826134f6565b602082019050919050565b600061290b601483612f0c565b91506129168261351f565b602082019050919050565b600061292e601183612f0c565b915061293982613548565b602082019050919050565b6000612951601783612f0c565b915061295c82613571565b602082019050919050565b6000612974601783612f0c565b915061297f8261359a565b602082019050919050565b6000612997601683612f0c565b91506129a2826135c3565b602082019050919050565b60006129ba601783612f0c565b91506129c5826135ec565b602082019050919050565b60006129dd601383612f0c565b91506129e882613615565b602082019050919050565b6000612a00603b83612f0c565b9150612a0b8261363e565b604082019050919050565b6000612a23601983612f0c565b9150612a2e8261368d565b602082019050919050565b612a42816131e1565b82525050565b612a51816131e1565b82525050565b612a60816131eb565b82525050565b6000602082019050612a7b60008301846126c9565b92915050565b600060a0820190508181036000830152612a9b81886126d8565b90508181036020830152612aaf81876126d8565b90508181036040830152612ac3818661274d565b90508181036060830152612ad7818561274d565b90508181036080830152612aeb81846126d8565b90509695505050505050565b6000602082019050612b0c60008301846127ab565b92915050565b60006020820190508181036000830152612b2c81846127f3565b905092915050565b600060a0820190508181036000830152612b4e81886127f3565b90508181036020830152612b6281876127f3565b9050612b716040830186612a48565b612b7e6060830185612a48565b8181036080830152612b9081846127f3565b90509695505050505050565b60006020820190508181036000830152612bb58161282c565b9050919050565b60006020820190508181036000830152612bd58161284f565b9050919050565b60006020820190508181036000830152612bf581612872565b9050919050565b60006020820190508181036000830152612c1581612895565b9050919050565b60006020820190508181036000830152612c35816128b8565b9050919050565b60006020820190508181036000830152612c55816128db565b9050919050565b60006020820190508181036000830152612c75816128fe565b9050919050565b60006020820190508181036000830152612c9581612921565b9050919050565b60006020820190508181036000830152612cb581612944565b9050919050565b60006020820190508181036000830152612cd581612967565b9050919050565b60006020820190508181036000830152612cf58161298a565b9050919050565b60006020820190508181036000830152612d15816129ad565b9050919050565b60006020820190508181036000830152612d35816129d0565b9050919050565b60006020820190508181036000830152612d55816129f3565b9050919050565b60006020820190508181036000830152612d7581612a16565b9050919050565b6000602082019050612d916000830184612a48565b92915050565b600060c082019050612dac6000830189612a48565b8181036020830152612dbe81886127f3565b90508181036040830152612dd281876127f3565b9050612de16060830186612a48565b612dee6080830185612a48565b81810360a0830152612e0081846127f3565b9050979650505050505050565b6000602082019050612e226000830184612a57565b92915050565b6000612e32612e43565b9050612e3e828261326c565b919050565b6000604051905090565b600067ffffffffffffffff821115612e6857612e676133a2565b5b612e71826133e5565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612f28826131e1565b9150612f33836131e1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f6857612f676132e6565b5b828201905092915050565b6000612f7e826131e1565b9150612f89836131e1565b925082612f9957612f98613315565b5b828204905092915050565b6000808291508390505b6001851115612fee57808604811115612fca57612fc96132e6565b5b6001851615612fd95780820291505b8081029050612fe7856133f6565b9450612fae565b94509492505050565b6000613002826131e1565b915061300d836131eb565b925061303a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613042565b905092915050565b600082613052576001905061310e565b81613060576000905061310e565b81600181146130765760028114613080576130af565b600191505061310e565b60ff841115613092576130916132e6565b5b8360020a9150848211156130a9576130a86132e6565b5b5061310e565b5060208310610133831016604e8410600b84101617156130e45782820a9050838111156130df576130de6132e6565b5b61310e565b6130f18484846001612fa4565b92509050818404811115613108576131076132e6565b5b81810290505b9392505050565b6000613120826131e1565b915061312b836131e1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613164576131636132e6565b5b828202905092915050565b600061317a826131e1565b9150613185836131e1565b925082821015613198576131976132e6565b5b828203905092915050565b60006131ae826131c1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561322557808201518184015260208101905061320a565b83811115613234576000848401525b50505050565b6000600282049050600182168061325257607f821691505b6020821081141561326657613265613344565b5b50919050565b613275826133e5565b810181811067ffffffffffffffff82111715613294576132936133a2565b5b80604052505050565b60006132a8826131e1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156132db576132da6132e6565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f496e76616c696420616464726573730000000000000000000000000000000000600082015250565b7f417070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b7f496e76616c696420706f736974696f6e2c2076616c756520697320677265617460008201527f6572207468616e20746865205f636f6c6c61746572616c4c6973740000000000602082015250565b7f596f7520617265206e6f7420746865206e6577206f776e657200000000000000600082015250565b7f596f7520617265206e6f7420746865206f776e65720000000000000000000000600082015250565b7f417070726f76652066726f6d20746865207a65726f2061646472657373000000600082015250565b7f5375627472616374696f6e206f766572666c6f77000000000000000000000000600082015250565b7f4164646974696f6e206f766572666c6f77000000000000000000000000000000600082015250565b7f496e76616c6964206163636f756e742061646472657373000000000000000000600082015250565b7f436f6e7472616374206973206e6f74207061757365642e000000000000000000600082015250565b7f53656e64657220496e76616c6964206164647265737300000000000000000000600082015250565b7f4d756c7469706c69636174696f6e206f766572666c6f77000000000000000000600082015250565b7f436f6e7472616374206973207061757365642e00000000000000000000000000600082015250565b7f496e76616c696420696e64657865732c2076616c75652069732067726561746560008201527f72207468616e20746865205f636f6c6c61746572616c4c697374210000000000602082015250565b7f526563697069656e7420496e76616c6964204164647265737300000000000000600082015250565b6136bf816131a3565b81146136ca57600080fd5b50565b6136d6816131e1565b81146136e157600080fd5b5056fea2646970667358221220a20c4b0fc726acd4c98073174ea70250c027952c74d215411d8c7de057ae124364736f6c6343000805003300000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000027240000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000a7000000000000000000000000000000000000000000000000000000000000000b436f6666656520436f696e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005434f4642520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009303132312f32303231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033030310000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80638456cb59116100c3578063c1292cc31161007c578063c1292cc314610386578063dd40e2e1146103a4578063dd62ed3e146103c0578063ec428fb6146103f0578063f2fde38b1461040e578063f6fa76b81461042a5761014d565b80638456cb59146102be5780638da5cb5b146102c857806395d89b41146102e657806398f903db14610304578063a9059cbb14610338578063b187bd26146103685761014d565b80632a62a490116101155780632a62a4901461020a578063313ce5671461023e5780633f4ba83a1461025c57806369c864b71461026657806370a082311461028457806379ba5097146102b45761014d565b806306fdde0314610152578063095ea7b31461017057806318160ddd146101a057806320126178146101be57806323b872dd146101da575b600080fd5b61015a610446565b6040516101679190612b12565b60405180910390f35b61018a60048036038101906101859190612548565b6104d8565b6040516101979190612af7565b60405180910390f35b6101a86104ef565b6040516101b59190612d7c565b60405180910390f35b6101d860048036038101906101d39190612588565b6104f9565b005b6101f460048036038101906101ef91906124f5565b6105a1565b6040516102019190612af7565b60405180910390f35b610224600480360381019061021f91906125d1565b610652565b604051610235959493929190612b34565b60405180910390f35b610246610887565b6040516102539190612e0d565b60405180910390f35b61026461089e565b005b61026e6109c4565b60405161027b9190612b12565b60405180910390f35b61029e60048036038101906102999190612488565b610a56565b6040516102ab9190612d7c565b60405180910390f35b6102bc610a9f565b005b6102c6610b5c565b005b6102d0610c82565b6040516102dd9190612a66565b60405180910390f35b6102ee610cab565b6040516102fb9190612b12565b60405180910390f35b61031e600480360381019061031991906125d1565b610d3d565b60405161032f959493929190612a81565b60405180910390f35b610352600480360381019061034d9190612548565b6111ba565b60405161035f9190612af7565b60405180910390f35b6103706111d1565b60405161037d9190612af7565b60405180910390f35b61038e6111e8565b60405161039b9190612d7c565b60405180910390f35b6103be60048036038101906103b991906125fe565b611201565b005b6103da60048036038101906103d591906124b5565b6114fe565b6040516103e79190612d7c565b60405180910390f35b6103f8611585565b6040516104059190612d7c565b60405180910390f35b61042860048036038101906104239190612488565b61158f565b005b610444600480360381019061043f91906125fe565b6116d1565b005b6060600880546104559061323a565b80601f01602080910402602001604051908101604052809291908181526020018280546104819061323a565b80156104ce5780601f106104a3576101008083540402835291602001916104ce565b820191906000526020600020905b8154815290600101906020018083116104b157829003601f168201915b5050505050905090565b60006104e5338484611aff565b6001905092915050565b6000600b54905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057e90612c1c565b60405180910390fd5b806003908051906020019061059d92919061234b565b5050565b60006105ae848484611cca565b610647843361064285600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3e90919063ffffffff16565b611aff565b600190509392505050565b60608060008060606004805490508611156106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612bdc565b60405180910390fd5b6000600560008881526020019081526020016000209050806000018160010182600201548360030154846004018480546106db9061323a565b80601f01602080910402602001604051908101604052809291908181526020018280546107079061323a565b80156107545780601f1061072957610100808354040283529160200191610754565b820191906000526020600020905b81548152906001019060200180831161073757829003601f168201915b505050505094508380546107679061323a565b80601f01602080910402602001604051908101604052809291908181526020018280546107939061323a565b80156107e05780601f106107b5576101008083540402835291602001916107e0565b820191906000526020600020905b8154815290600101906020018083116107c357829003601f168201915b505050505093508080546107f39061323a565b80601f016020809104026020016040519081016040528092919081815260200182805461081f9061323a565b801561086c5780601f106108415761010080835404028352916020019161086c565b820191906000526020600020905b81548152906001019060200180831161084f57829003601f168201915b50505050509050955095509550955095505091939590929450565b6000600a60009054906101000a900460ff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092390612c1c565b60405180910390fd5b600160149054906101000a900460ff1661097b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097290612cbc565b60405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6060600380546109d39061323a565b80601f01602080910402602001604051908101604052809291908181526020018280546109ff9061323a565b8015610a4c5780601f10610a2157610100808354040283529160200191610a4c565b820191906000526020600020905b815481529060010190602001808311610a2f57829003601f168201915b5050505050905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2690612bfc565b60405180910390fd5b610b5a600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611f97565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be190612c1c565b60405180910390fd5b600160149054906101000a900460ff1615610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190612d1c565b60405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054610cba9061323a565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce69061323a565b8015610d335780601f10610d0857610100808354040283529160200191610d33565b820191906000526020600020905b815481529060010190602001808311610d1657829003601f168201915b5050505050905090565b6060806060806060600480549050861115610d8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8490612d3c565b60405180910390fd5b60008667ffffffffffffffff811115610da957610da86133a2565b5b604051908082528060200260200182016040528015610ddc57816020015b6060815260200190600190039081610dc75790505b50905060008767ffffffffffffffff811115610dfb57610dfa6133a2565b5b604051908082528060200260200182016040528015610e2e57816020015b6060815260200190600190039081610e195790505b50905060008867ffffffffffffffff811115610e4d57610e4c6133a2565b5b604051908082528060200260200182016040528015610e7b5781602001602082028036833780820191505090505b50905060008967ffffffffffffffff811115610e9a57610e996133a2565b5b604051908082528060200260200182016040528015610ec85781602001602082028036833780820191505090505b50905060008a67ffffffffffffffff811115610ee757610ee66133a2565b5b604051908082528060200260200182016040528015610f1a57816020015b6060815260200190600190039081610f055790505b50905060005b8b81101561119c576000600560008381526020019081526020016000209050806000018054610f4e9061323a565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7a9061323a565b8015610fc75780601f10610f9c57610100808354040283529160200191610fc7565b820191906000526020600020905b815481529060010190602001808311610faa57829003601f168201915b5050505050878381518110610fdf57610fde613373565b5b6020026020010181905250806001018054610ff99061323a565b80601f01602080910402602001604051908101604052809291908181526020018280546110259061323a565b80156110725780601f1061104757610100808354040283529160200191611072565b820191906000526020600020905b81548152906001019060200180831161105557829003601f168201915b505050505086838151811061108a57611089613373565b5b602002602001018190525080600201548583815181106110ad576110ac613373565b5b60200260200101818152505080600301548483815181106110d1576110d0613373565b5b6020026020010181815250508060040180546110ec9061323a565b80601f01602080910402602001604051908101604052809291908181526020018280546111189061323a565b80156111655780601f1061113a57610100808354040283529160200191611165565b820191906000526020600020905b81548152906001019060200180831161114857829003601f168201915b505050505083838151811061117d5761117c613373565b5b60200260200101819052505080806111949061329d565b915050610f20565b50848484848499509950995099509950505050505091939590929450565b60006111c7338484611cca565b6001905092915050565b6000600160149054906101000a900460ff16905090565b600060016004805490506111fc919061316f565b905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461128f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128690612c1c565b60405180910390fd5b600160149054906101000a900460ff16156112df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d690612d1c565b60405180910390fd5b600061130f600a60009054906101000a900460ff16600a6113009190612ff7565b86611a2690919063ffffffff16565b905061132681600b54611aa190919063ffffffff16565b600b8190555061137e81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aa190919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006113cb611585565b90506113e86113e38483611aa190919063ffffffff16565b612054565b61142a858585896040518060400160405280600481526020017f4d494e54000000000000000000000000000000000000000000000000000000008152506120ec565b3373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8846040516114889190612d7c565b60405180910390a33373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114ee9190612d7c565b60405180910390a3505050505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600254905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461161d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161490612c1c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561168d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168490612b9c565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461175f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175690612c1c565b60405180910390fd5b600160149054906101000a900460ff16156117af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a690612d1c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561181f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181690612c9c565b60405180910390fd5b600061184f600a60009054906101000a900460ff16600a6118409190612ff7565b86611a2690919063ffffffff16565b90506118a381600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3e90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118fb81600b54611f3e90919063ffffffff16565b600b81905550600061190b611585565b90506119286119238483611f3e90919063ffffffff16565b612054565b61196a858585896040518060400160405280600481526020017f4255524e000000000000000000000000000000000000000000000000000000008152506120ec565b3373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040516119b09190612d7c565b60405180910390a2600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a169190612d7c565b60405180910390a3505050505050565b600080831415611a395760009050611a9b565b60008284611a479190613115565b9050828482611a569190612f73565b14611a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8d90612cfc565b60405180910390fd5b809150505b92915050565b6000808284611ab09190612f1d565b905083811015611af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aec90612c7c565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6690612c3c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd690612bbc565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611cbd9190612d7c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3190612cdc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611daa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da190612d5c565b60405180910390fd5b611dfc81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3e90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e9181600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aa190919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f319190612d7c565b60405180910390a3505050565b600082821115611f83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7a90612c5c565b60405180910390fd5b8183611f8f919061316f565b905092915050565b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f370116ad724b3fc87a2f6ff5e76e5a8cc7045b232d1431b7a4bca898c26fdace60405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d990612c1c565b60405180910390fd5b8060028190555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461217a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217190612c1c565b60405180910390fd5b60046040518060a0016040528087815260200186815260200185815260200184815260200183815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000190805190602001906121e892919061234b565b50602082015181600101908051906020019061220592919061234b565b506040820151816002015560608201518160030155608082015181600401908051906020019061223692919061234b565b5050506040518060a0016040528086815260200185815260200184815260200183815260200182815250600560006001600480549050612276919061316f565b815260200190815260200160002060008201518160000190805190602001906122a092919061234b565b5060208201518160010190805190602001906122bd92919061234b565b50604082015181600201556060820151816003015560808201518160040190805190602001906122ee92919061234b565b509050507f502388ad03174e9b1311b2adf76d5089bcd207e6311d1afda9dcf02157c5ac026001600480549050612325919061316f565b868686868660405161233c96959493929190612d97565b60405180910390a15050505050565b8280546123579061323a565b90600052602060002090601f01602090048101928261237957600085556123c0565b82601f1061239257805160ff19168380011785556123c0565b828001600101855582156123c0579182015b828111156123bf5782518255916020019190600101906123a4565b5b5090506123cd91906123d1565b5090565b5b808211156123ea5760008160009055506001016123d2565b5090565b60006124016123fc84612e4d565b612e28565b90508281526020810184848401111561241d5761241c6133d6565b5b6124288482856131f8565b509392505050565b60008135905061243f816136b6565b92915050565b600082601f83011261245a576124596133d1565b5b813561246a8482602086016123ee565b91505092915050565b600081359050612482816136cd565b92915050565b60006020828403121561249e5761249d6133e0565b5b60006124ac84828501612430565b91505092915050565b600080604083850312156124cc576124cb6133e0565b5b60006124da85828601612430565b92505060206124eb85828601612430565b9150509250929050565b60008060006060848603121561250e5761250d6133e0565b5b600061251c86828701612430565b935050602061252d86828701612430565b925050604061253e86828701612473565b9150509250925092565b6000806040838503121561255f5761255e6133e0565b5b600061256d85828601612430565b925050602061257e85828601612473565b9150509250929050565b60006020828403121561259e5761259d6133e0565b5b600082013567ffffffffffffffff8111156125bc576125bb6133db565b5b6125c884828501612445565b91505092915050565b6000602082840312156125e7576125e66133e0565b5b60006125f584828501612473565b91505092915050565b60008060008060808587031215612618576126176133e0565b5b600061262687828801612473565b945050602085013567ffffffffffffffff811115612647576126466133db565b5b61265387828801612445565b935050604085013567ffffffffffffffff811115612674576126736133db565b5b61268087828801612445565b925050606061269187828801612473565b91505092959194509250565b60006126a983836127ba565b905092915050565b60006126bd8383612a39565b60208301905092915050565b6126d2816131a3565b82525050565b60006126e382612e9e565b6126ed8185612ed9565b9350836020820285016126ff85612e7e565b8060005b8581101561273b578484038952815161271c858261269d565b945061272783612ebf565b925060208a01995050600181019050612703565b50829750879550505050505092915050565b600061275882612ea9565b6127628185612eea565b935061276d83612e8e565b8060005b8381101561279e57815161278588826126b1565b975061279083612ecc565b925050600181019050612771565b5085935050505092915050565b6127b4816131b5565b82525050565b60006127c582612eb4565b6127cf8185612efb565b93506127df818560208601613207565b6127e8816133e5565b840191505092915050565b60006127fe82612eb4565b6128088185612f0c565b9350612818818560208601613207565b612821816133e5565b840191505092915050565b6000612839600f83612f0c565b915061284482613403565b602082019050919050565b600061285c601b83612f0c565b91506128678261342c565b602082019050919050565b600061287f603b83612f0c565b915061288a82613455565b604082019050919050565b60006128a2601983612f0c565b91506128ad826134a4565b602082019050919050565b60006128c5601583612f0c565b91506128d0826134cd565b602082019050919050565b60006128e8601d83612f0c565b91506128f3826134f6565b602082019050919050565b600061290b601483612f0c565b91506129168261351f565b602082019050919050565b600061292e601183612f0c565b915061293982613548565b602082019050919050565b6000612951601783612f0c565b915061295c82613571565b602082019050919050565b6000612974601783612f0c565b915061297f8261359a565b602082019050919050565b6000612997601683612f0c565b91506129a2826135c3565b602082019050919050565b60006129ba601783612f0c565b91506129c5826135ec565b602082019050919050565b60006129dd601383612f0c565b91506129e882613615565b602082019050919050565b6000612a00603b83612f0c565b9150612a0b8261363e565b604082019050919050565b6000612a23601983612f0c565b9150612a2e8261368d565b602082019050919050565b612a42816131e1565b82525050565b612a51816131e1565b82525050565b612a60816131eb565b82525050565b6000602082019050612a7b60008301846126c9565b92915050565b600060a0820190508181036000830152612a9b81886126d8565b90508181036020830152612aaf81876126d8565b90508181036040830152612ac3818661274d565b90508181036060830152612ad7818561274d565b90508181036080830152612aeb81846126d8565b90509695505050505050565b6000602082019050612b0c60008301846127ab565b92915050565b60006020820190508181036000830152612b2c81846127f3565b905092915050565b600060a0820190508181036000830152612b4e81886127f3565b90508181036020830152612b6281876127f3565b9050612b716040830186612a48565b612b7e6060830185612a48565b8181036080830152612b9081846127f3565b90509695505050505050565b60006020820190508181036000830152612bb58161282c565b9050919050565b60006020820190508181036000830152612bd58161284f565b9050919050565b60006020820190508181036000830152612bf581612872565b9050919050565b60006020820190508181036000830152612c1581612895565b9050919050565b60006020820190508181036000830152612c35816128b8565b9050919050565b60006020820190508181036000830152612c55816128db565b9050919050565b60006020820190508181036000830152612c75816128fe565b9050919050565b60006020820190508181036000830152612c9581612921565b9050919050565b60006020820190508181036000830152612cb581612944565b9050919050565b60006020820190508181036000830152612cd581612967565b9050919050565b60006020820190508181036000830152612cf58161298a565b9050919050565b60006020820190508181036000830152612d15816129ad565b9050919050565b60006020820190508181036000830152612d35816129d0565b9050919050565b60006020820190508181036000830152612d55816129f3565b9050919050565b60006020820190508181036000830152612d7581612a16565b9050919050565b6000602082019050612d916000830184612a48565b92915050565b600060c082019050612dac6000830189612a48565b8181036020830152612dbe81886127f3565b90508181036040830152612dd281876127f3565b9050612de16060830186612a48565b612dee6080830185612a48565b81810360a0830152612e0081846127f3565b9050979650505050505050565b6000602082019050612e226000830184612a57565b92915050565b6000612e32612e43565b9050612e3e828261326c565b919050565b6000604051905090565b600067ffffffffffffffff821115612e6857612e676133a2565b5b612e71826133e5565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612f28826131e1565b9150612f33836131e1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f6857612f676132e6565b5b828201905092915050565b6000612f7e826131e1565b9150612f89836131e1565b925082612f9957612f98613315565b5b828204905092915050565b6000808291508390505b6001851115612fee57808604811115612fca57612fc96132e6565b5b6001851615612fd95780820291505b8081029050612fe7856133f6565b9450612fae565b94509492505050565b6000613002826131e1565b915061300d836131eb565b925061303a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613042565b905092915050565b600082613052576001905061310e565b81613060576000905061310e565b81600181146130765760028114613080576130af565b600191505061310e565b60ff841115613092576130916132e6565b5b8360020a9150848211156130a9576130a86132e6565b5b5061310e565b5060208310610133831016604e8410600b84101617156130e45782820a9050838111156130df576130de6132e6565b5b61310e565b6130f18484846001612fa4565b92509050818404811115613108576131076132e6565b5b81810290505b9392505050565b6000613120826131e1565b915061312b836131e1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613164576131636132e6565b5b828202905092915050565b600061317a826131e1565b9150613185836131e1565b925082821015613198576131976132e6565b5b828203905092915050565b60006131ae826131c1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561322557808201518184015260208101905061320a565b83811115613234576000848401525b50505050565b6000600282049050600182168061325257607f821691505b6020821081141561326657613265613344565b5b50919050565b613275826133e5565b810181811067ffffffffffffffff82111715613294576132936133a2565b5b80604052505050565b60006132a8826131e1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156132db576132da6132e6565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f496e76616c696420616464726573730000000000000000000000000000000000600082015250565b7f417070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b7f496e76616c696420706f736974696f6e2c2076616c756520697320677265617460008201527f6572207468616e20746865205f636f6c6c61746572616c4c6973740000000000602082015250565b7f596f7520617265206e6f7420746865206e6577206f776e657200000000000000600082015250565b7f596f7520617265206e6f7420746865206f776e65720000000000000000000000600082015250565b7f417070726f76652066726f6d20746865207a65726f2061646472657373000000600082015250565b7f5375627472616374696f6e206f766572666c6f77000000000000000000000000600082015250565b7f4164646974696f6e206f766572666c6f77000000000000000000000000000000600082015250565b7f496e76616c6964206163636f756e742061646472657373000000000000000000600082015250565b7f436f6e7472616374206973206e6f74207061757365642e000000000000000000600082015250565b7f53656e64657220496e76616c6964206164647265737300000000000000000000600082015250565b7f4d756c7469706c69636174696f6e206f766572666c6f77000000000000000000600082015250565b7f436f6e7472616374206973207061757365642e00000000000000000000000000600082015250565b7f496e76616c696420696e64657865732c2076616c75652069732067726561746560008201527f72207468616e20746865205f636f6c6c61746572616c4c697374210000000000602082015250565b7f526563697069656e7420496e76616c6964204164647265737300000000000000600082015250565b6136bf816131a3565b81146136ca57600080fd5b50565b6136d6816131e1565b81146136e157600080fd5b5056fea2646970667358221220a20c4b0fc726acd4c98073174ea70250c027952c74d215411d8c7de057ae124364736f6c63430008050033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000027240000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000a7000000000000000000000000000000000000000000000000000000000000000b436f6666656520436f696e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005434f4642520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009303132312f32303231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033030310000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name_ (string): Coffee Coin
Arg [1] : symbol_ (string): COFBR
Arg [2] : totalSupply_ (uint256): 10020
Arg [3] : decimals_ (uint8): 3
Arg [4] : cda_wa_document_ (string): 0121/2021
Arg [5] : book_ (string): 001
Arg [6] : bags_ (uint256): 167
-----Encoded View---------------
15 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [2] : 0000000000000000000000000000000000000000000000000000000000002724
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [5] : 00000000000000000000000000000000000000000000000000000000000001a0
Arg [6] : 00000000000000000000000000000000000000000000000000000000000000a7
Arg [7] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [8] : 436f6666656520436f696e000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [10] : 434f464252000000000000000000000000000000000000000000000000000000
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [12] : 303132312f323032310000000000000000000000000000000000000000000000
Arg [13] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [14] : 3030310000000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
7411:4763:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8493:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9338:157;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8782:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4993:87;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9507:259;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6331:439;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;8687:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3583:106;;;:::i;:::-;;4893:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8894:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2616:152;;;:::i;:::-;;3467:104;;;:::i;:::-;;1820:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8588:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5304:1015;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;9025:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3157:80;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6782:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11570:599;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9186:140;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5092:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2306:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10697:660;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8493:83;8530:13;8563:5;8556:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8493:83;:::o;9338:157::-;9412:4;9429:36;9438:10;9450:7;9459:5;9429:8;:36::i;:::-;9483:4;9476:11;;9338:157;;;;:::o;8782:100::-;8835:7;8862:12;;8855:19;;8782:100;:::o;4993:87::-;2093:6;;;;;;;;;;2079:20;;:10;:20;;;2071:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;5069:3:::1;5059:7;:13;;;;;;;;;;;;:::i;:::-;;4993:87:::0;:::o;9507:259::-;9604:4;9621:35;9631:6;9639:9;9650:5;9621:9;:35::i;:::-;9667:69;9676:6;9684:10;9696:39;9729:5;9696:8;:16;9705:6;9696:16;;;;;;;;;;;;;;;:28;9713:10;9696:28;;;;;;;;;;;;;;;;:32;;:39;;;;:::i;:::-;9667:8;:69::i;:::-;9754:4;9747:11;;9507:259;;;;;:::o;6331:439::-;6390:29;6421:18;6441:12;6455:19;6476:27;6536:15;:22;;;;6523:9;:35;;6515:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;6633:20;6656:11;:22;6668:9;6656:22;;;;;;;;;;;6633:45;;6697:1;:17;;6716:1;:6;;6724:1;:6;;;6732:1;:13;;;6746:1;:15;;6689:73;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6331:439;;;;;;;:::o;8687:83::-;8728:5;8753:9;;;;;;;;;;;8746:16;;8687:83;:::o;3583:106::-;2093:6;;;;;;;;;;2079:20;;:10;:20;;;2071:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;3398:9:::1;;;;;;;;;;;3390:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;3651:5:::2;3639:9;;:17;;;;;;;;;;;;;;;;;;3672:9;;;;;;;;;;3583:106::o:0;4893:88::-;4934:13;4966:7;4959:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4893:88;:::o;8894:119::-;8960:7;8987:9;:18;8997:7;8987:18;;;;;;;;;;;;;;;;8980:25;;8894:119;;;:::o;2616:152::-;2681:9;;;;;;;;;;;2667:23;;:10;:23;;;2659:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;2731:29;2750:9;;;;;;;;;;;2731:18;:29::i;:::-;2616:152::o;3467:104::-;2093:6;;;;;;;;;;2079:20;;:10;:20;;;2071:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;3293:9:::1;;;;;;;;;;;3292:10;3284:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;3536:4:::2;3524:9:::0;::::2;:16;;;;;;;;;;;;;;;;;;3556:7;;;;;;;;;;3467:104::o:0;1820:77::-;1857:7;1883:6;;;;;;;;;;;1876:13;;1820:77;:::o;8588:87::-;8627:13;8660:7;8653:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8588:87;:::o;5304:1015::-;5359:26;5387:21;5410;5433:30;5464;5523:15;:22;;;;5511:8;:34;;5503:106;;;;;;;;;;;;:::i;:::-;;;;;;;;;5619:27;5662:8;5649:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5619:52;;5681:23;5720:8;5707:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5681:48;;5739:23;5779:8;5765:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5739:49;;5798:30;5845:8;5831:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5798:56;;5864:32;5912:8;5899:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5864:57;;5945:6;5940:302;5961:8;5957:1;:12;5940:302;;;5989:20;6012:11;:14;6024:1;6012:14;;;;;;;;;;;5989:37;;6056:1;:17;;6040:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:10;6051:1;6040:13;;;;;;;;:::i;:::-;;;;;;;:33;;;;6099:1;:6;;6087:18;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:6;6094:1;6087:9;;;;;;;;:::i;:::-;;;;;;;:18;;;;6130:1;:6;;;6119:5;6125:1;6119:8;;;;;;;;:::i;:::-;;;;;;;:17;;;;;6168:1;:13;;;6150:12;6163:1;6150:15;;;;;;;;:::i;:::-;;;;;;;:31;;;;;6216:1;:15;;6195:36;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:15;6211:1;6195:18;;;;;;;;:::i;:::-;;;;;;;:36;;;;5975:267;5971:3;;;;;:::i;:::-;;;;5940:302;;;;6258:10;6269:6;6276:5;6282:12;6295:15;6251:60;;;;;;;;;;;;;;;5304:1015;;;;;;;:::o;9025:149::-;9095:4;9112:32;9122:10;9134:2;9138:5;9112:9;:32::i;:::-;9162:4;9155:11;;9025:149;;;;:::o;3157:80::-;3197:4;3220:9;;;;;;;;;;;3213:16;;3157:80;:::o;6782:106::-;6820:7;6869:1;6846:15;:22;;;;:24;;;;:::i;:::-;6839:31;;6782:106;:::o;11570:599::-;2093:6;;;;;;;;;;2079:20;;:10;:20;;;2071:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;3293:9:::1;;;;;;;;;;;3292:10;3284:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;11709:15:::2;11727:28;11745:9;;;;;;;;;;;11739:2;:15;;;;:::i;:::-;11727:7;:11;;:28;;;;:::i;:::-;11709:46;;11781:25;11798:7;11781:12;;:16;;:25;;;;:::i;:::-;11766:12;:40;;;;11841:34;11867:7;11841:9;:21;11851:10;11841:21;;;;;;;;;;;;;;;;:25;;:34;;;;:::i;:::-;11817:9;:21;11827:10;11817:21;;;;;;;;;;;;;;;:58;;;;11886:20;11909:16;:14;:16::i;:::-;11886:39;;11936;11951:23;11968:5;11951:12;:16;;:23;;;;:::i;:::-;11936:14;:39::i;:::-;11986:65;12003:16;12021:5;12028;12035:7;11986:65;;;;;;;;;;;;;;;;::::0;:16:::2;:65::i;:::-;12084:10;12067:37;;12080:1;12067:37;;;12096:7;12067:37;;;;;;:::i;:::-;;;;;;;;12141:10;12120:41;;12137:1;12120:41;;;12153:7;12120:41;;;;;;:::i;:::-;;;;;;;;11698:471;;11570:599:::0;;;;:::o;9186:140::-;9267:7;9294:8;:15;9303:5;9294:15;;;;;;;;;;;;;;;:24;9310:7;9294:24;;;;;;;;;;;;;;;;9287:31;;9186:140;;;;:::o;5092:92::-;5138:7;5164:12;;5157:19;;5092:92;:::o;2306:164::-;2093:6;;;;;;;;;;2079:20;;:10;:20;;;2071:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;2408:1:::1;2387:23;;:9;:23;;;;2379:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;2453:9;2441;;:21;;;;;;;;;;;;;;;;;;2306:164:::0;:::o;10697:660::-;2093:6;;;;;;;;;;2079:20;;:10;:20;;;2071:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;3293:9:::1;;;;;;;;;;;3292:10;3284:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;10867:1:::2;10845:24;;:10;:24;;;;10837:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10909:15;10927:28;10945:9;;;;;;;;;;;10939:2;:15;;;;:::i;:::-;10927:7;:11;;:28;;;;:::i;:::-;10909:46;;10990:34;11016:7;10990:9;:21;11000:10;10990:21;;;;;;;;;;;;;;;;:25;;:34;;;;:::i;:::-;10966:9;:21;10976:10;10966:21;;;;;;;;;;;;;;;:58;;;;11050:25;11067:7;11050:12;;:16;;:25;;;;:::i;:::-;11035:12;:40;;;;11086:20;11109:16;:14;:16::i;:::-;11086:39;;11136;11151:23;11168:5;11151:12;:16;;:23;;;;:::i;:::-;11136:14;:39::i;:::-;11186:65;11203:16;11221:5;11228;11235:7;11186:65;;;;;;;;;;;;;;;;::::0;:16:::2;:65::i;:::-;11272:10;11267:25;;;11284:7;11267:25;;;;;;:::i;:::-;;;;;;;;11337:1;11308:41;;11317:10;11308:41;;;11341:7;11308:41;;;;;;:::i;:::-;;;;;;;;10826:531;;10697:660:::0;;;;:::o;925:236::-;983:7;1012:1;1007;:6;1003:47;;;1037:1;1030:8;;;;1003:47;1060:9;1076:1;1072;:5;;;;:::i;:::-;1060:17;;1105:1;1100;1096;:5;;;;:::i;:::-;:10;1088:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1152:1;1145:8;;;925:236;;;;;:::o;618:163::-;676:7;694:9;710:1;706;:5;;;;:::i;:::-;694:17;;733:1;728;:6;;720:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;772:1;765:8;;;618:163;;;;:::o;10166:329::-;10280:1;10262:20;;:6;:20;;;;10254:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;10355:1;10335:22;;:8;:22;;;;10327:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;10429:7;10400:8;:16;10409:6;10400:16;;;;;;;;;;;;;;;:26;10417:8;10400:26;;;;;;;;;;;;;;;:36;;;;10469:8;10452:35;;10461:6;10452:35;;;10479:7;10452:35;;;;;;:::i;:::-;;;;;;;;10166:329;;;:::o;9784:370::-;9892:1;9875:19;;:5;:19;;;;9867:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9955:1;9940:17;;:3;:17;;;;9932:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;10017:29;10038:7;10017:9;:16;10027:5;10017:16;;;;;;;;;;;;;;;;:20;;:29;;;;:::i;:::-;9998:9;:16;10008:5;9998:16;;;;;;;;;;;;;;;:48;;;;10074:27;10093:7;10074:9;:14;10084:3;10074:14;;;;;;;;;;;;;;;;:18;;:27;;;;:::i;:::-;10057:9;:14;10067:3;10057:14;;;;;;;;;;;;;;;:44;;;;10133:3;10117:29;;10126:5;10117:29;;;10138:7;10117:29;;;;;;:::i;:::-;;;;;;;;9784:370;;;:::o;340:144::-;398:7;429:1;424;:6;;416:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;475:1;471;:5;;;;:::i;:::-;464:12;;340:144;;;;:::o;2780:146::-;2879:9;2851:38;;2872:6;;;;;;;;;;2851:38;;;;;;;;;;;;2909:9;2900:6;;:18;;;;;;;;;;;;;;;;;;2780:146;:::o;5196:96::-;2093:6;;;;;;;;;;2079:20;;:10;:20;;;2071:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;5279:5:::1;5264:12;:20;;;;5196:96:::0;:::o;6900:498::-;2093:6;;;;;;;;;;2079:20;;:10;:20;;;2071:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;7075:15:::1;7096:68;;;;;;;;7107:16;7096:68;;;;7124:5;7096:68;;;;7130:5;7096:68;;;;7136:12;7096:68;;;;7149:14;7096:68;;::::0;7075:90:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7216:68;;;;;;;;7227:16;7216:68;;;;7244:5;7216:68;;;;7250:5;7216:68;;;;7256:12;7216:68;;;;7269:14;7216:68;;::::0;7176:11:::1;:37;7211:1;7188:15;:22;;;;:24;;;;:::i;:::-;7176:37;;;;;;;;;;;:108;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;7300:90;7330:1;7307:15;:22;;;;:24;;;;:::i;:::-;7333:16;7350:5;7356;7362:12;7375:14;7300:90;;;;;;;;;;;:::i;:::-;;;;;;;;6900:498:::0;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;282:79;;:::i;:::-;251:2;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;;;;;;:::o;425:139::-;471:5;509:6;496:20;487:29;;525:33;552:5;525:33;:::i;:::-;477:87;;;;:::o;584:340::-;640:5;689:3;682:4;674:6;670:17;666:27;656:2;;697:79;;:::i;:::-;656:2;814:6;801:20;839:79;914:3;906:6;899:4;891:6;887:17;839:79;:::i;:::-;830:88;;646:278;;;;;:::o;930:139::-;976:5;1014:6;1001:20;992:29;;1030:33;1057:5;1030:33;:::i;:::-;982:87;;;;:::o;1075:329::-;1134:6;1183:2;1171:9;1162:7;1158:23;1154:32;1151:2;;;1189:79;;:::i;:::-;1151:2;1309:1;1334:53;1379:7;1370:6;1359:9;1355:22;1334:53;:::i;:::-;1324:63;;1280:117;1141:263;;;;:::o;1410:474::-;1478:6;1486;1535:2;1523:9;1514:7;1510:23;1506:32;1503:2;;;1541:79;;:::i;:::-;1503:2;1661:1;1686:53;1731:7;1722:6;1711:9;1707:22;1686:53;:::i;:::-;1676:63;;1632:117;1788:2;1814:53;1859:7;1850:6;1839:9;1835:22;1814:53;:::i;:::-;1804:63;;1759:118;1493:391;;;;;:::o;1890:619::-;1967:6;1975;1983;2032:2;2020:9;2011:7;2007:23;2003:32;2000:2;;;2038:79;;:::i;:::-;2000:2;2158:1;2183:53;2228:7;2219:6;2208:9;2204:22;2183:53;:::i;:::-;2173:63;;2129:117;2285:2;2311:53;2356:7;2347:6;2336:9;2332:22;2311:53;:::i;:::-;2301:63;;2256:118;2413:2;2439:53;2484:7;2475:6;2464:9;2460:22;2439:53;:::i;:::-;2429:63;;2384:118;1990:519;;;;;:::o;2515:474::-;2583:6;2591;2640:2;2628:9;2619:7;2615:23;2611:32;2608:2;;;2646:79;;:::i;:::-;2608:2;2766:1;2791:53;2836:7;2827:6;2816:9;2812:22;2791:53;:::i;:::-;2781:63;;2737:117;2893:2;2919:53;2964:7;2955:6;2944:9;2940:22;2919:53;:::i;:::-;2909:63;;2864:118;2598:391;;;;;:::o;2995:509::-;3064:6;3113:2;3101:9;3092:7;3088:23;3084:32;3081:2;;;3119:79;;:::i;:::-;3081:2;3267:1;3256:9;3252:17;3239:31;3297:18;3289:6;3286:30;3283:2;;;3319:79;;:::i;:::-;3283:2;3424:63;3479:7;3470:6;3459:9;3455:22;3424:63;:::i;:::-;3414:73;;3210:287;3071:433;;;;:::o;3510:329::-;3569:6;3618:2;3606:9;3597:7;3593:23;3589:32;3586:2;;;3624:79;;:::i;:::-;3586:2;3744:1;3769:53;3814:7;3805:6;3794:9;3790:22;3769:53;:::i;:::-;3759:63;;3715:117;3576:263;;;;:::o;3845:1125::-;3951:6;3959;3967;3975;4024:3;4012:9;4003:7;3999:23;3995:33;3992:2;;;4031:79;;:::i;:::-;3992:2;4151:1;4176:53;4221:7;4212:6;4201:9;4197:22;4176:53;:::i;:::-;4166:63;;4122:117;4306:2;4295:9;4291:18;4278:32;4337:18;4329:6;4326:30;4323:2;;;4359:79;;:::i;:::-;4323:2;4464:63;4519:7;4510:6;4499:9;4495:22;4464:63;:::i;:::-;4454:73;;4249:288;4604:2;4593:9;4589:18;4576:32;4635:18;4627:6;4624:30;4621:2;;;4657:79;;:::i;:::-;4621:2;4762:63;4817:7;4808:6;4797:9;4793:22;4762:63;:::i;:::-;4752:73;;4547:288;4874:2;4900:53;4945:7;4936:6;4925:9;4921:22;4900:53;:::i;:::-;4890:63;;4845:118;3982:988;;;;;;;:::o;4976:196::-;5065:10;5100:66;5162:3;5154:6;5100:66;:::i;:::-;5086:80;;5076:96;;;;:::o;5178:179::-;5247:10;5268:46;5310:3;5302:6;5268:46;:::i;:::-;5346:4;5341:3;5337:14;5323:28;;5258:99;;;;:::o;5363:118::-;5450:24;5468:5;5450:24;:::i;:::-;5445:3;5438:37;5428:53;;:::o;5515:991::-;5654:3;5683:64;5741:5;5683:64;:::i;:::-;5763:96;5852:6;5847:3;5763:96;:::i;:::-;5756:103;;5885:3;5930:4;5922:6;5918:17;5913:3;5909:27;5960:66;6020:5;5960:66;:::i;:::-;6049:7;6080:1;6065:396;6090:6;6087:1;6084:13;6065:396;;;6161:9;6155:4;6151:20;6146:3;6139:33;6212:6;6206:13;6240:84;6319:4;6304:13;6240:84;:::i;:::-;6232:92;;6347:70;6410:6;6347:70;:::i;:::-;6337:80;;6446:4;6441:3;6437:14;6430:21;;6125:336;6112:1;6109;6105:9;6100:14;;6065:396;;;6069:14;6477:4;6470:11;;6497:3;6490:10;;5659:847;;;;;;;;;:::o;6542:732::-;6661:3;6690:54;6738:5;6690:54;:::i;:::-;6760:86;6839:6;6834:3;6760:86;:::i;:::-;6753:93;;6870:56;6920:5;6870:56;:::i;:::-;6949:7;6980:1;6965:284;6990:6;6987:1;6984:13;6965:284;;;7066:6;7060:13;7093:63;7152:3;7137:13;7093:63;:::i;:::-;7086:70;;7179:60;7232:6;7179:60;:::i;:::-;7169:70;;7025:224;7012:1;7009;7005:9;7000:14;;6965:284;;;6969:14;7265:3;7258:10;;6666:608;;;;;;;:::o;7280:109::-;7361:21;7376:5;7361:21;:::i;:::-;7356:3;7349:34;7339:50;;:::o;7395:344::-;7473:3;7501:39;7534:5;7501:39;:::i;:::-;7556:61;7610:6;7605:3;7556:61;:::i;:::-;7549:68;;7626:52;7671:6;7666:3;7659:4;7652:5;7648:16;7626:52;:::i;:::-;7703:29;7725:6;7703:29;:::i;:::-;7698:3;7694:39;7687:46;;7477:262;;;;;:::o;7745:364::-;7833:3;7861:39;7894:5;7861:39;:::i;:::-;7916:71;7980:6;7975:3;7916:71;:::i;:::-;7909:78;;7996:52;8041:6;8036:3;8029:4;8022:5;8018:16;7996:52;:::i;:::-;8073:29;8095:6;8073:29;:::i;:::-;8068:3;8064:39;8057:46;;7837:272;;;;;:::o;8115:366::-;8257:3;8278:67;8342:2;8337:3;8278:67;:::i;:::-;8271:74;;8354:93;8443:3;8354:93;:::i;:::-;8472:2;8467:3;8463:12;8456:19;;8261:220;;;:::o;8487:366::-;8629:3;8650:67;8714:2;8709:3;8650:67;:::i;:::-;8643:74;;8726:93;8815:3;8726:93;:::i;:::-;8844:2;8839:3;8835:12;8828:19;;8633:220;;;:::o;8859:366::-;9001:3;9022:67;9086:2;9081:3;9022:67;:::i;:::-;9015:74;;9098:93;9187:3;9098:93;:::i;:::-;9216:2;9211:3;9207:12;9200:19;;9005:220;;;:::o;9231:366::-;9373:3;9394:67;9458:2;9453:3;9394:67;:::i;:::-;9387:74;;9470:93;9559:3;9470:93;:::i;:::-;9588:2;9583:3;9579:12;9572:19;;9377:220;;;:::o;9603:366::-;9745:3;9766:67;9830:2;9825:3;9766:67;:::i;:::-;9759:74;;9842:93;9931:3;9842:93;:::i;:::-;9960:2;9955:3;9951:12;9944:19;;9749:220;;;:::o;9975:366::-;10117:3;10138:67;10202:2;10197:3;10138:67;:::i;:::-;10131:74;;10214:93;10303:3;10214:93;:::i;:::-;10332:2;10327:3;10323:12;10316:19;;10121:220;;;:::o;10347:366::-;10489:3;10510:67;10574:2;10569:3;10510:67;:::i;:::-;10503:74;;10586:93;10675:3;10586:93;:::i;:::-;10704:2;10699:3;10695:12;10688:19;;10493:220;;;:::o;10719:366::-;10861:3;10882:67;10946:2;10941:3;10882:67;:::i;:::-;10875:74;;10958:93;11047:3;10958:93;:::i;:::-;11076:2;11071:3;11067:12;11060:19;;10865:220;;;:::o;11091:366::-;11233:3;11254:67;11318:2;11313:3;11254:67;:::i;:::-;11247:74;;11330:93;11419:3;11330:93;:::i;:::-;11448:2;11443:3;11439:12;11432:19;;11237:220;;;:::o;11463:366::-;11605:3;11626:67;11690:2;11685:3;11626:67;:::i;:::-;11619:74;;11702:93;11791:3;11702:93;:::i;:::-;11820:2;11815:3;11811:12;11804:19;;11609:220;;;:::o;11835:366::-;11977:3;11998:67;12062:2;12057:3;11998:67;:::i;:::-;11991:74;;12074:93;12163:3;12074:93;:::i;:::-;12192:2;12187:3;12183:12;12176:19;;11981:220;;;:::o;12207:366::-;12349:3;12370:67;12434:2;12429:3;12370:67;:::i;:::-;12363:74;;12446:93;12535:3;12446:93;:::i;:::-;12564:2;12559:3;12555:12;12548:19;;12353:220;;;:::o;12579:366::-;12721:3;12742:67;12806:2;12801:3;12742:67;:::i;:::-;12735:74;;12818:93;12907:3;12818:93;:::i;:::-;12936:2;12931:3;12927:12;12920:19;;12725:220;;;:::o;12951:366::-;13093:3;13114:67;13178:2;13173:3;13114:67;:::i;:::-;13107:74;;13190:93;13279:3;13190:93;:::i;:::-;13308:2;13303:3;13299:12;13292:19;;13097:220;;;:::o;13323:366::-;13465:3;13486:67;13550:2;13545:3;13486:67;:::i;:::-;13479:74;;13562:93;13651:3;13562:93;:::i;:::-;13680:2;13675:3;13671:12;13664:19;;13469:220;;;:::o;13695:108::-;13772:24;13790:5;13772:24;:::i;:::-;13767:3;13760:37;13750:53;;:::o;13809:118::-;13896:24;13914:5;13896:24;:::i;:::-;13891:3;13884:37;13874:53;;:::o;13933:112::-;14016:22;14032:5;14016:22;:::i;:::-;14011:3;14004:35;13994:51;;:::o;14051:222::-;14144:4;14182:2;14171:9;14167:18;14159:26;;14195:71;14263:1;14252:9;14248:17;14239:6;14195:71;:::i;:::-;14149:124;;;;:::o;14279:1539::-;14794:4;14832:3;14821:9;14817:19;14809:27;;14882:9;14876:4;14872:20;14868:1;14857:9;14853:17;14846:47;14910:128;15033:4;15024:6;14910:128;:::i;:::-;14902:136;;15085:9;15079:4;15075:20;15070:2;15059:9;15055:18;15048:48;15113:128;15236:4;15227:6;15113:128;:::i;:::-;15105:136;;15288:9;15282:4;15278:20;15273:2;15262:9;15258:18;15251:48;15316:108;15419:4;15410:6;15316:108;:::i;:::-;15308:116;;15471:9;15465:4;15461:20;15456:2;15445:9;15441:18;15434:48;15499:108;15602:4;15593:6;15499:108;:::i;:::-;15491:116;;15655:9;15649:4;15645:20;15639:3;15628:9;15624:19;15617:49;15683:128;15806:4;15797:6;15683:128;:::i;:::-;15675:136;;14799:1019;;;;;;;;:::o;15824:210::-;15911:4;15949:2;15938:9;15934:18;15926:26;;15962:65;16024:1;16013:9;16009:17;16000:6;15962:65;:::i;:::-;15916:118;;;;:::o;16040:313::-;16153:4;16191:2;16180:9;16176:18;16168:26;;16240:9;16234:4;16230:20;16226:1;16215:9;16211:17;16204:47;16268:78;16341:4;16332:6;16268:78;:::i;:::-;16260:86;;16158:195;;;;:::o;16359:937::-;16624:4;16662:3;16651:9;16647:19;16639:27;;16712:9;16706:4;16702:20;16698:1;16687:9;16683:17;16676:47;16740:78;16813:4;16804:6;16740:78;:::i;:::-;16732:86;;16865:9;16859:4;16855:20;16850:2;16839:9;16835:18;16828:48;16893:78;16966:4;16957:6;16893:78;:::i;:::-;16885:86;;16981:72;17049:2;17038:9;17034:18;17025:6;16981:72;:::i;:::-;17063;17131:2;17120:9;17116:18;17107:6;17063:72;:::i;:::-;17183:9;17177:4;17173:20;17167:3;17156:9;17152:19;17145:49;17211:78;17284:4;17275:6;17211:78;:::i;:::-;17203:86;;16629:667;;;;;;;;:::o;17302:419::-;17468:4;17506:2;17495:9;17491:18;17483:26;;17555:9;17549:4;17545:20;17541:1;17530:9;17526:17;17519:47;17583:131;17709:4;17583:131;:::i;:::-;17575:139;;17473:248;;;:::o;17727:419::-;17893:4;17931:2;17920:9;17916:18;17908:26;;17980:9;17974:4;17970:20;17966:1;17955:9;17951:17;17944:47;18008:131;18134:4;18008:131;:::i;:::-;18000:139;;17898:248;;;:::o;18152:419::-;18318:4;18356:2;18345:9;18341:18;18333:26;;18405:9;18399:4;18395:20;18391:1;18380:9;18376:17;18369:47;18433:131;18559:4;18433:131;:::i;:::-;18425:139;;18323:248;;;:::o;18577:419::-;18743:4;18781:2;18770:9;18766:18;18758:26;;18830:9;18824:4;18820:20;18816:1;18805:9;18801:17;18794:47;18858:131;18984:4;18858:131;:::i;:::-;18850:139;;18748:248;;;:::o;19002:419::-;19168:4;19206:2;19195:9;19191:18;19183:26;;19255:9;19249:4;19245:20;19241:1;19230:9;19226:17;19219:47;19283:131;19409:4;19283:131;:::i;:::-;19275:139;;19173:248;;;:::o;19427:419::-;19593:4;19631:2;19620:9;19616:18;19608:26;;19680:9;19674:4;19670:20;19666:1;19655:9;19651:17;19644:47;19708:131;19834:4;19708:131;:::i;:::-;19700:139;;19598:248;;;:::o;19852:419::-;20018:4;20056:2;20045:9;20041:18;20033:26;;20105:9;20099:4;20095:20;20091:1;20080:9;20076:17;20069:47;20133:131;20259:4;20133:131;:::i;:::-;20125:139;;20023:248;;;:::o;20277:419::-;20443:4;20481:2;20470:9;20466:18;20458:26;;20530:9;20524:4;20520:20;20516:1;20505:9;20501:17;20494:47;20558:131;20684:4;20558:131;:::i;:::-;20550:139;;20448:248;;;:::o;20702:419::-;20868:4;20906:2;20895:9;20891:18;20883:26;;20955:9;20949:4;20945:20;20941:1;20930:9;20926:17;20919:47;20983:131;21109:4;20983:131;:::i;:::-;20975:139;;20873:248;;;:::o;21127:419::-;21293:4;21331:2;21320:9;21316:18;21308:26;;21380:9;21374:4;21370:20;21366:1;21355:9;21351:17;21344:47;21408:131;21534:4;21408:131;:::i;:::-;21400:139;;21298:248;;;:::o;21552:419::-;21718:4;21756:2;21745:9;21741:18;21733:26;;21805:9;21799:4;21795:20;21791:1;21780:9;21776:17;21769:47;21833:131;21959:4;21833:131;:::i;:::-;21825:139;;21723:248;;;:::o;21977:419::-;22143:4;22181:2;22170:9;22166:18;22158:26;;22230:9;22224:4;22220:20;22216:1;22205:9;22201:17;22194:47;22258:131;22384:4;22258:131;:::i;:::-;22250:139;;22148:248;;;:::o;22402:419::-;22568:4;22606:2;22595:9;22591:18;22583:26;;22655:9;22649:4;22645:20;22641:1;22630:9;22626:17;22619:47;22683:131;22809:4;22683:131;:::i;:::-;22675:139;;22573:248;;;:::o;22827:419::-;22993:4;23031:2;23020:9;23016:18;23008:26;;23080:9;23074:4;23070:20;23066:1;23055:9;23051:17;23044:47;23108:131;23234:4;23108:131;:::i;:::-;23100:139;;22998:248;;;:::o;23252:419::-;23418:4;23456:2;23445:9;23441:18;23433:26;;23505:9;23499:4;23495:20;23491:1;23480:9;23476:17;23469:47;23533:131;23659:4;23533:131;:::i;:::-;23525:139;;23423:248;;;:::o;23677:222::-;23770:4;23808:2;23797:9;23793:18;23785:26;;23821:71;23889:1;23878:9;23874:17;23865:6;23821:71;:::i;:::-;23775:124;;;;:::o;23905:1048::-;24198:4;24236:3;24225:9;24221:19;24213:27;;24250:71;24318:1;24307:9;24303:17;24294:6;24250:71;:::i;:::-;24368:9;24362:4;24358:20;24353:2;24342:9;24338:18;24331:48;24396:78;24469:4;24460:6;24396:78;:::i;:::-;24388:86;;24521:9;24515:4;24511:20;24506:2;24495:9;24491:18;24484:48;24549:78;24622:4;24613:6;24549:78;:::i;:::-;24541:86;;24637:72;24705:2;24694:9;24690:18;24681:6;24637:72;:::i;:::-;24719:73;24787:3;24776:9;24772:19;24763:6;24719:73;:::i;:::-;24840:9;24834:4;24830:20;24824:3;24813:9;24809:19;24802:49;24868:78;24941:4;24932:6;24868:78;:::i;:::-;24860:86;;24203:750;;;;;;;;;:::o;24959:214::-;25048:4;25086:2;25075:9;25071:18;25063:26;;25099:67;25163:1;25152:9;25148:17;25139:6;25099:67;:::i;:::-;25053:120;;;;:::o;25179:129::-;25213:6;25240:20;;:::i;:::-;25230:30;;25269:33;25297:4;25289:6;25269:33;:::i;:::-;25220:88;;;:::o;25314:75::-;25347:6;25380:2;25374:9;25364:19;;25354:35;:::o;25395:308::-;25457:4;25547:18;25539:6;25536:30;25533:2;;;25569:18;;:::i;:::-;25533:2;25607:29;25629:6;25607:29;:::i;:::-;25599:37;;25691:4;25685;25681:15;25673:23;;25462:241;;;:::o;25709:142::-;25786:4;25809:3;25801:11;;25839:4;25834:3;25830:14;25822:22;;25791:60;;;:::o;25857:132::-;25924:4;25947:3;25939:11;;25977:4;25972:3;25968:14;25960:22;;25929:60;;;:::o;25995:124::-;26072:6;26106:5;26100:12;26090:22;;26079:40;;;:::o;26125:114::-;26192:6;26226:5;26220:12;26210:22;;26199:40;;;:::o;26245:99::-;26297:6;26331:5;26325:12;26315:22;;26304:40;;;:::o;26350:123::-;26430:4;26462;26457:3;26453:14;26445:22;;26435:38;;;:::o;26479:113::-;26549:4;26581;26576:3;26572:14;26564:22;;26554:38;;;:::o;26598:194::-;26707:11;26741:6;26736:3;26729:19;26781:4;26776:3;26772:14;26757:29;;26719:73;;;;:::o;26798:184::-;26897:11;26931:6;26926:3;26919:19;26971:4;26966:3;26962:14;26947:29;;26909:73;;;;:::o;26988:159::-;27062:11;27096:6;27091:3;27084:19;27136:4;27131:3;27127:14;27112:29;;27074:73;;;;:::o;27153:169::-;27237:11;27271:6;27266:3;27259:19;27311:4;27306:3;27302:14;27287:29;;27249:73;;;;:::o;27328:305::-;27368:3;27387:20;27405:1;27387:20;:::i;:::-;27382:25;;27421:20;27439:1;27421:20;:::i;:::-;27416:25;;27575:1;27507:66;27503:74;27500:1;27497:81;27494:2;;;27581:18;;:::i;:::-;27494:2;27625:1;27622;27618:9;27611:16;;27372:261;;;;:::o;27639:185::-;27679:1;27696:20;27714:1;27696:20;:::i;:::-;27691:25;;27730:20;27748:1;27730:20;:::i;:::-;27725:25;;27769:1;27759:2;;27774:18;;:::i;:::-;27759:2;27816:1;27813;27809:9;27804:14;;27681:143;;;;:::o;27830:848::-;27891:5;27898:4;27922:6;27913:15;;27946:5;27937:14;;27960:712;27981:1;27971:8;27968:15;27960:712;;;28076:4;28071:3;28067:14;28061:4;28058:24;28055:2;;;28085:18;;:::i;:::-;28055:2;28135:1;28125:8;28121:16;28118:2;;;28550:4;28543:5;28539:16;28530:25;;28118:2;28600:4;28594;28590:15;28582:23;;28630:32;28653:8;28630:32;:::i;:::-;28618:44;;27960:712;;;27903:775;;;;;;;:::o;28684:281::-;28742:5;28766:23;28784:4;28766:23;:::i;:::-;28758:31;;28810:25;28826:8;28810:25;:::i;:::-;28798:37;;28854:104;28891:66;28881:8;28875:4;28854:104;:::i;:::-;28845:113;;28748:217;;;;:::o;28971:1073::-;29025:5;29216:8;29206:2;;29237:1;29228:10;;29239:5;;29206:2;29265:4;29255:2;;29282:1;29273:10;;29284:5;;29255:2;29351:4;29399:1;29394:27;;;;29435:1;29430:191;;;;29344:277;;29394:27;29412:1;29403:10;;29414:5;;;29430:191;29475:3;29465:8;29462:17;29459:2;;;29482:18;;:::i;:::-;29459:2;29531:8;29528:1;29524:16;29515:25;;29566:3;29559:5;29556:14;29553:2;;;29573:18;;:::i;:::-;29553:2;29606:5;;;29344:277;;29730:2;29720:8;29717:16;29711:3;29705:4;29702:13;29698:36;29680:2;29670:8;29667:16;29662:2;29656:4;29653:12;29649:35;29633:111;29630:2;;;29786:8;29780:4;29776:19;29767:28;;29821:3;29814:5;29811:14;29808:2;;;29828:18;;:::i;:::-;29808:2;29861:5;;29630:2;29901:42;29939:3;29929:8;29923:4;29920:1;29901:42;:::i;:::-;29886:57;;;;29975:4;29970:3;29966:14;29959:5;29956:25;29953:2;;;29984:18;;:::i;:::-;29953:2;30033:4;30026:5;30022:16;30013:25;;29031:1013;;;;;;:::o;30050:348::-;30090:7;30113:20;30131:1;30113:20;:::i;:::-;30108:25;;30147:20;30165:1;30147:20;:::i;:::-;30142:25;;30335:1;30267:66;30263:74;30260:1;30257:81;30252:1;30245:9;30238:17;30234:105;30231:2;;;30342:18;;:::i;:::-;30231:2;30390:1;30387;30383:9;30372:20;;30098:300;;;;:::o;30404:191::-;30444:4;30464:20;30482:1;30464:20;:::i;:::-;30459:25;;30498:20;30516:1;30498:20;:::i;:::-;30493:25;;30537:1;30534;30531:8;30528:2;;;30542:18;;:::i;:::-;30528:2;30587:1;30584;30580:9;30572:17;;30449:146;;;;:::o;30601:96::-;30638:7;30667:24;30685:5;30667:24;:::i;:::-;30656:35;;30646:51;;;:::o;30703:90::-;30737:7;30780:5;30773:13;30766:21;30755:32;;30745:48;;;:::o;30799:126::-;30836:7;30876:42;30869:5;30865:54;30854:65;;30844:81;;;:::o;30931:77::-;30968:7;30997:5;30986:16;;30976:32;;;:::o;31014:86::-;31049:7;31089:4;31082:5;31078:16;31067:27;;31057:43;;;:::o;31106:154::-;31190:6;31185:3;31180;31167:30;31252:1;31243:6;31238:3;31234:16;31227:27;31157:103;;;:::o;31266:307::-;31334:1;31344:113;31358:6;31355:1;31352:13;31344:113;;;31443:1;31438:3;31434:11;31428:18;31424:1;31419:3;31415:11;31408:39;31380:2;31377:1;31373:10;31368:15;;31344:113;;;31475:6;31472:1;31469:13;31466:2;;;31555:1;31546:6;31541:3;31537:16;31530:27;31466:2;31315:258;;;;:::o;31579:320::-;31623:6;31660:1;31654:4;31650:12;31640:22;;31707:1;31701:4;31697:12;31728:18;31718:2;;31784:4;31776:6;31772:17;31762:27;;31718:2;31846;31838:6;31835:14;31815:18;31812:38;31809:2;;;31865:18;;:::i;:::-;31809:2;31630:269;;;;:::o;31905:281::-;31988:27;32010:4;31988:27;:::i;:::-;31980:6;31976:40;32118:6;32106:10;32103:22;32082:18;32070:10;32067:34;32064:62;32061:2;;;32129:18;;:::i;:::-;32061:2;32169:10;32165:2;32158:22;31948:238;;;:::o;32192:233::-;32231:3;32254:24;32272:5;32254:24;:::i;:::-;32245:33;;32300:66;32293:5;32290:77;32287:2;;;32370:18;;:::i;:::-;32287:2;32417:1;32410:5;32406:13;32399:20;;32235:190;;;:::o;32431:180::-;32479:77;32476:1;32469:88;32576:4;32573:1;32566:15;32600:4;32597:1;32590:15;32617:180;32665:77;32662:1;32655:88;32762:4;32759:1;32752:15;32786:4;32783:1;32776:15;32803:180;32851:77;32848:1;32841:88;32948:4;32945:1;32938:15;32972:4;32969:1;32962:15;32989:180;33037:77;33034:1;33027:88;33134:4;33131:1;33124:15;33158:4;33155:1;33148:15;33175:180;33223:77;33220:1;33213:88;33320:4;33317:1;33310:15;33344:4;33341:1;33334:15;33361:117;33470:1;33467;33460:12;33484:117;33593:1;33590;33583:12;33607:117;33716:1;33713;33706:12;33730:117;33839:1;33836;33829:12;33853:102;33894:6;33945:2;33941:7;33936:2;33929:5;33925:14;33921:28;33911:38;;33901:54;;;:::o;33961:102::-;34003:8;34050:5;34047:1;34043:13;34022:34;;34012:51;;;:::o;34069:165::-;34209:17;34205:1;34197:6;34193:14;34186:41;34175:59;:::o;34240:177::-;34380:29;34376:1;34368:6;34364:14;34357:53;34346:71;:::o;34423:246::-;34563:34;34559:1;34551:6;34547:14;34540:58;34632:29;34627:2;34619:6;34615:15;34608:54;34529:140;:::o;34675:175::-;34815:27;34811:1;34803:6;34799:14;34792:51;34781:69;:::o;34856:171::-;34996:23;34992:1;34984:6;34980:14;34973:47;34962:65;:::o;35033:179::-;35173:31;35169:1;35161:6;35157:14;35150:55;35139:73;:::o;35218:170::-;35358:22;35354:1;35346:6;35342:14;35335:46;35324:64;:::o;35394:167::-;35534:19;35530:1;35522:6;35518:14;35511:43;35500:61;:::o;35567:173::-;35707:25;35703:1;35695:6;35691:14;35684:49;35673:67;:::o;35746:173::-;35886:25;35882:1;35874:6;35870:14;35863:49;35852:67;:::o;35925:172::-;36065:24;36061:1;36053:6;36049:14;36042:48;36031:66;:::o;36103:173::-;36243:25;36239:1;36231:6;36227:14;36220:49;36209:67;:::o;36282:169::-;36422:21;36418:1;36410:6;36406:14;36399:45;36388:63;:::o;36457:246::-;36597:34;36593:1;36585:6;36581:14;36574:58;36666:29;36661:2;36653:6;36649:15;36642:54;36563:140;:::o;36709:175::-;36849:27;36845:1;36837:6;36833:14;36826:51;36815:69;:::o;36890:122::-;36963:24;36981:5;36963:24;:::i;:::-;36956:5;36953:35;36943:2;;37002:1;36999;36992:12;36943:2;36933:79;:::o;37018:122::-;37091:24;37109:5;37091:24;:::i;:::-;37084:5;37081:35;37071:2;;37130:1;37127;37120:12;37071:2;37061:79;:::o
Swarm Source
ipfs://a20c4b0fc726acd4c98073174ea70250c027952c74d215411d8c7de057ae1243
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.