ERC-721
Overview
Max Total Supply
950 Puxxies
Holders
316
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
3 PuxxiesLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Puxxies
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-11-30 */ // SPDX-License-Identifier: UNLICENSED; pragma solidity ^0.8.0; library Strings { bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; function toString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } function toHexString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0x00"; } uint256 temp = value; uint256 length = 0; while (temp != 0) { length++; temp >>= 8; } return toHexString(value, length); } function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { bytes memory buffer = new bytes(2 * length + 2); buffer[0] = "0"; buffer[1] = "x"; for (uint256 i = 2 * length + 1; i > 1; --i) { buffer[i] = _HEX_SYMBOLS[value & 0xf]; value >>= 4; } require(value == 0, "Strings: hex length insufficient"); return string(buffer); } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the * revert reason using the provided one. * * _Available since v4.3._ */ function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } interface IERC721Receiver { function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); } interface IERC165 { function supportsInterface(bytes4 interfaceId) external view returns (bool); } abstract contract ERC165 is IERC165 { function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IERC165).interfaceId; } } interface IERC721 is IERC165 { event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); function balanceOf(address owner) external view returns (uint256 balance); function ownerOf(uint256 tokenId) external view returns (address owner); function safeTransferFrom( address from, address to, uint256 tokenId ) external; function transferFrom( address from, address to, uint256 tokenId ) external; function approve(address to, uint256 tokenId) external; function getApproved(uint256 tokenId) external view returns (address operator); function setApprovalForAll(address operator, bool _approved) external; function isApprovedForAll(address owner, address operator) external view returns (bool); function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; } interface IERC721Enumerable is IERC721 { function totalSupply() external view returns (uint256); function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId); function tokenByIndex(uint256 index) external view returns (uint256); } interface IERC721Metadata is IERC721 { function name() external view returns (string memory); function symbol() external view returns (string memory); function tokenURI(uint256 tokenId) external view returns (string memory); } contract ERC721 is Context, ERC165, IERC721, IERC721Metadata { using Address for address; using Strings for uint256; // Token name string private _name; // Token symbol string private _symbol; // Mapping from token ID to owner address mapping(uint256 => address) private _owners; // Mapping owner address to token count mapping(address => uint256) private _balances; // Mapping from token ID to approved address mapping(uint256 => address) private _tokenApprovals; // Mapping from owner to operator approvals mapping(address => mapping(address => bool)) private _operatorApprovals; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { return interfaceId == type(IERC721).interfaceId || interfaceId == type(IERC721Metadata).interfaceId || super.supportsInterface(interfaceId); } function balanceOf(address owner) public view virtual override returns (uint256) { require(owner != address(0), "ERC721: balance query for the zero address"); return _balances[owner]; } function ownerOf(uint256 tokenId) public view virtual override returns (address) { address owner = _owners[tokenId]; require(owner != address(0), "ERC721: owner query for nonexistent token"); return owner; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token"); string memory baseURI = _baseURI(); return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString(), ".json")) : ""; } function _baseURI() internal view virtual returns (string memory) { return ""; } function approve(address to, uint256 tokenId) public virtual override { address owner = ERC721.ownerOf(tokenId); require(to != owner, "ERC721: approval to current owner"); require( _msgSender() == owner || isApprovedForAll(owner, _msgSender()), "ERC721: approve caller is not owner nor approved for all" ); _approve(to, tokenId); } function getApproved(uint256 tokenId) public view virtual override returns (address) { require(_exists(tokenId), "ERC721: approved query for nonexistent token"); return _tokenApprovals[tokenId]; } function setApprovalForAll(address operator, bool approved) public virtual override { require(operator != _msgSender(), "ERC721: approve to caller"); _operatorApprovals[_msgSender()][operator] = approved; emit ApprovalForAll(_msgSender(), operator, approved); } function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) { return _operatorApprovals[owner][operator]; } function transferFrom( address from, address to, uint256 tokenId ) public virtual override { //solhint-disable-next-line max-line-length require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); _transfer(from, to, tokenId); } function safeTransferFrom( address from, address to, uint256 tokenId ) public virtual override { safeTransferFrom(from, to, tokenId, ""); } function safeTransferFrom( address from, address to, uint256 tokenId, bytes memory _data ) public virtual override { require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); _safeTransfer(from, to, tokenId, _data); } function _safeTransfer( address from, address to, uint256 tokenId, bytes memory _data ) internal virtual { _transfer(from, to, tokenId); require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer"); } function _exists(uint256 tokenId) internal view virtual returns (bool) { return _owners[tokenId] != address(0); } function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) { require(_exists(tokenId), "ERC721: operator query for nonexistent token"); address owner = ERC721.ownerOf(tokenId); return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender)); } function _safeMint(address to, uint256 tokenId) internal virtual { _safeMint(to, tokenId, ""); } function _safeMint( address to, uint256 tokenId, bytes memory _data ) internal virtual { _mint(to, tokenId + 1); require( _checkOnERC721Received(address(0), to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer" ); } function _mint(address to, uint256 tokenId) internal virtual { require(to != address(0), "ERC721: mint to the zero address"); require(!_exists(tokenId), "ERC721: token already minted"); _beforeTokenTransfer(address(0), to, tokenId); _balances[to] += 1; _owners[tokenId] = to; emit Transfer(address(0), to, tokenId); } function _burn(uint256 tokenId) internal virtual { address owner = ERC721.ownerOf(tokenId); _beforeTokenTransfer(owner, address(0), tokenId); // Clear approvals _approve(address(0), tokenId); _balances[owner] -= 1; delete _owners[tokenId]; emit Transfer(owner, address(0), tokenId); } function _transfer( address from, address to, uint256 tokenId ) internal virtual { require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer of token that is not own"); require(to != address(0), "ERC721: transfer to the zero address"); _beforeTokenTransfer(from, to, tokenId); // Clear approvals from the previous owner _approve(address(0), tokenId); _balances[from] -= 1; _balances[to] += 1; _owners[tokenId] = to; emit Transfer(from, to, tokenId); } function _approve(address to, uint256 tokenId) internal virtual { _tokenApprovals[tokenId] = to; emit Approval(ERC721.ownerOf(tokenId), to, tokenId); } function _checkOnERC721Received( address from, address to, uint256 tokenId, bytes memory _data ) private returns (bool) { if (to.isContract()) { try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) { return retval == IERC721Receiver.onERC721Received.selector; } catch (bytes memory reason) { if (reason.length == 0) { revert("ERC721: transfer to non ERC721Receiver implementer"); } else { assembly { revert(add(32, reason), mload(reason)) } } } } else { return true; } } function _beforeTokenTransfer( address from, address to, uint256 tokenId ) internal virtual {} } abstract contract ERC721Enumerable is ERC721, IERC721Enumerable { // Mapping from owner to list of owned token IDs mapping(address => mapping(uint256 => uint256)) private _ownedTokens; // Mapping from token ID to index of the owner tokens list mapping(uint256 => uint256) private _ownedTokensIndex; // Array with all token ids, used for enumeration uint256[] private _allTokens; // Mapping from token id to position in the allTokens array mapping(uint256 => uint256) private _allTokensIndex; function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC721) returns (bool) { return interfaceId == type(IERC721Enumerable).interfaceId || super.supportsInterface(interfaceId); } function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual override returns (uint256) { require(index < ERC721.balanceOf(owner), "ERC721Enumerable: owner index out of bounds"); return _ownedTokens[owner][index]; } function totalSupply() public view virtual override returns (uint256) { return _allTokens.length; } function tokenByIndex(uint256 index) public view virtual override returns (uint256) { require(index < ERC721Enumerable.totalSupply(), "ERC721Enumerable: global index out of bounds"); return _allTokens[index]; } function _beforeTokenTransfer( address from, address to, uint256 tokenId ) internal virtual override { super._beforeTokenTransfer(from, to, tokenId); if (from == address(0)) { _addTokenToAllTokensEnumeration(tokenId); } else if (from != to) { _removeTokenFromOwnerEnumeration(from, tokenId); } if (to == address(0)) { _removeTokenFromAllTokensEnumeration(tokenId); } else if (to != from) { _addTokenToOwnerEnumeration(to, tokenId); } } function _addTokenToOwnerEnumeration(address to, uint256 tokenId) private { uint256 length = ERC721.balanceOf(to); _ownedTokens[to][length] = tokenId; _ownedTokensIndex[tokenId] = length; } function _addTokenToAllTokensEnumeration(uint256 tokenId) private { _allTokensIndex[tokenId] = _allTokens.length; _allTokens.push(tokenId); } function _removeTokenFromOwnerEnumeration(address from, uint256 tokenId) private { // To prevent a gap in from's tokens array, we store the last token in the index of the token to delete, and // then delete the last slot (swap and pop). uint256 lastTokenIndex = ERC721.balanceOf(from) - 1; uint256 tokenIndex = _ownedTokensIndex[tokenId]; // When the token to delete is the last token, the swap operation is unnecessary if (tokenIndex != lastTokenIndex) { uint256 lastTokenId = _ownedTokens[from][lastTokenIndex]; _ownedTokens[from][tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token _ownedTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index } // This also deletes the contents at the last position of the array delete _ownedTokensIndex[tokenId]; delete _ownedTokens[from][lastTokenIndex]; } function _removeTokenFromAllTokensEnumeration(uint256 tokenId) private { // To prevent a gap in the tokens array, we store the last token in the index of the token to delete, and // then delete the last slot (swap and pop). uint256 lastTokenIndex = _allTokens.length - 1; uint256 tokenIndex = _allTokensIndex[tokenId]; // When the token to delete is the last token, the swap operation is unnecessary. However, since this occurs so // rarely (when the last minted token is burnt) that we still do the swap here to avoid the gas cost of adding // an 'if' statement (like in _removeTokenFromOwnerEnumeration) uint256 lastTokenId = _allTokens[lastTokenIndex]; _allTokens[tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token _allTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index // This also deletes the contents at the last position of the array delete _allTokensIndex[tokenId]; _allTokens.pop(); } } contract Puxxies is ERC721Enumerable, Ownable { using Strings for uint256; string _baseTokenURI; uint256 public limit = 999; uint256 public _reserved = 99; uint256 private _price = 0.01 ether; bool public _paused = true; uint256 public maxPerTx = 5; uint per1 = 35; uint per2 = 35; uint per3 = 20; uint per4 = 5; uint per5 = 3; uint per6 = 2; address public wallet1 = 0xe548BC7E002c8dFcD3f9Dc85834ad6378da973d4; address public wallet2 = 0x511206e0e69E37CBd338f17B436B5900e7967032; address public wallet3 = 0x8CCd7fE0e34ECcb3fE0c55e5Ae6ed9ffCB48575e; address public wallet4 = 0xb761B096602aABE7E6Dc51425A386b2619165624; address public wallet5 = 0xdEFBd0EBc0E5caA1ab313ABd7cd9111705878a2E; address public wallet6 = 0x9a7Cc48d3BFa0CF7eE7913dCEaAeCffad59601cB; uint maxWithdrawWallets = 6; address public fundWallet; mapping(address => bool) public WL; constructor(string memory baseURI) ERC721("Puxxies", "Puxxies") { setBaseURI(baseURI); } function Mint(uint256 num) public payable { uint256 supply = totalSupply(); require( !_paused, "Sale paused" ); require( num <= maxPerTx, "You exceeds mint limit per transaction." ); require( supply + num <= limit - _reserved, "Exceeds maximum punks supply" ); require( msg.value >= _price * num, "Ether sent is not correct" ); for(uint256 i; i < num; i++){ _safeMint( msg.sender, supply + i ); } } function giveAway(address[] memory _to, uint256[] memory _amount) external onlyOwner() { require( _to.length == _amount.length, "Entered data is invalid"); for(uint i; i<_amount.length; i++){ minto(_to[i], _amount[i]); } } function minto (address _to, uint256 _amount) private { uint256 supply = totalSupply(); require( _to != address(0), "Invalid address found"); require( _amount <= _reserved, "Exceeds reserved punk supply" ); for(uint i; i<_amount; i++){ _safeMint( _to, supply + i ); } _reserved -= _amount; } function WHITELIST_MINT(uint256 num) public payable { uint256 supply = totalSupply(); require( !_paused, "Sale paused" ); require( WL[msg.sender] == true, "Only WHITELIST can mint" ); require( supply + num <= limit - _reserved, "Exceeds maximum PUNK supply" ); require( msg.value >= _price * num, "Ether sent is not correct" ); for(uint256 i; i < num; i++){ _safeMint( msg.sender, supply + i ); } } function walletOfOwner(address _owner) public view returns(uint256[] memory) { uint256 tokenCount = balanceOf(_owner); uint256[] memory tokensId = new uint256[](tokenCount); for(uint256 i; i < tokenCount; i++){ tokensId[i] = tokenOfOwnerByIndex(_owner, i); } return tokensId; } // Just in case Eth does some crazy stuff function setPrice(uint256 _newPrice) public onlyOwner() { _price = _newPrice; } function setWL(address[] memory _address) public onlyOwner() { for(uint256 i; i<_address.length; i++){ require(_address[i] != address(0), "Invalid address found"); address tempAdd = _address[i]; WL[tempAdd] = true; } } function setFundWallet(address _fundWallet) public onlyOwner() { fundWallet = _fundWallet; } function setLimit(uint256 __limit) public onlyOwner() { limit = __limit; } function setMaxPerTx(uint256 __maxPerTx) public onlyOwner() { maxPerTx = __maxPerTx; } function _baseURI() internal view virtual override returns (string memory) { return _baseTokenURI; } function setBaseURI(string memory baseURI) public onlyOwner { _baseTokenURI = baseURI; } function getPrice() public view returns (uint256){ return _price; } function pause() public onlyOwner { _paused = !_paused; } function withdraw() public payable onlyOwner { uint256 _puxxy1 = (address(this).balance * 350) / 1000; // 35% uint256 _puxxy2 = (address(this).balance * 350) / 1000; // 35% uint256 _puxxy3 = (address(this).balance * 200) / 1000; // 20% uint256 _puxxy4 = (address(this).balance * 50 ) / 1000; // 5% uint256 _puxxy5 = (address(this).balance * 30 ) / 1000; // 3% uint256 _puxxy6 = (address(this).balance * 20 ) / 1000; // 2% payable(wallet1).transfer(_puxxy1); payable(wallet2).transfer(_puxxy2); payable(wallet3).transfer(_puxxy3); payable(wallet4).transfer(_puxxy4); payable(wallet5).transfer(_puxxy5); payable(wallet6).transfer(_puxxy6); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"baseURI","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"Mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"WHITELIST_MINT","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"WL","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reserved","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_to","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"giveAway","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_fundWallet","type":"address"}],"name":"setFundWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"__limit","type":"uint256"}],"name":"setLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"__maxPerTx","type":"uint256"}],"name":"setMaxPerTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newPrice","type":"uint256"}],"name":"setPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_address","type":"address[]"}],"name":"setWL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wallet1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wallet2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wallet3","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wallet4","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wallet5","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wallet6","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"walletOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"payable","type":"function"}]
Contract Creation Code
60806040526103e7600c556063600d55662386f26fc10000600e556001600f60006101000a81548160ff021916908315150217905550600560105560236011556023601255601460135560056014556003601555600260165573e548bc7e002c8dfcd3f9dc85834ad6378da973d4601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073511206e0e69e37cbd338f17b436b5900e7967032601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550738ccd7fe0e34eccb3fe0c55e5ae6ed9ffcb48575e601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b761b096602aabe7e6dc51425a386b2619165624601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073defbd0ebc0e5caa1ab313abd7cd9111705878a2e601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739a7cc48d3bfa0cf7ee7913dceaaecffad59601cb601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506006601d553480156200026857600080fd5b5060405162005aae38038062005aae83398181016040528101906200028e91906200062b565b6040518060400160405280600781526020017f50757878696573000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f507578786965730000000000000000000000000000000000000000000000000081525081600090805190602001906200031292919062000509565b5080600190805190602001906200032b92919062000509565b5050506200034e620003426200036660201b60201c565b6200036e60201b60201c565b6200035f816200043460201b60201c565b5062000816565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620004446200036660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200046a620004df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620004c3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004ba90620006b2565b60405180910390fd5b80600b9080519060200190620004db92919062000509565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620005179062000782565b90600052602060002090601f0160209004810192826200053b576000855562000587565b82601f106200055657805160ff191683800117855562000587565b8280016001018555821562000587579182015b828111156200058657825182559160200191906001019062000569565b5b5090506200059691906200059a565b5090565b5b80821115620005b55760008160009055506001016200059b565b5090565b6000620005d0620005ca8462000708565b620006d4565b905082815260208101848484011115620005e957600080fd5b620005f68482856200074c565b509392505050565b600082601f8301126200061057600080fd5b815162000622848260208601620005b9565b91505092915050565b6000602082840312156200063e57600080fd5b600082015167ffffffffffffffff8111156200065957600080fd5b6200066784828501620005fe565b91505092915050565b60006200067f6020836200073b565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006020820190508181036000830152620006cd8162000670565b9050919050565b6000604051905081810181811067ffffffffffffffff82111715620006fe57620006fd620007e7565b5b8060405250919050565b600067ffffffffffffffff821115620007265762000725620007e7565b5b601f19601f8301169050602081019050919050565b600082825260208201905092915050565b60005b838110156200076c5780820151818401526020810190506200074f565b838111156200077c576000848401525b50505050565b600060028204905060018216806200079b57607f821691505b60208210811415620007b257620007b1620007b8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61528880620008266000396000f3fe6080604052600436106102675760003560e01c80636352211e1161014457806398d5fdca116100b6578063c3f1d1851161007a578063c3f1d185146108e3578063c6f6f2161461090c578063c87b56dd14610935578063e985e9c514610972578063f2fde38b146109af578063f968adbe146109d857610267565b806398d5fdca14610810578063a22cb4651461083b578063a4d66daf14610864578063b0ea70901461088f578063b88d4fde146108ba57610267565b80637673faf0116101085780637673faf0146107125780638456cb591461073d578063877816c0146107545780638da5cb5b1461079157806391b7f5ed146107bc57806395d89b41146107e557610267565b80636352211e1461062b578063664a1ad6146106685780636aaa571d1461069357806370a08231146106be578063715018a6146106fb57610267565b806327ea6f2b116101dd57806341ab7d0f116101a157806341ab7d0f1461050b57806342842e0e14610536578063438b63001461055f5780634f6ccce71461059c57806355ce3b9a146105d957806355f804b31461060257610267565b806327ea6f2b146104545780632f745c591461047d57806335aacecd146104ba5780633c918bae146104d65780633ccfd60b1461050157610267565b80630b8d0a281161022f5780630b8d0a281461035657806316c61ccc1461038157806318160ddd146103ac5780631a026c96146103d757806322a2eced1461040257806323b872dd1461042b57610267565b806301ffc9a71461026c57806306fdde03146102a957806307883703146102d4578063081812fc146102f0578063095ea7b31461032d575b600080fd5b34801561027857600080fd5b50610293600480360381019061028e9190613d92565b610a03565b6040516102a09190614995565b60405180910390f35b3480156102b557600080fd5b506102be610a7d565b6040516102cb91906149b0565b60405180910390f35b6102ee60048036038101906102e99190613e25565b610b0f565b005b3480156102fc57600080fd5b5061031760048036038101906103129190613e25565b610c95565b604051610324919061490c565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f9190613ca9565b610d1a565b005b34801561036257600080fd5b5061036b610e32565b604051610378919061490c565b60405180910390f35b34801561038d57600080fd5b50610396610e58565b6040516103a39190614995565b60405180910390f35b3480156103b857600080fd5b506103c1610e6b565b6040516103ce9190614d32565b60405180910390f35b3480156103e357600080fd5b506103ec610e78565b6040516103f9919061490c565b60405180910390f35b34801561040e57600080fd5b5061042960048036038101906104249190613d26565b610e9e565b005b34801561043757600080fd5b50610452600480360381019061044d9190613ba3565b61100c565b005b34801561046057600080fd5b5061047b60048036038101906104769190613e25565b61106c565b005b34801561048957600080fd5b506104a4600480360381019061049f9190613ca9565b6110f2565b6040516104b19190614d32565b60405180910390f35b6104d460048036038101906104cf9190613e25565b611197565b005b3480156104e257600080fd5b506104eb61136b565b6040516104f8919061490c565b60405180910390f35b610509611391565b005b34801561051757600080fd5b50610520611741565b60405161052d919061490c565b60405180910390f35b34801561054257600080fd5b5061055d60048036038101906105589190613ba3565b611767565b005b34801561056b57600080fd5b5061058660048036038101906105819190613b3e565b611787565b6040516105939190614973565b60405180910390f35b3480156105a857600080fd5b506105c360048036038101906105be9190613e25565b611881565b6040516105d09190614d32565b60405180910390f35b3480156105e557600080fd5b5061060060048036038101906105fb9190613b3e565b611918565b005b34801561060e57600080fd5b5061062960048036038101906106249190613de4565b6119d8565b005b34801561063757600080fd5b50610652600480360381019061064d9190613e25565b611a6e565b60405161065f919061490c565b60405180910390f35b34801561067457600080fd5b5061067d611b20565b60405161068a919061490c565b60405180910390f35b34801561069f57600080fd5b506106a8611b46565b6040516106b59190614d32565b60405180910390f35b3480156106ca57600080fd5b506106e560048036038101906106e09190613b3e565b611b4c565b6040516106f29190614d32565b60405180910390f35b34801561070757600080fd5b50610710611c04565b005b34801561071e57600080fd5b50610727611c8c565b604051610734919061490c565b60405180910390f35b34801561074957600080fd5b50610752611cb2565b005b34801561076057600080fd5b5061077b60048036038101906107769190613b3e565b611d5a565b6040516107889190614995565b60405180910390f35b34801561079d57600080fd5b506107a6611d7a565b6040516107b3919061490c565b60405180910390f35b3480156107c857600080fd5b506107e360048036038101906107de9190613e25565b611da4565b005b3480156107f157600080fd5b506107fa611e2a565b60405161080791906149b0565b60405180910390f35b34801561081c57600080fd5b50610825611ebc565b6040516108329190614d32565b60405180910390f35b34801561084757600080fd5b50610862600480360381019061085d9190613c6d565b611ec6565b005b34801561087057600080fd5b50610879612047565b6040516108869190614d32565b60405180910390f35b34801561089b57600080fd5b506108a461204d565b6040516108b1919061490c565b60405180910390f35b3480156108c657600080fd5b506108e160048036038101906108dc9190613bf2565b612073565b005b3480156108ef57600080fd5b5061090a60048036038101906109059190613ce5565b6120d5565b005b34801561091857600080fd5b50610933600480360381019061092e9190613e25565b6122c2565b005b34801561094157600080fd5b5061095c60048036038101906109579190613e25565b612348565b60405161096991906149b0565b60405180910390f35b34801561097e57600080fd5b5061099960048036038101906109949190613b67565b6123ef565b6040516109a69190614995565b60405180910390f35b3480156109bb57600080fd5b506109d660048036038101906109d19190613b3e565b612483565b005b3480156109e457600080fd5b506109ed61257b565b6040516109fa9190614d32565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a765750610a7582612581565b5b9050919050565b606060008054610a8c9061507d565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab89061507d565b8015610b055780601f10610ada57610100808354040283529160200191610b05565b820191906000526020600020905b815481529060010190602001808311610ae857829003601f168201915b5050505050905090565b6000610b19610e6b565b9050600f60009054906101000a900460ff1615610b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b62906149f2565b60405180910390fd5b601054821115610bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba790614ab2565b60405180910390fd5b600d54600c54610bc09190614f93565b8282610bcc9190614eb2565b1115610c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0490614c12565b60405180910390fd5b81600e54610c1b9190614f39565b341015610c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5490614cb2565b60405180910390fd5b60005b82811015610c9057610c7d338284610c789190614eb2565b612663565b8080610c88906150af565b915050610c60565b505050565b6000610ca082612681565b610cdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd690614bf2565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610d2582611a6e565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8d90614c92565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610db56126ed565b73ffffffffffffffffffffffffffffffffffffffff161480610de45750610de381610dde6126ed565b6123ef565b5b610e23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1a90614b72565b60405180910390fd5b610e2d83836126f5565b505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60009054906101000a900460ff1681565b6000600880549050905090565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ea66126ed565b73ffffffffffffffffffffffffffffffffffffffff16610ec4611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614610f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1190614c32565b60405180910390fd5b8051825114610f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5590614b32565b60405180910390fd5b60005b815181101561100757610ff4838281518110610fa6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151838381518110610fe7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516127ae565b8080610fff906150af565b915050610f61565b505050565b61101d6110176126ed565b826128c1565b61105c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105390614cd2565b60405180910390fd5b61106783838361299f565b505050565b6110746126ed565b73ffffffffffffffffffffffffffffffffffffffff16611092611d7a565b73ffffffffffffffffffffffffffffffffffffffff16146110e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110df90614c32565b60405180910390fd5b80600c8190555050565b60006110fd83611b4c565b821061113e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113590614a32565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006111a1610e6b565b9050600f60009054906101000a900460ff16156111f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ea906149f2565b60405180910390fd5b60011515601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127d906149d2565b60405180910390fd5b600d54600c546112969190614f93565b82826112a29190614eb2565b11156112e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112da90614a72565b60405180910390fd5b81600e546112f19190614f39565b341015611333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132a90614cb2565b60405180910390fd5b60005b828110156113665761135333828461134e9190614eb2565b612663565b808061135e906150af565b915050611336565b505050565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113996126ed565b73ffffffffffffffffffffffffffffffffffffffff166113b7611d7a565b73ffffffffffffffffffffffffffffffffffffffff161461140d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140490614c32565b60405180910390fd5b60006103e861015e476114209190614f39565b61142a9190614f08565b905060006103e861015e4761143f9190614f39565b6114499190614f08565b905060006103e860c84761145d9190614f39565b6114679190614f08565b905060006103e860324761147b9190614f39565b6114859190614f08565b905060006103e8601e476114999190614f39565b6114a39190614f08565b905060006103e86014476114b79190614f39565b6114c19190614f08565b9050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc879081150290604051600060405180830381858888f1935050505015801561152b573d6000803e3d6000fd5b50601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f19350505050158015611594573d6000803e3d6000fd5b50601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501580156115fd573d6000803e3d6000fd5b50601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015611666573d6000803e3d6000fd5b50601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156116cf573d6000803e3d6000fd5b50601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611738573d6000803e3d6000fd5b50505050505050565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61178283838360405180602001604052806000815250612073565b505050565b6060600061179483611b4c565b905060008167ffffffffffffffff8111156117d8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156118065781602001602082028036833780820191505090505b50905060005b828110156118765761181e85826110f2565b828281518110611857577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050808061186e906150af565b91505061180c565b508092505050919050565b600061188b610e6b565b82106118cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c390614cf2565b60405180910390fd5b60088281548110611906577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050919050565b6119206126ed565b73ffffffffffffffffffffffffffffffffffffffff1661193e611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614611994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198b90614c32565b60405180910390fd5b80601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6119e06126ed565b73ffffffffffffffffffffffffffffffffffffffff166119fe611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614611a54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4b90614c32565b60405180910390fd5b80600b9080519060200190611a6a929190613836565b5050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0e90614bb2565b60405180910390fd5b80915050919050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb490614b92565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611c0c6126ed565b73ffffffffffffffffffffffffffffffffffffffff16611c2a611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614611c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7790614c32565b60405180910390fd5b611c8a6000612bfb565b565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611cba6126ed565b73ffffffffffffffffffffffffffffffffffffffff16611cd8611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614611d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2590614c32565b60405180910390fd5b600f60009054906101000a900460ff1615600f60006101000a81548160ff021916908315150217905550565b601f6020528060005260406000206000915054906101000a900460ff1681565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611dac6126ed565b73ffffffffffffffffffffffffffffffffffffffff16611dca611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614611e20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1790614c32565b60405180910390fd5b80600e8190555050565b606060018054611e399061507d565b80601f0160208091040260200160405190810160405280929190818152602001828054611e659061507d565b8015611eb25780601f10611e8757610100808354040283529160200191611eb2565b820191906000526020600020905b815481529060010190602001808311611e9557829003601f168201915b5050505050905090565b6000600e54905090565b611ece6126ed565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3390614b12565b60405180910390fd5b8060056000611f496126ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611ff66126ed565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161203b9190614995565b60405180910390a35050565b600c5481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61208461207e6126ed565b836128c1565b6120c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ba90614cd2565b60405180910390fd5b6120cf84848484612cc1565b50505050565b6120dd6126ed565b73ffffffffffffffffffffffffffffffffffffffff166120fb611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890614c32565b60405180910390fd5b60005b81518110156122be57600073ffffffffffffffffffffffffffffffffffffffff168282815181106121ae577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561220d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220490614d12565b60405180910390fd5b6000828281518110612248577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506001601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505080806122b6906150af565b915050612154565b5050565b6122ca6126ed565b73ffffffffffffffffffffffffffffffffffffffff166122e8611d7a565b73ffffffffffffffffffffffffffffffffffffffff161461233e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233590614c32565b60405180910390fd5b8060108190555050565b606061235382612681565b612392576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238990614c72565b60405180910390fd5b600061239c612d1d565b905060008151116123bc57604051806020016040528060008152506123e7565b806123c684612daf565b6040516020016123d79291906148dd565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61248b6126ed565b73ffffffffffffffffffffffffffffffffffffffff166124a9611d7a565b73ffffffffffffffffffffffffffffffffffffffff16146124ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f690614c32565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561256f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256690614a92565b60405180910390fd5b61257881612bfb565b50565b60105481565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061264c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061265c575061265b82612f5c565b5b9050919050565b61267d828260405180602001604052806000815250612fc6565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661276883611a6e565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006127b8610e6b565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561282a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282190614d12565b60405180910390fd5b600d5482111561286f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286690614a12565b60405180910390fd5b60005b828110156128a25761288f84828461288a9190614eb2565b612663565b808061289a906150af565b915050612872565b5081600d60008282546128b59190614f93565b92505081905550505050565b60006128cc82612681565b61290b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290290614b52565b60405180910390fd5b600061291683611a6e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061298557508373ffffffffffffffffffffffffffffffffffffffff1661296d84610c95565b73ffffffffffffffffffffffffffffffffffffffff16145b80612996575061299581856123ef565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166129bf82611a6e565b73ffffffffffffffffffffffffffffffffffffffff1614612a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0c90614c52565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7c90614af2565b60405180910390fd5b612a9083838361302d565b612a9b6000826126f5565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612aeb9190614f93565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b429190614eb2565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612ccc84848461299f565b612cd884848484613141565b612d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0e90614a52565b60405180910390fd5b50505050565b6060600b8054612d2c9061507d565b80601f0160208091040260200160405190810160405280929190818152602001828054612d589061507d565b8015612da55780601f10612d7a57610100808354040283529160200191612da5565b820191906000526020600020905b815481529060010190602001808311612d8857829003601f168201915b5050505050905090565b60606000821415612df7576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612f57565b600082905060005b60008214612e29578080612e12906150af565b915050600a82612e229190614f08565b9150612dff565b60008167ffffffffffffffff811115612e6b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612e9d5781602001600182028036833780820191505090505b5090505b60008514612f5057600182612eb69190614f93565b9150600a85612ec591906150f8565b6030612ed19190614eb2565b60f81b818381518110612f0d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612f499190614f08565b9450612ea1565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612fdc83600184612fd79190614eb2565b6132d8565b612fe96000848484613141565b613028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161301f90614a52565b60405180910390fd5b505050565b6130388383836134a6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561307b57613076816134ab565b6130ba565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146130b9576130b883826134f4565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156130fd576130f881613661565b61313c565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461313b5761313a82826137a4565b5b5b505050565b60006131628473ffffffffffffffffffffffffffffffffffffffff16613823565b156132cb578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261318b6126ed565b8786866040518563ffffffff1660e01b81526004016131ad9493929190614927565b602060405180830381600087803b1580156131c757600080fd5b505af19250505080156131f857506040513d601f19601f820116820180604052508101906131f59190613dbb565b60015b61327b573d8060008114613228576040519150601f19603f3d011682016040523d82523d6000602084013e61322d565b606091505b50600081511415613273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161326a90614a52565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506132d0565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161333f90614bd2565b60405180910390fd5b61335181612681565b15613391576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161338890614ad2565b60405180910390fd5b61339d6000838361302d565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546133ed9190614eb2565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161350184611b4c565b61350b9190614f93565b90506000600760008481526020019081526020016000205490508181146135f0576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506136759190614f93565b90506000600960008481526020019081526020016000205490506000600883815481106136cb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020015490508060088381548110613713577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480613788577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b60006137af83611b4c565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600080823b905060008111915050919050565b8280546138429061507d565b90600052602060002090601f01602090048101928261386457600085556138ab565b82601f1061387d57805160ff19168380011785556138ab565b828001600101855582156138ab579182015b828111156138aa57825182559160200191906001019061388f565b5b5090506138b891906138bc565b5090565b5b808211156138d55760008160009055506001016138bd565b5090565b60006138ec6138e784614d7e565b614d4d565b9050808382526020820190508285602086028201111561390b57600080fd5b60005b8581101561393b57816139218882613a2d565b84526020840193506020830192505060018101905061390e565b5050509392505050565b600061395861395384614daa565b614d4d565b9050808382526020820190508285602086028201111561397757600080fd5b60005b858110156139a7578161398d8882613b29565b84526020840193506020830192505060018101905061397a565b5050509392505050565b60006139c46139bf84614dd6565b614d4d565b9050828152602081018484840111156139dc57600080fd5b6139e784828561503b565b509392505050565b6000613a026139fd84614e06565b614d4d565b905082815260208101848484011115613a1a57600080fd5b613a2584828561503b565b509392505050565b600081359050613a3c816151f6565b92915050565b600082601f830112613a5357600080fd5b8135613a638482602086016138d9565b91505092915050565b600082601f830112613a7d57600080fd5b8135613a8d848260208601613945565b91505092915050565b600081359050613aa58161520d565b92915050565b600081359050613aba81615224565b92915050565b600081519050613acf81615224565b92915050565b600082601f830112613ae657600080fd5b8135613af68482602086016139b1565b91505092915050565b600082601f830112613b1057600080fd5b8135613b208482602086016139ef565b91505092915050565b600081359050613b388161523b565b92915050565b600060208284031215613b5057600080fd5b6000613b5e84828501613a2d565b91505092915050565b60008060408385031215613b7a57600080fd5b6000613b8885828601613a2d565b9250506020613b9985828601613a2d565b9150509250929050565b600080600060608486031215613bb857600080fd5b6000613bc686828701613a2d565b9350506020613bd786828701613a2d565b9250506040613be886828701613b29565b9150509250925092565b60008060008060808587031215613c0857600080fd5b6000613c1687828801613a2d565b9450506020613c2787828801613a2d565b9350506040613c3887828801613b29565b925050606085013567ffffffffffffffff811115613c5557600080fd5b613c6187828801613ad5565b91505092959194509250565b60008060408385031215613c8057600080fd5b6000613c8e85828601613a2d565b9250506020613c9f85828601613a96565b9150509250929050565b60008060408385031215613cbc57600080fd5b6000613cca85828601613a2d565b9250506020613cdb85828601613b29565b9150509250929050565b600060208284031215613cf757600080fd5b600082013567ffffffffffffffff811115613d1157600080fd5b613d1d84828501613a42565b91505092915050565b60008060408385031215613d3957600080fd5b600083013567ffffffffffffffff811115613d5357600080fd5b613d5f85828601613a42565b925050602083013567ffffffffffffffff811115613d7c57600080fd5b613d8885828601613a6c565b9150509250929050565b600060208284031215613da457600080fd5b6000613db284828501613aab565b91505092915050565b600060208284031215613dcd57600080fd5b6000613ddb84828501613ac0565b91505092915050565b600060208284031215613df657600080fd5b600082013567ffffffffffffffff811115613e1057600080fd5b613e1c84828501613aff565b91505092915050565b600060208284031215613e3757600080fd5b6000613e4584828501613b29565b91505092915050565b6000613e5a83836148bf565b60208301905092915050565b613e6f81614fc7565b82525050565b6000613e8082614e46565b613e8a8185614e74565b9350613e9583614e36565b8060005b83811015613ec6578151613ead8882613e4e565b9750613eb883614e67565b925050600181019050613e99565b5085935050505092915050565b613edc81614fd9565b82525050565b6000613eed82614e51565b613ef78185614e85565b9350613f0781856020860161504a565b613f10816151e5565b840191505092915050565b6000613f2682614e5c565b613f308185614e96565b9350613f4081856020860161504a565b613f49816151e5565b840191505092915050565b6000613f5f82614e5c565b613f698185614ea7565b9350613f7981856020860161504a565b80840191505092915050565b6000613f92601783614e96565b91507f4f6e6c792057484954454c4953542063616e206d696e740000000000000000006000830152602082019050919050565b6000613fd2600b83614e96565b91507f53616c65207061757365640000000000000000000000000000000000000000006000830152602082019050919050565b6000614012601c83614e96565b91507f457863656564732072657365727665642070756e6b20737570706c79000000006000830152602082019050919050565b6000614052602b83614e96565b91507f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008301527f74206f6620626f756e64730000000000000000000000000000000000000000006020830152604082019050919050565b60006140b8603283614e96565b91507f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008301527f63656976657220696d706c656d656e74657200000000000000000000000000006020830152604082019050919050565b600061411e601b83614e96565b91507f45786365656473206d6178696d756d2050554e4b20737570706c7900000000006000830152602082019050919050565b600061415e602683614e96565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006141c4602783614e96565b91507f596f752065786365656473206d696e74206c696d697420706572207472616e7360008301527f616374696f6e2e000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061422a601c83614e96565b91507f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006000830152602082019050919050565b600061426a602483614e96565b91507f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006142d0601983614e96565b91507f4552433732313a20617070726f766520746f2063616c6c6572000000000000006000830152602082019050919050565b6000614310601783614e96565b91507f456e7465726564206461746120697320696e76616c69640000000000000000006000830152602082019050919050565b6000614350602c83614e96565b91507f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b60006143b6603883614e96565b91507f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008301527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006020830152604082019050919050565b600061441c602a83614e96565b91507f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008301527f726f2061646472657373000000000000000000000000000000000000000000006020830152604082019050919050565b6000614482602983614e96565b91507f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008301527f656e7420746f6b656e00000000000000000000000000000000000000000000006020830152604082019050919050565b60006144e8602083614e96565b91507f4552433732313a206d696e7420746f20746865207a65726f20616464726573736000830152602082019050919050565b6000614528602c83614e96565b91507f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b600061458e600583614ea7565b91507f2e6a736f6e0000000000000000000000000000000000000000000000000000006000830152600582019050919050565b60006145ce601c83614e96565b91507f45786365656473206d6178696d756d2070756e6b7320737570706c79000000006000830152602082019050919050565b600061460e602083614e96565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061464e602983614e96565b91507f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008301527f73206e6f74206f776e00000000000000000000000000000000000000000000006020830152604082019050919050565b60006146b4602f83614e96565b91507f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008301527f6e6578697374656e7420746f6b656e00000000000000000000000000000000006020830152604082019050919050565b600061471a602183614e96565b91507f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614780601983614e96565b91507f45746865722073656e74206973206e6f7420636f7272656374000000000000006000830152602082019050919050565b60006147c0603183614e96565b91507f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008301527f776e6572206e6f7220617070726f7665640000000000000000000000000000006020830152604082019050919050565b6000614826602c83614e96565b91507f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008301527f7574206f6620626f756e647300000000000000000000000000000000000000006020830152604082019050919050565b600061488c601583614e96565b91507f496e76616c6964206164647265737320666f756e6400000000000000000000006000830152602082019050919050565b6148c881615031565b82525050565b6148d781615031565b82525050565b60006148e98285613f54565b91506148f58284613f54565b915061490082614581565b91508190509392505050565b60006020820190506149216000830184613e66565b92915050565b600060808201905061493c6000830187613e66565b6149496020830186613e66565b61495660408301856148ce565b81810360608301526149688184613ee2565b905095945050505050565b6000602082019050818103600083015261498d8184613e75565b905092915050565b60006020820190506149aa6000830184613ed3565b92915050565b600060208201905081810360008301526149ca8184613f1b565b905092915050565b600060208201905081810360008301526149eb81613f85565b9050919050565b60006020820190508181036000830152614a0b81613fc5565b9050919050565b60006020820190508181036000830152614a2b81614005565b9050919050565b60006020820190508181036000830152614a4b81614045565b9050919050565b60006020820190508181036000830152614a6b816140ab565b9050919050565b60006020820190508181036000830152614a8b81614111565b9050919050565b60006020820190508181036000830152614aab81614151565b9050919050565b60006020820190508181036000830152614acb816141b7565b9050919050565b60006020820190508181036000830152614aeb8161421d565b9050919050565b60006020820190508181036000830152614b0b8161425d565b9050919050565b60006020820190508181036000830152614b2b816142c3565b9050919050565b60006020820190508181036000830152614b4b81614303565b9050919050565b60006020820190508181036000830152614b6b81614343565b9050919050565b60006020820190508181036000830152614b8b816143a9565b9050919050565b60006020820190508181036000830152614bab8161440f565b9050919050565b60006020820190508181036000830152614bcb81614475565b9050919050565b60006020820190508181036000830152614beb816144db565b9050919050565b60006020820190508181036000830152614c0b8161451b565b9050919050565b60006020820190508181036000830152614c2b816145c1565b9050919050565b60006020820190508181036000830152614c4b81614601565b9050919050565b60006020820190508181036000830152614c6b81614641565b9050919050565b60006020820190508181036000830152614c8b816146a7565b9050919050565b60006020820190508181036000830152614cab8161470d565b9050919050565b60006020820190508181036000830152614ccb81614773565b9050919050565b60006020820190508181036000830152614ceb816147b3565b9050919050565b60006020820190508181036000830152614d0b81614819565b9050919050565b60006020820190508181036000830152614d2b8161487f565b9050919050565b6000602082019050614d4760008301846148ce565b92915050565b6000604051905081810181811067ffffffffffffffff82111715614d7457614d736151b6565b5b8060405250919050565b600067ffffffffffffffff821115614d9957614d986151b6565b5b602082029050602081019050919050565b600067ffffffffffffffff821115614dc557614dc46151b6565b5b602082029050602081019050919050565b600067ffffffffffffffff821115614df157614df06151b6565b5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff821115614e2157614e206151b6565b5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000614ebd82615031565b9150614ec883615031565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614efd57614efc615129565b5b828201905092915050565b6000614f1382615031565b9150614f1e83615031565b925082614f2e57614f2d615158565b5b828204905092915050565b6000614f4482615031565b9150614f4f83615031565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614f8857614f87615129565b5b828202905092915050565b6000614f9e82615031565b9150614fa983615031565b925082821015614fbc57614fbb615129565b5b828203905092915050565b6000614fd282615011565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561506857808201518184015260208101905061504d565b83811115615077576000848401525b50505050565b6000600282049050600182168061509557607f821691505b602082108114156150a9576150a8615187565b5b50919050565b60006150ba82615031565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156150ed576150ec615129565b5b600182019050919050565b600061510382615031565b915061510e83615031565b92508261511e5761511d615158565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b6151ff81614fc7565b811461520a57600080fd5b50565b61521681614fd9565b811461522157600080fd5b50565b61522d81614fe5565b811461523857600080fd5b50565b61524481615031565b811461524f57600080fd5b5056fea26469706673582212205d16aa5b1eb5dcc2cdbf4f941b6eb4d10c25f053680701731eda4501de7a5d0164736f6c634300080000330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000005c68747470733a2f2f66696e616c672e6d7970696e6174612e636c6f75642f697066732f516d513475625767744872673779317462736644657964534c665373356279375133484e6e534a505368775747482f5075787869657325323000000000
Deployed Bytecode
0x6080604052600436106102675760003560e01c80636352211e1161014457806398d5fdca116100b6578063c3f1d1851161007a578063c3f1d185146108e3578063c6f6f2161461090c578063c87b56dd14610935578063e985e9c514610972578063f2fde38b146109af578063f968adbe146109d857610267565b806398d5fdca14610810578063a22cb4651461083b578063a4d66daf14610864578063b0ea70901461088f578063b88d4fde146108ba57610267565b80637673faf0116101085780637673faf0146107125780638456cb591461073d578063877816c0146107545780638da5cb5b1461079157806391b7f5ed146107bc57806395d89b41146107e557610267565b80636352211e1461062b578063664a1ad6146106685780636aaa571d1461069357806370a08231146106be578063715018a6146106fb57610267565b806327ea6f2b116101dd57806341ab7d0f116101a157806341ab7d0f1461050b57806342842e0e14610536578063438b63001461055f5780634f6ccce71461059c57806355ce3b9a146105d957806355f804b31461060257610267565b806327ea6f2b146104545780632f745c591461047d57806335aacecd146104ba5780633c918bae146104d65780633ccfd60b1461050157610267565b80630b8d0a281161022f5780630b8d0a281461035657806316c61ccc1461038157806318160ddd146103ac5780631a026c96146103d757806322a2eced1461040257806323b872dd1461042b57610267565b806301ffc9a71461026c57806306fdde03146102a957806307883703146102d4578063081812fc146102f0578063095ea7b31461032d575b600080fd5b34801561027857600080fd5b50610293600480360381019061028e9190613d92565b610a03565b6040516102a09190614995565b60405180910390f35b3480156102b557600080fd5b506102be610a7d565b6040516102cb91906149b0565b60405180910390f35b6102ee60048036038101906102e99190613e25565b610b0f565b005b3480156102fc57600080fd5b5061031760048036038101906103129190613e25565b610c95565b604051610324919061490c565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f9190613ca9565b610d1a565b005b34801561036257600080fd5b5061036b610e32565b604051610378919061490c565b60405180910390f35b34801561038d57600080fd5b50610396610e58565b6040516103a39190614995565b60405180910390f35b3480156103b857600080fd5b506103c1610e6b565b6040516103ce9190614d32565b60405180910390f35b3480156103e357600080fd5b506103ec610e78565b6040516103f9919061490c565b60405180910390f35b34801561040e57600080fd5b5061042960048036038101906104249190613d26565b610e9e565b005b34801561043757600080fd5b50610452600480360381019061044d9190613ba3565b61100c565b005b34801561046057600080fd5b5061047b60048036038101906104769190613e25565b61106c565b005b34801561048957600080fd5b506104a4600480360381019061049f9190613ca9565b6110f2565b6040516104b19190614d32565b60405180910390f35b6104d460048036038101906104cf9190613e25565b611197565b005b3480156104e257600080fd5b506104eb61136b565b6040516104f8919061490c565b60405180910390f35b610509611391565b005b34801561051757600080fd5b50610520611741565b60405161052d919061490c565b60405180910390f35b34801561054257600080fd5b5061055d60048036038101906105589190613ba3565b611767565b005b34801561056b57600080fd5b5061058660048036038101906105819190613b3e565b611787565b6040516105939190614973565b60405180910390f35b3480156105a857600080fd5b506105c360048036038101906105be9190613e25565b611881565b6040516105d09190614d32565b60405180910390f35b3480156105e557600080fd5b5061060060048036038101906105fb9190613b3e565b611918565b005b34801561060e57600080fd5b5061062960048036038101906106249190613de4565b6119d8565b005b34801561063757600080fd5b50610652600480360381019061064d9190613e25565b611a6e565b60405161065f919061490c565b60405180910390f35b34801561067457600080fd5b5061067d611b20565b60405161068a919061490c565b60405180910390f35b34801561069f57600080fd5b506106a8611b46565b6040516106b59190614d32565b60405180910390f35b3480156106ca57600080fd5b506106e560048036038101906106e09190613b3e565b611b4c565b6040516106f29190614d32565b60405180910390f35b34801561070757600080fd5b50610710611c04565b005b34801561071e57600080fd5b50610727611c8c565b604051610734919061490c565b60405180910390f35b34801561074957600080fd5b50610752611cb2565b005b34801561076057600080fd5b5061077b60048036038101906107769190613b3e565b611d5a565b6040516107889190614995565b60405180910390f35b34801561079d57600080fd5b506107a6611d7a565b6040516107b3919061490c565b60405180910390f35b3480156107c857600080fd5b506107e360048036038101906107de9190613e25565b611da4565b005b3480156107f157600080fd5b506107fa611e2a565b60405161080791906149b0565b60405180910390f35b34801561081c57600080fd5b50610825611ebc565b6040516108329190614d32565b60405180910390f35b34801561084757600080fd5b50610862600480360381019061085d9190613c6d565b611ec6565b005b34801561087057600080fd5b50610879612047565b6040516108869190614d32565b60405180910390f35b34801561089b57600080fd5b506108a461204d565b6040516108b1919061490c565b60405180910390f35b3480156108c657600080fd5b506108e160048036038101906108dc9190613bf2565b612073565b005b3480156108ef57600080fd5b5061090a60048036038101906109059190613ce5565b6120d5565b005b34801561091857600080fd5b50610933600480360381019061092e9190613e25565b6122c2565b005b34801561094157600080fd5b5061095c60048036038101906109579190613e25565b612348565b60405161096991906149b0565b60405180910390f35b34801561097e57600080fd5b5061099960048036038101906109949190613b67565b6123ef565b6040516109a69190614995565b60405180910390f35b3480156109bb57600080fd5b506109d660048036038101906109d19190613b3e565b612483565b005b3480156109e457600080fd5b506109ed61257b565b6040516109fa9190614d32565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a765750610a7582612581565b5b9050919050565b606060008054610a8c9061507d565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab89061507d565b8015610b055780601f10610ada57610100808354040283529160200191610b05565b820191906000526020600020905b815481529060010190602001808311610ae857829003601f168201915b5050505050905090565b6000610b19610e6b565b9050600f60009054906101000a900460ff1615610b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b62906149f2565b60405180910390fd5b601054821115610bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba790614ab2565b60405180910390fd5b600d54600c54610bc09190614f93565b8282610bcc9190614eb2565b1115610c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0490614c12565b60405180910390fd5b81600e54610c1b9190614f39565b341015610c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5490614cb2565b60405180910390fd5b60005b82811015610c9057610c7d338284610c789190614eb2565b612663565b8080610c88906150af565b915050610c60565b505050565b6000610ca082612681565b610cdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd690614bf2565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610d2582611a6e565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8d90614c92565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610db56126ed565b73ffffffffffffffffffffffffffffffffffffffff161480610de45750610de381610dde6126ed565b6123ef565b5b610e23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1a90614b72565b60405180910390fd5b610e2d83836126f5565b505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60009054906101000a900460ff1681565b6000600880549050905090565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ea66126ed565b73ffffffffffffffffffffffffffffffffffffffff16610ec4611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614610f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1190614c32565b60405180910390fd5b8051825114610f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5590614b32565b60405180910390fd5b60005b815181101561100757610ff4838281518110610fa6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151838381518110610fe7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516127ae565b8080610fff906150af565b915050610f61565b505050565b61101d6110176126ed565b826128c1565b61105c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105390614cd2565b60405180910390fd5b61106783838361299f565b505050565b6110746126ed565b73ffffffffffffffffffffffffffffffffffffffff16611092611d7a565b73ffffffffffffffffffffffffffffffffffffffff16146110e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110df90614c32565b60405180910390fd5b80600c8190555050565b60006110fd83611b4c565b821061113e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113590614a32565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006111a1610e6b565b9050600f60009054906101000a900460ff16156111f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ea906149f2565b60405180910390fd5b60011515601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127d906149d2565b60405180910390fd5b600d54600c546112969190614f93565b82826112a29190614eb2565b11156112e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112da90614a72565b60405180910390fd5b81600e546112f19190614f39565b341015611333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132a90614cb2565b60405180910390fd5b60005b828110156113665761135333828461134e9190614eb2565b612663565b808061135e906150af565b915050611336565b505050565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113996126ed565b73ffffffffffffffffffffffffffffffffffffffff166113b7611d7a565b73ffffffffffffffffffffffffffffffffffffffff161461140d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140490614c32565b60405180910390fd5b60006103e861015e476114209190614f39565b61142a9190614f08565b905060006103e861015e4761143f9190614f39565b6114499190614f08565b905060006103e860c84761145d9190614f39565b6114679190614f08565b905060006103e860324761147b9190614f39565b6114859190614f08565b905060006103e8601e476114999190614f39565b6114a39190614f08565b905060006103e86014476114b79190614f39565b6114c19190614f08565b9050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc879081150290604051600060405180830381858888f1935050505015801561152b573d6000803e3d6000fd5b50601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f19350505050158015611594573d6000803e3d6000fd5b50601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501580156115fd573d6000803e3d6000fd5b50601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015611666573d6000803e3d6000fd5b50601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156116cf573d6000803e3d6000fd5b50601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611738573d6000803e3d6000fd5b50505050505050565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61178283838360405180602001604052806000815250612073565b505050565b6060600061179483611b4c565b905060008167ffffffffffffffff8111156117d8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156118065781602001602082028036833780820191505090505b50905060005b828110156118765761181e85826110f2565b828281518110611857577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050808061186e906150af565b91505061180c565b508092505050919050565b600061188b610e6b565b82106118cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c390614cf2565b60405180910390fd5b60088281548110611906577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050919050565b6119206126ed565b73ffffffffffffffffffffffffffffffffffffffff1661193e611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614611994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198b90614c32565b60405180910390fd5b80601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6119e06126ed565b73ffffffffffffffffffffffffffffffffffffffff166119fe611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614611a54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4b90614c32565b60405180910390fd5b80600b9080519060200190611a6a929190613836565b5050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0e90614bb2565b60405180910390fd5b80915050919050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb490614b92565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611c0c6126ed565b73ffffffffffffffffffffffffffffffffffffffff16611c2a611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614611c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7790614c32565b60405180910390fd5b611c8a6000612bfb565b565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611cba6126ed565b73ffffffffffffffffffffffffffffffffffffffff16611cd8611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614611d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2590614c32565b60405180910390fd5b600f60009054906101000a900460ff1615600f60006101000a81548160ff021916908315150217905550565b601f6020528060005260406000206000915054906101000a900460ff1681565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611dac6126ed565b73ffffffffffffffffffffffffffffffffffffffff16611dca611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614611e20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1790614c32565b60405180910390fd5b80600e8190555050565b606060018054611e399061507d565b80601f0160208091040260200160405190810160405280929190818152602001828054611e659061507d565b8015611eb25780601f10611e8757610100808354040283529160200191611eb2565b820191906000526020600020905b815481529060010190602001808311611e9557829003601f168201915b5050505050905090565b6000600e54905090565b611ece6126ed565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3390614b12565b60405180910390fd5b8060056000611f496126ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611ff66126ed565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161203b9190614995565b60405180910390a35050565b600c5481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61208461207e6126ed565b836128c1565b6120c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ba90614cd2565b60405180910390fd5b6120cf84848484612cc1565b50505050565b6120dd6126ed565b73ffffffffffffffffffffffffffffffffffffffff166120fb611d7a565b73ffffffffffffffffffffffffffffffffffffffff1614612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890614c32565b60405180910390fd5b60005b81518110156122be57600073ffffffffffffffffffffffffffffffffffffffff168282815181106121ae577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561220d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220490614d12565b60405180910390fd5b6000828281518110612248577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506001601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505080806122b6906150af565b915050612154565b5050565b6122ca6126ed565b73ffffffffffffffffffffffffffffffffffffffff166122e8611d7a565b73ffffffffffffffffffffffffffffffffffffffff161461233e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233590614c32565b60405180910390fd5b8060108190555050565b606061235382612681565b612392576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238990614c72565b60405180910390fd5b600061239c612d1d565b905060008151116123bc57604051806020016040528060008152506123e7565b806123c684612daf565b6040516020016123d79291906148dd565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61248b6126ed565b73ffffffffffffffffffffffffffffffffffffffff166124a9611d7a565b73ffffffffffffffffffffffffffffffffffffffff16146124ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f690614c32565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561256f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256690614a92565b60405180910390fd5b61257881612bfb565b50565b60105481565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061264c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061265c575061265b82612f5c565b5b9050919050565b61267d828260405180602001604052806000815250612fc6565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661276883611a6e565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006127b8610e6b565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561282a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282190614d12565b60405180910390fd5b600d5482111561286f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286690614a12565b60405180910390fd5b60005b828110156128a25761288f84828461288a9190614eb2565b612663565b808061289a906150af565b915050612872565b5081600d60008282546128b59190614f93565b92505081905550505050565b60006128cc82612681565b61290b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290290614b52565b60405180910390fd5b600061291683611a6e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061298557508373ffffffffffffffffffffffffffffffffffffffff1661296d84610c95565b73ffffffffffffffffffffffffffffffffffffffff16145b80612996575061299581856123ef565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166129bf82611a6e565b73ffffffffffffffffffffffffffffffffffffffff1614612a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0c90614c52565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7c90614af2565b60405180910390fd5b612a9083838361302d565b612a9b6000826126f5565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612aeb9190614f93565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b429190614eb2565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612ccc84848461299f565b612cd884848484613141565b612d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0e90614a52565b60405180910390fd5b50505050565b6060600b8054612d2c9061507d565b80601f0160208091040260200160405190810160405280929190818152602001828054612d589061507d565b8015612da55780601f10612d7a57610100808354040283529160200191612da5565b820191906000526020600020905b815481529060010190602001808311612d8857829003601f168201915b5050505050905090565b60606000821415612df7576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612f57565b600082905060005b60008214612e29578080612e12906150af565b915050600a82612e229190614f08565b9150612dff565b60008167ffffffffffffffff811115612e6b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612e9d5781602001600182028036833780820191505090505b5090505b60008514612f5057600182612eb69190614f93565b9150600a85612ec591906150f8565b6030612ed19190614eb2565b60f81b818381518110612f0d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612f499190614f08565b9450612ea1565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612fdc83600184612fd79190614eb2565b6132d8565b612fe96000848484613141565b613028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161301f90614a52565b60405180910390fd5b505050565b6130388383836134a6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561307b57613076816134ab565b6130ba565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146130b9576130b883826134f4565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156130fd576130f881613661565b61313c565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461313b5761313a82826137a4565b5b5b505050565b60006131628473ffffffffffffffffffffffffffffffffffffffff16613823565b156132cb578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261318b6126ed565b8786866040518563ffffffff1660e01b81526004016131ad9493929190614927565b602060405180830381600087803b1580156131c757600080fd5b505af19250505080156131f857506040513d601f19601f820116820180604052508101906131f59190613dbb565b60015b61327b573d8060008114613228576040519150601f19603f3d011682016040523d82523d6000602084013e61322d565b606091505b50600081511415613273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161326a90614a52565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506132d0565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161333f90614bd2565b60405180910390fd5b61335181612681565b15613391576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161338890614ad2565b60405180910390fd5b61339d6000838361302d565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546133ed9190614eb2565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161350184611b4c565b61350b9190614f93565b90506000600760008481526020019081526020016000205490508181146135f0576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506136759190614f93565b90506000600960008481526020019081526020016000205490506000600883815481106136cb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020015490508060088381548110613713577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480613788577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b60006137af83611b4c565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600080823b905060008111915050919050565b8280546138429061507d565b90600052602060002090601f01602090048101928261386457600085556138ab565b82601f1061387d57805160ff19168380011785556138ab565b828001600101855582156138ab579182015b828111156138aa57825182559160200191906001019061388f565b5b5090506138b891906138bc565b5090565b5b808211156138d55760008160009055506001016138bd565b5090565b60006138ec6138e784614d7e565b614d4d565b9050808382526020820190508285602086028201111561390b57600080fd5b60005b8581101561393b57816139218882613a2d565b84526020840193506020830192505060018101905061390e565b5050509392505050565b600061395861395384614daa565b614d4d565b9050808382526020820190508285602086028201111561397757600080fd5b60005b858110156139a7578161398d8882613b29565b84526020840193506020830192505060018101905061397a565b5050509392505050565b60006139c46139bf84614dd6565b614d4d565b9050828152602081018484840111156139dc57600080fd5b6139e784828561503b565b509392505050565b6000613a026139fd84614e06565b614d4d565b905082815260208101848484011115613a1a57600080fd5b613a2584828561503b565b509392505050565b600081359050613a3c816151f6565b92915050565b600082601f830112613a5357600080fd5b8135613a638482602086016138d9565b91505092915050565b600082601f830112613a7d57600080fd5b8135613a8d848260208601613945565b91505092915050565b600081359050613aa58161520d565b92915050565b600081359050613aba81615224565b92915050565b600081519050613acf81615224565b92915050565b600082601f830112613ae657600080fd5b8135613af68482602086016139b1565b91505092915050565b600082601f830112613b1057600080fd5b8135613b208482602086016139ef565b91505092915050565b600081359050613b388161523b565b92915050565b600060208284031215613b5057600080fd5b6000613b5e84828501613a2d565b91505092915050565b60008060408385031215613b7a57600080fd5b6000613b8885828601613a2d565b9250506020613b9985828601613a2d565b9150509250929050565b600080600060608486031215613bb857600080fd5b6000613bc686828701613a2d565b9350506020613bd786828701613a2d565b9250506040613be886828701613b29565b9150509250925092565b60008060008060808587031215613c0857600080fd5b6000613c1687828801613a2d565b9450506020613c2787828801613a2d565b9350506040613c3887828801613b29565b925050606085013567ffffffffffffffff811115613c5557600080fd5b613c6187828801613ad5565b91505092959194509250565b60008060408385031215613c8057600080fd5b6000613c8e85828601613a2d565b9250506020613c9f85828601613a96565b9150509250929050565b60008060408385031215613cbc57600080fd5b6000613cca85828601613a2d565b9250506020613cdb85828601613b29565b9150509250929050565b600060208284031215613cf757600080fd5b600082013567ffffffffffffffff811115613d1157600080fd5b613d1d84828501613a42565b91505092915050565b60008060408385031215613d3957600080fd5b600083013567ffffffffffffffff811115613d5357600080fd5b613d5f85828601613a42565b925050602083013567ffffffffffffffff811115613d7c57600080fd5b613d8885828601613a6c565b9150509250929050565b600060208284031215613da457600080fd5b6000613db284828501613aab565b91505092915050565b600060208284031215613dcd57600080fd5b6000613ddb84828501613ac0565b91505092915050565b600060208284031215613df657600080fd5b600082013567ffffffffffffffff811115613e1057600080fd5b613e1c84828501613aff565b91505092915050565b600060208284031215613e3757600080fd5b6000613e4584828501613b29565b91505092915050565b6000613e5a83836148bf565b60208301905092915050565b613e6f81614fc7565b82525050565b6000613e8082614e46565b613e8a8185614e74565b9350613e9583614e36565b8060005b83811015613ec6578151613ead8882613e4e565b9750613eb883614e67565b925050600181019050613e99565b5085935050505092915050565b613edc81614fd9565b82525050565b6000613eed82614e51565b613ef78185614e85565b9350613f0781856020860161504a565b613f10816151e5565b840191505092915050565b6000613f2682614e5c565b613f308185614e96565b9350613f4081856020860161504a565b613f49816151e5565b840191505092915050565b6000613f5f82614e5c565b613f698185614ea7565b9350613f7981856020860161504a565b80840191505092915050565b6000613f92601783614e96565b91507f4f6e6c792057484954454c4953542063616e206d696e740000000000000000006000830152602082019050919050565b6000613fd2600b83614e96565b91507f53616c65207061757365640000000000000000000000000000000000000000006000830152602082019050919050565b6000614012601c83614e96565b91507f457863656564732072657365727665642070756e6b20737570706c79000000006000830152602082019050919050565b6000614052602b83614e96565b91507f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008301527f74206f6620626f756e64730000000000000000000000000000000000000000006020830152604082019050919050565b60006140b8603283614e96565b91507f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008301527f63656976657220696d706c656d656e74657200000000000000000000000000006020830152604082019050919050565b600061411e601b83614e96565b91507f45786365656473206d6178696d756d2050554e4b20737570706c7900000000006000830152602082019050919050565b600061415e602683614e96565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006141c4602783614e96565b91507f596f752065786365656473206d696e74206c696d697420706572207472616e7360008301527f616374696f6e2e000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061422a601c83614e96565b91507f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006000830152602082019050919050565b600061426a602483614e96565b91507f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006142d0601983614e96565b91507f4552433732313a20617070726f766520746f2063616c6c6572000000000000006000830152602082019050919050565b6000614310601783614e96565b91507f456e7465726564206461746120697320696e76616c69640000000000000000006000830152602082019050919050565b6000614350602c83614e96565b91507f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b60006143b6603883614e96565b91507f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008301527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006020830152604082019050919050565b600061441c602a83614e96565b91507f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008301527f726f2061646472657373000000000000000000000000000000000000000000006020830152604082019050919050565b6000614482602983614e96565b91507f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008301527f656e7420746f6b656e00000000000000000000000000000000000000000000006020830152604082019050919050565b60006144e8602083614e96565b91507f4552433732313a206d696e7420746f20746865207a65726f20616464726573736000830152602082019050919050565b6000614528602c83614e96565b91507f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b600061458e600583614ea7565b91507f2e6a736f6e0000000000000000000000000000000000000000000000000000006000830152600582019050919050565b60006145ce601c83614e96565b91507f45786365656473206d6178696d756d2070756e6b7320737570706c79000000006000830152602082019050919050565b600061460e602083614e96565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061464e602983614e96565b91507f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008301527f73206e6f74206f776e00000000000000000000000000000000000000000000006020830152604082019050919050565b60006146b4602f83614e96565b91507f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008301527f6e6578697374656e7420746f6b656e00000000000000000000000000000000006020830152604082019050919050565b600061471a602183614e96565b91507f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614780601983614e96565b91507f45746865722073656e74206973206e6f7420636f7272656374000000000000006000830152602082019050919050565b60006147c0603183614e96565b91507f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008301527f776e6572206e6f7220617070726f7665640000000000000000000000000000006020830152604082019050919050565b6000614826602c83614e96565b91507f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008301527f7574206f6620626f756e647300000000000000000000000000000000000000006020830152604082019050919050565b600061488c601583614e96565b91507f496e76616c6964206164647265737320666f756e6400000000000000000000006000830152602082019050919050565b6148c881615031565b82525050565b6148d781615031565b82525050565b60006148e98285613f54565b91506148f58284613f54565b915061490082614581565b91508190509392505050565b60006020820190506149216000830184613e66565b92915050565b600060808201905061493c6000830187613e66565b6149496020830186613e66565b61495660408301856148ce565b81810360608301526149688184613ee2565b905095945050505050565b6000602082019050818103600083015261498d8184613e75565b905092915050565b60006020820190506149aa6000830184613ed3565b92915050565b600060208201905081810360008301526149ca8184613f1b565b905092915050565b600060208201905081810360008301526149eb81613f85565b9050919050565b60006020820190508181036000830152614a0b81613fc5565b9050919050565b60006020820190508181036000830152614a2b81614005565b9050919050565b60006020820190508181036000830152614a4b81614045565b9050919050565b60006020820190508181036000830152614a6b816140ab565b9050919050565b60006020820190508181036000830152614a8b81614111565b9050919050565b60006020820190508181036000830152614aab81614151565b9050919050565b60006020820190508181036000830152614acb816141b7565b9050919050565b60006020820190508181036000830152614aeb8161421d565b9050919050565b60006020820190508181036000830152614b0b8161425d565b9050919050565b60006020820190508181036000830152614b2b816142c3565b9050919050565b60006020820190508181036000830152614b4b81614303565b9050919050565b60006020820190508181036000830152614b6b81614343565b9050919050565b60006020820190508181036000830152614b8b816143a9565b9050919050565b60006020820190508181036000830152614bab8161440f565b9050919050565b60006020820190508181036000830152614bcb81614475565b9050919050565b60006020820190508181036000830152614beb816144db565b9050919050565b60006020820190508181036000830152614c0b8161451b565b9050919050565b60006020820190508181036000830152614c2b816145c1565b9050919050565b60006020820190508181036000830152614c4b81614601565b9050919050565b60006020820190508181036000830152614c6b81614641565b9050919050565b60006020820190508181036000830152614c8b816146a7565b9050919050565b60006020820190508181036000830152614cab8161470d565b9050919050565b60006020820190508181036000830152614ccb81614773565b9050919050565b60006020820190508181036000830152614ceb816147b3565b9050919050565b60006020820190508181036000830152614d0b81614819565b9050919050565b60006020820190508181036000830152614d2b8161487f565b9050919050565b6000602082019050614d4760008301846148ce565b92915050565b6000604051905081810181811067ffffffffffffffff82111715614d7457614d736151b6565b5b8060405250919050565b600067ffffffffffffffff821115614d9957614d986151b6565b5b602082029050602081019050919050565b600067ffffffffffffffff821115614dc557614dc46151b6565b5b602082029050602081019050919050565b600067ffffffffffffffff821115614df157614df06151b6565b5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff821115614e2157614e206151b6565b5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000614ebd82615031565b9150614ec883615031565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614efd57614efc615129565b5b828201905092915050565b6000614f1382615031565b9150614f1e83615031565b925082614f2e57614f2d615158565b5b828204905092915050565b6000614f4482615031565b9150614f4f83615031565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614f8857614f87615129565b5b828202905092915050565b6000614f9e82615031565b9150614fa983615031565b925082821015614fbc57614fbb615129565b5b828203905092915050565b6000614fd282615011565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561506857808201518184015260208101905061504d565b83811115615077576000848401525b50505050565b6000600282049050600182168061509557607f821691505b602082108114156150a9576150a8615187565b5b50919050565b60006150ba82615031565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156150ed576150ec615129565b5b600182019050919050565b600061510382615031565b915061510e83615031565b92508261511e5761511d615158565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b6151ff81614fc7565b811461520a57600080fd5b50565b61521681614fd9565b811461522157600080fd5b50565b61522d81614fe5565b811461523857600080fd5b50565b61524481615031565b811461524f57600080fd5b5056fea26469706673582212205d16aa5b1eb5dcc2cdbf4f941b6eb4d10c25f053680701731eda4501de7a5d0164736f6c63430008000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000005c68747470733a2f2f66696e616c672e6d7970696e6174612e636c6f75642f697066732f516d513475625767744872673779317462736644657964534c665373356279375133484e6e534a505368775747482f5075787869657325323000000000
-----Decoded View---------------
Arg [0] : baseURI (string): https://finalg.mypinata.cloud/ipfs/QmQ4ubWgtHrg7y1tbsfDeydSLfSs5by7Q3HNnSJPShwWGH/Puxxies%20
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [1] : 000000000000000000000000000000000000000000000000000000000000005c
Arg [2] : 68747470733a2f2f66696e616c672e6d7970696e6174612e636c6f75642f6970
Arg [3] : 66732f516d513475625767744872673779317462736644657964534c66537335
Arg [4] : 6279375133484e6e534a505368775747482f5075787869657325323000000000
Deployed Bytecode Sourcemap
22929:5168:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18981:224;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12029:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24008:548;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13121:221;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12702:411;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23397:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23156:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19477:113;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23323:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24564:268;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13825:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26726:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19213:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25224:585;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23471:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27330:764;;;:::i;:::-;;23619:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14172:185;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25821:342;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19600:233;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26612:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27052:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11782:239;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23805:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23078:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11566:208;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2217:94;;;;;;;;;;;;;:::i;:::-;;23545:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27251:71;;;;;;;;;;;;;:::i;:::-;;23843:34;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1994:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26222:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12137:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27162:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13350:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23045:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23693:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14365:328;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26324:280;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26822:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12249:343;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13653:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2319:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23189:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18981:224;19083:4;19122:35;19107:50;;;:11;:50;;;;:90;;;;19161:36;19185:11;19161:23;:36::i;:::-;19107:90;19100:97;;18981:224;;;:::o;12029:100::-;12083:13;12116:5;12109:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12029:100;:::o;24008:548::-;24061:14;24078:13;:11;:13::i;:::-;24061:30;;24112:7;;;;;;;;;;;24111:8;24102:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;24192:8;;24185:3;:15;;24176:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;24311:9;;24303:5;;:17;;;;:::i;:::-;24296:3;24287:6;:12;;;;:::i;:::-;:33;;24278:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;24400:3;24391:6;;:12;;;;:::i;:::-;24378:9;:25;;24369:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;24463:9;24459:90;24478:3;24474:1;:7;24459:90;;;24502:35;24513:10;24534:1;24525:6;:10;;;;:::i;:::-;24502:9;:35::i;:::-;24483:3;;;;;:::i;:::-;;;;24459:90;;;;24008:548;;:::o;13121:221::-;13197:7;13225:16;13233:7;13225;:16::i;:::-;13217:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;13310:15;:24;13326:7;13310:24;;;;;;;;;;;;;;;;;;;;;13303:31;;13121:221;;;:::o;12702:411::-;12783:13;12799:23;12814:7;12799:14;:23::i;:::-;12783:39;;12847:5;12841:11;;:2;:11;;;;12833:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;12941:5;12925:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;12950:37;12967:5;12974:12;:10;:12::i;:::-;12950:16;:37::i;:::-;12925:62;12903:168;;;;;;;;;;;;:::i;:::-;;;;;;;;;13084:21;13093:2;13097:7;13084:8;:21::i;:::-;12702:411;;;:::o;23397:67::-;;;;;;;;;;;;;:::o;23156:26::-;;;;;;;;;;;;;:::o;19477:113::-;19538:7;19565:10;:17;;;;19558:24;;19477:113;:::o;23323:67::-;;;;;;;;;;;;;:::o;24564:268::-;2140:12;:10;:12::i;:::-;2129:23;;:7;:5;:7::i;:::-;:23;;;2121:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24685:7:::1;:14;24671:3;:10;:28;24662:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;24742:6;24738:87;24753:7;:14;24751:1;:16;24738:87;;;24788:25;24794:3;24798:1;24794:6;;;;;;;;;;;;;;;;;;;;;;24802:7;24810:1;24802:10;;;;;;;;;;;;;;;;;;;;;;24788:5;:25::i;:::-;24769:3;;;;;:::i;:::-;;;;24738:87;;;;24564:268:::0;;:::o;13825:339::-;14020:41;14039:12;:10;:12::i;:::-;14053:7;14020:18;:41::i;:::-;14012:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;14128:28;14138:4;14144:2;14148:7;14128:9;:28::i;:::-;13825:339;;;:::o;26726:88::-;2140:12;:10;:12::i;:::-;2129:23;;:7;:5;:7::i;:::-;:23;;;2121:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26799:7:::1;26791:5;:15;;;;26726:88:::0;:::o;19213:256::-;19310:7;19346:23;19363:5;19346:16;:23::i;:::-;19338:5;:31;19330:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;19435:12;:19;19448:5;19435:19;;;;;;;;;;;;;;;:26;19455:5;19435:26;;;;;;;;;;;;19428:33;;19213:256;;;;:::o;25224:585::-;25287:14;25304:13;:11;:13::i;:::-;25287:30;;25338:7;;;;;;;;;;;25337:8;25328:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;25438:4;25420:22;;:2;:14;25423:10;25420:14;;;;;;;;;;;;;;;;;;;;;;;;;:22;;;25411:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;25539:9;;25531:5;;:17;;;;:::i;:::-;25524:3;25515:6;:12;;;;:::i;:::-;:33;;25506:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;25636:3;25627:6;;:12;;;;:::i;:::-;25614:9;:25;;25605:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;25716:9;25712:90;25731:3;25727:1;:7;25712:90;;;25755:35;25766:10;25787:1;25778:6;:10;;;;:::i;:::-;25755:9;:35::i;:::-;25736:3;;;;;:::i;:::-;;;;25712:90;;;;25224:585;;:::o;23471:67::-;;;;;;;;;;;;;:::o;27330:764::-;2140:12;:10;:12::i;:::-;2129:23;;:7;:5;:7::i;:::-;:23;;;2121:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27386:15:::1;27436:4;27429:3;27405:21;:27;;;;:::i;:::-;27404:36;;;;:::i;:::-;27386:54;;27461:15;27511:4;27504:3;27480:21;:27;;;;:::i;:::-;27479:36;;;;:::i;:::-;27461:54;;27534:15;27584:4;27577:3;27553:21;:27;;;;:::i;:::-;27552:36;;;;:::i;:::-;27534:54;;27607:15;27657:4;27650:2;27626:21;:26;;;;:::i;:::-;27625:36;;;;:::i;:::-;27607:54;;27679:15;27729:4;27722:2;27698:21;:26;;;;:::i;:::-;27697:36;;;;:::i;:::-;27679:54;;27751:15;27801:4;27794:2;27770:21;:26;;;;:::i;:::-;27769:36;;;;:::i;:::-;27751:54;;27833:7;;;;;;;;;;;27825:25;;:34;27851:7;27825:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;27878:7;;;;;;;;;;;27870:25;;:34;27896:7;27870:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;27923:7;;;;;;;;;;;27915:25;;:34;27941:7;27915:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;27968:7;;;;;;;;;;;27960:25;;:34;27986:7;27960:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;28013:7;;;;;;;;;;;28005:25;;:34;28031:7;28005:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;28058:7;;;;;;;;;;;28050:25;;:34;28076:7;28050:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;2200:1;;;;;;27330:764::o:0;23619:67::-;;;;;;;;;;;;;:::o;14172:185::-;14310:39;14327:4;14333:2;14337:7;14310:39;;;;;;;;;;;;:16;:39::i;:::-;14172:185;;;:::o;25821:342::-;25880:16;25909:18;25930:17;25940:6;25930:9;:17::i;:::-;25909:38;;25958:25;26000:10;25986:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25958:53;;26028:9;26024:106;26043:10;26039:1;:14;26024:106;;;26088:30;26108:6;26116:1;26088:19;:30::i;:::-;26074:8;26083:1;26074:11;;;;;;;;;;;;;;;;;;;;;:44;;;;;26055:3;;;;;:::i;:::-;;;;26024:106;;;;26147:8;26140:15;;;;25821:342;;;:::o;19600:233::-;19675:7;19711:30;:28;:30::i;:::-;19703:5;:38;19695:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;19808:10;19819:5;19808:17;;;;;;;;;;;;;;;;;;;;;;;;19801:24;;19600:233;;;:::o;26612:106::-;2140:12;:10;:12::i;:::-;2129:23;;:7;:5;:7::i;:::-;:23;;;2121:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26699:11:::1;26686:10;;:24;;;;;;;;;;;;;;;;;;26612:106:::0;:::o;27052:102::-;2140:12;:10;:12::i;:::-;2129:23;;:7;:5;:7::i;:::-;:23;;;2121:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27139:7:::1;27123:13;:23;;;;;;;;;;;;:::i;:::-;;27052:102:::0;:::o;11782:239::-;11854:7;11874:13;11890:7;:16;11898:7;11890:16;;;;;;;;;;;;;;;;;;;;;11874:32;;11942:1;11925:19;;:5;:19;;;;11917:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;12008:5;12001:12;;;11782:239;;;:::o;23805:25::-;;;;;;;;;;;;;:::o;23078:29::-;;;;:::o;11566:208::-;11638:7;11683:1;11666:19;;:5;:19;;;;11658:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11750:9;:16;11760:5;11750:16;;;;;;;;;;;;;;;;11743:23;;11566:208;;;:::o;2217:94::-;2140:12;:10;:12::i;:::-;2129:23;;:7;:5;:7::i;:::-;:23;;;2121:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2282:21:::1;2300:1;2282:9;:21::i;:::-;2217:94::o:0;23545:67::-;;;;;;;;;;;;;:::o;27251:71::-;2140:12;:10;:12::i;:::-;2129:23;;:7;:5;:7::i;:::-;:23;;;2121:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27307:7:::1;;;;;;;;;;;27306:8;27296:7;;:18;;;;;;;;;;;;;;;;;;27251:71::o:0;23843:34::-;;;;;;;;;;;;;;;;;;;;;;:::o;1994:87::-;2040:7;2067:6;;;;;;;;;;;2060:13;;1994:87;:::o;26222:93::-;2140:12;:10;:12::i;:::-;2129:23;;:7;:5;:7::i;:::-;:23;;;2121:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26298:9:::1;26289:6;:18;;;;26222:93:::0;:::o;12137:104::-;12193:13;12226:7;12219:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12137:104;:::o;27162:81::-;27203:7;27229:6;;27222:13;;27162:81;:::o;13350:295::-;13465:12;:10;:12::i;:::-;13453:24;;:8;:24;;;;13445:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;13565:8;13520:18;:32;13539:12;:10;:12::i;:::-;13520:32;;;;;;;;;;;;;;;:42;13553:8;13520:42;;;;;;;;;;;;;;;;:53;;;;;;;;;;;;;;;;;;13618:8;13589:48;;13604:12;:10;:12::i;:::-;13589:48;;;13628:8;13589:48;;;;;;:::i;:::-;;;;;;;;13350:295;;:::o;23045:26::-;;;;:::o;23693:67::-;;;;;;;;;;;;;:::o;14365:328::-;14540:41;14559:12;:10;:12::i;:::-;14573:7;14540:18;:41::i;:::-;14532:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;14646:39;14660:4;14666:2;14670:7;14679:5;14646:13;:39::i;:::-;14365:328;;;;:::o;26324:280::-;2140:12;:10;:12::i;:::-;2129:23;;:7;:5;:7::i;:::-;:23;;;2121:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26400:9:::1;26396:201;26413:8;:15;26411:1;:17;26396:201;;;26480:1;26457:25;;:8;26466:1;26457:11;;;;;;;;;;;;;;;;;;;;;;:25;;;;26449:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;26523:15;26541:8;26550:1;26541:11;;;;;;;;;;;;;;;;;;;;;;26523:29;;26581:4;26567:2;:11;26570:7;26567:11;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;;;;;;26396:201;26430:3;;;;;:::i;:::-;;;;26396:201;;;;26324:280:::0;:::o;26822:100::-;2140:12;:10;:12::i;:::-;2129:23;;:7;:5;:7::i;:::-;:23;;;2121:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26904:10:::1;26893:8;:21;;;;26822:100:::0;:::o;12249:343::-;12322:13;12356:16;12364:7;12356;:16::i;:::-;12348:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;12437:21;12461:10;:8;:10::i;:::-;12437:34;;12513:1;12495:7;12489:21;:25;:95;;;;;;;;;;;;;;;;;12541:7;12550:18;:7;:16;:18::i;:::-;12524:54;;;;;;;;;:::i;:::-;;;;;;;;;;;;;12489:95;12482:102;;;12249:343;;;:::o;13653:164::-;13750:4;13774:18;:25;13793:5;13774:25;;;;;;;;;;;;;;;:35;13800:8;13774:35;;;;;;;;;;;;;;;;;;;;;;;;;13767:42;;13653:164;;;;:::o;2319:192::-;2140:12;:10;:12::i;:::-;2129:23;;:7;:5;:7::i;:::-;:23;;;2121:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2428:1:::1;2408:22;;:8;:22;;;;2400:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2484:19;2494:8;2484:9;:19::i;:::-;2319:192:::0;:::o;23189:27::-;;;;:::o;11253:305::-;11355:4;11407:25;11392:40;;;:11;:40;;;;:105;;;;11464:33;11449:48;;;:11;:48;;;;11392:105;:158;;;;11514:36;11538:11;11514:23;:36::i;:::-;11392:158;11372:178;;11253:305;;;:::o;15515:110::-;15591:26;15601:2;15605:7;15591:26;;;;;;;;;;;;:9;:26::i;:::-;15515:110;;:::o;15024:127::-;15089:4;15141:1;15113:30;;:7;:16;15121:7;15113:16;;;;;;;;;;;;;;;;;;;;;:30;;;;15106:37;;15024:127;;;:::o;1545:98::-;1598:7;1625:10;1618:17;;1545:98;:::o;17310:174::-;17412:2;17385:15;:24;17401:7;17385:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;17468:7;17464:2;17430:46;;17439:23;17454:7;17439:14;:23::i;:::-;17430:46;;;;;;;;;;;;17310:174;;:::o;24844:368::-;24909:14;24926:13;:11;:13::i;:::-;24909:30;;24974:1;24959:17;;:3;:17;;;;24950:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;25036:9;;25025:7;:20;;25016:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;25096:6;25092:82;25106:7;25104:1;:9;25092:82;;;25134:28;25145:3;25159:1;25150:6;:10;;;;:::i;:::-;25134:9;:28::i;:::-;25115:3;;;;;:::i;:::-;;;;25092:82;;;;25197:7;25184:9;;:20;;;;;;;:::i;:::-;;;;;;;;24844:368;;;:::o;15159:348::-;15252:4;15277:16;15285:7;15277;:16::i;:::-;15269:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;15353:13;15369:23;15384:7;15369:14;:23::i;:::-;15353:39;;15422:5;15411:16;;:7;:16;;;:51;;;;15455:7;15431:31;;:20;15443:7;15431:11;:20::i;:::-;:31;;;15411:51;:87;;;;15466:32;15483:5;15490:7;15466:16;:32::i;:::-;15411:87;15403:96;;;15159:348;;;;:::o;16724:578::-;16883:4;16856:31;;:23;16871:7;16856:14;:23::i;:::-;:31;;;16848:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;16966:1;16952:16;;:2;:16;;;;16944:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;17022:39;17043:4;17049:2;17053:7;17022:20;:39::i;:::-;17126:29;17143:1;17147:7;17126:8;:29::i;:::-;17187:1;17168:9;:15;17178:4;17168:15;;;;;;;;;;;;;;;;:20;;;;;;;:::i;:::-;;;;;;;;17216:1;17199:9;:13;17209:2;17199:13;;;;;;;;;;;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;17247:2;17228:7;:16;17236:7;17228:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;17286:7;17282:2;17267:27;;17276:4;17267:27;;;;;;;;;;;;16724:578;;;:::o;2519:173::-;2575:16;2594:6;;;;;;;;;;;2575:25;;2620:8;2611:6;;:17;;;;;;;;;;;;;;;;;;2675:8;2644:40;;2665:8;2644:40;;;;;;;;;;;;2519:173;;:::o;14701:315::-;14858:28;14868:4;14874:2;14878:7;14858:9;:28::i;:::-;14905:48;14928:4;14934:2;14938:7;14947:5;14905:22;:48::i;:::-;14897:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;14701:315;;;;:::o;26930:114::-;26990:13;27023;27016:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26930:114;:::o;160:534::-;216:13;257:1;248:5;:10;244:53;;;275:10;;;;;;;;;;;;;;;;;;;;;244:53;307:12;322:5;307:20;;338:14;363:78;378:1;370:4;:9;363:78;;396:8;;;;;:::i;:::-;;;;427:2;419:10;;;;;:::i;:::-;;;363:78;;;451:19;483:6;473:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;451:39;;501:154;517:1;508:5;:10;501:154;;545:1;535:11;;;;;:::i;:::-;;;612:2;604:5;:10;;;;:::i;:::-;591:2;:24;;;;:::i;:::-;578:39;;561:6;568;561:14;;;;;;;;;;;;;;;;;;;:56;;;;;;;;;;;641:2;632:11;;;;;:::i;:::-;;;501:154;;;679:6;665:21;;;;;160:534;;;;:::o;8553:157::-;8638:4;8677:25;8662:40;;;:11;:40;;;;8655:47;;8553:157;;;:::o;15633:325::-;15763:22;15769:2;15783:1;15773:7;:11;;;;:::i;:::-;15763:5;:22::i;:::-;15818:54;15849:1;15853:2;15857:7;15866:5;15818:22;:54::i;:::-;15796:154;;;;;;;;;;;;:::i;:::-;;;;;;;;;15633:325;;;:::o;19841:589::-;19985:45;20012:4;20018:2;20022:7;19985:26;:45::i;:::-;20063:1;20047:18;;:4;:18;;;20043:187;;;20082:40;20114:7;20082:31;:40::i;:::-;20043:187;;;20152:2;20144:10;;:4;:10;;;20140:90;;20171:47;20204:4;20210:7;20171:32;:47::i;:::-;20140:90;20043:187;20258:1;20244:16;;:2;:16;;;20240:183;;;20277:45;20314:7;20277:36;:45::i;:::-;20240:183;;;20350:4;20344:10;;:2;:10;;;20340:83;;20371:40;20399:2;20403:7;20371:27;:40::i;:::-;20340:83;20240:183;19841:589;;;:::o;17492:799::-;17647:4;17668:15;:2;:13;;;:15::i;:::-;17664:620;;;17720:2;17704:36;;;17741:12;:10;:12::i;:::-;17755:4;17761:7;17770:5;17704:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;17700:529;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17963:1;17946:6;:13;:18;17942:272;;;17989:60;;;;;;;;;;:::i;:::-;;;;;;;;17942:272;18164:6;18158:13;18149:6;18145:2;18141:15;18134:38;17700:529;17837:41;;;17827:51;;;:6;:51;;;;17820:58;;;;;17664:620;18268:4;18261:11;;17492:799;;;;;;;:::o;15966:382::-;16060:1;16046:16;;:2;:16;;;;16038:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;16119:16;16127:7;16119;:16::i;:::-;16118:17;16110:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;16181:45;16210:1;16214:2;16218:7;16181:20;:45::i;:::-;16256:1;16239:9;:13;16249:2;16239:13;;;;;;;;;;;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;16287:2;16268:7;:16;16276:7;16268:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;16332:7;16328:2;16307:33;;16324:1;16307:33;;;;;;;;;;;;15966:382;;:::o;18299:126::-;;;;:::o;20667:164::-;20771:10;:17;;;;20744:15;:24;20760:7;20744:24;;;;;;;;;;;:44;;;;20799:10;20815:7;20799:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20667:164;:::o;20839:988::-;21105:22;21155:1;21130:22;21147:4;21130:16;:22::i;:::-;:26;;;;:::i;:::-;21105:51;;21167:18;21188:17;:26;21206:7;21188:26;;;;;;;;;;;;21167:47;;21335:14;21321:10;:28;21317:328;;21366:19;21388:12;:18;21401:4;21388:18;;;;;;;;;;;;;;;:34;21407:14;21388:34;;;;;;;;;;;;21366:56;;21472:11;21439:12;:18;21452:4;21439:18;;;;;;;;;;;;;;;:30;21458:10;21439:30;;;;;;;;;;;:44;;;;21589:10;21556:17;:30;21574:11;21556:30;;;;;;;;;;;:43;;;;21317:328;;21741:17;:26;21759:7;21741:26;;;;;;;;;;;21734:33;;;21785:12;:18;21798:4;21785:18;;;;;;;;;;;;;;;:34;21804:14;21785:34;;;;;;;;;;;21778:41;;;20839:988;;;;:::o;21835:1079::-;22088:22;22133:1;22113:10;:17;;;;:21;;;;:::i;:::-;22088:46;;22145:18;22166:15;:24;22182:7;22166:24;;;;;;;;;;;;22145:45;;22517:19;22539:10;22550:14;22539:26;;;;;;;;;;;;;;;;;;;;;;;;22517:48;;22603:11;22578:10;22589;22578:22;;;;;;;;;;;;;;;;;;;;;;;:36;;;;22714:10;22683:15;:28;22699:11;22683:28;;;;;;;;;;;:41;;;;22855:15;:24;22871:7;22855:24;;;;;;;;;;;22848:31;;;22890:10;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21835:1079;;;;:::o;20438:221::-;20523:14;20540:20;20557:2;20540:16;:20::i;:::-;20523:37;;20598:7;20571:12;:16;20584:2;20571:16;;;;;;;;;;;;;;;:24;20588:6;20571:24;;;;;;;;;;;:34;;;;20645:6;20616:17;:26;20634:7;20616:26;;;;;;;;;;;:35;;;;20438:221;;;:::o;2726:196::-;2786:4;2803:12;2870:7;2858:20;2850:28;;2913:1;2906:4;:8;2899:15;;;2726:196;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;24:622:1:-;;145:80;160:64;217:6;160:64;:::i;:::-;145:80;:::i;:::-;136:89;;245:5;273:6;266:5;259:21;299:4;292:5;288:16;281:23;;324:6;374:3;366:4;358:6;354:17;349:3;345:27;342:36;339:2;;;391:1;388;381:12;339:2;419:1;404:236;429:6;426:1;423:13;404:236;;;496:3;524:37;557:3;545:10;524:37;:::i;:::-;519:3;512:50;591:4;586:3;582:14;575:21;;625:4;620:3;616:14;609:21;;464:176;451:1;448;444:9;439:14;;404:236;;;408:14;126:520;;;;;;;:::o;669:622::-;;790:80;805:64;862:6;805:64;:::i;:::-;790:80;:::i;:::-;781:89;;890:5;918:6;911:5;904:21;944:4;937:5;933:16;926:23;;969:6;1019:3;1011:4;1003:6;999:17;994:3;990:27;987:36;984:2;;;1036:1;1033;1026:12;984:2;1064:1;1049:236;1074:6;1071:1;1068:13;1049:236;;;1141:3;1169:37;1202:3;1190:10;1169:37;:::i;:::-;1164:3;1157:50;1236:4;1231:3;1227:14;1220:21;;1270:4;1265:3;1261:14;1254:21;;1109:176;1096:1;1093;1089:9;1084:14;;1049:236;;;1053:14;771:520;;;;;;;:::o;1297:342::-;;1399:64;1414:48;1455:6;1414:48;:::i;:::-;1399:64;:::i;:::-;1390:73;;1486:6;1479:5;1472:21;1524:4;1517:5;1513:16;1562:3;1553:6;1548:3;1544:16;1541:25;1538:2;;;1579:1;1576;1569:12;1538:2;1592:41;1626:6;1621:3;1616;1592:41;:::i;:::-;1380:259;;;;;;:::o;1645:344::-;;1748:65;1763:49;1805:6;1763:49;:::i;:::-;1748:65;:::i;:::-;1739:74;;1836:6;1829:5;1822:21;1874:4;1867:5;1863:16;1912:3;1903:6;1898:3;1894:16;1891:25;1888:2;;;1929:1;1926;1919:12;1888:2;1942:41;1976:6;1971:3;1966;1942:41;:::i;:::-;1729:260;;;;;;:::o;1995:139::-;;2079:6;2066:20;2057:29;;2095:33;2122:5;2095:33;:::i;:::-;2047:87;;;;:::o;2157:303::-;;2277:3;2270:4;2262:6;2258:17;2254:27;2244:2;;2295:1;2292;2285:12;2244:2;2335:6;2322:20;2360:94;2450:3;2442:6;2435:4;2427:6;2423:17;2360:94;:::i;:::-;2351:103;;2234:226;;;;;:::o;2483:303::-;;2603:3;2596:4;2588:6;2584:17;2580:27;2570:2;;2621:1;2618;2611:12;2570:2;2661:6;2648:20;2686:94;2776:3;2768:6;2761:4;2753:6;2749:17;2686:94;:::i;:::-;2677:103;;2560:226;;;;;:::o;2792:133::-;;2873:6;2860:20;2851:29;;2889:30;2913:5;2889:30;:::i;:::-;2841:84;;;;:::o;2931:137::-;;3014:6;3001:20;2992:29;;3030:32;3056:5;3030:32;:::i;:::-;2982:86;;;;:::o;3074:141::-;;3161:6;3155:13;3146:22;;3177:32;3203:5;3177:32;:::i;:::-;3136:79;;;;:::o;3234:271::-;;3338:3;3331:4;3323:6;3319:17;3315:27;3305:2;;3356:1;3353;3346:12;3305:2;3396:6;3383:20;3421:78;3495:3;3487:6;3480:4;3472:6;3468:17;3421:78;:::i;:::-;3412:87;;3295:210;;;;;:::o;3525:273::-;;3630:3;3623:4;3615:6;3611:17;3607:27;3597:2;;3648:1;3645;3638:12;3597:2;3688:6;3675:20;3713:79;3788:3;3780:6;3773:4;3765:6;3761:17;3713:79;:::i;:::-;3704:88;;3587:211;;;;;:::o;3804:139::-;;3888:6;3875:20;3866:29;;3904:33;3931:5;3904:33;:::i;:::-;3856:87;;;;:::o;3949:262::-;;4057:2;4045:9;4036:7;4032:23;4028:32;4025:2;;;4073:1;4070;4063:12;4025:2;4116:1;4141:53;4186:7;4177:6;4166:9;4162:22;4141:53;:::i;:::-;4131:63;;4087:117;4015:196;;;;:::o;4217:407::-;;;4342:2;4330:9;4321:7;4317:23;4313:32;4310:2;;;4358:1;4355;4348:12;4310:2;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4300:324;;;;;:::o;4630:552::-;;;;4772:2;4760:9;4751:7;4747:23;4743:32;4740:2;;;4788:1;4785;4778:12;4740:2;4831:1;4856:53;4901:7;4892:6;4881:9;4877:22;4856:53;:::i;:::-;4846:63;;4802:117;4958:2;4984:53;5029:7;5020:6;5009:9;5005:22;4984:53;:::i;:::-;4974:63;;4929:118;5086:2;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5057:118;4730:452;;;;;:::o;5188:809::-;;;;;5356:3;5344:9;5335:7;5331:23;5327:33;5324:2;;;5373:1;5370;5363:12;5324:2;5416:1;5441:53;5486:7;5477:6;5466:9;5462:22;5441:53;:::i;:::-;5431:63;;5387:117;5543:2;5569:53;5614:7;5605:6;5594:9;5590:22;5569:53;:::i;:::-;5559:63;;5514:118;5671:2;5697:53;5742:7;5733:6;5722:9;5718:22;5697:53;:::i;:::-;5687:63;;5642:118;5827:2;5816:9;5812:18;5799:32;5858:18;5850:6;5847:30;5844:2;;;5890:1;5887;5880:12;5844:2;5918:62;5972:7;5963:6;5952:9;5948:22;5918:62;:::i;:::-;5908:72;;5770:220;5314:683;;;;;;;:::o;6003:401::-;;;6125:2;6113:9;6104:7;6100:23;6096:32;6093:2;;;6141:1;6138;6131:12;6093:2;6184:1;6209:53;6254:7;6245:6;6234:9;6230:22;6209:53;:::i;:::-;6199:63;;6155:117;6311:2;6337:50;6379:7;6370:6;6359:9;6355:22;6337:50;:::i;:::-;6327:60;;6282:115;6083:321;;;;;:::o;6410:407::-;;;6535:2;6523:9;6514:7;6510:23;6506:32;6503:2;;;6551:1;6548;6541:12;6503:2;6594:1;6619:53;6664:7;6655:6;6644:9;6640:22;6619:53;:::i;:::-;6609:63;;6565:117;6721:2;6747:53;6792:7;6783:6;6772:9;6768:22;6747:53;:::i;:::-;6737:63;;6692:118;6493:324;;;;;:::o;6823:405::-;;6956:2;6944:9;6935:7;6931:23;6927:32;6924:2;;;6972:1;6969;6962:12;6924:2;7043:1;7032:9;7028:17;7015:31;7073:18;7065:6;7062:30;7059:2;;;7105:1;7102;7095:12;7059:2;7133:78;7203:7;7194:6;7183:9;7179:22;7133:78;:::i;:::-;7123:88;;6986:235;6914:314;;;;:::o;7234:693::-;;;7409:2;7397:9;7388:7;7384:23;7380:32;7377:2;;;7425:1;7422;7415:12;7377:2;7496:1;7485:9;7481:17;7468:31;7526:18;7518:6;7515:30;7512:2;;;7558:1;7555;7548:12;7512:2;7586:78;7656:7;7647:6;7636:9;7632:22;7586:78;:::i;:::-;7576:88;;7439:235;7741:2;7730:9;7726:18;7713:32;7772:18;7764:6;7761:30;7758:2;;;7804:1;7801;7794:12;7758:2;7832:78;7902:7;7893:6;7882:9;7878:22;7832:78;:::i;:::-;7822:88;;7684:236;7367:560;;;;;:::o;7933:260::-;;8040:2;8028:9;8019:7;8015:23;8011:32;8008:2;;;8056:1;8053;8046:12;8008:2;8099:1;8124:52;8168:7;8159:6;8148:9;8144:22;8124:52;:::i;:::-;8114:62;;8070:116;7998:195;;;;:::o;8199:282::-;;8317:2;8305:9;8296:7;8292:23;8288:32;8285:2;;;8333:1;8330;8323:12;8285:2;8376:1;8401:63;8456:7;8447:6;8436:9;8432:22;8401:63;:::i;:::-;8391:73;;8347:127;8275:206;;;;:::o;8487:375::-;;8605:2;8593:9;8584:7;8580:23;8576:32;8573:2;;;8621:1;8618;8611:12;8573:2;8692:1;8681:9;8677:17;8664:31;8722:18;8714:6;8711:30;8708:2;;;8754:1;8751;8744:12;8708:2;8782:63;8837:7;8828:6;8817:9;8813:22;8782:63;:::i;:::-;8772:73;;8635:220;8563:299;;;;:::o;8868:262::-;;8976:2;8964:9;8955:7;8951:23;8947:32;8944:2;;;8992:1;8989;8982:12;8944:2;9035:1;9060:53;9105:7;9096:6;9085:9;9081:22;9060:53;:::i;:::-;9050:63;;9006:117;8934:196;;;;:::o;9136:179::-;;9226:46;9268:3;9260:6;9226:46;:::i;:::-;9304:4;9299:3;9295:14;9281:28;;9216:99;;;;:::o;9321:118::-;9408:24;9426:5;9408:24;:::i;:::-;9403:3;9396:37;9386:53;;:::o;9475:732::-;;9623:54;9671:5;9623:54;:::i;:::-;9693:86;9772:6;9767:3;9693:86;:::i;:::-;9686:93;;9803:56;9853:5;9803:56;:::i;:::-;9882:7;9913:1;9898:284;9923:6;9920:1;9917:13;9898:284;;;9999:6;9993:13;10026:63;10085:3;10070:13;10026:63;:::i;:::-;10019:70;;10112:60;10165:6;10112:60;:::i;:::-;10102:70;;9958:224;9945:1;9942;9938:9;9933:14;;9898:284;;;9902:14;10198:3;10191:10;;9599:608;;;;;;;:::o;10213:109::-;10294:21;10309:5;10294:21;:::i;:::-;10289:3;10282:34;10272:50;;:::o;10328:360::-;;10442:38;10474:5;10442:38;:::i;:::-;10496:70;10559:6;10554:3;10496:70;:::i;:::-;10489:77;;10575:52;10620:6;10615:3;10608:4;10601:5;10597:16;10575:52;:::i;:::-;10652:29;10674:6;10652:29;:::i;:::-;10647:3;10643:39;10636:46;;10418:270;;;;;:::o;10694:364::-;;10810:39;10843:5;10810:39;:::i;:::-;10865:71;10929:6;10924:3;10865:71;:::i;:::-;10858:78;;10945:52;10990:6;10985:3;10978:4;10971:5;10967:16;10945:52;:::i;:::-;11022:29;11044:6;11022:29;:::i;:::-;11017:3;11013:39;11006:46;;10786:272;;;;;:::o;11064:377::-;;11198:39;11231:5;11198:39;:::i;:::-;11253:89;11335:6;11330:3;11253:89;:::i;:::-;11246:96;;11351:52;11396:6;11391:3;11384:4;11377:5;11373:16;11351:52;:::i;:::-;11428:6;11423:3;11419:16;11412:23;;11174:267;;;;;:::o;11447:321::-;;11610:67;11674:2;11669:3;11610:67;:::i;:::-;11603:74;;11707:25;11703:1;11698:3;11694:11;11687:46;11759:2;11754:3;11750:12;11743:19;;11593:175;;;:::o;11774:309::-;;11937:67;12001:2;11996:3;11937:67;:::i;:::-;11930:74;;12034:13;12030:1;12025:3;12021:11;12014:34;12074:2;12069:3;12065:12;12058:19;;11920:163;;;:::o;12089:326::-;;12252:67;12316:2;12311:3;12252:67;:::i;:::-;12245:74;;12349:30;12345:1;12340:3;12336:11;12329:51;12406:2;12401:3;12397:12;12390:19;;12235:180;;;:::o;12421:375::-;;12584:67;12648:2;12643:3;12584:67;:::i;:::-;12577:74;;12681:34;12677:1;12672:3;12668:11;12661:55;12747:13;12742:2;12737:3;12733:12;12726:35;12787:2;12782:3;12778:12;12771:19;;12567:229;;;:::o;12802:382::-;;12965:67;13029:2;13024:3;12965:67;:::i;:::-;12958:74;;13062:34;13058:1;13053:3;13049:11;13042:55;13128:20;13123:2;13118:3;13114:12;13107:42;13175:2;13170:3;13166:12;13159:19;;12948:236;;;:::o;13190:325::-;;13353:67;13417:2;13412:3;13353:67;:::i;:::-;13346:74;;13450:29;13446:1;13441:3;13437:11;13430:50;13506:2;13501:3;13497:12;13490:19;;13336:179;;;:::o;13521:370::-;;13684:67;13748:2;13743:3;13684:67;:::i;:::-;13677:74;;13781:34;13777:1;13772:3;13768:11;13761:55;13847:8;13842:2;13837:3;13833:12;13826:30;13882:2;13877:3;13873:12;13866:19;;13667:224;;;:::o;13897:371::-;;14060:67;14124:2;14119:3;14060:67;:::i;:::-;14053:74;;14157:34;14153:1;14148:3;14144:11;14137:55;14223:9;14218:2;14213:3;14209:12;14202:31;14259:2;14254:3;14250:12;14243:19;;14043:225;;;:::o;14274:326::-;;14437:67;14501:2;14496:3;14437:67;:::i;:::-;14430:74;;14534:30;14530:1;14525:3;14521:11;14514:51;14591:2;14586:3;14582:12;14575:19;;14420:180;;;:::o;14606:368::-;;14769:67;14833:2;14828:3;14769:67;:::i;:::-;14762:74;;14866:34;14862:1;14857:3;14853:11;14846:55;14932:6;14927:2;14922:3;14918:12;14911:28;14965:2;14960:3;14956:12;14949:19;;14752:222;;;:::o;14980:323::-;;15143:67;15207:2;15202:3;15143:67;:::i;:::-;15136:74;;15240:27;15236:1;15231:3;15227:11;15220:48;15294:2;15289:3;15285:12;15278:19;;15126:177;;;:::o;15309:321::-;;15472:67;15536:2;15531:3;15472:67;:::i;:::-;15465:74;;15569:25;15565:1;15560:3;15556:11;15549:46;15621:2;15616:3;15612:12;15605:19;;15455:175;;;:::o;15636:376::-;;15799:67;15863:2;15858:3;15799:67;:::i;:::-;15792:74;;15896:34;15892:1;15887:3;15883:11;15876:55;15962:14;15957:2;15952:3;15948:12;15941:36;16003:2;15998:3;15994:12;15987:19;;15782:230;;;:::o;16018:388::-;;16181:67;16245:2;16240:3;16181:67;:::i;:::-;16174:74;;16278:34;16274:1;16269:3;16265:11;16258:55;16344:26;16339:2;16334:3;16330:12;16323:48;16397:2;16392:3;16388:12;16381:19;;16164:242;;;:::o;16412:374::-;;16575:67;16639:2;16634:3;16575:67;:::i;:::-;16568:74;;16672:34;16668:1;16663:3;16659:11;16652:55;16738:12;16733:2;16728:3;16724:12;16717:34;16777:2;16772:3;16768:12;16761:19;;16558:228;;;:::o;16792:373::-;;16955:67;17019:2;17014:3;16955:67;:::i;:::-;16948:74;;17052:34;17048:1;17043:3;17039:11;17032:55;17118:11;17113:2;17108:3;17104:12;17097:33;17156:2;17151:3;17147:12;17140:19;;16938:227;;;:::o;17171:330::-;;17334:67;17398:2;17393:3;17334:67;:::i;:::-;17327:74;;17431:34;17427:1;17422:3;17418:11;17411:55;17492:2;17487:3;17483:12;17476:19;;17317:184;;;:::o;17507:376::-;;17670:67;17734:2;17729:3;17670:67;:::i;:::-;17663:74;;17767:34;17763:1;17758:3;17754:11;17747:55;17833:14;17828:2;17823:3;17819:12;17812:36;17874:2;17869:3;17865:12;17858:19;;17653:230;;;:::o;17889:337::-;;18070:84;18152:1;18147:3;18070:84;:::i;:::-;18063:91;;18184:7;18180:1;18175:3;18171:11;18164:28;18218:1;18213:3;18209:11;18202:18;;18053:173;;;:::o;18232:326::-;;18395:67;18459:2;18454:3;18395:67;:::i;:::-;18388:74;;18492:30;18488:1;18483:3;18479:11;18472:51;18549:2;18544:3;18540:12;18533:19;;18378:180;;;:::o;18564:330::-;;18727:67;18791:2;18786:3;18727:67;:::i;:::-;18720:74;;18824:34;18820:1;18815:3;18811:11;18804:55;18885:2;18880:3;18876:12;18869:19;;18710:184;;;:::o;18900:373::-;;19063:67;19127:2;19122:3;19063:67;:::i;:::-;19056:74;;19160:34;19156:1;19151:3;19147:11;19140:55;19226:11;19221:2;19216:3;19212:12;19205:33;19264:2;19259:3;19255:12;19248:19;;19046:227;;;:::o;19279:379::-;;19442:67;19506:2;19501:3;19442:67;:::i;:::-;19435:74;;19539:34;19535:1;19530:3;19526:11;19519:55;19605:17;19600:2;19595:3;19591:12;19584:39;19649:2;19644:3;19640:12;19633:19;;19425:233;;;:::o;19664:365::-;;19827:67;19891:2;19886:3;19827:67;:::i;:::-;19820:74;;19924:34;19920:1;19915:3;19911:11;19904:55;19990:3;19985:2;19980:3;19976:12;19969:25;20020:2;20015:3;20011:12;20004:19;;19810:219;;;:::o;20035:323::-;;20198:67;20262:2;20257:3;20198:67;:::i;:::-;20191:74;;20295:27;20291:1;20286:3;20282:11;20275:48;20349:2;20344:3;20340:12;20333:19;;20181:177;;;:::o;20364:381::-;;20527:67;20591:2;20586:3;20527:67;:::i;:::-;20520:74;;20624:34;20620:1;20615:3;20611:11;20604:55;20690:19;20685:2;20680:3;20676:12;20669:41;20736:2;20731:3;20727:12;20720:19;;20510:235;;;:::o;20751:376::-;;20914:67;20978:2;20973:3;20914:67;:::i;:::-;20907:74;;21011:34;21007:1;21002:3;20998:11;20991:55;21077:14;21072:2;21067:3;21063:12;21056:36;21118:2;21113:3;21109:12;21102:19;;20897:230;;;:::o;21133:319::-;;21296:67;21360:2;21355:3;21296:67;:::i;:::-;21289:74;;21393:23;21389:1;21384:3;21380:11;21373:44;21443:2;21438:3;21434:12;21427:19;;21279:173;;;:::o;21458:108::-;21535:24;21553:5;21535:24;:::i;:::-;21530:3;21523:37;21513:53;;:::o;21572:118::-;21659:24;21677:5;21659:24;:::i;:::-;21654:3;21647:37;21637:53;;:::o;21696:701::-;;21999:95;22090:3;22081:6;21999:95;:::i;:::-;21992:102;;22111:95;22202:3;22193:6;22111:95;:::i;:::-;22104:102;;22223:148;22367:3;22223:148;:::i;:::-;22216:155;;22388:3;22381:10;;21981:416;;;;;:::o;22403:222::-;;22534:2;22523:9;22519:18;22511:26;;22547:71;22615:1;22604:9;22600:17;22591:6;22547:71;:::i;:::-;22501:124;;;;:::o;22631:640::-;;22864:3;22853:9;22849:19;22841:27;;22878:71;22946:1;22935:9;22931:17;22922:6;22878:71;:::i;:::-;22959:72;23027:2;23016:9;23012:18;23003:6;22959:72;:::i;:::-;23041;23109:2;23098:9;23094:18;23085:6;23041:72;:::i;:::-;23160:9;23154:4;23150:20;23145:2;23134:9;23130:18;23123:48;23188:76;23259:4;23250:6;23188:76;:::i;:::-;23180:84;;22831:440;;;;;;;:::o;23277:373::-;;23458:2;23447:9;23443:18;23435:26;;23507:9;23501:4;23497:20;23493:1;23482:9;23478:17;23471:47;23535:108;23638:4;23629:6;23535:108;:::i;:::-;23527:116;;23425:225;;;;:::o;23656:210::-;;23781:2;23770:9;23766:18;23758:26;;23794:65;23856:1;23845:9;23841:17;23832:6;23794:65;:::i;:::-;23748:118;;;;:::o;23872:313::-;;24023:2;24012:9;24008:18;24000:26;;24072:9;24066:4;24062:20;24058:1;24047:9;24043:17;24036:47;24100:78;24173:4;24164:6;24100:78;:::i;:::-;24092:86;;23990:195;;;;:::o;24191:419::-;;24395:2;24384:9;24380:18;24372:26;;24444:9;24438:4;24434:20;24430:1;24419:9;24415:17;24408:47;24472:131;24598:4;24472:131;:::i;:::-;24464:139;;24362:248;;;:::o;24616:419::-;;24820:2;24809:9;24805:18;24797:26;;24869:9;24863:4;24859:20;24855:1;24844:9;24840:17;24833:47;24897:131;25023:4;24897:131;:::i;:::-;24889:139;;24787:248;;;:::o;25041:419::-;;25245:2;25234:9;25230:18;25222:26;;25294:9;25288:4;25284:20;25280:1;25269:9;25265:17;25258:47;25322:131;25448:4;25322:131;:::i;:::-;25314:139;;25212:248;;;:::o;25466:419::-;;25670:2;25659:9;25655:18;25647:26;;25719:9;25713:4;25709:20;25705:1;25694:9;25690:17;25683:47;25747:131;25873:4;25747:131;:::i;:::-;25739:139;;25637:248;;;:::o;25891:419::-;;26095:2;26084:9;26080:18;26072:26;;26144:9;26138:4;26134:20;26130:1;26119:9;26115:17;26108:47;26172:131;26298:4;26172:131;:::i;:::-;26164:139;;26062:248;;;:::o;26316:419::-;;26520:2;26509:9;26505:18;26497:26;;26569:9;26563:4;26559:20;26555:1;26544:9;26540:17;26533:47;26597:131;26723:4;26597:131;:::i;:::-;26589:139;;26487:248;;;:::o;26741:419::-;;26945:2;26934:9;26930:18;26922:26;;26994:9;26988:4;26984:20;26980:1;26969:9;26965:17;26958:47;27022:131;27148:4;27022:131;:::i;:::-;27014:139;;26912:248;;;:::o;27166:419::-;;27370:2;27359:9;27355:18;27347:26;;27419:9;27413:4;27409:20;27405:1;27394:9;27390:17;27383:47;27447:131;27573:4;27447:131;:::i;:::-;27439:139;;27337:248;;;:::o;27591:419::-;;27795:2;27784:9;27780:18;27772:26;;27844:9;27838:4;27834:20;27830:1;27819:9;27815:17;27808:47;27872:131;27998:4;27872:131;:::i;:::-;27864:139;;27762:248;;;:::o;28016:419::-;;28220:2;28209:9;28205:18;28197:26;;28269:9;28263:4;28259:20;28255:1;28244:9;28240:17;28233:47;28297:131;28423:4;28297:131;:::i;:::-;28289:139;;28187:248;;;:::o;28441:419::-;;28645:2;28634:9;28630:18;28622:26;;28694:9;28688:4;28684:20;28680:1;28669:9;28665:17;28658:47;28722:131;28848:4;28722:131;:::i;:::-;28714:139;;28612:248;;;:::o;28866:419::-;;29070:2;29059:9;29055:18;29047:26;;29119:9;29113:4;29109:20;29105:1;29094:9;29090:17;29083:47;29147:131;29273:4;29147:131;:::i;:::-;29139:139;;29037:248;;;:::o;29291:419::-;;29495:2;29484:9;29480:18;29472:26;;29544:9;29538:4;29534:20;29530:1;29519:9;29515:17;29508:47;29572:131;29698:4;29572:131;:::i;:::-;29564:139;;29462:248;;;:::o;29716:419::-;;29920:2;29909:9;29905:18;29897:26;;29969:9;29963:4;29959:20;29955:1;29944:9;29940:17;29933:47;29997:131;30123:4;29997:131;:::i;:::-;29989:139;;29887:248;;;:::o;30141:419::-;;30345:2;30334:9;30330:18;30322:26;;30394:9;30388:4;30384:20;30380:1;30369:9;30365:17;30358:47;30422:131;30548:4;30422:131;:::i;:::-;30414:139;;30312:248;;;:::o;30566:419::-;;30770:2;30759:9;30755:18;30747:26;;30819:9;30813:4;30809:20;30805:1;30794:9;30790:17;30783:47;30847:131;30973:4;30847:131;:::i;:::-;30839:139;;30737:248;;;:::o;30991:419::-;;31195:2;31184:9;31180:18;31172:26;;31244:9;31238:4;31234:20;31230:1;31219:9;31215:17;31208:47;31272:131;31398:4;31272:131;:::i;:::-;31264:139;;31162:248;;;:::o;31416:419::-;;31620:2;31609:9;31605:18;31597:26;;31669:9;31663:4;31659:20;31655:1;31644:9;31640:17;31633:47;31697:131;31823:4;31697:131;:::i;:::-;31689:139;;31587:248;;;:::o;31841:419::-;;32045:2;32034:9;32030:18;32022:26;;32094:9;32088:4;32084:20;32080:1;32069:9;32065:17;32058:47;32122:131;32248:4;32122:131;:::i;:::-;32114:139;;32012:248;;;:::o;32266:419::-;;32470:2;32459:9;32455:18;32447:26;;32519:9;32513:4;32509:20;32505:1;32494:9;32490:17;32483:47;32547:131;32673:4;32547:131;:::i;:::-;32539:139;;32437:248;;;:::o;32691:419::-;;32895:2;32884:9;32880:18;32872:26;;32944:9;32938:4;32934:20;32930:1;32919:9;32915:17;32908:47;32972:131;33098:4;32972:131;:::i;:::-;32964:139;;32862:248;;;:::o;33116:419::-;;33320:2;33309:9;33305:18;33297:26;;33369:9;33363:4;33359:20;33355:1;33344:9;33340:17;33333:47;33397:131;33523:4;33397:131;:::i;:::-;33389:139;;33287:248;;;:::o;33541:419::-;;33745:2;33734:9;33730:18;33722:26;;33794:9;33788:4;33784:20;33780:1;33769:9;33765:17;33758:47;33822:131;33948:4;33822:131;:::i;:::-;33814:139;;33712:248;;;:::o;33966:419::-;;34170:2;34159:9;34155:18;34147:26;;34219:9;34213:4;34209:20;34205:1;34194:9;34190:17;34183:47;34247:131;34373:4;34247:131;:::i;:::-;34239:139;;34137:248;;;:::o;34391:419::-;;34595:2;34584:9;34580:18;34572:26;;34644:9;34638:4;34634:20;34630:1;34619:9;34615:17;34608:47;34672:131;34798:4;34672:131;:::i;:::-;34664:139;;34562:248;;;:::o;34816:419::-;;35020:2;35009:9;35005:18;34997:26;;35069:9;35063:4;35059:20;35055:1;35044:9;35040:17;35033:47;35097:131;35223:4;35097:131;:::i;:::-;35089:139;;34987:248;;;:::o;35241:419::-;;35445:2;35434:9;35430:18;35422:26;;35494:9;35488:4;35484:20;35480:1;35469:9;35465:17;35458:47;35522:131;35648:4;35522:131;:::i;:::-;35514:139;;35412:248;;;:::o;35666:222::-;;35797:2;35786:9;35782:18;35774:26;;35810:71;35878:1;35867:9;35863:17;35854:6;35810:71;:::i;:::-;35764:124;;;;:::o;35894:283::-;;35960:2;35954:9;35944:19;;36002:4;35994:6;35990:17;36109:6;36097:10;36094:22;36073:18;36061:10;36058:34;36055:62;36052:2;;;36120:18;;:::i;:::-;36052:2;36160:10;36156:2;36149:22;35934:243;;;;:::o;36183:311::-;;36350:18;36342:6;36339:30;36336:2;;;36372:18;;:::i;:::-;36336:2;36422:4;36414:6;36410:17;36402:25;;36482:4;36476;36472:15;36464:23;;36265:229;;;:::o;36500:311::-;;36667:18;36659:6;36656:30;36653:2;;;36689:18;;:::i;:::-;36653:2;36739:4;36731:6;36727:17;36719:25;;36799:4;36793;36789:15;36781:23;;36582:229;;;:::o;36817:331::-;;36968:18;36960:6;36957:30;36954:2;;;36990:18;;:::i;:::-;36954:2;37075:4;37071:9;37064:4;37056:6;37052:17;37048:33;37040:41;;37136:4;37130;37126:15;37118:23;;36883:265;;;:::o;37154:332::-;;37306:18;37298:6;37295:30;37292:2;;;37328:18;;:::i;:::-;37292:2;37413:4;37409:9;37402:4;37394:6;37390:17;37386:33;37378:41;;37474:4;37468;37464:15;37456:23;;37221:265;;;:::o;37492:132::-;;37582:3;37574:11;;37612:4;37607:3;37603:14;37595:22;;37564:60;;;:::o;37630:114::-;;37731:5;37725:12;37715:22;;37704:40;;;:::o;37750:98::-;;37835:5;37829:12;37819:22;;37808:40;;;:::o;37854:99::-;;37940:5;37934:12;37924:22;;37913:40;;;:::o;37959:113::-;;38061:4;38056:3;38052:14;38044:22;;38034:38;;;:::o;38078:184::-;;38211:6;38206:3;38199:19;38251:4;38246:3;38242:14;38227:29;;38189:73;;;;:::o;38268:168::-;;38385:6;38380:3;38373:19;38425:4;38420:3;38416:14;38401:29;;38363:73;;;;:::o;38442:169::-;;38560:6;38555:3;38548:19;38600:4;38595:3;38591:14;38576:29;;38538:73;;;;:::o;38617:148::-;;38756:3;38741:18;;38731:34;;;;:::o;38771:305::-;;38830:20;38848:1;38830:20;:::i;:::-;38825:25;;38864:20;38882:1;38864:20;:::i;:::-;38859:25;;39018:1;38950:66;38946:74;38943:1;38940:81;38937:2;;;39024:18;;:::i;:::-;38937:2;39068:1;39065;39061:9;39054:16;;38815:261;;;;:::o;39082:185::-;;39139:20;39157:1;39139:20;:::i;:::-;39134:25;;39173:20;39191:1;39173:20;:::i;:::-;39168:25;;39212:1;39202:2;;39217:18;;:::i;:::-;39202:2;39259:1;39256;39252:9;39247:14;;39124:143;;;;:::o;39273:348::-;;39336:20;39354:1;39336:20;:::i;:::-;39331:25;;39370:20;39388:1;39370:20;:::i;:::-;39365:25;;39558:1;39490:66;39486:74;39483:1;39480:81;39475:1;39468:9;39461:17;39457:105;39454:2;;;39565:18;;:::i;:::-;39454:2;39613:1;39610;39606:9;39595:20;;39321:300;;;;:::o;39627:191::-;;39687:20;39705:1;39687:20;:::i;:::-;39682:25;;39721:20;39739:1;39721:20;:::i;:::-;39716:25;;39760:1;39757;39754:8;39751:2;;;39765:18;;:::i;:::-;39751:2;39810:1;39807;39803:9;39795:17;;39672:146;;;;:::o;39824:96::-;;39890:24;39908:5;39890:24;:::i;:::-;39879:35;;39869:51;;;:::o;39926:90::-;;40003:5;39996:13;39989:21;39978:32;;39968:48;;;:::o;40022:149::-;;40098:66;40091:5;40087:78;40076:89;;40066:105;;;:::o;40177:126::-;;40254:42;40247:5;40243:54;40232:65;;40222:81;;;:::o;40309:77::-;;40375:5;40364:16;;40354:32;;;:::o;40392:154::-;40476:6;40471:3;40466;40453:30;40538:1;40529:6;40524:3;40520:16;40513:27;40443:103;;;:::o;40552:307::-;40620:1;40630:113;40644:6;40641:1;40638:13;40630:113;;;40729:1;40724:3;40720:11;40714:18;40710:1;40705:3;40701:11;40694:39;40666:2;40663:1;40659:10;40654:15;;40630:113;;;40761:6;40758:1;40755:13;40752:2;;;40841:1;40832:6;40827:3;40823:16;40816:27;40752:2;40601:258;;;;:::o;40865:320::-;;40946:1;40940:4;40936:12;40926:22;;40993:1;40987:4;40983:12;41014:18;41004:2;;41070:4;41062:6;41058:17;41048:27;;41004:2;41132;41124:6;41121:14;41101:18;41098:38;41095:2;;;41151:18;;:::i;:::-;41095:2;40916:269;;;;:::o;41191:233::-;;41253:24;41271:5;41253:24;:::i;:::-;41244:33;;41299:66;41292:5;41289:77;41286:2;;;41369:18;;:::i;:::-;41286:2;41416:1;41409:5;41405:13;41398:20;;41234:190;;;:::o;41430:176::-;;41479:20;41497:1;41479:20;:::i;:::-;41474:25;;41513:20;41531:1;41513:20;:::i;:::-;41508:25;;41552:1;41542:2;;41557:18;;:::i;:::-;41542:2;41598:1;41595;41591:9;41586:14;;41464:142;;;;:::o;41612:180::-;41660:77;41657:1;41650:88;41757:4;41754:1;41747:15;41781:4;41778:1;41771:15;41798:180;41846:77;41843:1;41836:88;41943:4;41940:1;41933:15;41967:4;41964:1;41957:15;41984:180;42032:77;42029:1;42022:88;42129:4;42126:1;42119:15;42153:4;42150:1;42143:15;42170:180;42218:77;42215:1;42208:88;42315:4;42312:1;42305:15;42339:4;42336:1;42329:15;42356:102;;42448:2;42444:7;42439:2;42432:5;42428:14;42424:28;42414:38;;42404:54;;;:::o;42464:122::-;42537:24;42555:5;42537:24;:::i;:::-;42530:5;42527:35;42517:2;;42576:1;42573;42566:12;42517:2;42507:79;:::o;42592:116::-;42662:21;42677:5;42662:21;:::i;:::-;42655:5;42652:32;42642:2;;42698:1;42695;42688:12;42642:2;42632:76;:::o;42714:120::-;42786:23;42803:5;42786:23;:::i;:::-;42779:5;42776:34;42766:2;;42824:1;42821;42814:12;42766:2;42756:78;:::o;42840:122::-;42913:24;42931:5;42913:24;:::i;:::-;42906:5;42903:35;42893:2;;42952:1;42949;42942:12;42893:2;42883:79;:::o
Swarm Source
ipfs://5d16aa5b1eb5dcc2cdbf4f941b6eb4d10c25f053680701731eda4501de7a5d01
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.