Feature Tip: Add private address tag to any address under My Name Tag !
ERC-721
Overview
Max Total Supply
3,792 DOGGO
Holders
2,617
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
1 DOGGOLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Doggos
Compiler Version
v0.8.7+commit.e28d00a7
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
123456789101112131415// SPDX-License-Identifier: GPL-3.0/**_____ _______ _____ _____ _______ _____/\ \ /::\ \ /\ \ /\ \ /::\ \ /\ \/::\ \ /::::\ \ /::\ \ /::\ \ /::::\ \ /::\ \/::::\ \ /::::::\ \ /::::\ \ /::::\ \ /::::::\ \ /::::\ \/::::::\ \ /::::::::\ \ /::::::\ \ /::::::\ \ /::::::::\ \ /::::::\ \/:::/\:::\ \ /:::/~~\:::\ \ /:::/\:::\ \ /:::/\:::\ \ /:::/~~\:::\ \ /:::/\:::\ \/:::/ \:::\ \ /:::/ \:::\ \ /:::/ \:::\ \ /:::/ \:::\ \ /:::/ \:::\ \ /:::/__\:::\ \/:::/ \:::\ \ /:::/ / \:::\ \ /:::/ \:::\ \ /:::/ \:::\ \ /:::/ / \:::\ \ \:::\ \:::\ \/:::/ / \:::\ \ /:::/____/ \:::\____\ /:::/ / \:::\ \ /:::/ / \:::\ \ /:::/____/ \:::\____\ ___\:::\ \:::\ \/:::/ / \:::\ ___\ |:::| | |:::| | /:::/ / \:::\ ___\ /:::/ / \:::\ ___\ |:::| | |:::| | /\ \:::\ \:::\ \/:::/____/ \:::| ||:::|____| |:::| |/:::/____/ ___\:::| |/:::/____/ ___\:::| ||:::|____| |:::| |/::\ \:::\ \:::\____\\:::\ \ /:::|____| \:::\ \ /:::/ / \:::\ \ /\ /:::|____|\:::\ \ /\ /:::|____| \:::\ \ /:::/ / \:::\ \:::\ \:://
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @title Counters* @author Matt Condon (@shrugs)* @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number* of elements in a mapping, issuing ERC721 ids, or counting request ids.** Include with `using Counters for Counters.Counter;`*/library Counters {struct Counter {// This variable should never be directly accessed by users of the library: interactions must be restricted to// the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add// this feature: see https://github.com/ethereum/solidity/issues/4637uint256 _value; // default: 0}function current(Counter storage counter) internal view returns (uint256) {return counter._value;}function increment(Counter storage counter) internal {unchecked {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @dev String operations.*/library Strings {bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";/*** @dev Converts a `uint256` to its ASCII `string` decimal representation.*/function toString(uint256 value) internal pure returns (string memory) {// Inspired by OraclizeAPI's implementation - MIT licence// https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.solif (value == 0) {return "0";}uint256 temp = value;uint256 digits;while (temp != 0) {digits++;temp /= 10;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @dev Contract module that helps prevent reentrant calls to a function.** Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier* available, which can be applied to functions to make sure there are no nested* (reentrant) calls to them.** Note that because there is a single `nonReentrant` guard, functions marked as* `nonReentrant` may not call one another. This can be worked around by making* those functions `private`, and then adding `external` `nonReentrant` entry* points to them.** TIP: If you would like to learn more about reentrancy and alternative ways* to protect against it, check out our blog post* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].*/abstract contract ReentrancyGuard {// Booleans are more expensive than uint256 or any type that takes up a full// word because each write operation emits an extra SLOAD to first read the// slot's contents, replace the bits taken up by the boolean, and then write// back. This is the compiler's defense against contract upgrades and// pointer aliasing, and it cannot be disabled.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../ERC721.sol";import "./IERC721Enumerable.sol";/*** @dev This implements an optional extension of {ERC721} defined in the EIP that adds* enumerability of all the token ids in the contract as well as all token ids owned by each* account.*/abstract contract ERC721Enumerable is ERC721, IERC721Enumerable {// Mapping from owner to list of owned token IDsmapping(address => mapping(uint256 => uint256)) private _ownedTokens;// Mapping from token ID to index of the owner tokens listmapping(uint256 => uint256) private _ownedTokensIndex;// Array with all token ids, used for enumerationuint256[] private _allTokens;// Mapping from token id to position in the allTokens arraymapping(uint256 => uint256) private _allTokensIndex;/**
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @dev Interface of the ERC20 standard as defined in the EIP.*/interface IERC20 {/*** @dev Returns the amount of tokens in existence.*/function totalSupply() external view returns (uint256);/*** @dev Returns the amount of tokens owned by `account`.*/function balanceOf(address account) external view returns (uint256);/*** @dev Moves `amount` tokens from the caller's account to `recipient`.** Returns a boolean value indicating whether the operation succeeded.** Emits a {Transfer} event.*/function transfer(address recipient, uint256 amount) external returns (bool);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../IERC721.sol";/*** @title ERC-721 Non-Fungible Token Standard, optional enumeration extension* @dev See https://eips.ethereum.org/EIPS/eip-721*/interface IERC721Enumerable is IERC721 {/*** @dev Returns the total amount of tokens stored by the contract.*/function totalSupply() external view returns (uint256);/*** @dev Returns a token ID owned by `owner` at a given `index` of its token list.* Use along with {balanceOf} to enumerate all of ``owner``'s tokens.*/function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId);/*** @dev Returns a token ID at a given `index` of all the tokens stored by the contract.* Use along with {totalSupply} to enumerate all tokens.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "./IERC721.sol";import "./IERC721Receiver.sol";import "./extensions/IERC721Metadata.sol";import "../../utils/Address.sol";import "../../utils/Context.sol";import "../../utils/Strings.sol";import "../../utils/introspection/ERC165.sol";/*** @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including* the Metadata extension, but not including the Enumerable extension, which is available separately as* {ERC721Enumerable}.*/contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {using Address for address;using Strings for uint256;// Token namestring private _name;// Token symbolstring private _symbol;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../../utils/introspection/IERC165.sol";/*** @dev Required interface of an ERC721 compliant contract.*/interface IERC721 is IERC165 {/*** @dev Emitted when `tokenId` token is transferred from `from` to `to`.*/event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);/*** @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.*/event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);/*** @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.*/event ApprovalForAll(address indexed owner, address indexed operator, bool approved);/**
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "./IERC165.sol";/*** @dev Implementation of the {IERC165} interface.** Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check* for the additional interface id that will be supported. For example:** ```solidity* function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {* return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);* }* ```** Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.*/abstract contract ERC165 is IERC165 {/*** @dev See {IERC165-supportsInterface}.*/function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {return interfaceId == type(IERC165).interfaceId;
1234567891011121314151617181920212223// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}function _msgData() internal view virtual returns (bytes calldata) {return msg.data;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @dev Collection of functions related to the address type*/library Address {/*** @dev Returns true if `account` is a contract.** [IMPORTANT]* ====* It is unsafe to assume that an address for which this function returns* false is an externally-owned account (EOA) and not a contract.** Among others, `isContract` will return false for the following* types of addresses:** - an externally-owned account* - a contract in construction* - an address where a contract will be created* - an address where a contract lived, but was destroyed* ====*/function isContract(address account) internal view returns (bool) {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../IERC721.sol";/*** @title ERC-721 Non-Fungible Token Standard, optional metadata extension* @dev See https://eips.ethereum.org/EIPS/eip-721*/interface IERC721Metadata is IERC721 {/*** @dev Returns the token collection name.*/function name() external view returns (string memory);/*** @dev Returns the token collection symbol.*/function symbol() external view returns (string memory);/*** @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.*/function tokenURI(uint256 tokenId) external view returns (string memory);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @title ERC721 token receiver interface* @dev Interface for any contract that wants to support safeTransfers* from ERC721 asset contracts.*/interface IERC721Receiver {/*** @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}* by `operator` from `from`, this function is called.** It must return its Solidity selector to confirm the token transfer.* If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.** The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.*/function onERC721Received(address operator,address from,uint256 tokenId,bytes calldata data) external returns (bytes4);}
123456789101112131415161718192021222324// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @dev Interface of the ERC165 standard, as defined in the* https://eips.ethereum.org/EIPS/eip-165[EIP].** Implementers can declare support of contract interfaces, which can then be* queried by others ({ERC165Checker}).** For an implementation, see {ERC165}.*/interface IERC165 {/*** @dev Returns true if this contract implements the interface defined by* `interfaceId`. See the corresponding* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]* to learn more about how these ids are created.** This function call must use less than 30 000 gas.*/function supportsInterface(bytes4 interfaceId) external view returns (bool);}
123456789101112131415{"optimizer": {"enabled": false,"runs": 200},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","abi"]}}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"}],"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"adopt","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getAbility","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getChest","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getHead","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getSpecies","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"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":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"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"}]
Contract Creation Code
60806040526040518061034001604052806040518060400160405280600981526020017f536869626120496e75000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f42756c6c646f670000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f44616c6d617469616e000000000000000000000000000000000000000000000081525081526020016040518060400160405280601081526020017f476f6c64656e205265747269657665720000000000000000000000000000000081525081526020016040518060400160405280600881526020017f5368696820547a7500000000000000000000000000000000000000000000000081525081526020016040518060400160405280601481526020017f4275726e657365204d6f756e7461696e20446f6700000000000000000000000081525081526020016040518060400160405280600d81526020017f426f7264657220436f6c6c69650000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f43686f772043686f77000000000000000000000000000000000000000000000081525081526020016040518060400160405280600c81526020017f426963686f6e204672697365000000000000000000000000000000000000000081525081526020016040518060400160405280601381526020017f4d696e696174757265205363686e61757a65720000000000000000000000000081525081526020016040518060400160405280600b81526020017f506f6d6572616e69616e2000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f4d616c746565736500000000000000000000000000000000000000000000000081525081526020016040518060400160405280600d81526020017f476f6c64656e20446f6f646c650000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f446163687368756e64000000000000000000000000000000000000000000000081525081526020016040518060400160405280601181526020017f596f726b7368697265205465727269657200000000000000000000000000000081525081526020016040518060400160405280600581526020017f436f72676900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600f81526020017f4765726d616e205368657068657264000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f4c61627261646f7200000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f426561676c65000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f436869687561687561000000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f47726561742044616e650000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f47726579686f756e64000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f4672656e6368696500000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f55676c792050756700000000000000000000000000000000000000000000000081525081526020016040518060400160405280601381526020017f416d65726963616e2045736b696d6f20446f670000000000000000000000000081525081526020016040518060400160405280600581526020017f4875736b79000000000000000000000000000000000000000000000000000000815250815250600e90601a6200061e9291906200ab59565b506040518061050001604052806040518060600160405280602181526020016200f84e6021913981526020016040518060400160405280600c81526020017f5374726f6e67205669626573000000000000000000000000000000000000000081525081526020016040518060400160405280600c81526020017f4d6178696d756d20436f6d66000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f5a6f6f6d6965730000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f4368696c6c6178696e670000000000000000000000000000000000000000000081525081526020016040518060400160405280600b81526020017f48696265726e6174696f6e00000000000000000000000000000000000000000081525081526020016040518060400160405280601481526020017f4c75787572696f75732053747265746368696e6700000000000000000000000081525081526020016040518060400160405280601281526020017f446f657320596f6761205769746820596f75000000000000000000000000000081525081526020016040518060400160405280601281526020017f43616e204c69667420416e7920537469636b000000000000000000000000000081525081526020016040518060400160405280600c81526020017f4469616d6f6e642050617773000000000000000000000000000000000000000081525081526020016040518060400160405280601681526020017f4469677320746865204269676765737420486f6c65730000000000000000000081525081526020016040518060400160405280601181526020017f467572696f7573205461696c205761677300000000000000000000000000000081525081526020016040518060400160405280601281526020017f506164646c6573205669676f726f75736c79000000000000000000000000000081525081526020016040518060400160405280600981526020017f4375746520426f726b000000000000000000000000000000000000000000000081525081526020016040518060400160405280600d81526020017f506f77657266756c20426f726b0000000000000000000000000000000000000081525081526020016040518060400160405280601881526020017f3130306b20496e7374616772616d20466f6c6c6f77657273000000000000000081525081526020016040518060400160405280601981526020017f496e6372656469626c7920426f6f7061626c6520536e6f6f740000000000000081525081526020016040518060400160405280601481526020017f41204772656174204865636b696e20536d696c6500000000000000000000000081525081526020016040518060400160405280600981526020017f486173206120506844000000000000000000000000000000000000000000000081525081526020016040518060400160405280601181526020017f5368616b65732045766572792048616e6400000000000000000000000000000081525081526020016040518060400160405280601881526020017f46616d6f7573206f6e2043727970746f2054776974746572000000000000000081525081526020016040518060400160405280601b81526020017f48617320456c6f6e204d75736b206f6e205370656564204469616c000000000081525081526020016040518060400160405280600f81526020017f54797065732061742032303077706d000000000000000000000000000000000081525081526020016040518060400160405280601581526020017f31342f3130205665727920476f6f6420446f67676f000000000000000000000081525081526020016040518060400160405280601981526020017f416c7761797320536d656c6c73205265616c6c7920476f6f640000000000000081525081526020016040518060400160405280600981526020017f49732053686c306d73000000000000000000000000000000000000000000000081525081526020016040518060400160405280601881526020017f506f7374732027676d27204576657279204d6f726e696e67000000000000000081525081526020016040518060400160405280601681526020017f506f7374732027676e27204576657279204e696768740000000000000000000081525081526020016040518060400160405280601381526020017f4163637265646974656420496e766573746f720000000000000000000000000081525081526020016040518060400160405280601181526020017f457870657274204d656d65204d616b657200000000000000000000000000000081525081526020016040518060400160405280600e81526020017f576561727320556e69736f636b7300000000000000000000000000000000000081525081526020016040518060400160405280602081526020017f5573657320612053706c6974204d656368616e6963616c204b6579626f61726481525081526020016040518060400160405280601081526020017f52756e73204e65787420546f20596f750000000000000000000000000000000081525081526020016040518060400160405280601881526020017f43616e2046697420496e20612042696b65204261736b6574000000000000000081525081526020016040518060400160405280601b81526020017f4163686965766573204d697373696f6e20496d7061777369626c65000000000081525081526020016040518060400160405280601d81526020017f4e65766572204261726b73205570207468652057726f6e67205472656500000081525081526020016040518060400160405280601481526020017f4e6576657220486173206120527566662044617900000000000000000000000081525081526020016040518060400160405280601481526020017f5461696c6564206279205075702d6172617a7a6900000000000000000000000081525081526020016040518060400160405280601a81526020017f4f6e2074686520436f766572206f662056616e6974792046757200000000000081525081526020016040518060400160405280601781526020017f54686520507567204c6966652043686f7365205468656d000000000000000000815250815250600f90602862000f579291906200abc0565b50604051806103c001604052806040518060400160405280600a81526020017f436f6d667920526f62650000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f5065747469636f6174000000000000000000000000000000000000000000000081525081526020016040518060400160405280600b81526020017f446170706572205665737400000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f54616e6b20546f7000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600f81526020017f537061676865747469205374726170000000000000000000000000000000000081525081526020016040518060400160405280600d81526020017f506c61696e20576869746520540000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f4d7573636c65205465650000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f43726f7020546f7000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600f81526020017f43757465206c696c20426f77746965000000000000000000000000000000000081525081526020016040518060400160405280601481526020017f4f6666207468652053686f756c64657220546f7000000000000000000000000081525081526020016040518060400160405280601481526020017f546865204a6f79204469766973696f6e2054656500000000000000000000000081525081526020016040518060400160405280601181526020017f416e2041646f7261626c6520536b69727400000000000000000000000000000081525081526020016040518060400160405280601481526020017f4d656368616e6963277320436f766572616c6c7300000000000000000000000081525081526020016040518060400160405280600881526020017f46757220436f617400000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f4f766572616c6c7300000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f54757865646f000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f43616d6f666c617567650000000000000000000000000000000000000000000081525081526020016040518060400160405280600d81526020017f57656464696e672044726573730000000000000000000000000000000000000081525081526020016040518060400160405280600d81526020017f5361696c6f72204f75746669740000000000000000000000000000000000000081525081526020016040518060400160405280600e81526020017f42616c6c6572696e61205475747500000000000000000000000000000000000081525081526020016040518060400160405280600e81526020017f5261696e626f77204c656173682000000000000000000000000000000000000081525081526020016040518060400160405280600c81526020017f4d61676963616c2043617065000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f446f67677920436170650000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f43726f7020546f7000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600d81526020017f4c75787572696f7573204675720000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f42696b696e6920546f700000000000000000000000000000000000000000000081525081526020016040518060400160405280600f81526020017f43616e616469616e2054757865646f000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f4d696e6920536b6972740000000000000000000000000000000000000000000081525081526020016040518060400160405280601381526020017f5269707065642044656e696d204a61636b65740000000000000000000000000081525081526020016040518060400160405280601481526020017f506c6561737244414f20426f78204c6f676f2054000000000000000000000000815250815250601090601e6200165e9291906200ac27565b50604051806103e001604052806040518060400160405280600a81526020017f506972617465204861740000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4665646f7261000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f446164204861740000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600c81526020017f536865726c6f636b20486174000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f436f77626f79204861740000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4e6577736965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f42616e64616e612000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f537765617462616e64000000000000000000000000000000000000000000000081525081526020016040518060400160405280600c81526020017f54656e6e6973205669736f72000000000000000000000000000000000000000081525081526020016040518060400160405280600d81526020017f4d6172696e65722773204361700000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f447572616700000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4173636f7400000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f536361726600000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600f81526020017f4869707374657220352d50616e656c000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f42696b652043617000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f4275636b6574204861740000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f4265616e6965204861740000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f546f70204861740000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f53756e676c61737365730000000000000000000000000000000000000000000081525081526020016040518060400160405280600d81526020017f46616b65204d757374616368650000000000000000000000000000000000000081525081526020016040518060400160405280600c81526020017f536d6f6b696e672050697065000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f43726f776e00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f546961726100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600c81526020017f466c6f7765722043726f776e000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4d6f6e6f636c650000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f53756e204861740000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600d81526020017f4368726973746d6173204861740000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f526962626f6e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f436174204561727300000000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f42756e6e7920456172730000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f5377696d20436170000000000000000000000000000000000000000000000000815250815250601190601f62001da09291906200ac8e565b506040518061044001604052806040518060400160405280600381526020017f536572000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f436865660000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f426f73730000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f436f756e7400000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4d61657374726f0000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4361707461696e0000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d616a6f7200000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f436f6c6f6e656c0000000000000000000000000000000000000000000000000081525081526020016040518060400160405280601081526020017f546865697220457863656c6c656e63790000000000000000000000000000000081525081526020016040518060400160405280600981526020017f50726f666573736f72000000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f4368616e63656c6c6f720000000000000000000000000000000000000000000081525081526020016040518060400160405280600f81526020017f56696365204368616e63656c6c6f72000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f5072696e636970616c000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f507265736964656e74000000000000000000000000000000000000000000000081525081526020016040518060400160405280600f81526020017f436869656620457865637574697665000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f536563726574617279200000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f4a616e69746f722000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f546561636865720000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600281526020017f444a00000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f426162790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600c81526020017f436f6d6d697373696f6e6572000000000000000000000000000000000000000081525081526020016040518060400160405280601081526020017f546865204f6e6520616e64204f6e6c790000000000000000000000000000000081525081526020016040518060400160405280600981526020017f476967612043686164000000000000000000000000000000000000000000000081525081526020016040518060400160405280600e81526020017f5365656420496e766573746f722000000000000000000000000000000000000081525081526020016040518060400160405280600d81526020017f4865616420456e67696e6565720000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f496e7465726e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280601081526020017f416374696e6720507265736964656e740000000000000000000000000000000081525081526020016040518060400160405280600781526020017f436f6d726164650000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600c81526020017f546865205665727920576f77000000000000000000000000000000000000000081525081526020016040518060400160405280600b81526020017f5061726b2052616e67657200000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f506f70650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280601081526020017f52616e6b696e67204f6666696369616c0000000000000000000000000000000081525081526020016040518060400160405280601281526020017f44414f20436f756e63696c204d656d626572000000000000000000000000000081525081526020016040518060400160405280600f81526020017f4d756c7469736967205369676e657200000000000000000000000000000000008152508152506012906022620025939291906200acf5565b506040518061426001604052806040518060400160405280600581526020017f537573686900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f44756d706c696e6700000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f47656e657669766500000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f50616e63616b650000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f59756b690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f476967690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f486170707900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f436869626900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4c75636b7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d6f63686900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f427562626100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f597569000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4d6174636861000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4a6572727900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f42756e6e7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f43616e647900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f427562626c65730000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f41707269636f740000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f426561720000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f427574746f6e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f467265636b6c657300000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4e6f6f646c65000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4d756666696e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5370726f7574000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f506561636879000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600f81526020017f576166666c657374696c74736b696e000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5065616e7574000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f546564647900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f506562626c65730000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f4b61626f6368616e00000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f546164656f00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f416262790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f416265000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f416464696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f416365000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f416c65786973000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4165726f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f416c69636500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f416964656e00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f416d656c6961000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600281526020017f414a00000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f416e67656c00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f416c66696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f416e6e696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f416e64790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f417269656c00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f417263686965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f417661000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f417274696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f417665727900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f41746c617300000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f426162790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f41757374696e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4261696c6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4261696c6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f42616d626900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f42616a610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f426173696c00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4261726b6c65790000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f426561000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f426173696c00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4265616e0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f426178746572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f42656c6c6100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4265616e0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f42656c6c6500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f426561720000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f426574747900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f426561750000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f426972646965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f42656e6a6900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f426973637569740000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f42656e6e7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f426c616e6368650000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f42696c6c7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f426c6f6e6469650000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f42696e676f00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f426c6f73736f6d0000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f426973637569740000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f426f6e6e6965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f426c617a6500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f42726f6f6b6c796e00000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f426c75650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f427566667900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600281526020017f426f00000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f43616c6c6965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f426f6c740000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f43616e647900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f426f6f6d6572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4361726c7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f426f6f747300000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4361726d656e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f427261647900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f436173657900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f42726f776e69650000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f436563650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f427562626100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4368616e6365000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4275636b0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4368616e656c000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f427564647900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f436865727279000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f427573746572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f43686579656e6e6500000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f427574746f6e730000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f43686c6f6500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f42757a7a0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f43696e6e616d6f6e00000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4361696e0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f436c61726100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4361707461696e0000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f436c656f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f436172746572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f436c6f766572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4368616d7000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f436f636f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4368616e6365000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f436f6f6b6965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f436861726c69650000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f436f72610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f436861736500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f437269636b65740000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f436865737465720000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f446169737900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f436865777900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f44616b6f7461000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f436869636f00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f44616c6c6173000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f436869700000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f446170686e65000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600281526020017f434a00000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4461726c6100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f436c6966666f726400000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f44656c696100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f436c79646500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f44656c696c61680000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f436f64790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f44657374696e790000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f436f6f706572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4469616d6f6e640000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f436f726b7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f446976610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f436f736d6f00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f446978696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f44617277696e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f446f6c6c7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f446173680000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f446f72610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f446176790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f446f72790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f44656e766572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f446f74000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f446578746572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f446f74746965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f44696573656c000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f447563686573730000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f44696a6f6e00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4564656e0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f446f6e6e6965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f456469650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4475646c6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f456666696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f447566667900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f456c697a6100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f44756b650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f456c6c610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f447573747900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f456c6c696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f44796c616e00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f456c6f697365000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f456464696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f456c73610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f456c69000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f456d62657200000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f456c696f7400000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f456d6d610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f456c746f6e00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f456d6d790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f457665726574740000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f457474610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f457a72610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f457661000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4661726c6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f466169746800000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f46656c697800000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f46616e637900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f46696e6c6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f46616e6e6965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f46696e6e0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f46616e6e7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f466973686572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f466179650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f466c61736800000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f466966690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f466f72726573740000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f466c6f000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4672616e6b00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f466f78790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4672616e6b69650000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f467269646100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f4672616e6b6c696e00000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f476162627900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f467265646479000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f47656f726769610000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f467269747a00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f476961000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f476167650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f476964676574000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f47656f726765000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f476967690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f47686f737400000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f47696e676572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f476f6f736500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f476c6f726961000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f476f72647900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f476f6c646965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f477261647900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f477261636500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f477573000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f477261636965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4861726c6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4861646c6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f486172727900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4861696c6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f486172766579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f48616e6e6168000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f486179657300000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4861726c6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f48656e727900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f486172706572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f486f6f636800000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f48617a656c00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f486f73730000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f486569646900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4875636b0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f486572736865790000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f487564736f6e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f486f6c6c7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f48756e746572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f486f6e657900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f496b65000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f486f70650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f496e64790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f496262790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f497261000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f496461000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4a61636b0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f497269730000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4a61636b736f6e0000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f49766f727900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4a6173706572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f497679000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4a6176610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f497a7a790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4a6573736500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4a61636b6965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4a657468726f000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4a6164610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4a6f65790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4a6164650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4a6f7264616e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4a61736d696e650000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4a6f72647900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4a617a7a7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4b616e650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4a656e6e6100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4b696e670000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4a6572736579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4b6e6f780000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4a6577656c00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4b6f62790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4a6f6c656e65000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4b6f64610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4a6f73696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4c616e636500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4a756e6f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4c656e6e7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4b61726d6100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f4c656f000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4b61796c6100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4c65726f7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4b656e6e6564790000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4c6576690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4b696b690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4c6577697300000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4b696e6c6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f4c696768746e696e67000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4b6972610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4c696e636f6c6e0000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4b6977690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4c696e757300000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4b6f64610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4c6f67616e00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4b6f6b6f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4c6f6b690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4c6163790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4c6f75696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4c6164790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4c796c650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4c61696b6100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f4d6163000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4c6173736965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d616a6f7200000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4c61796c6100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4d61726c6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4c6569610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d6172747900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4c656e610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d61736f6e00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4c6578690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f4d6178000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4c6578790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4d6178696d75730000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4c6962627900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4d617877656c6c0000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f4c6962657274790000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4d69636b6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4c696c6c7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d696c657300000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4c6f6c610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4d696c6f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4c6f74746965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f4d6f65000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4c75636b7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d6f6e747900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4c7563790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d6f72747900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4c756c750000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4d7572706879000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4c756e610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4d7572726179000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d6162656c00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4e656c736f6e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4d6163790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4e6577746f6e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4d6164646965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4e69636f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4d6169736965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4e696c657300000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d6176697300000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4e6f61680000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4d6179610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4e6f726d0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f4d6961000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4f616b6c6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d696c657900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4f64696e0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4d696c6c6965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4f6c6c696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4d696d690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4f72736f6e00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4d696e6e6965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4f7363617200000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d6973737900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4f7469730000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d6f63686100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4f74746f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d6f6c6c7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4f7a7a790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4d6f7267616e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f5061636f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4d6f78696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f50616c000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4d756666696e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f5061726b6100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4e616c610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5061726b6572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4e656c6c6965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506174636800000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4e6573736965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5065616e7574000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4e6574746965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f506570706572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4e696b6b6900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506572637900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4e6f6c610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506572727900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4e6f72690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506574657900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4f6465737361000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f506970000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f4f6c69766500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506970657200000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4f6c69766961000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f506f65000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4f70616c0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f506f676f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4f72656f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506f6e676f00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506169676500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f506f72746572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506172697300000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5072696e6365000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5061726b6572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5175696e6379000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f506561636865730000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f52616e647900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5065616e7574000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f52616e676572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506561726c00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f52617363616c000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f506562626c65730000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f526564000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506567677900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f526567676965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f50656e6e7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f5269636b7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f506570706572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f52696e676f00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506574726100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5269706c6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f50686f656e69780000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f526f636b7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506970657200000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f527564790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506970706100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f527566757300000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506978696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f527573747900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506f6c6c7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f53616d000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f506f70707900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f53616d6d7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f50726563696f757300000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f536172676500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f5072696e6365737300000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f536177796572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f50756d706b696e0000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f53636f6f6279000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f517565656e69650000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f53636f6f7465720000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f52656d790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f53636f757400000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f52696c657900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f536372617070790000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f526f73696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f536861646f77000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f526f78790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5368696c6f68000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f527562790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f53696d626100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f527574686965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f536b69700000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f536164696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f536d6f6b7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f53616e647900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f536e6f6f7079000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f536173686100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f536f636b7300000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f536173737900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f537061726b79000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f536361726c65740000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f5370656e6365720000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f536861646f77000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f5370696b6500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f536865626100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f53706f740000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5368656c6279000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f5374616e6c65790000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5368696c6f68000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f537465776965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f536965727261000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f537469746368000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f536973737900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f5461636f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f536b79650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f54616e6b0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f536b796c6172000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f54616e6e6572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f536f70686965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5461796c6f72000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f537461720000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f54617a000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f537461726c61000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f546564647900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5374656c6c61000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f546974757300000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f53746f726d00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600281526020017f544a00000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f537567617200000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f546f62696173000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f53756b690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f546f62790000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f53756d6d6572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f546f74000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f53756e6e7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f546f746f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f53757a696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f547269707000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f537765657469650000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5475636b6572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5379646e6579000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f547572626f00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f546162627900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5475726e6572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f546166667900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f54796c657200000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f546173686100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f5479736f6e00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f546573736100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f5665726e6f6e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f5468656f0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f56696e636500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f54696c6c7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f56696e6e6965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f547269786965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f576164650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f547275647900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f576166666c65730000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f56696f6c6574000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f57616c6c7900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f566978656e00000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f57616c746572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f576967676c65730000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f576174736f6e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f57696c6c6100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f57696c627572000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f57696c6c6f77000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f57696e73746f6e0000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f57696e6e6965000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f576f6f647900000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f58656e610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f577961747400000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f5a656c646100000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f57796c696500000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f5a6f65000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f596f67690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f5a6f6c610000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f5a616e650000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f5a7572690000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f5a696767790000000000000000000000000000000000000000000000000000008152508152506013906102136200a0129291906200ad5c565b50604051806102c001604052806040518060400160405280601381526020017f4669727374206f66205468656972204e616d650000000000000000000000000081525081526020016040518060400160405280600a81526020017f746865205365636f6e640000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f746865205468697264000000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f74686520466f757274680000000000000000000000000000000000000000000081525081526020016040518060400160405280600b81526020017f74686520436f6f6c65737400000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f4573712e0000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f4a722e000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017fe6a798000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f53722e000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280601081526020017f746865204f6e6520616e64204f6e6c790000000000000000000000000000000081525081526020016040518060400160405280601381526020017f74686520526967687420486f6e6f7261626c650000000000000000000000000081525081526020016040518060400160405280600381526020017f506844000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f44722e000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f657420616c2e000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280601281526020017f746865204d6f737420486f6e6f7261626c65000000000000000000000000000081525081526020016040518060400160405280600d81526020017f74686520486f6e6f7261626c650000000000000000000000000000000000000081525081526020016040518060400160405280600d81526020017f506c65617372206f662050706c0000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f435041000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600281526020017f4a4400000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f4d4241000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600281526020017f4d4400000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4a442f4d4241000000000000000000000000000000000000000000000000000081525081525060149060166200a5419291906200adc3565b50604051806102a001604052806040518060400160405280600b81526020017f6f6620437574656e65737300000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f6f662050616d700000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f6f6620436f6d667900000000000000000000000000000000000000000000000081525081526020016040518060400160405280600981526020017f6f66205969656c6473000000000000000000000000000000000000000000000081525081526020016040518060400160405280600b81526020017f6f6620536e6966666c657300000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f6f6620437564646c65730000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f6f6620466c6f776572730000000000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f6f66204c6f76650000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600a81526020017f6f662050617373696f6e0000000000000000000000000000000000000000000081525081526020016040518060400160405280600d81526020017f6f6620456e746875736961736d0000000000000000000000000000000000000081525081526020016040518060400160405280600781526020017f6f6620486f70650000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600b81526020017f6f66204f7074696d69736d00000000000000000000000000000000000000000081525081526020016040518060400160405280600f81526020017f6f662043727970746f20506f776572000000000000000000000000000000000081525081526020016040518060400160405280601181526020017f6f662043727970746f2054726164696e6700000000000000000000000000000081525081526020016040518060400160405280600f81526020017f6f66204e465420466c697070696e67000000000000000000000000000000000081525081526020016040518060400160405280600881526020017f6f66204d656d657300000000000000000000000000000000000000000000000081525081526020016040518060400160405280601681526020017f6f662054686520446f676520466f756e646174696f6e0000000000000000000081525081526020016040518060400160405280600a81526020017f6f662044656c696768740000000000000000000000000000000000000000000081525081526020016040518060400160405280600b81526020017f6f6620506c656173696e6700000000000000000000000000000000000000000081525081526020016040518060400160405280600b81526020017f6f6620506c65617375726500000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f6f66204a6f79000000000000000000000000000000000000000000000000000081525081525060159060156200aa359291906200ae2a565b503480156200aa4357600080fd5b506040516200f86f3803806200f86f83398181016040528101906200aa6991906200afc6565b6040518060400160405280601781526020017f446f67676f732028666f7220444f47204f776e657273290000000000000000008152506040518060400160405280600581526020017f444f47474f00000000000000000000000000000000000000000000000000000081525081600090805190602001906200aaed9291906200ae91565b5080600190805190602001906200ab069291906200ae91565b5050506001600a8190555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200b0c4565b8280548282559060005260206000209081019282156200abad579160200282015b828111156200abac5782518290805190602001906200ab9b9291906200ae91565b50916020019190600101906200ab7a565b5b5090506200abbc91906200af22565b5090565b8280548282559060005260206000209081019282156200ac14579160200282015b828111156200ac135782518290805190602001906200ac029291906200ae91565b50916020019190600101906200abe1565b5b5090506200ac2391906200af22565b5090565b8280548282559060005260206000209081019282156200ac7b579160200282015b828111156200ac7a5782518290805190602001906200ac699291906200ae91565b50916020019190600101906200ac48565b5b5090506200ac8a91906200af22565b5090565b8280548282559060005260206000209081019282156200ace2579160200282015b828111156200ace15782518290805190602001906200acd09291906200ae91565b50916020019190600101906200acaf565b5b5090506200acf191906200af22565b5090565b8280548282559060005260206000209081019282156200ad49579160200282015b828111156200ad485782518290805190602001906200ad379291906200ae91565b50916020019190600101906200ad16565b5b5090506200ad5891906200af22565b5090565b8280548282559060005260206000209081019282156200adb0579160200282015b828111156200adaf5782518290805190602001906200ad9e9291906200ae91565b50916020019190600101906200ad7d565b5b5090506200adbf91906200af22565b5090565b8280548282559060005260206000209081019282156200ae17579160200282015b828111156200ae165782518290805190602001906200ae059291906200ae91565b50916020019190600101906200ade4565b5b5090506200ae2691906200af22565b5090565b8280548282559060005260206000209081019282156200ae7e579160200282015b828111156200ae7d5782518290805190602001906200ae6c9291906200ae91565b50916020019190600101906200ae4b565b5b5090506200ae8d91906200af22565b5090565b8280546200ae9f906200b040565b90600052602060002090601f0160209004810192826200aec357600085556200af0f565b82601f106200aede57805160ff19168380011785556200af0f565b828001600101855582156200af0f579182015b828111156200af0e5782518255916020019190600101906200aef1565b5b5090506200af1e91906200af4a565b5090565b5b808211156200af4657600081816200af3c91906200af69565b506001016200af23565b5090565b5b808211156200af655760008160009055506001016200af4b565b5090565b5080546200af77906200b040565b6000825580601f106200af8b57506200afac565b601f0160209004906000526020600020908101906200afab91906200af4a565b5b50565b6000815190506200afc0816200b0aa565b92915050565b6000602082840312156200afdf576200afde6200b0a5565b5b60006200afef848285016200afaf565b91505092915050565b60006200b005826200b020565b9050919050565b60006200b019826200aff8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600060028204905060018216806200b05957607f821691505b602082108114156200b070576200b06f6200b076565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6200b0b5816200b00c565b81146200b0c157600080fd5b50565b61477a806200b0d46000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80636b8ff574116100c3578063b88d4fde1161007c578063b88d4fde146103d6578063c87b56dd146103f2578063d5523f7714610422578063e985e9c514610452578063ef68075a14610482578063fc0c546a146104b25761014d565b80636b8ff5741461030257806370a082311461033257806395d89b41146103625780639720c96914610380578063a22cb465146103b0578063b0f5d8a4146103cc5761014d565b806323b872dd1161011557806323b872dd1461020a5780632be6a2a9146102265780632f745c591461025657806342842e0e146102865780634f6ccce7146102a25780636352211e146102d25761014d565b806301ffc9a71461015257806306fdde0314610182578063081812fc146101a0578063095ea7b3146101d057806318160ddd146101ec575b600080fd5b61016c60048036038101906101679190612f8d565b6104d0565b604051610179919061370b565b60405180910390f35b61018a61054a565b6040516101979190613741565b60405180910390f35b6101ba60048036038101906101b59190612fe7565b6105dc565b6040516101c791906136a4565b60405180910390f35b6101ea60048036038101906101e59190612f4d565b610661565b005b6101f4610779565b60405161020191906139c3565b60405180910390f35b610224600480360381019061021f9190612e37565b610786565b005b610240600480360381019061023b9190612fe7565b6107e6565b60405161024d9190613741565b60405180910390f35b610270600480360381019061026b9190612f4d565b610902565b60405161027d91906139c3565b60405180910390f35b6102a0600480360381019061029b9190612e37565b6109a7565b005b6102bc60048036038101906102b79190612fe7565b6109c7565b6040516102c991906139c3565b60405180910390f35b6102ec60048036038101906102e79190612fe7565b610a38565b6040516102f991906136a4565b60405180910390f35b61031c60048036038101906103179190612fe7565b610aea565b6040516103299190613741565b60405180910390f35b61034c60048036038101906103479190612dca565b610cb9565b60405161035991906139c3565b60405180910390f35b61036a610d71565b6040516103779190613741565b60405180910390f35b61039a60048036038101906103959190612fe7565b610e03565b6040516103a79190613741565b60405180910390f35b6103ca60048036038101906103c59190612f0d565b610f1f565b005b6103d46110a0565b005b6103f060048036038101906103eb9190612e8a565b611355565b005b61040c60048036038101906104079190612fe7565b6113b7565b6040516104199190613741565b60405180910390f35b61043c60048036038101906104379190612fe7565b61178b565b6040516104499190613741565b60405180910390f35b61046c60048036038101906104679190612df7565b6118a7565b604051610479919061370b565b60405180910390f35b61049c60048036038101906104979190612fe7565b61193b565b6040516104a99190613741565b60405180910390f35b6104ba611a57565b6040516104c79190613726565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610543575061054282611a7d565b5b9050919050565b60606000805461055990613c8d565b80601f016020809104026020016040519081016040528092919081815260200182805461058590613c8d565b80156105d25780601f106105a7576101008083540402835291602001916105d2565b820191906000526020600020905b8154815290600101906020018083116105b557829003601f168201915b5050505050905090565b60006105e782611b5f565b610626576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061d906138c3565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061066c82610a38565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d490613923565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166106fc611bcb565b73ffffffffffffffffffffffffffffffffffffffff16148061072b575061072a81610725611bcb565b6118a7565b5b61076a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076190613843565b60405180910390fd5b6107748383611bd3565b505050565b6000600880549050905090565b610797610791611bcb565b82611c8c565b6107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd90613943565b60405180910390fd5b6107e1838383611d6a565b505050565b60606108fb826040518060400160405280600781526020017f5350454349455300000000000000000000000000000000000000000000000000815250600e805480602002602001604051908101604052809291908181526020016000905b828210156108f057838290600052602060002001805461086390613c8d565b80601f016020809104026020016040519081016040528092919081815260200182805461088f90613c8d565b80156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b505050505081526020019060010190610844565b505050506001611fc6565b9050919050565b600061090d83610cb9565b821061094e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094590613763565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6109c283838360405180602001604052806000815250611355565b505050565b60006109d1610779565b8210610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0990613963565b60405180910390fd5b60088281548110610a2657610a25613e26565b5b90600052602060002001549050919050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890613883565b60405180910390fd5b80915050919050565b60606000610b2d6040518060400160405280600581526020017f4e414d455300000000000000000000000000000000000000000000000000000081525084612083565b905060006013808054905083610b439190613d39565b81548110610b5457610b53613e26565b5b906000526020600020018054610b6990613c8d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9590613c8d565b8015610be25780601f10610bb757610100808354040283529160200191610be2565b820191906000526020600020905b815481529060010190602001808311610bc557829003601f168201915b505050505090506000600383610bf89190613d39565b90506000811115610cae576012808054905084610c159190613d39565b81548110610c2657610c25613e26565b5b9060005260206000200182604051602001610c429291906135f6565b60405160208183030381529060405291506001811115610cad57816014808054905085610c6f9190613d39565b81548110610c8057610c7f613e26565b5b90600052602060002001604051602001610c9b9291906135c7565b60405160208183030381529060405291505b5b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2190613863565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060018054610d8090613c8d565b80601f0160208091040260200160405190810160405280929190818152602001828054610dac90613c8d565b8015610df95780601f10610dce57610100808354040283529160200191610df9565b820191906000526020600020905b815481529060010190602001808311610ddc57829003601f168201915b5050505050905090565b6060610f18826040518060400160405280600481526020017f48454144000000000000000000000000000000000000000000000000000000008152506011805480602002602001604051908101604052809291908181526020016000905b82821015610f0d578382906000526020600020018054610e8090613c8d565b80601f0160208091040260200160405190810160405280929190818152602001828054610eac90613c8d565b8015610ef95780601f10610ece57610100808354040283529160200191610ef9565b820191906000526020600020905b815481529060010190602001808311610edc57829003601f168201915b505050505081526020019060010190610e61565b505050506001611fc6565b9050919050565b610f27611bcb565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8c90613803565b60405180910390fd5b8060056000610fa2611bcb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661104f611bcb565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611094919061370b565b60405180910390a35050565b6002600a5414156110e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dd90613983565b60405180910390fd5b6002600a819055506000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231611136611bcb565b6040518263ffffffff1660e01b815260040161115291906136a4565b60206040518083038186803b15801561116a57600080fd5b505afa15801561117e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a29190613014565b116111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d990613903565b60405180910390fd5b600d60006111ee611bcb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126d906139a3565b60405180910390fd5b611b39611281610779565b11156112c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b9906137c3565b60405180910390fd5b6001600d60006112d0611bcb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600061132d600b6120c1565b9050611339600b6120cf565b61134a611344611bcb565b826120e5565b506001600a81905550565b611366611360611bcb565b83611c8c565b6113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c90613943565b60405180910390fd5b6113b184848484612103565b50505050565b60606113c1612cb4565b60405180610120016040528060fd81526020016145e060fd9139816000601181106113ef576113ee613e26565b5b602002018190525061140083610aea565b8160016011811061141457611413613e26565b5b602002018190525060405180606001604052806028815260200161471d602891398160026011811061144957611448613e26565b5b602002018190525061145a836107e6565b8160036011811061146e5761146d613e26565b5b602002018190525060405180606001604052806028815260200161456760289139816004601181106114a3576114a2613e26565b5b60200201819052506114b48361178b565b816005601181106114c8576114c7613e26565b5b602002018190525060405180606001604052806028815260200161458f60289139816006601181106114fd576114fc613e26565b5b602002018190525061150e8361193b565b8160076011811061152257611521613e26565b5b60200201819052506040518060600160405280602981526020016145b7602991398160086011811061155757611556613e26565b5b602002018190525061156883610e03565b8160096011811061157c5761157b613e26565b5b60200201819052506040518060400160405280600d81526020017f3c2f746578743e3c2f7376673e0000000000000000000000000000000000000081525081600a601181106115ce576115cd613e26565b5b60200201819052506000816000601181106115ec576115eb613e26565b5b60200201518260016011811061160557611604613e26565b5b60200201518360026011811061161e5761161d613e26565b5b60200201518460036011811061163757611636613e26565b5b6020020151856004601181106116505761164f613e26565b5b60200201518660056011811061166957611668613e26565b5b60200201518760066011811061168257611681613e26565b5b60200201518860076011811061169b5761169a613e26565b5b6020020151896008601181106116b4576116b3613e26565b5b60200201518a6009601181106116cd576116cc613e26565b5b60200201518b600a601181106116e6576116e5613e26565b5b60200201516040516020016117059b9a9998979695949392919061352e565b6040516020818303038152906040529050600061175c61172486610aea565b61172d8761215f565b611736856122c0565b60405160200161174893929190613625565b6040516020818303038152906040526122c0565b90508060405160200161176f9190613682565b6040516020818303038152906040529150819350505050919050565b60606118a0826040518060400160405280600781526020017f4142494c49545900000000000000000000000000000000000000000000000000815250600f805480602002602001604051908101604052809291908181526020016000905b8282101561189557838290600052602060002001805461180890613c8d565b80601f016020809104026020016040519081016040528092919081815260200182805461183490613c8d565b80156118815780601f1061185657610100808354040283529160200191611881565b820191906000526020600020905b81548152906001019060200180831161186457829003601f168201915b5050505050815260200190600101906117e9565b505050506000611fc6565b9050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6060611a50826040518060400160405280600581526020017f43484553540000000000000000000000000000000000000000000000000000008152506010805480602002602001604051908101604052809291908181526020016000905b82821015611a455783829060005260206000200180546119b890613c8d565b80601f01602080910402602001604051908101604052809291908181526020018280546119e490613c8d565b8015611a315780601f10611a0657610100808354040283529160200191611a31565b820191906000526020600020905b815481529060010190602001808311611a1457829003601f168201915b505050505081526020019060010190611999565b505050506001611fc6565b9050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611b4857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611b585750611b5782612458565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611c4683610a38565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611c9782611b5f565b611cd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccd90613823565b60405180910390fd5b6000611ce183610a38565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611d5057508373ffffffffffffffffffffffffffffffffffffffff16611d38846105dc565b73ffffffffffffffffffffffffffffffffffffffff16145b80611d615750611d6081856118a7565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611d8a82610a38565b73ffffffffffffffffffffffffffffffffffffffff1614611de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd7906138e3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e47906137e3565b60405180910390fd5b611e5b8383836124c2565b611e66600082611bd3565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611eb69190613b6d565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f0d9190613a8c565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60606000611fd48587612083565b9050600084855183611fe69190613d39565b81518110611ff757611ff6613e26565b5b6020026020010151905060006015836120109190613d39565b905084801561201f5750600e81115b15612075578160158080549050856120379190613d39565b8154811061204857612047613e26565b5b906000526020600020016040516020016120639291906135c7565b60405160208183030381529060405291505b819350505050949350505050565b60008261208f8361215f565b6040516020016120a092919061350a565b6040516020818303038152906040528051906020012060001c905092915050565b600081600001549050919050565b6001816000016000828254019250508190555050565b6120ff8282604051806020016040528060008152506125d6565b5050565b61210e848484611d6a565b61211a84848484612631565b612159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215090613783565b60405180910390fd5b50505050565b606060008214156121a7576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506122bb565b600082905060005b600082146121d95780806121c290613cf0565b915050600a826121d29190613ae2565b91506121af565b60008167ffffffffffffffff8111156121f5576121f4613e55565b5b6040519080825280601f01601f1916602001820160405280156122275781602001600182028036833780820191505090505b5090505b600085146122b4576001826122409190613b6d565b9150600a8561224f9190613d39565b603061225b9190613a8c565b60f81b81838151811061227157612270613e26565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856122ad9190613ae2565b945061222b565b8093505050505b919050565b606060008251905060008114156122e95760405180602001604052806000815250915050612453565b600060036002836122fa9190613a8c565b6123049190613ae2565b60046123109190613b13565b905060006020826123219190613a8c565b67ffffffffffffffff81111561233a57612339613e55565b5b6040519080825280601f01601f19166020018201604052801561236c5781602001600182028036833780820191505090505b50905060006040518060600160405280604081526020016146dd604091399050600181016020830160005b868110156124105760038101905062ffffff818a015116603f8160121c168401518060081b905060ff603f83600c1c1686015116810190508060081b905060ff603f8360061c1686015116810190508060081b905060ff603f831686015116810190508060e01b90508084526004840193505050612397565b50600386066001811461242a576002811461243a57612445565b613d3d60f01b6002830352612445565b603d60f81b60018303525b508484525050819450505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6124cd8383836127c8565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125105761250b816127cd565b61254f565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461254e5761254d8382612816565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125925761258d81612983565b6125d1565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146125d0576125cf8282612a54565b5b5b505050565b6125e08383612ad3565b6125ed6000848484612631565b61262c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262390613783565b60405180910390fd5b505050565b60006126528473ffffffffffffffffffffffffffffffffffffffff16612ca1565b156127bb578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261267b611bcb565b8786866040518563ffffffff1660e01b815260040161269d94939291906136bf565b602060405180830381600087803b1580156126b757600080fd5b505af19250505080156126e857506040513d601f19601f820116820180604052508101906126e59190612fba565b60015b61276b573d8060008114612718576040519150601f19603f3d011682016040523d82523d6000602084013e61271d565b606091505b50600081511415612763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275a90613783565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506127c0565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161282384610cb9565b61282d9190613b6d565b9050600060076000848152602001908152602001600020549050818114612912576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506129979190613b6d565b90506000600960008481526020019081526020016000205490506000600883815481106129c7576129c6613e26565b5b9060005260206000200154905080600883815481106129e9576129e8613e26565b5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480612a3857612a37613df7565b5b6001900381819060005260206000200160009055905550505050565b6000612a5f83610cb9565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3a906138a3565b60405180910390fd5b612b4c81611b5f565b15612b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b83906137a3565b60405180910390fd5b612b98600083836124c2565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612be89190613a8c565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b6040518061022001604052806011905b6060815260200190600190039081612cc45790505090565b6000612cef612cea84613a03565b6139de565b905082815260208101848484011115612d0b57612d0a613e89565b5b612d16848285613c4b565b509392505050565b600081359050612d2d8161450a565b92915050565b600081359050612d4281614521565b92915050565b600081359050612d5781614538565b92915050565b600081519050612d6c81614538565b92915050565b600082601f830112612d8757612d86613e84565b5b8135612d97848260208601612cdc565b91505092915050565b600081359050612daf8161454f565b92915050565b600081519050612dc48161454f565b92915050565b600060208284031215612de057612ddf613e93565b5b6000612dee84828501612d1e565b91505092915050565b60008060408385031215612e0e57612e0d613e93565b5b6000612e1c85828601612d1e565b9250506020612e2d85828601612d1e565b9150509250929050565b600080600060608486031215612e5057612e4f613e93565b5b6000612e5e86828701612d1e565b9350506020612e6f86828701612d1e565b9250506040612e8086828701612da0565b9150509250925092565b60008060008060808587031215612ea457612ea3613e93565b5b6000612eb287828801612d1e565b9450506020612ec387828801612d1e565b9350506040612ed487828801612da0565b925050606085013567ffffffffffffffff811115612ef557612ef4613e8e565b5b612f0187828801612d72565b91505092959194509250565b60008060408385031215612f2457612f23613e93565b5b6000612f3285828601612d1e565b9250506020612f4385828601612d33565b9150509250929050565b60008060408385031215612f6457612f63613e93565b5b6000612f7285828601612d1e565b9250506020612f8385828601612da0565b9150509250929050565b600060208284031215612fa357612fa2613e93565b5b6000612fb184828501612d48565b91505092915050565b600060208284031215612fd057612fcf613e93565b5b6000612fde84828501612d5d565b91505092915050565b600060208284031215612ffd57612ffc613e93565b5b600061300b84828501612da0565b91505092915050565b60006020828403121561302a57613029613e93565b5b600061303884828501612db5565b91505092915050565b61304a81613ba1565b82525050565b61305981613bb3565b82525050565b600061306a82613a49565b6130748185613a5f565b9350613084818560208601613c5a565b61308d81613e98565b840191505092915050565b6130a181613c15565b82525050565b60006130b282613a54565b6130bc8185613a70565b93506130cc818560208601613c5a565b6130d581613e98565b840191505092915050565b60006130eb82613a54565b6130f58185613a81565b9350613105818560208601613c5a565b80840191505092915050565b6000815461311e81613c8d565b6131288186613a81565b94506001821660008114613143576001811461315457613187565b60ff19831686528186019350613187565b61315d85613a34565b60005b8381101561317f57815481890152600182019150602081019050613160565b838801955050505b50505092915050565b600061319d602b83613a70565b91506131a882613ea9565b604082019050919050565b60006131c0603283613a70565b91506131cb82613ef8565b604082019050919050565b60006131e3601c83613a70565b91506131ee82613f47565b602082019050919050565b6000613206601b83613a70565b915061321182613f70565b602082019050919050565b6000613229602483613a70565b915061323482613f99565b604082019050919050565b600061324c601983613a70565b915061325782613fe8565b602082019050919050565b600061326f600983613a81565b915061327a82614011565b600982019050919050565b6000613292602c83613a70565b915061329d8261403a565b604082019050919050565b60006132b5600183613a81565b91506132c082614089565b600182019050919050565b60006132d8603883613a70565b91506132e3826140b2565b604082019050919050565b60006132fb602a83613a70565b915061330682614101565b604082019050919050565b600061331e602983613a70565b915061332982614150565b604082019050919050565b6000613341600283613a81565b915061334c8261419f565b600282019050919050565b6000613364602083613a70565b915061336f826141c8565b602082019050919050565b6000613387602c83613a70565b9150613392826141f1565b604082019050919050565b60006133aa602983613a70565b91506133b582614240565b604082019050919050565b60006133cd601f83613a70565b91506133d88261428f565b602082019050919050565b60006133f0600a83613a81565b91506133fb826142b8565b600a82019050919050565b6000613413602183613a70565b915061341e826142e1565b604082019050919050565b6000613436601d83613a81565b915061344182614330565b601d82019050919050565b6000613459603183613a70565b915061346482614359565b604082019050919050565b600061347c602c83613a70565b9150613487826143a8565b604082019050919050565b600061349f609e83613a81565b91506134aa826143f7565b609e82019050919050565b60006134c2601f83613a70565b91506134cd826144b8565b602082019050919050565b60006134e5601983613a70565b91506134f0826144e1565b602082019050919050565b61350481613c0b565b82525050565b600061351682856130e0565b915061352282846130e0565b91508190509392505050565b600061353a828e6130e0565b9150613546828d6130e0565b9150613552828c6130e0565b915061355e828b6130e0565b915061356a828a6130e0565b915061357682896130e0565b915061358282886130e0565b915061358e82876130e0565b915061359a82866130e0565b91506135a682856130e0565b91506135b282846130e0565b91508190509c9b505050505050505050505050565b60006135d382856130e0565b91506135de826132a8565b91506135ea8284613111565b91508190509392505050565b60006136028285613111565b915061360d826132a8565b915061361982846130e0565b91508190509392505050565b6000613630826133e3565b915061363c82866130e0565b915061364782613262565b915061365382856130e0565b915061365e82613492565b915061366a82846130e0565b915061367582613334565b9150819050949350505050565b600061368d82613429565b915061369982846130e0565b915081905092915050565b60006020820190506136b96000830184613041565b92915050565b60006080820190506136d46000830187613041565b6136e16020830186613041565b6136ee60408301856134fb565b8181036060830152613700818461305f565b905095945050505050565b60006020820190506137206000830184613050565b92915050565b600060208201905061373b6000830184613098565b92915050565b6000602082019050818103600083015261375b81846130a7565b905092915050565b6000602082019050818103600083015261377c81613190565b9050919050565b6000602082019050818103600083015261379c816131b3565b9050919050565b600060208201905081810360008301526137bc816131d6565b9050919050565b600060208201905081810360008301526137dc816131f9565b9050919050565b600060208201905081810360008301526137fc8161321c565b9050919050565b6000602082019050818103600083015261381c8161323f565b9050919050565b6000602082019050818103600083015261383c81613285565b9050919050565b6000602082019050818103600083015261385c816132cb565b9050919050565b6000602082019050818103600083015261387c816132ee565b9050919050565b6000602082019050818103600083015261389c81613311565b9050919050565b600060208201905081810360008301526138bc81613357565b9050919050565b600060208201905081810360008301526138dc8161337a565b9050919050565b600060208201905081810360008301526138fc8161339d565b9050919050565b6000602082019050818103600083015261391c816133c0565b9050919050565b6000602082019050818103600083015261393c81613406565b9050919050565b6000602082019050818103600083015261395c8161344c565b9050919050565b6000602082019050818103600083015261397c8161346f565b9050919050565b6000602082019050818103600083015261399c816134b5565b9050919050565b600060208201905081810360008301526139bc816134d8565b9050919050565b60006020820190506139d860008301846134fb565b92915050565b60006139e86139f9565b90506139f48282613cbf565b919050565b6000604051905090565b600067ffffffffffffffff821115613a1e57613a1d613e55565b5b613a2782613e98565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000613a9782613c0b565b9150613aa283613c0b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613ad757613ad6613d6a565b5b828201905092915050565b6000613aed82613c0b565b9150613af883613c0b565b925082613b0857613b07613d99565b5b828204905092915050565b6000613b1e82613c0b565b9150613b2983613c0b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b6257613b61613d6a565b5b828202905092915050565b6000613b7882613c0b565b9150613b8383613c0b565b925082821015613b9657613b95613d6a565b5b828203905092915050565b6000613bac82613beb565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000613c2082613c27565b9050919050565b6000613c3282613c39565b9050919050565b6000613c4482613beb565b9050919050565b82818337600083830152505050565b60005b83811015613c78578082015181840152602081019050613c5d565b83811115613c87576000848401525b50505050565b60006002820490506001821680613ca557607f821691505b60208210811415613cb957613cb8613dc8565b5b50919050565b613cc882613e98565b810181811067ffffffffffffffff82111715613ce757613ce6613e55565b5b80604052505050565b6000613cfb82613c0b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d2e57613d2d613d6a565b5b600182019050919050565b6000613d4482613c0b565b9150613d4f83613c0b565b925082613d5f57613d5e613d99565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f546f6f206d616e7920646f677320696e2074686520686f757365210000000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f2028446f67676f20230000000000000000000000000000000000000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f2000000000000000000000000000000000000000000000000000000000000000600082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f227d000000000000000000000000000000000000000000000000000000000000600082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4d757374206f776e2024444f4720746f2061646f7074206120646f67676f2e00600082015250565b7f7b226e616d65223a202200000000000000000000000000000000000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f29222c20226465736372697074696f6e223a2022446f67676f7320666f72207360008201527f74657761726473206f662054686520446f6765204e46542e204665656c20667260208201527f656520746f2075736520446f67676f7320696e20616e792077617920796f752060408201527f77616e742e20496e20446f67652057652054727573742e222c2022696d61676560608201527f223a2022646174613a696d6167652f7376672b786d6c3b6261736536342c0000608082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b7f4f6e6520646f67676f20706572206f776e65722c20706c732e00000000000000600082015250565b61451381613ba1565b811461451e57600080fd5b50565b61452a81613bb3565b811461453557600080fd5b50565b61454181613bbf565b811461454c57600080fd5b50565b61455881613c0b565b811461456357600080fd5b5056fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea26469706673582212208c1f3cc8f9dbd2413bbcca0a00de669a7dc185bffa5530b4d06501dbd5aecda764736f6c634300080700334b6e6f7773206120467269656e642057686f204b6e6f7773206120467269656e64000000000000000000000000baac2b4491727d78d2b78815144570b9f2fe8899
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80636b8ff574116100c3578063b88d4fde1161007c578063b88d4fde146103d6578063c87b56dd146103f2578063d5523f7714610422578063e985e9c514610452578063ef68075a14610482578063fc0c546a146104b25761014d565b80636b8ff5741461030257806370a082311461033257806395d89b41146103625780639720c96914610380578063a22cb465146103b0578063b0f5d8a4146103cc5761014d565b806323b872dd1161011557806323b872dd1461020a5780632be6a2a9146102265780632f745c591461025657806342842e0e146102865780634f6ccce7146102a25780636352211e146102d25761014d565b806301ffc9a71461015257806306fdde0314610182578063081812fc146101a0578063095ea7b3146101d057806318160ddd146101ec575b600080fd5b61016c60048036038101906101679190612f8d565b6104d0565b604051610179919061370b565b60405180910390f35b61018a61054a565b6040516101979190613741565b60405180910390f35b6101ba60048036038101906101b59190612fe7565b6105dc565b6040516101c791906136a4565b60405180910390f35b6101ea60048036038101906101e59190612f4d565b610661565b005b6101f4610779565b60405161020191906139c3565b60405180910390f35b610224600480360381019061021f9190612e37565b610786565b005b610240600480360381019061023b9190612fe7565b6107e6565b60405161024d9190613741565b60405180910390f35b610270600480360381019061026b9190612f4d565b610902565b60405161027d91906139c3565b60405180910390f35b6102a0600480360381019061029b9190612e37565b6109a7565b005b6102bc60048036038101906102b79190612fe7565b6109c7565b6040516102c991906139c3565b60405180910390f35b6102ec60048036038101906102e79190612fe7565b610a38565b6040516102f991906136a4565b60405180910390f35b61031c60048036038101906103179190612fe7565b610aea565b6040516103299190613741565b60405180910390f35b61034c60048036038101906103479190612dca565b610cb9565b60405161035991906139c3565b60405180910390f35b61036a610d71565b6040516103779190613741565b60405180910390f35b61039a60048036038101906103959190612fe7565b610e03565b6040516103a79190613741565b60405180910390f35b6103ca60048036038101906103c59190612f0d565b610f1f565b005b6103d46110a0565b005b6103f060048036038101906103eb9190612e8a565b611355565b005b61040c60048036038101906104079190612fe7565b6113b7565b6040516104199190613741565b60405180910390f35b61043c60048036038101906104379190612fe7565b61178b565b6040516104499190613741565b60405180910390f35b61046c60048036038101906104679190612df7565b6118a7565b604051610479919061370b565b60405180910390f35b61049c60048036038101906104979190612fe7565b61193b565b6040516104a99190613741565b60405180910390f35b6104ba611a57565b6040516104c79190613726565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610543575061054282611a7d565b5b9050919050565b60606000805461055990613c8d565b80601f016020809104026020016040519081016040528092919081815260200182805461058590613c8d565b80156105d25780601f106105a7576101008083540402835291602001916105d2565b820191906000526020600020905b8154815290600101906020018083116105b557829003601f168201915b5050505050905090565b60006105e782611b5f565b610626576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061d906138c3565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061066c82610a38565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d490613923565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166106fc611bcb565b73ffffffffffffffffffffffffffffffffffffffff16148061072b575061072a81610725611bcb565b6118a7565b5b61076a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076190613843565b60405180910390fd5b6107748383611bd3565b505050565b6000600880549050905090565b610797610791611bcb565b82611c8c565b6107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd90613943565b60405180910390fd5b6107e1838383611d6a565b505050565b60606108fb826040518060400160405280600781526020017f5350454349455300000000000000000000000000000000000000000000000000815250600e805480602002602001604051908101604052809291908181526020016000905b828210156108f057838290600052602060002001805461086390613c8d565b80601f016020809104026020016040519081016040528092919081815260200182805461088f90613c8d565b80156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b505050505081526020019060010190610844565b505050506001611fc6565b9050919050565b600061090d83610cb9565b821061094e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094590613763565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6109c283838360405180602001604052806000815250611355565b505050565b60006109d1610779565b8210610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0990613963565b60405180910390fd5b60088281548110610a2657610a25613e26565b5b90600052602060002001549050919050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890613883565b60405180910390fd5b80915050919050565b60606000610b2d6040518060400160405280600581526020017f4e414d455300000000000000000000000000000000000000000000000000000081525084612083565b905060006013808054905083610b439190613d39565b81548110610b5457610b53613e26565b5b906000526020600020018054610b6990613c8d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9590613c8d565b8015610be25780601f10610bb757610100808354040283529160200191610be2565b820191906000526020600020905b815481529060010190602001808311610bc557829003601f168201915b505050505090506000600383610bf89190613d39565b90506000811115610cae576012808054905084610c159190613d39565b81548110610c2657610c25613e26565b5b9060005260206000200182604051602001610c429291906135f6565b60405160208183030381529060405291506001811115610cad57816014808054905085610c6f9190613d39565b81548110610c8057610c7f613e26565b5b90600052602060002001604051602001610c9b9291906135c7565b60405160208183030381529060405291505b5b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2190613863565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060018054610d8090613c8d565b80601f0160208091040260200160405190810160405280929190818152602001828054610dac90613c8d565b8015610df95780601f10610dce57610100808354040283529160200191610df9565b820191906000526020600020905b815481529060010190602001808311610ddc57829003601f168201915b5050505050905090565b6060610f18826040518060400160405280600481526020017f48454144000000000000000000000000000000000000000000000000000000008152506011805480602002602001604051908101604052809291908181526020016000905b82821015610f0d578382906000526020600020018054610e8090613c8d565b80601f0160208091040260200160405190810160405280929190818152602001828054610eac90613c8d565b8015610ef95780601f10610ece57610100808354040283529160200191610ef9565b820191906000526020600020905b815481529060010190602001808311610edc57829003601f168201915b505050505081526020019060010190610e61565b505050506001611fc6565b9050919050565b610f27611bcb565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8c90613803565b60405180910390fd5b8060056000610fa2611bcb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661104f611bcb565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611094919061370b565b60405180910390a35050565b6002600a5414156110e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dd90613983565b60405180910390fd5b6002600a819055506000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231611136611bcb565b6040518263ffffffff1660e01b815260040161115291906136a4565b60206040518083038186803b15801561116a57600080fd5b505afa15801561117e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a29190613014565b116111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d990613903565b60405180910390fd5b600d60006111ee611bcb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126d906139a3565b60405180910390fd5b611b39611281610779565b11156112c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b9906137c3565b60405180910390fd5b6001600d60006112d0611bcb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600061132d600b6120c1565b9050611339600b6120cf565b61134a611344611bcb565b826120e5565b506001600a81905550565b611366611360611bcb565b83611c8c565b6113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c90613943565b60405180910390fd5b6113b184848484612103565b50505050565b60606113c1612cb4565b60405180610120016040528060fd81526020016145e060fd9139816000601181106113ef576113ee613e26565b5b602002018190525061140083610aea565b8160016011811061141457611413613e26565b5b602002018190525060405180606001604052806028815260200161471d602891398160026011811061144957611448613e26565b5b602002018190525061145a836107e6565b8160036011811061146e5761146d613e26565b5b602002018190525060405180606001604052806028815260200161456760289139816004601181106114a3576114a2613e26565b5b60200201819052506114b48361178b565b816005601181106114c8576114c7613e26565b5b602002018190525060405180606001604052806028815260200161458f60289139816006601181106114fd576114fc613e26565b5b602002018190525061150e8361193b565b8160076011811061152257611521613e26565b5b60200201819052506040518060600160405280602981526020016145b7602991398160086011811061155757611556613e26565b5b602002018190525061156883610e03565b8160096011811061157c5761157b613e26565b5b60200201819052506040518060400160405280600d81526020017f3c2f746578743e3c2f7376673e0000000000000000000000000000000000000081525081600a601181106115ce576115cd613e26565b5b60200201819052506000816000601181106115ec576115eb613e26565b5b60200201518260016011811061160557611604613e26565b5b60200201518360026011811061161e5761161d613e26565b5b60200201518460036011811061163757611636613e26565b5b6020020151856004601181106116505761164f613e26565b5b60200201518660056011811061166957611668613e26565b5b60200201518760066011811061168257611681613e26565b5b60200201518860076011811061169b5761169a613e26565b5b6020020151896008601181106116b4576116b3613e26565b5b60200201518a6009601181106116cd576116cc613e26565b5b60200201518b600a601181106116e6576116e5613e26565b5b60200201516040516020016117059b9a9998979695949392919061352e565b6040516020818303038152906040529050600061175c61172486610aea565b61172d8761215f565b611736856122c0565b60405160200161174893929190613625565b6040516020818303038152906040526122c0565b90508060405160200161176f9190613682565b6040516020818303038152906040529150819350505050919050565b60606118a0826040518060400160405280600781526020017f4142494c49545900000000000000000000000000000000000000000000000000815250600f805480602002602001604051908101604052809291908181526020016000905b8282101561189557838290600052602060002001805461180890613c8d565b80601f016020809104026020016040519081016040528092919081815260200182805461183490613c8d565b80156118815780601f1061185657610100808354040283529160200191611881565b820191906000526020600020905b81548152906001019060200180831161186457829003601f168201915b5050505050815260200190600101906117e9565b505050506000611fc6565b9050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6060611a50826040518060400160405280600581526020017f43484553540000000000000000000000000000000000000000000000000000008152506010805480602002602001604051908101604052809291908181526020016000905b82821015611a455783829060005260206000200180546119b890613c8d565b80601f01602080910402602001604051908101604052809291908181526020018280546119e490613c8d565b8015611a315780601f10611a0657610100808354040283529160200191611a31565b820191906000526020600020905b815481529060010190602001808311611a1457829003601f168201915b505050505081526020019060010190611999565b505050506001611fc6565b9050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611b4857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611b585750611b5782612458565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611c4683610a38565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611c9782611b5f565b611cd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccd90613823565b60405180910390fd5b6000611ce183610a38565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611d5057508373ffffffffffffffffffffffffffffffffffffffff16611d38846105dc565b73ffffffffffffffffffffffffffffffffffffffff16145b80611d615750611d6081856118a7565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611d8a82610a38565b73ffffffffffffffffffffffffffffffffffffffff1614611de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd7906138e3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e47906137e3565b60405180910390fd5b611e5b8383836124c2565b611e66600082611bd3565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611eb69190613b6d565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f0d9190613a8c565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60606000611fd48587612083565b9050600084855183611fe69190613d39565b81518110611ff757611ff6613e26565b5b6020026020010151905060006015836120109190613d39565b905084801561201f5750600e81115b15612075578160158080549050856120379190613d39565b8154811061204857612047613e26565b5b906000526020600020016040516020016120639291906135c7565b60405160208183030381529060405291505b819350505050949350505050565b60008261208f8361215f565b6040516020016120a092919061350a565b6040516020818303038152906040528051906020012060001c905092915050565b600081600001549050919050565b6001816000016000828254019250508190555050565b6120ff8282604051806020016040528060008152506125d6565b5050565b61210e848484611d6a565b61211a84848484612631565b612159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215090613783565b60405180910390fd5b50505050565b606060008214156121a7576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506122bb565b600082905060005b600082146121d95780806121c290613cf0565b915050600a826121d29190613ae2565b91506121af565b60008167ffffffffffffffff8111156121f5576121f4613e55565b5b6040519080825280601f01601f1916602001820160405280156122275781602001600182028036833780820191505090505b5090505b600085146122b4576001826122409190613b6d565b9150600a8561224f9190613d39565b603061225b9190613a8c565b60f81b81838151811061227157612270613e26565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856122ad9190613ae2565b945061222b565b8093505050505b919050565b606060008251905060008114156122e95760405180602001604052806000815250915050612453565b600060036002836122fa9190613a8c565b6123049190613ae2565b60046123109190613b13565b905060006020826123219190613a8c565b67ffffffffffffffff81111561233a57612339613e55565b5b6040519080825280601f01601f19166020018201604052801561236c5781602001600182028036833780820191505090505b50905060006040518060600160405280604081526020016146dd604091399050600181016020830160005b868110156124105760038101905062ffffff818a015116603f8160121c168401518060081b905060ff603f83600c1c1686015116810190508060081b905060ff603f8360061c1686015116810190508060081b905060ff603f831686015116810190508060e01b90508084526004840193505050612397565b50600386066001811461242a576002811461243a57612445565b613d3d60f01b6002830352612445565b603d60f81b60018303525b508484525050819450505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6124cd8383836127c8565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125105761250b816127cd565b61254f565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461254e5761254d8382612816565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125925761258d81612983565b6125d1565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146125d0576125cf8282612a54565b5b5b505050565b6125e08383612ad3565b6125ed6000848484612631565b61262c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262390613783565b60405180910390fd5b505050565b60006126528473ffffffffffffffffffffffffffffffffffffffff16612ca1565b156127bb578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261267b611bcb565b8786866040518563ffffffff1660e01b815260040161269d94939291906136bf565b602060405180830381600087803b1580156126b757600080fd5b505af19250505080156126e857506040513d601f19601f820116820180604052508101906126e59190612fba565b60015b61276b573d8060008114612718576040519150601f19603f3d011682016040523d82523d6000602084013e61271d565b606091505b50600081511415612763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275a90613783565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506127c0565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161282384610cb9565b61282d9190613b6d565b9050600060076000848152602001908152602001600020549050818114612912576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506129979190613b6d565b90506000600960008481526020019081526020016000205490506000600883815481106129c7576129c6613e26565b5b9060005260206000200154905080600883815481106129e9576129e8613e26565b5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480612a3857612a37613df7565b5b6001900381819060005260206000200160009055905550505050565b6000612a5f83610cb9565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3a906138a3565b60405180910390fd5b612b4c81611b5f565b15612b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b83906137a3565b60405180910390fd5b612b98600083836124c2565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612be89190613a8c565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b6040518061022001604052806011905b6060815260200190600190039081612cc45790505090565b6000612cef612cea84613a03565b6139de565b905082815260208101848484011115612d0b57612d0a613e89565b5b612d16848285613c4b565b509392505050565b600081359050612d2d8161450a565b92915050565b600081359050612d4281614521565b92915050565b600081359050612d5781614538565b92915050565b600081519050612d6c81614538565b92915050565b600082601f830112612d8757612d86613e84565b5b8135612d97848260208601612cdc565b91505092915050565b600081359050612daf8161454f565b92915050565b600081519050612dc48161454f565b92915050565b600060208284031215612de057612ddf613e93565b5b6000612dee84828501612d1e565b91505092915050565b60008060408385031215612e0e57612e0d613e93565b5b6000612e1c85828601612d1e565b9250506020612e2d85828601612d1e565b9150509250929050565b600080600060608486031215612e5057612e4f613e93565b5b6000612e5e86828701612d1e565b9350506020612e6f86828701612d1e565b9250506040612e8086828701612da0565b9150509250925092565b60008060008060808587031215612ea457612ea3613e93565b5b6000612eb287828801612d1e565b9450506020612ec387828801612d1e565b9350506040612ed487828801612da0565b925050606085013567ffffffffffffffff811115612ef557612ef4613e8e565b5b612f0187828801612d72565b91505092959194509250565b60008060408385031215612f2457612f23613e93565b5b6000612f3285828601612d1e565b9250506020612f4385828601612d33565b9150509250929050565b60008060408385031215612f6457612f63613e93565b5b6000612f7285828601612d1e565b9250506020612f8385828601612da0565b9150509250929050565b600060208284031215612fa357612fa2613e93565b5b6000612fb184828501612d48565b91505092915050565b600060208284031215612fd057612fcf613e93565b5b6000612fde84828501612d5d565b91505092915050565b600060208284031215612ffd57612ffc613e93565b5b600061300b84828501612da0565b91505092915050565b60006020828403121561302a57613029613e93565b5b600061303884828501612db5565b91505092915050565b61304a81613ba1565b82525050565b61305981613bb3565b82525050565b600061306a82613a49565b6130748185613a5f565b9350613084818560208601613c5a565b61308d81613e98565b840191505092915050565b6130a181613c15565b82525050565b60006130b282613a54565b6130bc8185613a70565b93506130cc818560208601613c5a565b6130d581613e98565b840191505092915050565b60006130eb82613a54565b6130f58185613a81565b9350613105818560208601613c5a565b80840191505092915050565b6000815461311e81613c8d565b6131288186613a81565b94506001821660008114613143576001811461315457613187565b60ff19831686528186019350613187565b61315d85613a34565b60005b8381101561317f57815481890152600182019150602081019050613160565b838801955050505b50505092915050565b600061319d602b83613a70565b91506131a882613ea9565b604082019050919050565b60006131c0603283613a70565b91506131cb82613ef8565b604082019050919050565b60006131e3601c83613a70565b91506131ee82613f47565b602082019050919050565b6000613206601b83613a70565b915061321182613f70565b602082019050919050565b6000613229602483613a70565b915061323482613f99565b604082019050919050565b600061324c601983613a70565b915061325782613fe8565b602082019050919050565b600061326f600983613a81565b915061327a82614011565b600982019050919050565b6000613292602c83613a70565b915061329d8261403a565b604082019050919050565b60006132b5600183613a81565b91506132c082614089565b600182019050919050565b60006132d8603883613a70565b91506132e3826140b2565b604082019050919050565b60006132fb602a83613a70565b915061330682614101565b604082019050919050565b600061331e602983613a70565b915061332982614150565b604082019050919050565b6000613341600283613a81565b915061334c8261419f565b600282019050919050565b6000613364602083613a70565b915061336f826141c8565b602082019050919050565b6000613387602c83613a70565b9150613392826141f1565b604082019050919050565b60006133aa602983613a70565b91506133b582614240565b604082019050919050565b60006133cd601f83613a70565b91506133d88261428f565b602082019050919050565b60006133f0600a83613a81565b91506133fb826142b8565b600a82019050919050565b6000613413602183613a70565b915061341e826142e1565b604082019050919050565b6000613436601d83613a81565b915061344182614330565b601d82019050919050565b6000613459603183613a70565b915061346482614359565b604082019050919050565b600061347c602c83613a70565b9150613487826143a8565b604082019050919050565b600061349f609e83613a81565b91506134aa826143f7565b609e82019050919050565b60006134c2601f83613a70565b91506134cd826144b8565b602082019050919050565b60006134e5601983613a70565b91506134f0826144e1565b602082019050919050565b61350481613c0b565b82525050565b600061351682856130e0565b915061352282846130e0565b91508190509392505050565b600061353a828e6130e0565b9150613546828d6130e0565b9150613552828c6130e0565b915061355e828b6130e0565b915061356a828a6130e0565b915061357682896130e0565b915061358282886130e0565b915061358e82876130e0565b915061359a82866130e0565b91506135a682856130e0565b91506135b282846130e0565b91508190509c9b505050505050505050505050565b60006135d382856130e0565b91506135de826132a8565b91506135ea8284613111565b91508190509392505050565b60006136028285613111565b915061360d826132a8565b915061361982846130e0565b91508190509392505050565b6000613630826133e3565b915061363c82866130e0565b915061364782613262565b915061365382856130e0565b915061365e82613492565b915061366a82846130e0565b915061367582613334565b9150819050949350505050565b600061368d82613429565b915061369982846130e0565b915081905092915050565b60006020820190506136b96000830184613041565b92915050565b60006080820190506136d46000830187613041565b6136e16020830186613041565b6136ee60408301856134fb565b8181036060830152613700818461305f565b905095945050505050565b60006020820190506137206000830184613050565b92915050565b600060208201905061373b6000830184613098565b92915050565b6000602082019050818103600083015261375b81846130a7565b905092915050565b6000602082019050818103600083015261377c81613190565b9050919050565b6000602082019050818103600083015261379c816131b3565b9050919050565b600060208201905081810360008301526137bc816131d6565b9050919050565b600060208201905081810360008301526137dc816131f9565b9050919050565b600060208201905081810360008301526137fc8161321c565b9050919050565b6000602082019050818103600083015261381c8161323f565b9050919050565b6000602082019050818103600083015261383c81613285565b9050919050565b6000602082019050818103600083015261385c816132cb565b9050919050565b6000602082019050818103600083015261387c816132ee565b9050919050565b6000602082019050818103600083015261389c81613311565b9050919050565b600060208201905081810360008301526138bc81613357565b9050919050565b600060208201905081810360008301526138dc8161337a565b9050919050565b600060208201905081810360008301526138fc8161339d565b9050919050565b6000602082019050818103600083015261391c816133c0565b9050919050565b6000602082019050818103600083015261393c81613406565b9050919050565b6000602082019050818103600083015261395c8161344c565b9050919050565b6000602082019050818103600083015261397c8161346f565b9050919050565b6000602082019050818103600083015261399c816134b5565b9050919050565b600060208201905081810360008301526139bc816134d8565b9050919050565b60006020820190506139d860008301846134fb565b92915050565b60006139e86139f9565b90506139f48282613cbf565b919050565b6000604051905090565b600067ffffffffffffffff821115613a1e57613a1d613e55565b5b613a2782613e98565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000613a9782613c0b565b9150613aa283613c0b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613ad757613ad6613d6a565b5b828201905092915050565b6000613aed82613c0b565b9150613af883613c0b565b925082613b0857613b07613d99565b5b828204905092915050565b6000613b1e82613c0b565b9150613b2983613c0b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b6257613b61613d6a565b5b828202905092915050565b6000613b7882613c0b565b9150613b8383613c0b565b925082821015613b9657613b95613d6a565b5b828203905092915050565b6000613bac82613beb565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000613c2082613c27565b9050919050565b6000613c3282613c39565b9050919050565b6000613c4482613beb565b9050919050565b82818337600083830152505050565b60005b83811015613c78578082015181840152602081019050613c5d565b83811115613c87576000848401525b50505050565b60006002820490506001821680613ca557607f821691505b60208210811415613cb957613cb8613dc8565b5b50919050565b613cc882613e98565b810181811067ffffffffffffffff82111715613ce757613ce6613e55565b5b80604052505050565b6000613cfb82613c0b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d2e57613d2d613d6a565b5b600182019050919050565b6000613d4482613c0b565b9150613d4f83613c0b565b925082613d5f57613d5e613d99565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f546f6f206d616e7920646f677320696e2074686520686f757365210000000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f2028446f67676f20230000000000000000000000000000000000000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f2000000000000000000000000000000000000000000000000000000000000000600082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f227d000000000000000000000000000000000000000000000000000000000000600082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4d757374206f776e2024444f4720746f2061646f7074206120646f67676f2e00600082015250565b7f7b226e616d65223a202200000000000000000000000000000000000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f29222c20226465736372697074696f6e223a2022446f67676f7320666f72207360008201527f74657761726473206f662054686520446f6765204e46542e204665656c20667260208201527f656520746f2075736520446f67676f7320696e20616e792077617920796f752060408201527f77616e742e20496e20446f67652057652054727573742e222c2022696d61676560608201527f223a2022646174613a696d6167652f7376672b786d6c3b6261736536342c0000608082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b7f4f6e6520646f67676f20706572206f776e65722c20706c732e00000000000000600082015250565b61451381613ba1565b811461451e57600080fd5b50565b61452a81613bb3565b811461453557600080fd5b50565b61454181613bbf565b811461454c57600080fd5b50565b61455881613c0b565b811461456357600080fd5b5056fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea26469706673582212208c1f3cc8f9dbd2413bbcca0a00de669a7dc185bffa5530b4d06501dbd5aecda764736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000baac2b4491727d78d2b78815144570b9f2fe8899
-----Decoded View---------------
Arg [0] : _token (address): 0xBAac2B4491727D78D2b78815144570b9f2Fe8899
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000baac2b4491727d78d2b78815144570b9f2fe8899
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.