Overview
Max Total Supply
0 KODA
Holders
21,142
Market
Volume (24H)
13.0222 ETH
Min Price (24H)
$2.24 @ 0.000800 ETH
Max Price (24H)
$36,461.34 @ 13.010000 ETH
Other Info
Token Contract
Balance
2 KODALoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
KnownOriginDigitalAssetV3
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
1234567891011121314151617181920212223242526/***Submitted for verification at Etherscan.io on 2021-08-23*/// File: @openzeppelin/contracts/utils/introspection/IERC165.sol// 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.*
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IKOAccessControlsLookup","name":"_accessControls","type":"address"},{"internalType":"contract IERC2981","name":"_royaltiesRegistryProxy","type":"address"},{"internalType":"uint256","name":"_editionPointer","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"AdditionalEditionUnlockableSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":true,"internalType":"bool","name":"_reported","type":"bool"}],"name":"AdminArtistAccountReported","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":true,"internalType":"bool","name":"_reported","type":"bool"}],"name":"AdminEditionReported","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_royaltiesRegistryProxy","type":"address"}],"name":"AdminRoyaltiesRegistryProxySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_tokenUriResolver","type":"address"}],"name":"AdminTokenUriResolverSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IKOAccessControlsLookup","name":"_oldAddress","type":"address"},{"indexed":true,"internalType":"contract IKOAccessControlsLookup","name":"_newAddress","type":"address"}],"name":"AdminUpdateAccessControls","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_basisPointsModulo","type":"uint256"}],"name":"AdminUpdateBasisPointsModulo","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_modulo","type":"uint256"}],"name":"AdminUpdateModulo","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_secondarySaleRoyalty","type":"uint256"}],"name":"AdminUpdateSecondaryRoyalty","type":"event"},{"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":"uint256","name":"fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"}],"name":"ConsecutiveTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"_oldValue","type":"bool"},{"indexed":false,"internalType":"bool","name":"_newValue","type":"bool"}],"name":"EditionSalesDisabledToggled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"EditionURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_childContract","type":"address"},{"indexed":false,"internalType":"uint256","name":"_childTokenId","type":"uint256"}],"name":"ReceivedChild","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_erc20Contract","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"ReceivedERC20","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_erc20Contract","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"ReceivedERC20ForEdition","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"SealedEditionMetaDataSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"SealedTokenMetaDataSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"recipients","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"bps","type":"uint256[]"}],"name":"SecondarySaleFees","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":true,"internalType":"address","name":"_childContract","type":"address"},{"indexed":false,"internalType":"uint256","name":"_childTokenId","type":"uint256"}],"name":"TransferChild","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":true,"internalType":"address","name":"_erc20Contract","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"TransferERC20","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"ERC20Balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_EDITION_SIZE","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"accessControls","outputs":[{"internalType":"contract IKOAccessControlsLookup","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_approved","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"},{"internalType":"address","name":"_erc20Contract","type":"address"}],"name":"balanceOfERC20","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basisPointsModulo","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":"_tokenIds","type":"uint256[]"}],"name":"batchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_editionId","type":"uint16"},{"internalType":"address[]","name":"_erc20s","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"composeERC20sAsCreator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_kodaTokenIds","type":"uint256[]"},{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256[]","name":"_nftTokenIds","type":"uint256[]"}],"name":"composeNFTsIntoKodaTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"composedNFTsToKodaToken","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":"_fromTokenId","type":"uint256"},{"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"consecutiveBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"editionAdditionalMetaData","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"editionAdditionalMetaDataForToken","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"editionExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"editionPointer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"editionSalesDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"editionTokenERC20Balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"editionTokenERC20TransferAmounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"editionURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"erc20ContractByIndex","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"facilitateNextPrimarySale","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"facilitateReversePrimarySale","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"getAllUnsoldTokenIdsForEdition","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"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":"_editionId","type":"uint256"}],"name":"getCreatorOfEdition","outputs":[{"internalType":"address","name":"_originalCreator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getCreatorOfToken","outputs":[{"internalType":"address","name":"_originalCreator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_erc20Contract","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"getERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"internalType":"address","name":"_erc20Contract","type":"address"},{"internalType":"uint256","name":"_totalValue","type":"uint256"}],"name":"getERC20s","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getEditionDetails","outputs":[{"internalType":"address","name":"_originalCreator","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint16","name":"_size","type":"uint16"},{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getEditionIdOfToken","outputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getEditionSizeOfToken","outputs":[{"internalType":"uint256","name":"_size","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getFeeBps","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getFeeRecipients","outputs":[{"internalType":"address payable[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"getNextAvailablePrimarySaleToken","outputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"getReverseAvailablePrimarySaleToken","outputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getRoyaltiesReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"getSizeOfEdition","outputs":[{"internalType":"uint256","name":"_size","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"hadPrimarySaleOfToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"hasMadePrimarySale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"hasRoyalties","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"isEditionSalesDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"isEditionSoldOut","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"isSalesDisabledOrSoldOut","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"kodaTokenComposedNFT","outputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"string","name":"_metadata","type":"string"}],"name":"lockInAdditionalMetaData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_metadata","type":"string"}],"name":"lockInAdditionalTokenMetaData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"maxTokenIdOfEdition","outputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_editionSize","type":"uint16"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"string","name":"_uri","type":"string"}],"name":"mintBatchEdition","outputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_editionSize","type":"uint16"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"string","name":"_uri","type":"string"},{"internalType":"address[]","name":"_erc20s","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"mintBatchEditionAndComposeERC20s","outputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_editionSize","type":"uint16"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"string","name":"_uri","type":"string"}],"name":"mintConsecutiveBatchEdition","outputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"modulo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"_account","type":"address"},{"internalType":"bool","name":"_reported","type":"bool"}],"name":"reportArtistAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"bool","name":"_reported","type":"bool"}],"name":"reportEditionId","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"reportedArtistAccounts","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"reportedEditionIds","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"royaltiesRegistryProxy","outputs":[{"internalType":"contract IERC2981","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"royaltyAndCreatorInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_royaltyAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"royaltyRegistryActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"uint256","name":"","type":"uint256"}],"name":"sealedEditionMetaData","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"sealedTokenMetaData","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"secondarySaleRoyalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC2981","name":"_royaltiesRegistryProxy","type":"address"}],"name":"setRoyaltiesRegistryProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ITokenUriResolver","name":"_tokenUriResolver","type":"address"}],"name":"setTokenUriResolver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"}],"name":"toggleEditionSalesDisabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"tokenAdditionalMetaData","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"tokenUriResolver","outputs":[{"internalType":"contract ITokenUriResolver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenUriResolverActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"totalERC20Contracts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_kodaTokenId","type":"uint256"},{"internalType":"address","name":"_recipient","type":"address"}],"name":"transferChild","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"address","name":"_erc20Contract","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IKOAccessControlsLookup","name":"_accessControls","type":"address"}],"name":"updateAccessControls","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_basisPointsModulo","type":"uint256"}],"name":"updateBasisPointsModulo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_modulo","type":"uint256"}],"name":"updateModulo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_secondarySaleRoyalty","type":"uint256"}],"name":"updateSecondaryRoyalty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_editionId","type":"uint256"},{"internalType":"string","name":"_newURI","type":"string"}],"name":"updateURIIfNoSaleMade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_withdrawalAccount","type":"address"}],"name":"withdrawStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052621312d0600b5562989680600c556103e8600d553480156200002557600080fd5b50604051620061be380380620061be833981016040819052620000489162000157565b6001600055600880546001600160a01b038086166001600160a01b0319928316179092556011839055600f805492851692909116919091179055620000946380ac58cd60e01b620000d3565b620000a6635b5e139f60e01b620000d3565b620000b863152a902d60e11b620000d3565b620000ca632dde656160e21b620000d3565b505050620001b7565b6001600160e01b03198082161415620001325760405162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015260640160405180910390fd5b6001600160e01b0319166000908152600e60205260409020805460ff19166001179055565b6000806000606084860312156200016c578283fd5b835162000179816200019e565b60208501519093506200018c816200019e565b80925050604084015190509250925092565b6001600160a01b0381168114620001b457600080fd5b50565b615ff780620001c76000396000f3fe608060405234801561001057600080fd5b50600436106104ee5760003560e01c8063716a41a11161028e578063a9b183b111610167578063ddf990f9116100d9578063ed58aed211610092578063ed58aed214610d38578063f3397afe14610d4b578063f3993d1114610d5e578063f6f367dc14610d71578063f7b3de6514610d7a578063f94d964514610d8d57600080fd5b8063ddf990f914610c74578063e131fc0c14610c98578063e226ed2214610cab578063e35ed67f14610cbe578063e7b74ec914610cd1578063e985e9c514610cfc57600080fd5b8063bb31e4131161012b578063bb31e41314610bda578063c2b2fb5e14610bfd578063c87b56dd14610c10578063d41911d714610c23578063d5fe110d14610c36578063d7c0a63b14610c4957600080fd5b8063a9b183b114610b6e578063ace071cb14610b81578063b594c62c14610b94578063b88d4fde14610ba7578063b9c4d9fb14610bba57600080fd5b80638a2c0d57116102005780639d319a31116101c45780639d319a3114610ade578063a22cb46514610af1578063a4c82c9d14610b04578063a642585214610b17578063a7277da014610b2a578063a781173214610b5b57600080fd5b80638a2c0d5714610a575780638b32f65f14610a6a5780638d91c33a14610a7d57806395090ea514610aa857806395d89b4114610abb57600080fd5b80637b612708116102525780637b612708146109cd5780637d764d53146109f85780637dace95a14610a0b578063820e125f14610a1e578063830ef41b14610a315780638712910114610a4457600080fd5b8063716a41a11461095e57806372ec7eec14610981578063748365ef146109945780637539fc5c146109a7578063781c55c0146109ba57600080fd5b80633efb7338116103cb578063627c81ff1161033d5780636a6f8a19116102f65780636a6f8a19146108e35780636c5e845a146108f65780636ce687d5146109125780636d1d83b8146109255780636ef3da941461093857806370a082311461094b57600080fd5b8063627c81ff1461087b578063634a20931461088e5780636352211e146108a157806363f204d0146108b45780636756a691146108bd57806368263df8146108d057600080fd5b8063500b1d2b1161038f578063500b1d2b146107c45780635188bf53146107e757806354fd4d50146107fa5780635c5f16f31461081a5780635d2631e2146108455780636221bb8a1461085857600080fd5b80633efb73381461076557806342842e0e14610778578063472cd3d81461078b5780634f558e791461079e5780634f83b185146107b157600080fd5b80631e3321f811610464578063328fd62311610428578063328fd623146106ee5780633497e2a1146106f7578063377e5e271461070a57806338896da91461071d5780633b20b44b1461073f5780633c5267fe1461075257600080fd5b80631e3321f81461068b57806323b872dd1461069e5780632407497e146106b157806329745262146106c45780632a55205a146106db57600080fd5b8063095ea7b3116104b6578063095ea7b3146105cd5780630ebd4c7f146105e05780631142d4e81461060057806311afa9fe1461061357806314a119741461062657806317fd92781461067857600080fd5b806301ffc9a7146104f3578063064704911461051b57806306fdde031461052e57806307cff6f214610577578063081812fc1461058c575b600080fd5b6105066105013660046158a5565b610da0565b60405190151581526020015b60405180910390f35b600f546001600160a01b03161515610506565b61056a6040518060400160405280601781526020017f4b6e6f776e4f726967696e4469676974616c417373657400000000000000000081525081565b6040516105129190615d77565b61058a6105853660046157d1565b610de0565b005b6105b561059a366004615af4565b6000908152601560205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610512565b61058a6105db366004615738565b611324565b6105f36105ee366004615af4565b61143c565b6040516105129190615d3f565b61050661060e366004615af4565b6114a4565b61056a610621366004615af4565b61150d565b610659610634366004615af4565b600660205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b039093168352602083019190915201610512565b61058a61068636600461570b565b6115a7565b61058a610699366004615a94565b611603565b61058a6106ac3660046155a7565b6117fe565b61058a6106bf3660046154d4565b61183d565b6106cd600c5481565b604051908152602001610512565b6106596106e9366004615c13565b61188f565b6106cd600d5481565b610506610705366004615af4565b6118a8565b61056a610718366004615af4565b611910565b61073061072b366004615af4565b611ae9565b60405161051293929190615c9d565b6106cd61074d366004615af4565b611c91565b61058a610760366004615bc9565b611d22565b61058a610773366004615ba5565b611f23565b61058a6107863660046155a7565b611f77565b61058a610799366004615af4565b611f92565b6105066107ac366004615af4565b612010565b6107306107bf366004615c13565b61201b565b6105066107d23660046154d4565b600a6020526000908152604090205460ff1681565b61058a6107f5366004615af4565b612067565b61056a604051806040016040528060018152602001603360f81b81525081565b6106cd610828366004615b24565b600560209081526000928352604080842090915290825290205481565b61058a610853366004615790565b6120a4565b610506610866366004615af4565b60009081526019602052604090205460ff1690565b6105b5610889366004615c13565b612134565b61073061089c366004615af4565b612214565b6105b56108af366004615af4565b612275565b6106cd600b5481565b61056a6108cb366004615af4565b6122be565b61058a6108de366004615af4565b6122e8565b6106cd6108f1366004615986565b612455565b6108ff6103e881565b60405161ffff9091168152602001610512565b61058a61092036600461569d565b612474565b6106cd610933366004615af4565b612526565b61058a6109463660046154d4565b612531565b6106cd6109593660046154d4565b612658565b61050661096c366004615af4565b60196020526000908152604090205460ff1681565b61058a61098f366004615af4565b61269c565b6008546105b5906001600160a01b031681565b6105b56109b5366004615af4565b612713565b6010546001600160a01b03161515610506565b6105066109db366004615af4565b6000908152601360205260409020546001600160a01b0316151590565b61058a610a06366004615818565b612721565b6106cd610a19366004615986565b612a30565b6106cd610a2c366004615af4565b612be4565b61058a610a3f366004615b48565b612c7d565b61056a610a52366004615af4565b612d8d565b61056a610a65366004615af4565b612e2f565b61056a610a78366004615af4565b612e4c565b6106cd610a8b366004615af4565b600090815260126020526040902054600160a01b900461ffff1690565b61058a610ab6366004615b24565b612e65565b61056a604051806040016040528060048152602001634b4f444160e01b81525081565b6105f3610aec366004615af4565b613022565b61058a610aff36600461570b565b613159565b61058a610b12366004615bc9565b6131c5565b61058a610b25366004615bc9565b61334e565b6106cd610b38366004615b7f565b600260209081526000938452604080852082529284528284209052825290205481565b6106cd610b69366004615af4565b6134bd565b61058a610b7c3660046154d4565b61356c565b6106cd610b8f366004615af4565b6135be565b61058a610ba2366004615658565b6135ef565b61058a610bb53660046155e7565b61366c565b610bcd610bc8366004615af4565b6136e4565b6040516105129190615cfe565b610506610be8366004615af4565b60096020526000908152604090205460ff1681565b610506610c0b366004615af4565b613752565b61056a610c1e366004615af4565b613773565b6105b5610c31366004615af4565b613914565b610506610c44366004615af4565b613931565b6106cd610c57366004615b24565b600160209081526000928352604080842090915290825290205481565b610c87610c82366004615af4565b6139e0565b604051610512959493929190615c60565b6010546105b5906001600160a01b031681565b6106cd610cb9366004615b24565b613a45565b610506610ccc366004615af4565b613bd1565b6106cd610cdf366004615738565b600760209081526000928352604080842090915290825290205481565b610506610d0a36600461550c565b6001600160a01b03918216600090815260166020908152604080832093909416825291909152205460ff1690565b6106cd610d463660046159db565b613bf2565b600f546105b5906001600160a01b031681565b61058a610d6c366004615544565b613cdb565b6106cd60115481565b6105b5610d88366004615af4565b613d95565b6106cd610d9b366004615af4565b613ed8565b60006301ffc9a760e01b6001600160e01b031983161480610dda57506001600160e01b031982166000908152600e602052604090205460ff165b92915050565b60026000541415610e0c5760405162461bcd60e51b8152600401610e0390615e04565b60405180910390fd5b600260005580610e2e5760405162461bcd60e51b8152600401610e0390615de0565b6001600160a01b0384163314610e735760405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b6044820152606401610e03565b6000336040516331a9108f60e11b81526004810186905290915030906000908290636352211e9060240160206040518083038186803b158015610eb557600080fd5b505afa158015610ec9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eed91906154f0565b9050826001600160a01b0316816001600160a01b03161480610f8b575060405163e985e9c560e01b81526001600160a01b038281166004830152848116602483015283169063e985e9c59060440160206040518083038186803b158015610f5357600080fd5b505afa158015610f67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8b9190615889565b80611019575060405163020604bf60e21b8152600481018790526001600160a01b03808516919084169063081812fc9060240160206040518083038186803b158015610fd657600080fd5b505afa158015610fea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100e91906154f0565b6001600160a01b0316145b6110575760405162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b21039b832b73232b960891b6044820152606401610e03565b60405163f94d964560e01b815260048101879052600090309063f94d96459060240160206040518083038186803b15801561109157600080fd5b505afa1580156110a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c99190615b0c565b6000818152600360205260408120919250906110e59088613ee3565b6000898152600460205260408120919250906111019089613ee3565b90508115801561110f575080155b1561112e57600089815260046020526040902061112c9089613f05565b505b60008981526005602090815260408083206001600160a01b038c16845290915290205461115c908890615e3b565b60008a81526005602090815260408083206001600160a01b038d81168086529190935292819020939093559151636eb1769f60e11b8152918c166004830152306024830152899189919063dd62ed3e9060440160206040518083038186803b1580156111c757600080fd5b505afa1580156111db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ff9190615b0c565b10156112415760405162461bcd60e51b81526020600482015260116024820152704578636565647320616c6c6f77616e636560781b6044820152606401610e03565b6040516323b872dd60e01b81526001600160a01b038216906323b872dd90611271908e9030908d90600401615c9d565b602060405180830381600087803b15801561128b57600080fd5b505af115801561129f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c39190615889565b50886001600160a01b03168a8c6001600160a01b03167f684ce28ace37552c6bfb98b7cceda8ed55327078eafb5dfb31218e08563827638b60405161130a91815260200190565b60405180910390a450506001600055505050505050505050565b600061132f82612275565b9050806001600160a01b0316836001600160a01b031614156113875760405162461bcd60e51b815260206004820152601160248201527020b8383937bb32b21034b99037bbb732b960791b6044820152606401610e03565b336001600160a01b03821614806113a357506113a38133610d0a565b6113e05760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b2b73232b960911b6044820152606401610e03565b60008281526015602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050600d54600b546114729190615e53565b8160008151811061149357634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b6000816114b081613f1a565b60006114bb84613f7c565b9050835b81811015611500576000818152601360205260409020546001600160a01b03166114ee57600093505050611507565b806114f881615f21565b9150506114bf565b5060019250505b50919050565b6017602052600090815260409020805461152690615eec565b80601f016020809104026020016040519081016040528092919081815260200182805461155290615eec565b801561159f5780601f106115745761010080835404028352916020019161159f565b820191906000526020600020905b81548152906001019060200180831161158257829003601f168201915b505050505081565b6115af613fa1565b6001600160a01b0382166000818152600a6020526040808220805460ff191685151590811790915590519092917fdfa5cec27432e8fe2532605b253ac386bd4077525304d2920002754914bf967691a35050565b8461ffff16600061161382613914565b9050336001600160a01b03821614806116b857506008546001600160a01b03166380371cce82336040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b15801561168057600080fd5b505afa158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b89190615889565b6116d45760405162461bcd60e51b8152600401610e0390615db1565b6116e18761ffff166114a4565b156117205760405162461bcd60e51b815260206004820152600f60248201526e11591a5d1a5bdb881cdbdb191bdd5d608a1b6044820152606401610e03565b84801580159061172f57508084145b61176c5760405162461bcd60e51b815260206004820152600e60248201526d151bdad95b9cc81a5b9d985b1a5960921b6044820152606401610e03565b60005b818110156117f3576117e1338a61ffff168a8a858181106117a057634e487b7160e01b600052603260045260246000fd5b90506020020160208101906117b591906154d4565b8989868181106117d557634e487b7160e01b600052603260045260246000fd5b90506020020135614068565b806117eb81615f21565b91505061176f565b505050505050505050565b611809838383614236565b80826001600160a01b0316846001600160a01b0316600080516020615fa283398151915260405160405180910390a4505050565b611845613fa1565b601080546001600160a01b0319166001600160a01b0383169081179091556040517f70beb1cdf09716da857c2613f0b523263f85eed9bfd8328e141539f22a19102f90600090a250565b60008061189c8484614481565b915091505b9250929050565b6000816118b481613f1a565b60006118bf84613f7c565b9050835b81811015611905576000818152601360205260409020546001600160a01b0316156118f357600193505050611507565b806118fd81615f21565b9150506118c3565b506000949350505050565b60608161191c81613f1a565b6010546001600160a01b0316151580156119b4575060105460405163bedac0cf60e01b815260048101859052600060248201526001600160a01b039091169063bedac0cf9060440160206040518083038186803b15801561197c57600080fd5b505afa158015611990573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b49190615889565b15611a47576010546040516392cb829d60e01b815260048101859052600060248201526001600160a01b03909116906392cb829d9060440160006040518083038186803b158015611a0457600080fd5b505afa158015611a18573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a4091908101906158dd565b9150611507565b60008381526012602052604090206001018054611a6390615eec565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8f90615eec565b8015611adc5780601f10611ab157610100808354040283529160200191611adc565b820191906000526020600020905b815481529060010190602001808311611abf57829003601f168201915b5050505050915050919050565b6000818152601960205260408120548190819060ff1615611b3f5760405162461bcd60e51b815260206004820152601060248201526f11591a5d1a5bdb88191a5cd8589b195960821b6044820152606401610e03565b6000611b4a85611c91565b600086815260126020526040902054600f549192506001600160a01b03908116911615158015611bf15750600f5460405163d5fe110d60e01b8152600481018890526001600160a01b039091169063d5fe110d9060240160206040518083038186803b158015611bb957600080fd5b505afa158015611bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf19190615889565b15611c8257600f5460405163f7b3de6560e01b8152600481018890526000916001600160a01b03169063f7b3de659060240160206040518083038186803b158015611c3b57600080fd5b505afa158015611c4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7391906154f0565b9550909350909150611c8a9050565b935083925090505b9193909250565b600080611c9d83613f7c565b9050825b81811015611cde576000818152601360205260409020546001600160a01b0316611ccc579392505050565b80611cd681615f21565b915050611ca1565b5060405162461bcd60e51b8152602060048201526018602482015277141c9a5b585c9e481b585c9ad95d08195e1a185d5cdd195960421b6044820152606401610e03565b826000611d2e82613914565b9050336001600160a01b0382161480611dd357506008546001600160a01b03166380371cce82336040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015611d9b57600080fd5b505afa158015611daf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd39190615889565b611def5760405162461bcd60e51b8152600401610e0390615db1565b611df8856118a8565b158015611e9857506010546001600160a01b03161580611e98575060105460405163bedac0cf60e01b815260048101879052600060248201526001600160a01b039091169063bedac0cf9060440160206040518083038186803b158015611e5e57600080fd5b505afa158015611e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e969190615889565b155b611ed45760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420737461746560981b6044820152606401610e03565b6000858152601260205260409020611ef090600101858561532d565b5060405185907fb41767e61c97fccd387a45193f99763ad5f5db7e556a0c17d5e66a8d2abd9db390600090a25050505050565b611f2b613fa1565b600082815260096020526040808220805460ff19168415159081179091559051909184917f8696659f3303274562e992bc599cc86b06130b4c66bef55d2e6621bf1cf6da729190a35050565b611809838383604051806020016040528060008152506145f9565b611f9a613fa1565b60008111611fd45760405162461bcd60e51b81526020600482015260076024820152664973207a65726f60c81b6044820152606401610e03565b600d8190556040518181527f3d3461909d09e5e9b2d57490256d9446ec5d92d067b43aeb824d04d817932615906020015b60405180910390a150565b6000610dda826146f0565b60008060008061204861202d87614711565b6000908152601260205260409020546001600160a01b031690565b90506000806120578888614481565b9099939850965091945050505050565b61206f613fa1565b600b8190556040518181527f5905edf405227ac25471b2d65b4b1719c5d816af9e96875f051d9e1c246bf81490602001612005565b6120ac613fa1565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb90604401602060405180830381600087803b1580156120f657600080fd5b505af115801561210a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212e9190615889565b50505050565b6000828152600460205260408120819061214d9061472a565b90508083106121f45760405163f94d964560e01b815260048101859052600090309063f94d96459060240160206040518083038186803b15801561219057600080fd5b505afa1580156121a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c89190615b0c565b90506121eb6121d78386615e92565b600083815260036020526040902090614734565b92505050610dda565b600084815260046020526040902061220c9084614734565b949350505050565b6000818152601960205260408120548190819060ff161561226a5760405162461bcd60e51b815260206004820152601060248201526f11591a5d1a5bdb88191a5cd8589b195960821b6044820152606401610e03565b6000611b4a85612be4565b60008061228183614711565b9050600061228f8483614740565b90506001600160a01b0381166122b75760405162461bcd60e51b8152600401610e0390615d8a565b9392505050565b606060006122cb83614711565b6000818152601760205260409020805491925090611a6390615eec565b806122f281613f1a565b6000828152601260205260409020546001600160a01b03163381148061239c57506008546001600160a01b031663c395fcb3336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561236457600080fd5b505afa158015612378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239c9190615889565b6123e05760405162461bcd60e51b815260206004820152601560248201527427b7363c9031b932b0ba37b91037b91030b236b4b760591b6044820152606401610e03565b60008381526019602090815260409182902054825160ff90911615801582529181019190915284917f50a3d06e3a71433bb7d17b9ded744e9f5389ebc8cf7f85c49b53be512732e832910160405180910390a250506000908152601960205260409020805460ff19811660ff90911615179055565b600061245f6147ae565b61246b85858585614876565b95945050505050565b8280158015906124845750600082115b6124bf5760405162461bcd60e51b815260206004820152600c60248201526b456d7074792076616c75657360a01b6044820152606401610e03565b60006124cb8284615e53565b905060005b8281101561251c5761250a888888848181106124fc57634e487b7160e01b600052603260045260246000fd5b905060200201358785610de0565b8061251481615f21565b9150506124d0565b5050505050505050565b6000610dda82613f7c565b612539613fa1565b6001600160a01b03811663c395fcb3336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561258857600080fd5b505afa15801561259c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c09190615889565b6125fc5760405162461bcd60e51b815260206004820152600d60248201526c26bab9ba1031329030b236b4b760991b6044820152606401610e03565b6008546040516001600160a01b038084169216907facd428448d30f3fadee1e7d643a28cfee0ec86aef546e1cfc717d844b99eedf290600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160a01b0382166126805760405162461bcd60e51b8152600401610e0390615d8a565b506001600160a01b031660009081526014602052604090205490565b6126a4613fa1565b600081116126de5760405162461bcd60e51b81526020600482015260076024820152664973207a65726f60c81b6044820152606401610e03565b600c8190556040518181527f0974c11e488a74018e3da44e0750b7d0ec99a431c45f79a6110d722b823d0af090602001612005565b6000610dda61202d83614711565b83801580159061273057508082145b61276b5760405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a59081b1a5cdd60a21b6044820152606401610e03565b8360005b8281101561251c57600088888381811061279957634e487b7160e01b600052603260045260246000fd5b90506020020135905060008686848181106127c457634e487b7160e01b600052603260045260246000fd5b905060200201359050836001600160a01b0316636352211e826040518263ffffffff1660e01b81526004016127fb91815260200190565b60206040518083038186803b15801561281357600080fd5b505afa158015612827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061284b91906154f0565b6040516331a9108f60e11b8152600481018490526001600160a01b0391909116903090636352211e9060240160206040518083038186803b15801561288f57600080fd5b505afa1580156128a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c791906154f0565b6001600160a01b03161461290e5760405162461bcd60e51b815260206004820152600e60248201526d09eeedccae440dad2e6dac2e8c6d60931b6044820152606401610e03565b6040805180820182526001600160a01b038a81168083526020808401868152600088815260068352868120955186546001600160a01b031916908616178655905160019095019490945590835260078152838320858452905291902083905584166323b872dd3330846040518463ffffffff1660e01b815260040161299593929190615c9d565b600060405180830381600087803b1580156129af57600080fd5b505af11580156129c3573d6000803e3d6000fd5b50505050876001600160a01b0316826129d93390565b6001600160a01b03167f0371ddf2288ad1ba92626a7e31c86a9d006e592cfe57d7d946ef08b13457c08b84604051612a1391815260200190565b60405180910390a450508080612a2890615f21565b91505061276f565b6000612a3a6147ae565b60008561ffff16118015612a5457506103e861ffff861611155b612a8f5760405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642073697a6560a01b6044820152606401610e03565b6000612a99614a21565b6001600160a01b038616600090815260146020526040902054909150612ac49061ffff881690615e3b565b6001600160a01b03861660008181526014602090815260409182902093909355805160608101825291825261ffff8916828401528051601f87018490048402810184018252868152919290830191908790879081908401838280828437600092018290525093909452505083815260126020908152604091829020845181548684015161ffff16600160a01b026001600160b01b03199091166001600160a01b0390921691909117178155918401518051929350612b8b92600185019291909101906153b1565b5050506001600160a01b0385166000827fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d612bca61ffff8b1683615e3b565b60405190815260200160405180910390a495945050505050565b6000806001612bf284613f7c565b612bfc9190615e92565b90505b828110612c3a576000818152601360205260409020546001600160a01b0316612c285792915050565b80612c3281615ed5565b915050612bff565b60405162461bcd60e51b8152602060048201526018602482015277141c9a5b585c9e481b585c9ad95d08195e1a185d5cdd195960421b6044820152606401610e03565b60026000541415612ca05760405162461bcd60e51b8152600401610e0390615e04565b6002600055612cb184848484614a3e565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526024820183905283169063a9059cbb90604401602060405180830381600087803b158015612cfb57600080fd5b505af1158015612d0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d339190615889565b50816001600160a01b0316836001600160a01b0316857fa8352277873fc0d2b233b8127433da351a4164fa701ed6ff79655694222932c484604051612d7a91815260200190565b60405180910390a4505060016000555050565b6000818152601760205260409020805460609190612daa90615eec565b80601f0160208091040260200160405190810160405280929190818152602001828054612dd690615eec565b8015612e235780601f10612df857610100808354040283529160200191612e23565b820191906000526020600020905b815481529060010190602001808311612e0657829003601f168201915b50505050509050919050565b6000818152601860205260409020805460609190612daa90615eec565b6018602052600090815260409020805461152690615eec565b336040516331a9108f60e11b8152600481018490526001600160a01b0391909116903090636352211e9060240160206040518083038186803b158015612eaa57600080fd5b505afa158015612ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ee291906154f0565b6001600160a01b031614612f2a5760405162461bcd60e51b815260206004820152600f60248201526e27b7363c9025a7a2209037bbb732b960891b6044820152606401610e03565b600082815260066020908152604080832080546001820180546001600160a01b031983169093558590556001600160a01b03168085526007845282852082865290935281842093909355516323b872dd60e01b815290919082906323b872dd90612f9c90309087908690600401615c9d565b600060405180830381600087803b158015612fb657600080fd5b505af1158015612fca573d6000803e3d6000fd5b50505050816001600160a01b0316836001600160a01b0316857f0ef52e516fb5aec15a5d3587e5480481b702b26db93c8430eca78b61990fd3f68460405161301491815260200190565b60405180910390a450505050565b60608161302e81613f1a565b600061303984613f7c565b90506000845b82811015613083576000818152601360205260409020546001600160a01b03166130715761306e600183615e3b565b91505b8061307b81615f21565b91505061303f565b5060008167ffffffffffffffff8111156130ad57634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156130d6578160200160208202803683370190505b5090506000865b8481101561314d576000818152601360205260409020546001600160a01b031661313b578083838151811061312257634e487b7160e01b600052603260045260246000fd5b6020908102919091010152613138600183615e3b565b91505b8061314581615f21565b9150506130dd565b50909695505050505050565b3360008181526016602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6131ce83612275565b6001600160a01b0316336001600160a01b0316148061327157506008546001600160a01b0316638c481207336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561323957600080fd5b505afa15801561324d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132719190615889565b6132ae5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b6044820152606401610e03565b600083815260186020526040902080546132c790615eec565b1590506133045760405162461bcd60e51b815260206004820152600b60248201526a105b1c9958591e481cd95d60aa1b6044820152606401610e03565b600083815260186020526040902061331d90838361532d565b5060405183907fea825e1799356b6d4ce9100c95086e41495d0095df0ccb481e2f2506e64c0e5d90600090a2505050565b82600061335a82613914565b9050336001600160a01b03821614806133ff57506008546001600160a01b03166380371cce82336040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b1580156133c757600080fd5b505afa1580156133db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133ff9190615889565b61341b5760405162461bcd60e51b8152600401610e0390615db1565b6000858152601760205260409020805461343490615eec565b1590506134715760405162461bcd60e51b815260206004820152600b60248201526a105b1c9958591e481cd95d60aa1b6044820152606401610e03565b600085815260176020526040902061348a90858561532d565b5060405185907f7693ab710e3d7b6c45f8b6417230965b0516a9b13773ec6785d245ff4e1367fe90600090a25050505050565b60405163f94d964560e01b8152600481018290526000908190309063f94d96459060240160206040518083038186803b1580156134f957600080fd5b505afa15801561350d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135319190615b0c565b600081815260036020526040902090915061354b9061472a565b60008481526004602052604090206135629061472a565b6122b79190615e3b565b613574613fa1565b600f80546001600160a01b0319166001600160a01b0383169081179091556040517f1a5ef0de3944182af90c76840e17d5295e891a222b7122cbfcf2687f0292581e90600090a250565b6000601260006135cd84614711565b8152602081019190915260400160002054600160a01b900461ffff1692915050565b815b81811161362557613613858583604051806020016040528060008152506145f9565b8061361d81615f21565b9150506135f1565b50826001600160a01b0316846001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d8460405161301491815260200190565b6136ae85858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506145f992505050565b82846001600160a01b0316866001600160a01b0316600080516020615fa283398151915260405160405180910390a45050505050565b604080516001808252818301909252606091600091906020808301908036833701905050905061371383613d95565b8160008151811061373457634e487b7160e01b600052603260045260246000fd5b6001600160a01b039092166020928302919091019091015292915050565b600081815260126020526040812054600160a01b900461ffff161515610dda565b606061377e826146f0565b6137c15760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401610e03565b60006137cc83614711565b90506137e26010546001600160a01b0316151590565b801561386c575060105460405163bedac0cf60e01b815260048101839052602481018590526001600160a01b039091169063bedac0cf9060440160206040518083038186803b15801561383457600080fd5b505afa158015613848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061386c9190615889565b156138f8576010546040516392cb829d60e01b815260048101839052602481018590526001600160a01b03909116906392cb829d9060440160006040518083038186803b1580156138bc57600080fd5b505afa1580156138d0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122b791908101906158dd565b60008181526012602052604090206001018054611a6390615eec565b6000818152601260205260408120546001600160a01b0316610dda565b60008161393d81613f1a565b600f546001600160a01b0316151580156139ce5750600f5460405163d5fe110d60e01b8152600481018590526001600160a01b039091169063d5fe110d9060240160206040518083038186803b15801561399657600080fd5b505afa1580156139aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139ce9190615889565b806122b7575050600b54151592915050565b600080600080606060006139f387614711565b60008181526012602052604090208054919250906001600160a01b0316613a1a8984614740565b8254600160a01b900461ffff1684613a318c613773565b939c929b5090995097509095509350505050565b60405163f94d964560e01b81526004810183905260009030908290829063f94d96459060240160206040518083038186803b158015613a8357600080fd5b505afa158015613a97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613abb9190615b0c565b60008181526001602090815260408083206001600160a01b03898116855292528083205490516346c8e19d60e11b8152600481018590529394509290851690638d91c33a9060240160206040518083038186803b158015613b1b57600080fd5b505afa158015613b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b539190615b0c565b613b5d9083615e53565b60008481526002602090815260408083206001600160a01b038b16845282528083208b8452909152902054909150613b958183615e92565b60008981526005602090815260408083206001600160a01b038c168452909152902054909250613bc59083615e3b565b98975050505050505050565b60008181526019602052604081205460ff1680610dda5750610dda826114a4565b6000613bfc6147ae565b838015801590613c0b57508083145b613c485760405162461bcd60e51b815260206004820152600e60248201526d151bdad95b9cc81a5b9d985b1a5960921b6044820152606401610e03565b613c548a8a8a8a614876565b915060005b81811015613ccd57613cbb8a84898985818110613c8657634e487b7160e01b600052603260045260246000fd5b9050602002016020810190613c9b91906154d4565b8888868181106117d557634e487b7160e01b600052603260045260246000fd5b80613cc581615f21565b915050613c59565b505098975050505050505050565b60005b81811015613d8e57613d278585858585818110613d0b57634e487b7160e01b600052603260045260246000fd5b90506020020135604051806020016040528060008152506145f9565b828282818110613d4757634e487b7160e01b600052603260045260246000fd5b90506020020135846001600160a01b0316866001600160a01b0316600080516020615fa283398151915260405160405180910390a480613d8681615f21565b915050613cde565b5050505050565b600080613da183614711565b9050613db7600f546001600160a01b0316151590565b8015613e3a5750600f5460405163d5fe110d60e01b8152600481018390526001600160a01b039091169063d5fe110d9060240160206040518083038186803b158015613e0257600080fd5b505afa158015613e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3a9190615889565b15613ebb57600f5460405163f7b3de6560e01b8152600481018390526001600160a01b039091169063f7b3de659060240160206040518083038186803b158015613e8357600080fd5b505afa158015613e97573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b791906154f0565b6000818152601260205260409020546001600160a01b03166122b7565b6000610dda82614711565b6001600160a01b038116600090815260018301602052604081205415156122b7565b60006122b7836001600160a01b038416615179565b600081815260126020526040902054600160a01b900461ffff16613f795760405162461bcd60e51b815260206004820152601660248201527511591a5d1a5bdb88191bd95cc81b9bdd08195e1a5cdd60521b6044820152606401610e03565b50565b600081815260126020526040812054610dda908390600160a01b900461ffff16615e3b565b6008546001600160a01b031663c395fcb3336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b158015613ff257600080fd5b505afa158015614006573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061402a9190615889565b6140665760405162461bcd60e51b815260206004820152600d60248201526c26bab9ba1031329030b236b4b760991b6044820152606401610e03565b565b6002600054141561408b5760405162461bcd60e51b8152600401610e0390615e04565b6002600055806140ad5760405162461bcd60e51b8152600401610e0390615de0565b60008381526003602052604090206140c59083613ee3565b1561410b5760405162461bcd60e51b8152602060048201526016602482015275045646974696f6e20636f6e7461696e732045524332360541b6044820152606401610e03565b60008381526003602052604090206141239083613f05565b5060008381526001602090815260408083206001600160a01b0386168452909152902054614152908290615e3b565b60008481526001602090815260408083206001600160a01b03871680855292529182902092909255516323b872dd60e01b81526323b872dd9061419d90879030908690600401615c9d565b602060405180830381600087803b1580156141b757600080fd5b505af11580156141cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141ef9190615889565b50816001600160a01b031683856001600160a01b03167ffef82d7cd5d3dada99d825e0473c369efb179e0f730d85ff83a720f8ac95cf9484604051612d7a91815260200190565b6001600160a01b0382166142815760405162461bcd60e51b8152602060048201526012602482015271496e76616c696420746f206164647265737360701b6044820152606401610e03565b60006142958261429084614711565b614740565b90506001600160a01b0381166142bd5760405162461bcd60e51b8152600401610e0390615d8a565b806001600160a01b0316846001600160a01b03161461430f5760405162461bcd60e51b815260206004820152600e60248201526d09eeedccae440dad2e6dac2e8c6d60931b6044820152606401610e03565b60008281526015602052604090205433906001600160a01b0390811690831682148061436057506001600160a01b0380841660009081526016602090815260408083209386168352929052205460ff165b8061437c5750816001600160a01b0316816001600160a01b0316145b6143ba5760405162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b21039b832b73232b960891b6044820152606401610e03565b6001600160a01b038116156143e657600084815260156020526040902080546001600160a01b03191690555b600084815260136020908152604080832080546001600160a01b0319166001600160a01b038a81169190911790915589168352601490915290205461442d90600190615e92565b6001600160a01b03808816600090815260146020526040808220939093559087168152205461445d906001615e3b565b6001600160a01b039095166000908152601460205260409020949094555050505050565b600080600061448f85614711565b90506144a5600f546001600160a01b0316151590565b80156145285750600f5460405163d5fe110d60e01b8152600481018390526001600160a01b039091169063d5fe110d9060240160206040518083038186803b1580156144f057600080fd5b505afa158015614504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145289190615889565b156145b957600f5460405163152a902d60e11b815260048101839052602481018690526001600160a01b0390911690632a55205a90604401604080518083038186803b15801561457757600080fd5b505afa15801561458b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145af9190615763565b90935091506145f1565b6000818152601260205260409020546001600160a01b03169250600b54600c54856145e49190615e53565b6145ee9190615e73565b91505b509250929050565b614604848484614236565b823b8015613d8e57604051630a85bd0160e11b81526000906001600160a01b0386169063150b7a02906146419033908a9089908990600401615cc1565b602060405180830381600087803b15801561465b57600080fd5b505af115801561466f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061469391906158c1565b90506001600160e01b03198116630a85bd0160e11b146146e85760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21039b2b632b1ba37b960811b6044820152606401610e03565b505050505050565b6000806147008361429081614711565b6001600160a01b0316141592915050565b60006103e86147208184615e53565b610dda9190615e73565b6000610dda825490565b60006122b783836151c8565b6000828152601360205260408120546001600160a01b03168015614765579050610dda565b6000838152601260205260409020546001600160a01b031680158015906147a0575084600161479386613f7c565b61479d9190615e92565b10155b15611905579150610dda9050565b6008546001600160a01b0316638c481207336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b1580156147ff57600080fd5b505afa158015614813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148379190615889565b6140665760405162461bcd60e51b815260206004820152601060248201526f135d5cdd0818994818dbdb9d1c9858dd60821b6044820152606401610e03565b6000808561ffff1611801561489157506103e861ffff861611155b6148cc5760405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642073697a6560a01b6044820152606401610e03565b60006148d6614a21565b6001600160a01b0386166000908152601460205260409020549091506149019061ffff881690615e3b565b6001600160a01b03861660008181526014602090815260409182902093909355805160608101825291825261ffff8916828401528051601f87018490048402810184018252868152919290830191908790879081908401838280828437600092018290525093909452505083815260126020908152604091829020845181548684015161ffff16600160a01b026001600160b01b03199091166001600160a01b03909216919091171781559184015180519293506149c892600185019291909101906153b1565b50600091506149dd905061ffff881683615e3b565b9050815b8181101561314d5760405181906001600160a01b03891690600090600080516020615fa2833981519152908290a480614a1981615f21565b9150506149e1565b601154600090614a34906103e890615e3b565b6011819055919050565b60008111614a5e5760405162461bcd60e51b8152600401610e0390615de0565b6001600160a01b038316614aa35760405162461bcd60e51b815260206004820152600c60248201526b5a65726f206164647265737360a01b6044820152606401610e03565b6040516331a9108f60e11b81526004810185905230906000908290636352211e9060240160206040518083038186803b158015614adf57600080fd5b505afa158015614af3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b1791906154f0565b90506001600160a01b038116331480614bba57506001600160a01b03821663e985e9c582336040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015614b8257600080fd5b505afa158015614b96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614bba9190615889565b80614c4857503360405163020604bf60e21b8152600481018890526001600160a01b039182169184169063081812fc9060240160206040518083038186803b158015614c0557600080fd5b505afa158015614c19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c3d91906154f0565b6001600160a01b0316145b614c805760405162461bcd60e51b81526020600482015260096024820152682737ba1037bbb732b960b91b6044820152606401610e03565b50506000848152600460205260408120614c9a9084613ee3565b60405163f94d964560e01b8152600481018790529091503090600090829063f94d96459060240160206040518083038186803b158015614cd957600080fd5b505afa158015614ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d119190615b0c565b600081815260036020526040812091925090614d2d9087613ee3565b90508380614d385750805b614d745760405162461bcd60e51b815260206004820152600d60248201526c04e6f207375636820455243323609c1b6044820152606401610e03565b84614d7f8988613a45565b1015614dbf5760405162461bcd60e51b815260206004820152600f60248201526e457863656564732062616c616e636560881b6044820152606401610e03565b6040516346c8e19d60e11b8152600481018390526000906001600160a01b03851690638d91c33a9060240160206040518083038186803b158015614e0257600080fd5b505afa158015614e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e3a9190615b0c565b60008481526001602090815260408083206001600160a01b038c16845290915281205491925090614e6c908390615e53565b60008581526002602090815260408083206001600160a01b038d16845282528083208e8452909152812054919250614ea48284615e92565b9050888110614f0757614eb78983615e3b565b6002600088815260200190815260200160002060008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008e815260200190815260200160002081905550615069565b60008c81526005602090815260408083206001600160a01b038e1684529091529020548911614f865760008c81526005602090815260408083206001600160a01b038e168452909152902054614f5e908a90615e92565b60008d81526005602090815260408083206001600160a01b038f168452909152902055615069565b614f908183615e3b565b6002600088815260200190815260200160002060008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008e8152602001908152602001600020819055506000818a614fe99190615e92565b905080600560008f815260200190815260200160002060008d6001600160a01b03166001600160a01b031681526020019081526020016000205461502d9190615e92565b600560008f815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002081905550505b878015615096575060008c81526005602090815260408083206001600160a01b038e168452909152902054155b156150b55760008c81526004602052604090206150b3908b615200565b505b841561516b576000805b85811015615149576000600260008a815260200190815260200160002060008e6001600160a01b03166001600160a01b031681526020019081526020016000206000838b61510d9190615e3b565b815260200190815260200160002054866151279190615e92565b90506151338184615e3b565b925050808061514190615f21565b9150506150bf565b5080615169576000878152600360205260409020615167908c615200565b505b505b505050505050505050505050565b60008181526001830160205260408120546151c057508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610dda565b506000610dda565b60008260000182815481106151ed57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b60006122b7836001600160a01b03841660008181526001830160205260408120548015615323576000615234600183615e92565b855490915060009061524890600190615e92565b90508181146152c957600086600001828154811061527657634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050808760000184815481106152a757634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b85548690806152e857634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610dda565b6000915050610dda565b82805461533990615eec565b90600052602060002090601f01602090048101928261535b57600085556153a1565b82601f106153745782800160ff198235161785556153a1565b828001600101855582156153a1579182015b828111156153a1578235825591602001919060010190615386565b506153ad929150615425565b5090565b8280546153bd90615eec565b90600052602060002090601f0160209004810192826153df57600085556153a1565b82601f106153f857805160ff19168380011785556153a1565b828001600101855582156153a1579182015b828111156153a157825182559160200191906001019061540a565b5b808211156153ad5760008155600101615426565b60008083601f84011261544b578081fd5b50813567ffffffffffffffff811115615462578182fd5b6020830191508360208260051b85010111156118a157600080fd5b60008083601f84011261548e578182fd5b50813567ffffffffffffffff8111156154a5578182fd5b6020830191508360208285010111156118a157600080fd5b803561ffff811681146154cf57600080fd5b919050565b6000602082840312156154e5578081fd5b81356122b781615f68565b600060208284031215615501578081fd5b81516122b781615f68565b6000806040838503121561551e578081fd5b823561552981615f68565b9150602083013561553981615f68565b809150509250929050565b60008060008060608587031215615559578182fd5b843561556481615f68565b9350602085013561557481615f68565b9250604085013567ffffffffffffffff81111561558f578283fd5b61559b8782880161543a565b95989497509550505050565b6000806000606084860312156155bb578283fd5b83356155c681615f68565b925060208401356155d681615f68565b929592945050506040919091013590565b6000806000806000608086880312156155fe578081fd5b853561560981615f68565b9450602086013561561981615f68565b935060408601359250606086013567ffffffffffffffff81111561563b578182fd5b6156478882890161547d565b969995985093965092949392505050565b6000806000806080858703121561566d578384fd5b843561567881615f68565b9350602085013561568881615f68565b93969395505050506040820135916060013590565b6000806000806000608086880312156156b4578283fd5b85356156bf81615f68565b9450602086013567ffffffffffffffff8111156156da578384fd5b6156e68882890161543a565b90955093505060408601356156fa81615f68565b949793965091946060013592915050565b6000806040838503121561571d578182fd5b823561572881615f68565b9150602083013561553981615f7d565b6000806040838503121561574a578182fd5b823561575581615f68565b946020939093013593505050565b60008060408385031215615775578182fd5b825161578081615f68565b6020939093015192949293505050565b6000806000606084860312156157a4578081fd5b83356157af81615f68565b92506020840135915060408401356157c681615f68565b809150509250925092565b600080600080608085870312156157e6578182fd5b84356157f181615f68565b935060208501359250604085013561580881615f68565b9396929550929360600135925050565b60008060008060006060868803121561582f578283fd5b853567ffffffffffffffff80821115615846578485fd5b61585289838a0161543a565b90975095506020880135915061586782615f68565b9093506040870135908082111561587c578283fd5b506156478882890161543a565b60006020828403121561589a578081fd5b81516122b781615f7d565b6000602082840312156158b6578081fd5b81356122b781615f8b565b6000602082840312156158d2578081fd5b81516122b781615f8b565b6000602082840312156158ee578081fd5b815167ffffffffffffffff80821115615905578283fd5b818401915084601f830112615918578283fd5b81518181111561592a5761592a615f52565b604051601f8201601f19908116603f0116810190838211818310171561595257615952615f52565b8160405282815287602084870101111561596a578586fd5b61597b836020830160208801615ea9565b979650505050505050565b6000806000806060858703121561599b578182fd5b6159a4856154bd565b935060208501356159b481615f68565b9250604085013567ffffffffffffffff8111156159cf578283fd5b61559b8782880161547d565b60008060008060008060008060a0898b0312156159f6578586fd5b6159ff896154bd565b97506020890135615a0f81615f68565b9650604089013567ffffffffffffffff80821115615a2b578788fd5b615a378c838d0161547d565b909850965060608b0135915080821115615a4f578485fd5b615a5b8c838d0161543a565b909650945060808b0135915080821115615a73578384fd5b50615a808b828c0161543a565b999c989b5096995094979396929594505050565b600080600080600060608688031215615aab578283fd5b615ab4866154bd565b9450602086013567ffffffffffffffff80821115615ad0578485fd5b615adc89838a0161543a565b9096509450604088013591508082111561587c578283fd5b600060208284031215615b05578081fd5b5035919050565b600060208284031215615b1d578081fd5b5051919050565b60008060408385031215615b36578182fd5b82359150602083013561553981615f68565b60008060008060808587031215615b5d578182fd5b843593506020850135615b6f81615f68565b9250604085013561580881615f68565b600080600060608486031215615b93578081fd5b8335925060208401356155d681615f68565b60008060408385031215615bb7578182fd5b82359150602083013561553981615f7d565b600080600060408486031215615bdd578081fd5b83359250602084013567ffffffffffffffff811115615bfa578182fd5b615c068682870161547d565b9497909650939450505050565b60008060408385031215615c25578182fd5b50508035926020909101359150565b60008151808452615c4c816020860160208601615ea9565b601f01601f19169290920160200192915050565b6001600160a01b0386811682528516602082015261ffff841660408201526060810183905260a06080820181905260009061597b90830184615c34565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615cf490830184615c34565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561314d5783516001600160a01b031683529284019291840191600101615d1a565b6020808252825182820181905260009190848201906040850190845b8181101561314d57835183529284019291840191600101615d5b565b6020815260006122b76020830184615c34565b6020808252600d908201526c24b73b30b634b21037bbb732b960991b604082015260600190565b6020808252601590820152744f6e6c792063726561746f72206f722070726f787960581b604082015260600190565b6020808252600a908201526956616c7565207a65726f60b01b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60008219821115615e4e57615e4e615f3c565b500190565b600082615e6e57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615615e8d57615e8d615f3c565b500290565b600082821015615ea457615ea4615f3c565b500390565b60005b83811015615ec4578181015183820152602001615eac565b8381111561212e5750506000910152565b600081615ee457615ee4615f3c565b506000190190565b600181811c90821680615f0057607f821691505b6020821081141561150757634e487b7160e01b600052602260045260246000fd5b6000600019821415615f3557615f35615f3c565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114613f7957600080fd5b8015158114613f7957600080fd5b6001600160e01b031981168114613f7957600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205712aba8ff8bcb06b189f5b71d437e5dcf339bf4f383c556b796b346234366d864736f6c634300080400330000000000000000000000009028b16494a9363f3eaaf381a6fde67296abc68c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3500
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106104ee5760003560e01c8063716a41a11161028e578063a9b183b111610167578063ddf990f9116100d9578063ed58aed211610092578063ed58aed214610d38578063f3397afe14610d4b578063f3993d1114610d5e578063f6f367dc14610d71578063f7b3de6514610d7a578063f94d964514610d8d57600080fd5b8063ddf990f914610c74578063e131fc0c14610c98578063e226ed2214610cab578063e35ed67f14610cbe578063e7b74ec914610cd1578063e985e9c514610cfc57600080fd5b8063bb31e4131161012b578063bb31e41314610bda578063c2b2fb5e14610bfd578063c87b56dd14610c10578063d41911d714610c23578063d5fe110d14610c36578063d7c0a63b14610c4957600080fd5b8063a9b183b114610b6e578063ace071cb14610b81578063b594c62c14610b94578063b88d4fde14610ba7578063b9c4d9fb14610bba57600080fd5b80638a2c0d57116102005780639d319a31116101c45780639d319a3114610ade578063a22cb46514610af1578063a4c82c9d14610b04578063a642585214610b17578063a7277da014610b2a578063a781173214610b5b57600080fd5b80638a2c0d5714610a575780638b32f65f14610a6a5780638d91c33a14610a7d57806395090ea514610aa857806395d89b4114610abb57600080fd5b80637b612708116102525780637b612708146109cd5780637d764d53146109f85780637dace95a14610a0b578063820e125f14610a1e578063830ef41b14610a315780638712910114610a4457600080fd5b8063716a41a11461095e57806372ec7eec14610981578063748365ef146109945780637539fc5c146109a7578063781c55c0146109ba57600080fd5b80633efb7338116103cb578063627c81ff1161033d5780636a6f8a19116102f65780636a6f8a19146108e35780636c5e845a146108f65780636ce687d5146109125780636d1d83b8146109255780636ef3da941461093857806370a082311461094b57600080fd5b8063627c81ff1461087b578063634a20931461088e5780636352211e146108a157806363f204d0146108b45780636756a691146108bd57806368263df8146108d057600080fd5b8063500b1d2b1161038f578063500b1d2b146107c45780635188bf53146107e757806354fd4d50146107fa5780635c5f16f31461081a5780635d2631e2146108455780636221bb8a1461085857600080fd5b80633efb73381461076557806342842e0e14610778578063472cd3d81461078b5780634f558e791461079e5780634f83b185146107b157600080fd5b80631e3321f811610464578063328fd62311610428578063328fd623146106ee5780633497e2a1146106f7578063377e5e271461070a57806338896da91461071d5780633b20b44b1461073f5780633c5267fe1461075257600080fd5b80631e3321f81461068b57806323b872dd1461069e5780632407497e146106b157806329745262146106c45780632a55205a146106db57600080fd5b8063095ea7b3116104b6578063095ea7b3146105cd5780630ebd4c7f146105e05780631142d4e81461060057806311afa9fe1461061357806314a119741461062657806317fd92781461067857600080fd5b806301ffc9a7146104f3578063064704911461051b57806306fdde031461052e57806307cff6f214610577578063081812fc1461058c575b600080fd5b6105066105013660046158a5565b610da0565b60405190151581526020015b60405180910390f35b600f546001600160a01b03161515610506565b61056a6040518060400160405280601781526020017f4b6e6f776e4f726967696e4469676974616c417373657400000000000000000081525081565b6040516105129190615d77565b61058a6105853660046157d1565b610de0565b005b6105b561059a366004615af4565b6000908152601560205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610512565b61058a6105db366004615738565b611324565b6105f36105ee366004615af4565b61143c565b6040516105129190615d3f565b61050661060e366004615af4565b6114a4565b61056a610621366004615af4565b61150d565b610659610634366004615af4565b600660205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b039093168352602083019190915201610512565b61058a61068636600461570b565b6115a7565b61058a610699366004615a94565b611603565b61058a6106ac3660046155a7565b6117fe565b61058a6106bf3660046154d4565b61183d565b6106cd600c5481565b604051908152602001610512565b6106596106e9366004615c13565b61188f565b6106cd600d5481565b610506610705366004615af4565b6118a8565b61056a610718366004615af4565b611910565b61073061072b366004615af4565b611ae9565b60405161051293929190615c9d565b6106cd61074d366004615af4565b611c91565b61058a610760366004615bc9565b611d22565b61058a610773366004615ba5565b611f23565b61058a6107863660046155a7565b611f77565b61058a610799366004615af4565b611f92565b6105066107ac366004615af4565b612010565b6107306107bf366004615c13565b61201b565b6105066107d23660046154d4565b600a6020526000908152604090205460ff1681565b61058a6107f5366004615af4565b612067565b61056a604051806040016040528060018152602001603360f81b81525081565b6106cd610828366004615b24565b600560209081526000928352604080842090915290825290205481565b61058a610853366004615790565b6120a4565b610506610866366004615af4565b60009081526019602052604090205460ff1690565b6105b5610889366004615c13565b612134565b61073061089c366004615af4565b612214565b6105b56108af366004615af4565b612275565b6106cd600b5481565b61056a6108cb366004615af4565b6122be565b61058a6108de366004615af4565b6122e8565b6106cd6108f1366004615986565b612455565b6108ff6103e881565b60405161ffff9091168152602001610512565b61058a61092036600461569d565b612474565b6106cd610933366004615af4565b612526565b61058a6109463660046154d4565b612531565b6106cd6109593660046154d4565b612658565b61050661096c366004615af4565b60196020526000908152604090205460ff1681565b61058a61098f366004615af4565b61269c565b6008546105b5906001600160a01b031681565b6105b56109b5366004615af4565b612713565b6010546001600160a01b03161515610506565b6105066109db366004615af4565b6000908152601360205260409020546001600160a01b0316151590565b61058a610a06366004615818565b612721565b6106cd610a19366004615986565b612a30565b6106cd610a2c366004615af4565b612be4565b61058a610a3f366004615b48565b612c7d565b61056a610a52366004615af4565b612d8d565b61056a610a65366004615af4565b612e2f565b61056a610a78366004615af4565b612e4c565b6106cd610a8b366004615af4565b600090815260126020526040902054600160a01b900461ffff1690565b61058a610ab6366004615b24565b612e65565b61056a604051806040016040528060048152602001634b4f444160e01b81525081565b6105f3610aec366004615af4565b613022565b61058a610aff36600461570b565b613159565b61058a610b12366004615bc9565b6131c5565b61058a610b25366004615bc9565b61334e565b6106cd610b38366004615b7f565b600260209081526000938452604080852082529284528284209052825290205481565b6106cd610b69366004615af4565b6134bd565b61058a610b7c3660046154d4565b61356c565b6106cd610b8f366004615af4565b6135be565b61058a610ba2366004615658565b6135ef565b61058a610bb53660046155e7565b61366c565b610bcd610bc8366004615af4565b6136e4565b6040516105129190615cfe565b610506610be8366004615af4565b60096020526000908152604090205460ff1681565b610506610c0b366004615af4565b613752565b61056a610c1e366004615af4565b613773565b6105b5610c31366004615af4565b613914565b610506610c44366004615af4565b613931565b6106cd610c57366004615b24565b600160209081526000928352604080842090915290825290205481565b610c87610c82366004615af4565b6139e0565b604051610512959493929190615c60565b6010546105b5906001600160a01b031681565b6106cd610cb9366004615b24565b613a45565b610506610ccc366004615af4565b613bd1565b6106cd610cdf366004615738565b600760209081526000928352604080842090915290825290205481565b610506610d0a36600461550c565b6001600160a01b03918216600090815260166020908152604080832093909416825291909152205460ff1690565b6106cd610d463660046159db565b613bf2565b600f546105b5906001600160a01b031681565b61058a610d6c366004615544565b613cdb565b6106cd60115481565b6105b5610d88366004615af4565b613d95565b6106cd610d9b366004615af4565b613ed8565b60006301ffc9a760e01b6001600160e01b031983161480610dda57506001600160e01b031982166000908152600e602052604090205460ff165b92915050565b60026000541415610e0c5760405162461bcd60e51b8152600401610e0390615e04565b60405180910390fd5b600260005580610e2e5760405162461bcd60e51b8152600401610e0390615de0565b6001600160a01b0384163314610e735760405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b6044820152606401610e03565b6000336040516331a9108f60e11b81526004810186905290915030906000908290636352211e9060240160206040518083038186803b158015610eb557600080fd5b505afa158015610ec9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eed91906154f0565b9050826001600160a01b0316816001600160a01b03161480610f8b575060405163e985e9c560e01b81526001600160a01b038281166004830152848116602483015283169063e985e9c59060440160206040518083038186803b158015610f5357600080fd5b505afa158015610f67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8b9190615889565b80611019575060405163020604bf60e21b8152600481018790526001600160a01b03808516919084169063081812fc9060240160206040518083038186803b158015610fd657600080fd5b505afa158015610fea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100e91906154f0565b6001600160a01b0316145b6110575760405162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b21039b832b73232b960891b6044820152606401610e03565b60405163f94d964560e01b815260048101879052600090309063f94d96459060240160206040518083038186803b15801561109157600080fd5b505afa1580156110a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c99190615b0c565b6000818152600360205260408120919250906110e59088613ee3565b6000898152600460205260408120919250906111019089613ee3565b90508115801561110f575080155b1561112e57600089815260046020526040902061112c9089613f05565b505b60008981526005602090815260408083206001600160a01b038c16845290915290205461115c908890615e3b565b60008a81526005602090815260408083206001600160a01b038d81168086529190935292819020939093559151636eb1769f60e11b8152918c166004830152306024830152899189919063dd62ed3e9060440160206040518083038186803b1580156111c757600080fd5b505afa1580156111db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ff9190615b0c565b10156112415760405162461bcd60e51b81526020600482015260116024820152704578636565647320616c6c6f77616e636560781b6044820152606401610e03565b6040516323b872dd60e01b81526001600160a01b038216906323b872dd90611271908e9030908d90600401615c9d565b602060405180830381600087803b15801561128b57600080fd5b505af115801561129f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c39190615889565b50886001600160a01b03168a8c6001600160a01b03167f684ce28ace37552c6bfb98b7cceda8ed55327078eafb5dfb31218e08563827638b60405161130a91815260200190565b60405180910390a450506001600055505050505050505050565b600061132f82612275565b9050806001600160a01b0316836001600160a01b031614156113875760405162461bcd60e51b815260206004820152601160248201527020b8383937bb32b21034b99037bbb732b960791b6044820152606401610e03565b336001600160a01b03821614806113a357506113a38133610d0a565b6113e05760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b2b73232b960911b6044820152606401610e03565b60008281526015602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050600d54600b546114729190615e53565b8160008151811061149357634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b6000816114b081613f1a565b60006114bb84613f7c565b9050835b81811015611500576000818152601360205260409020546001600160a01b03166114ee57600093505050611507565b806114f881615f21565b9150506114bf565b5060019250505b50919050565b6017602052600090815260409020805461152690615eec565b80601f016020809104026020016040519081016040528092919081815260200182805461155290615eec565b801561159f5780601f106115745761010080835404028352916020019161159f565b820191906000526020600020905b81548152906001019060200180831161158257829003601f168201915b505050505081565b6115af613fa1565b6001600160a01b0382166000818152600a6020526040808220805460ff191685151590811790915590519092917fdfa5cec27432e8fe2532605b253ac386bd4077525304d2920002754914bf967691a35050565b8461ffff16600061161382613914565b9050336001600160a01b03821614806116b857506008546001600160a01b03166380371cce82336040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b15801561168057600080fd5b505afa158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b89190615889565b6116d45760405162461bcd60e51b8152600401610e0390615db1565b6116e18761ffff166114a4565b156117205760405162461bcd60e51b815260206004820152600f60248201526e11591a5d1a5bdb881cdbdb191bdd5d608a1b6044820152606401610e03565b84801580159061172f57508084145b61176c5760405162461bcd60e51b815260206004820152600e60248201526d151bdad95b9cc81a5b9d985b1a5960921b6044820152606401610e03565b60005b818110156117f3576117e1338a61ffff168a8a858181106117a057634e487b7160e01b600052603260045260246000fd5b90506020020160208101906117b591906154d4565b8989868181106117d557634e487b7160e01b600052603260045260246000fd5b90506020020135614068565b806117eb81615f21565b91505061176f565b505050505050505050565b611809838383614236565b80826001600160a01b0316846001600160a01b0316600080516020615fa283398151915260405160405180910390a4505050565b611845613fa1565b601080546001600160a01b0319166001600160a01b0383169081179091556040517f70beb1cdf09716da857c2613f0b523263f85eed9bfd8328e141539f22a19102f90600090a250565b60008061189c8484614481565b915091505b9250929050565b6000816118b481613f1a565b60006118bf84613f7c565b9050835b81811015611905576000818152601360205260409020546001600160a01b0316156118f357600193505050611507565b806118fd81615f21565b9150506118c3565b506000949350505050565b60608161191c81613f1a565b6010546001600160a01b0316151580156119b4575060105460405163bedac0cf60e01b815260048101859052600060248201526001600160a01b039091169063bedac0cf9060440160206040518083038186803b15801561197c57600080fd5b505afa158015611990573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b49190615889565b15611a47576010546040516392cb829d60e01b815260048101859052600060248201526001600160a01b03909116906392cb829d9060440160006040518083038186803b158015611a0457600080fd5b505afa158015611a18573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a4091908101906158dd565b9150611507565b60008381526012602052604090206001018054611a6390615eec565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8f90615eec565b8015611adc5780601f10611ab157610100808354040283529160200191611adc565b820191906000526020600020905b815481529060010190602001808311611abf57829003601f168201915b5050505050915050919050565b6000818152601960205260408120548190819060ff1615611b3f5760405162461bcd60e51b815260206004820152601060248201526f11591a5d1a5bdb88191a5cd8589b195960821b6044820152606401610e03565b6000611b4a85611c91565b600086815260126020526040902054600f549192506001600160a01b03908116911615158015611bf15750600f5460405163d5fe110d60e01b8152600481018890526001600160a01b039091169063d5fe110d9060240160206040518083038186803b158015611bb957600080fd5b505afa158015611bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf19190615889565b15611c8257600f5460405163f7b3de6560e01b8152600481018890526000916001600160a01b03169063f7b3de659060240160206040518083038186803b158015611c3b57600080fd5b505afa158015611c4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7391906154f0565b9550909350909150611c8a9050565b935083925090505b9193909250565b600080611c9d83613f7c565b9050825b81811015611cde576000818152601360205260409020546001600160a01b0316611ccc579392505050565b80611cd681615f21565b915050611ca1565b5060405162461bcd60e51b8152602060048201526018602482015277141c9a5b585c9e481b585c9ad95d08195e1a185d5cdd195960421b6044820152606401610e03565b826000611d2e82613914565b9050336001600160a01b0382161480611dd357506008546001600160a01b03166380371cce82336040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015611d9b57600080fd5b505afa158015611daf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd39190615889565b611def5760405162461bcd60e51b8152600401610e0390615db1565b611df8856118a8565b158015611e9857506010546001600160a01b03161580611e98575060105460405163bedac0cf60e01b815260048101879052600060248201526001600160a01b039091169063bedac0cf9060440160206040518083038186803b158015611e5e57600080fd5b505afa158015611e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e969190615889565b155b611ed45760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420737461746560981b6044820152606401610e03565b6000858152601260205260409020611ef090600101858561532d565b5060405185907fb41767e61c97fccd387a45193f99763ad5f5db7e556a0c17d5e66a8d2abd9db390600090a25050505050565b611f2b613fa1565b600082815260096020526040808220805460ff19168415159081179091559051909184917f8696659f3303274562e992bc599cc86b06130b4c66bef55d2e6621bf1cf6da729190a35050565b611809838383604051806020016040528060008152506145f9565b611f9a613fa1565b60008111611fd45760405162461bcd60e51b81526020600482015260076024820152664973207a65726f60c81b6044820152606401610e03565b600d8190556040518181527f3d3461909d09e5e9b2d57490256d9446ec5d92d067b43aeb824d04d817932615906020015b60405180910390a150565b6000610dda826146f0565b60008060008061204861202d87614711565b6000908152601260205260409020546001600160a01b031690565b90506000806120578888614481565b9099939850965091945050505050565b61206f613fa1565b600b8190556040518181527f5905edf405227ac25471b2d65b4b1719c5d816af9e96875f051d9e1c246bf81490602001612005565b6120ac613fa1565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb90604401602060405180830381600087803b1580156120f657600080fd5b505af115801561210a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212e9190615889565b50505050565b6000828152600460205260408120819061214d9061472a565b90508083106121f45760405163f94d964560e01b815260048101859052600090309063f94d96459060240160206040518083038186803b15801561219057600080fd5b505afa1580156121a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c89190615b0c565b90506121eb6121d78386615e92565b600083815260036020526040902090614734565b92505050610dda565b600084815260046020526040902061220c9084614734565b949350505050565b6000818152601960205260408120548190819060ff161561226a5760405162461bcd60e51b815260206004820152601060248201526f11591a5d1a5bdb88191a5cd8589b195960821b6044820152606401610e03565b6000611b4a85612be4565b60008061228183614711565b9050600061228f8483614740565b90506001600160a01b0381166122b75760405162461bcd60e51b8152600401610e0390615d8a565b9392505050565b606060006122cb83614711565b6000818152601760205260409020805491925090611a6390615eec565b806122f281613f1a565b6000828152601260205260409020546001600160a01b03163381148061239c57506008546001600160a01b031663c395fcb3336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561236457600080fd5b505afa158015612378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239c9190615889565b6123e05760405162461bcd60e51b815260206004820152601560248201527427b7363c9031b932b0ba37b91037b91030b236b4b760591b6044820152606401610e03565b60008381526019602090815260409182902054825160ff90911615801582529181019190915284917f50a3d06e3a71433bb7d17b9ded744e9f5389ebc8cf7f85c49b53be512732e832910160405180910390a250506000908152601960205260409020805460ff19811660ff90911615179055565b600061245f6147ae565b61246b85858585614876565b95945050505050565b8280158015906124845750600082115b6124bf5760405162461bcd60e51b815260206004820152600c60248201526b456d7074792076616c75657360a01b6044820152606401610e03565b60006124cb8284615e53565b905060005b8281101561251c5761250a888888848181106124fc57634e487b7160e01b600052603260045260246000fd5b905060200201358785610de0565b8061251481615f21565b9150506124d0565b5050505050505050565b6000610dda82613f7c565b612539613fa1565b6001600160a01b03811663c395fcb3336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561258857600080fd5b505afa15801561259c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c09190615889565b6125fc5760405162461bcd60e51b815260206004820152600d60248201526c26bab9ba1031329030b236b4b760991b6044820152606401610e03565b6008546040516001600160a01b038084169216907facd428448d30f3fadee1e7d643a28cfee0ec86aef546e1cfc717d844b99eedf290600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160a01b0382166126805760405162461bcd60e51b8152600401610e0390615d8a565b506001600160a01b031660009081526014602052604090205490565b6126a4613fa1565b600081116126de5760405162461bcd60e51b81526020600482015260076024820152664973207a65726f60c81b6044820152606401610e03565b600c8190556040518181527f0974c11e488a74018e3da44e0750b7d0ec99a431c45f79a6110d722b823d0af090602001612005565b6000610dda61202d83614711565b83801580159061273057508082145b61276b5760405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a59081b1a5cdd60a21b6044820152606401610e03565b8360005b8281101561251c57600088888381811061279957634e487b7160e01b600052603260045260246000fd5b90506020020135905060008686848181106127c457634e487b7160e01b600052603260045260246000fd5b905060200201359050836001600160a01b0316636352211e826040518263ffffffff1660e01b81526004016127fb91815260200190565b60206040518083038186803b15801561281357600080fd5b505afa158015612827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061284b91906154f0565b6040516331a9108f60e11b8152600481018490526001600160a01b0391909116903090636352211e9060240160206040518083038186803b15801561288f57600080fd5b505afa1580156128a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c791906154f0565b6001600160a01b03161461290e5760405162461bcd60e51b815260206004820152600e60248201526d09eeedccae440dad2e6dac2e8c6d60931b6044820152606401610e03565b6040805180820182526001600160a01b038a81168083526020808401868152600088815260068352868120955186546001600160a01b031916908616178655905160019095019490945590835260078152838320858452905291902083905584166323b872dd3330846040518463ffffffff1660e01b815260040161299593929190615c9d565b600060405180830381600087803b1580156129af57600080fd5b505af11580156129c3573d6000803e3d6000fd5b50505050876001600160a01b0316826129d93390565b6001600160a01b03167f0371ddf2288ad1ba92626a7e31c86a9d006e592cfe57d7d946ef08b13457c08b84604051612a1391815260200190565b60405180910390a450508080612a2890615f21565b91505061276f565b6000612a3a6147ae565b60008561ffff16118015612a5457506103e861ffff861611155b612a8f5760405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642073697a6560a01b6044820152606401610e03565b6000612a99614a21565b6001600160a01b038616600090815260146020526040902054909150612ac49061ffff881690615e3b565b6001600160a01b03861660008181526014602090815260409182902093909355805160608101825291825261ffff8916828401528051601f87018490048402810184018252868152919290830191908790879081908401838280828437600092018290525093909452505083815260126020908152604091829020845181548684015161ffff16600160a01b026001600160b01b03199091166001600160a01b0390921691909117178155918401518051929350612b8b92600185019291909101906153b1565b5050506001600160a01b0385166000827fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d612bca61ffff8b1683615e3b565b60405190815260200160405180910390a495945050505050565b6000806001612bf284613f7c565b612bfc9190615e92565b90505b828110612c3a576000818152601360205260409020546001600160a01b0316612c285792915050565b80612c3281615ed5565b915050612bff565b60405162461bcd60e51b8152602060048201526018602482015277141c9a5b585c9e481b585c9ad95d08195e1a185d5cdd195960421b6044820152606401610e03565b60026000541415612ca05760405162461bcd60e51b8152600401610e0390615e04565b6002600055612cb184848484614a3e565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526024820183905283169063a9059cbb90604401602060405180830381600087803b158015612cfb57600080fd5b505af1158015612d0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d339190615889565b50816001600160a01b0316836001600160a01b0316857fa8352277873fc0d2b233b8127433da351a4164fa701ed6ff79655694222932c484604051612d7a91815260200190565b60405180910390a4505060016000555050565b6000818152601760205260409020805460609190612daa90615eec565b80601f0160208091040260200160405190810160405280929190818152602001828054612dd690615eec565b8015612e235780601f10612df857610100808354040283529160200191612e23565b820191906000526020600020905b815481529060010190602001808311612e0657829003601f168201915b50505050509050919050565b6000818152601860205260409020805460609190612daa90615eec565b6018602052600090815260409020805461152690615eec565b336040516331a9108f60e11b8152600481018490526001600160a01b0391909116903090636352211e9060240160206040518083038186803b158015612eaa57600080fd5b505afa158015612ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ee291906154f0565b6001600160a01b031614612f2a5760405162461bcd60e51b815260206004820152600f60248201526e27b7363c9025a7a2209037bbb732b960891b6044820152606401610e03565b600082815260066020908152604080832080546001820180546001600160a01b031983169093558590556001600160a01b03168085526007845282852082865290935281842093909355516323b872dd60e01b815290919082906323b872dd90612f9c90309087908690600401615c9d565b600060405180830381600087803b158015612fb657600080fd5b505af1158015612fca573d6000803e3d6000fd5b50505050816001600160a01b0316836001600160a01b0316857f0ef52e516fb5aec15a5d3587e5480481b702b26db93c8430eca78b61990fd3f68460405161301491815260200190565b60405180910390a450505050565b60608161302e81613f1a565b600061303984613f7c565b90506000845b82811015613083576000818152601360205260409020546001600160a01b03166130715761306e600183615e3b565b91505b8061307b81615f21565b91505061303f565b5060008167ffffffffffffffff8111156130ad57634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156130d6578160200160208202803683370190505b5090506000865b8481101561314d576000818152601360205260409020546001600160a01b031661313b578083838151811061312257634e487b7160e01b600052603260045260246000fd5b6020908102919091010152613138600183615e3b565b91505b8061314581615f21565b9150506130dd565b50909695505050505050565b3360008181526016602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6131ce83612275565b6001600160a01b0316336001600160a01b0316148061327157506008546001600160a01b0316638c481207336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561323957600080fd5b505afa15801561324d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132719190615889565b6132ae5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21031b0b63632b960911b6044820152606401610e03565b600083815260186020526040902080546132c790615eec565b1590506133045760405162461bcd60e51b815260206004820152600b60248201526a105b1c9958591e481cd95d60aa1b6044820152606401610e03565b600083815260186020526040902061331d90838361532d565b5060405183907fea825e1799356b6d4ce9100c95086e41495d0095df0ccb481e2f2506e64c0e5d90600090a2505050565b82600061335a82613914565b9050336001600160a01b03821614806133ff57506008546001600160a01b03166380371cce82336040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b1580156133c757600080fd5b505afa1580156133db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133ff9190615889565b61341b5760405162461bcd60e51b8152600401610e0390615db1565b6000858152601760205260409020805461343490615eec565b1590506134715760405162461bcd60e51b815260206004820152600b60248201526a105b1c9958591e481cd95d60aa1b6044820152606401610e03565b600085815260176020526040902061348a90858561532d565b5060405185907f7693ab710e3d7b6c45f8b6417230965b0516a9b13773ec6785d245ff4e1367fe90600090a25050505050565b60405163f94d964560e01b8152600481018290526000908190309063f94d96459060240160206040518083038186803b1580156134f957600080fd5b505afa15801561350d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135319190615b0c565b600081815260036020526040902090915061354b9061472a565b60008481526004602052604090206135629061472a565b6122b79190615e3b565b613574613fa1565b600f80546001600160a01b0319166001600160a01b0383169081179091556040517f1a5ef0de3944182af90c76840e17d5295e891a222b7122cbfcf2687f0292581e90600090a250565b6000601260006135cd84614711565b8152602081019190915260400160002054600160a01b900461ffff1692915050565b815b81811161362557613613858583604051806020016040528060008152506145f9565b8061361d81615f21565b9150506135f1565b50826001600160a01b0316846001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d8460405161301491815260200190565b6136ae85858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506145f992505050565b82846001600160a01b0316866001600160a01b0316600080516020615fa283398151915260405160405180910390a45050505050565b604080516001808252818301909252606091600091906020808301908036833701905050905061371383613d95565b8160008151811061373457634e487b7160e01b600052603260045260246000fd5b6001600160a01b039092166020928302919091019091015292915050565b600081815260126020526040812054600160a01b900461ffff161515610dda565b606061377e826146f0565b6137c15760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401610e03565b60006137cc83614711565b90506137e26010546001600160a01b0316151590565b801561386c575060105460405163bedac0cf60e01b815260048101839052602481018590526001600160a01b039091169063bedac0cf9060440160206040518083038186803b15801561383457600080fd5b505afa158015613848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061386c9190615889565b156138f8576010546040516392cb829d60e01b815260048101839052602481018590526001600160a01b03909116906392cb829d9060440160006040518083038186803b1580156138bc57600080fd5b505afa1580156138d0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122b791908101906158dd565b60008181526012602052604090206001018054611a6390615eec565b6000818152601260205260408120546001600160a01b0316610dda565b60008161393d81613f1a565b600f546001600160a01b0316151580156139ce5750600f5460405163d5fe110d60e01b8152600481018590526001600160a01b039091169063d5fe110d9060240160206040518083038186803b15801561399657600080fd5b505afa1580156139aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139ce9190615889565b806122b7575050600b54151592915050565b600080600080606060006139f387614711565b60008181526012602052604090208054919250906001600160a01b0316613a1a8984614740565b8254600160a01b900461ffff1684613a318c613773565b939c929b5090995097509095509350505050565b60405163f94d964560e01b81526004810183905260009030908290829063f94d96459060240160206040518083038186803b158015613a8357600080fd5b505afa158015613a97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613abb9190615b0c565b60008181526001602090815260408083206001600160a01b03898116855292528083205490516346c8e19d60e11b8152600481018590529394509290851690638d91c33a9060240160206040518083038186803b158015613b1b57600080fd5b505afa158015613b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b539190615b0c565b613b5d9083615e53565b60008481526002602090815260408083206001600160a01b038b16845282528083208b8452909152902054909150613b958183615e92565b60008981526005602090815260408083206001600160a01b038c168452909152902054909250613bc59083615e3b565b98975050505050505050565b60008181526019602052604081205460ff1680610dda5750610dda826114a4565b6000613bfc6147ae565b838015801590613c0b57508083145b613c485760405162461bcd60e51b815260206004820152600e60248201526d151bdad95b9cc81a5b9d985b1a5960921b6044820152606401610e03565b613c548a8a8a8a614876565b915060005b81811015613ccd57613cbb8a84898985818110613c8657634e487b7160e01b600052603260045260246000fd5b9050602002016020810190613c9b91906154d4565b8888868181106117d557634e487b7160e01b600052603260045260246000fd5b80613cc581615f21565b915050613c59565b505098975050505050505050565b60005b81811015613d8e57613d278585858585818110613d0b57634e487b7160e01b600052603260045260246000fd5b90506020020135604051806020016040528060008152506145f9565b828282818110613d4757634e487b7160e01b600052603260045260246000fd5b90506020020135846001600160a01b0316866001600160a01b0316600080516020615fa283398151915260405160405180910390a480613d8681615f21565b915050613cde565b5050505050565b600080613da183614711565b9050613db7600f546001600160a01b0316151590565b8015613e3a5750600f5460405163d5fe110d60e01b8152600481018390526001600160a01b039091169063d5fe110d9060240160206040518083038186803b158015613e0257600080fd5b505afa158015613e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3a9190615889565b15613ebb57600f5460405163f7b3de6560e01b8152600481018390526001600160a01b039091169063f7b3de659060240160206040518083038186803b158015613e8357600080fd5b505afa158015613e97573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b791906154f0565b6000818152601260205260409020546001600160a01b03166122b7565b6000610dda82614711565b6001600160a01b038116600090815260018301602052604081205415156122b7565b60006122b7836001600160a01b038416615179565b600081815260126020526040902054600160a01b900461ffff16613f795760405162461bcd60e51b815260206004820152601660248201527511591a5d1a5bdb88191bd95cc81b9bdd08195e1a5cdd60521b6044820152606401610e03565b50565b600081815260126020526040812054610dda908390600160a01b900461ffff16615e3b565b6008546001600160a01b031663c395fcb3336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b158015613ff257600080fd5b505afa158015614006573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061402a9190615889565b6140665760405162461bcd60e51b815260206004820152600d60248201526c26bab9ba1031329030b236b4b760991b6044820152606401610e03565b565b6002600054141561408b5760405162461bcd60e51b8152600401610e0390615e04565b6002600055806140ad5760405162461bcd60e51b8152600401610e0390615de0565b60008381526003602052604090206140c59083613ee3565b1561410b5760405162461bcd60e51b8152602060048201526016602482015275045646974696f6e20636f6e7461696e732045524332360541b6044820152606401610e03565b60008381526003602052604090206141239083613f05565b5060008381526001602090815260408083206001600160a01b0386168452909152902054614152908290615e3b565b60008481526001602090815260408083206001600160a01b03871680855292529182902092909255516323b872dd60e01b81526323b872dd9061419d90879030908690600401615c9d565b602060405180830381600087803b1580156141b757600080fd5b505af11580156141cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141ef9190615889565b50816001600160a01b031683856001600160a01b03167ffef82d7cd5d3dada99d825e0473c369efb179e0f730d85ff83a720f8ac95cf9484604051612d7a91815260200190565b6001600160a01b0382166142815760405162461bcd60e51b8152602060048201526012602482015271496e76616c696420746f206164647265737360701b6044820152606401610e03565b60006142958261429084614711565b614740565b90506001600160a01b0381166142bd5760405162461bcd60e51b8152600401610e0390615d8a565b806001600160a01b0316846001600160a01b03161461430f5760405162461bcd60e51b815260206004820152600e60248201526d09eeedccae440dad2e6dac2e8c6d60931b6044820152606401610e03565b60008281526015602052604090205433906001600160a01b0390811690831682148061436057506001600160a01b0380841660009081526016602090815260408083209386168352929052205460ff165b8061437c5750816001600160a01b0316816001600160a01b0316145b6143ba5760405162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b21039b832b73232b960891b6044820152606401610e03565b6001600160a01b038116156143e657600084815260156020526040902080546001600160a01b03191690555b600084815260136020908152604080832080546001600160a01b0319166001600160a01b038a81169190911790915589168352601490915290205461442d90600190615e92565b6001600160a01b03808816600090815260146020526040808220939093559087168152205461445d906001615e3b565b6001600160a01b039095166000908152601460205260409020949094555050505050565b600080600061448f85614711565b90506144a5600f546001600160a01b0316151590565b80156145285750600f5460405163d5fe110d60e01b8152600481018390526001600160a01b039091169063d5fe110d9060240160206040518083038186803b1580156144f057600080fd5b505afa158015614504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145289190615889565b156145b957600f5460405163152a902d60e11b815260048101839052602481018690526001600160a01b0390911690632a55205a90604401604080518083038186803b15801561457757600080fd5b505afa15801561458b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145af9190615763565b90935091506145f1565b6000818152601260205260409020546001600160a01b03169250600b54600c54856145e49190615e53565b6145ee9190615e73565b91505b509250929050565b614604848484614236565b823b8015613d8e57604051630a85bd0160e11b81526000906001600160a01b0386169063150b7a02906146419033908a9089908990600401615cc1565b602060405180830381600087803b15801561465b57600080fd5b505af115801561466f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061469391906158c1565b90506001600160e01b03198116630a85bd0160e11b146146e85760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21039b2b632b1ba37b960811b6044820152606401610e03565b505050505050565b6000806147008361429081614711565b6001600160a01b0316141592915050565b60006103e86147208184615e53565b610dda9190615e73565b6000610dda825490565b60006122b783836151c8565b6000828152601360205260408120546001600160a01b03168015614765579050610dda565b6000838152601260205260409020546001600160a01b031680158015906147a0575084600161479386613f7c565b61479d9190615e92565b10155b15611905579150610dda9050565b6008546001600160a01b0316638c481207336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b1580156147ff57600080fd5b505afa158015614813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148379190615889565b6140665760405162461bcd60e51b815260206004820152601060248201526f135d5cdd0818994818dbdb9d1c9858dd60821b6044820152606401610e03565b6000808561ffff1611801561489157506103e861ffff861611155b6148cc5760405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642073697a6560a01b6044820152606401610e03565b60006148d6614a21565b6001600160a01b0386166000908152601460205260409020549091506149019061ffff881690615e3b565b6001600160a01b03861660008181526014602090815260409182902093909355805160608101825291825261ffff8916828401528051601f87018490048402810184018252868152919290830191908790879081908401838280828437600092018290525093909452505083815260126020908152604091829020845181548684015161ffff16600160a01b026001600160b01b03199091166001600160a01b03909216919091171781559184015180519293506149c892600185019291909101906153b1565b50600091506149dd905061ffff881683615e3b565b9050815b8181101561314d5760405181906001600160a01b03891690600090600080516020615fa2833981519152908290a480614a1981615f21565b9150506149e1565b601154600090614a34906103e890615e3b565b6011819055919050565b60008111614a5e5760405162461bcd60e51b8152600401610e0390615de0565b6001600160a01b038316614aa35760405162461bcd60e51b815260206004820152600c60248201526b5a65726f206164647265737360a01b6044820152606401610e03565b6040516331a9108f60e11b81526004810185905230906000908290636352211e9060240160206040518083038186803b158015614adf57600080fd5b505afa158015614af3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b1791906154f0565b90506001600160a01b038116331480614bba57506001600160a01b03821663e985e9c582336040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015614b8257600080fd5b505afa158015614b96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614bba9190615889565b80614c4857503360405163020604bf60e21b8152600481018890526001600160a01b039182169184169063081812fc9060240160206040518083038186803b158015614c0557600080fd5b505afa158015614c19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c3d91906154f0565b6001600160a01b0316145b614c805760405162461bcd60e51b81526020600482015260096024820152682737ba1037bbb732b960b91b6044820152606401610e03565b50506000848152600460205260408120614c9a9084613ee3565b60405163f94d964560e01b8152600481018790529091503090600090829063f94d96459060240160206040518083038186803b158015614cd957600080fd5b505afa158015614ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d119190615b0c565b600081815260036020526040812091925090614d2d9087613ee3565b90508380614d385750805b614d745760405162461bcd60e51b815260206004820152600d60248201526c04e6f207375636820455243323609c1b6044820152606401610e03565b84614d7f8988613a45565b1015614dbf5760405162461bcd60e51b815260206004820152600f60248201526e457863656564732062616c616e636560881b6044820152606401610e03565b6040516346c8e19d60e11b8152600481018390526000906001600160a01b03851690638d91c33a9060240160206040518083038186803b158015614e0257600080fd5b505afa158015614e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e3a9190615b0c565b60008481526001602090815260408083206001600160a01b038c16845290915281205491925090614e6c908390615e53565b60008581526002602090815260408083206001600160a01b038d16845282528083208e8452909152812054919250614ea48284615e92565b9050888110614f0757614eb78983615e3b565b6002600088815260200190815260200160002060008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008e815260200190815260200160002081905550615069565b60008c81526005602090815260408083206001600160a01b038e1684529091529020548911614f865760008c81526005602090815260408083206001600160a01b038e168452909152902054614f5e908a90615e92565b60008d81526005602090815260408083206001600160a01b038f168452909152902055615069565b614f908183615e3b565b6002600088815260200190815260200160002060008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008e8152602001908152602001600020819055506000818a614fe99190615e92565b905080600560008f815260200190815260200160002060008d6001600160a01b03166001600160a01b031681526020019081526020016000205461502d9190615e92565b600560008f815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002081905550505b878015615096575060008c81526005602090815260408083206001600160a01b038e168452909152902054155b156150b55760008c81526004602052604090206150b3908b615200565b505b841561516b576000805b85811015615149576000600260008a815260200190815260200160002060008e6001600160a01b03166001600160a01b031681526020019081526020016000206000838b61510d9190615e3b565b815260200190815260200160002054866151279190615e92565b90506151338184615e3b565b925050808061514190615f21565b9150506150bf565b5080615169576000878152600360205260409020615167908c615200565b505b505b505050505050505050505050565b60008181526001830160205260408120546151c057508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610dda565b506000610dda565b60008260000182815481106151ed57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b60006122b7836001600160a01b03841660008181526001830160205260408120548015615323576000615234600183615e92565b855490915060009061524890600190615e92565b90508181146152c957600086600001828154811061527657634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050808760000184815481106152a757634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b85548690806152e857634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610dda565b6000915050610dda565b82805461533990615eec565b90600052602060002090601f01602090048101928261535b57600085556153a1565b82601f106153745782800160ff198235161785556153a1565b828001600101855582156153a1579182015b828111156153a1578235825591602001919060010190615386565b506153ad929150615425565b5090565b8280546153bd90615eec565b90600052602060002090601f0160209004810192826153df57600085556153a1565b82601f106153f857805160ff19168380011785556153a1565b828001600101855582156153a1579182015b828111156153a157825182559160200191906001019061540a565b5b808211156153ad5760008155600101615426565b60008083601f84011261544b578081fd5b50813567ffffffffffffffff811115615462578182fd5b6020830191508360208260051b85010111156118a157600080fd5b60008083601f84011261548e578182fd5b50813567ffffffffffffffff8111156154a5578182fd5b6020830191508360208285010111156118a157600080fd5b803561ffff811681146154cf57600080fd5b919050565b6000602082840312156154e5578081fd5b81356122b781615f68565b600060208284031215615501578081fd5b81516122b781615f68565b6000806040838503121561551e578081fd5b823561552981615f68565b9150602083013561553981615f68565b809150509250929050565b60008060008060608587031215615559578182fd5b843561556481615f68565b9350602085013561557481615f68565b9250604085013567ffffffffffffffff81111561558f578283fd5b61559b8782880161543a565b95989497509550505050565b6000806000606084860312156155bb578283fd5b83356155c681615f68565b925060208401356155d681615f68565b929592945050506040919091013590565b6000806000806000608086880312156155fe578081fd5b853561560981615f68565b9450602086013561561981615f68565b935060408601359250606086013567ffffffffffffffff81111561563b578182fd5b6156478882890161547d565b969995985093965092949392505050565b6000806000806080858703121561566d578384fd5b843561567881615f68565b9350602085013561568881615f68565b93969395505050506040820135916060013590565b6000806000806000608086880312156156b4578283fd5b85356156bf81615f68565b9450602086013567ffffffffffffffff8111156156da578384fd5b6156e68882890161543a565b90955093505060408601356156fa81615f68565b949793965091946060013592915050565b6000806040838503121561571d578182fd5b823561572881615f68565b9150602083013561553981615f7d565b6000806040838503121561574a578182fd5b823561575581615f68565b946020939093013593505050565b60008060408385031215615775578182fd5b825161578081615f68565b6020939093015192949293505050565b6000806000606084860312156157a4578081fd5b83356157af81615f68565b92506020840135915060408401356157c681615f68565b809150509250925092565b600080600080608085870312156157e6578182fd5b84356157f181615f68565b935060208501359250604085013561580881615f68565b9396929550929360600135925050565b60008060008060006060868803121561582f578283fd5b853567ffffffffffffffff80821115615846578485fd5b61585289838a0161543a565b90975095506020880135915061586782615f68565b9093506040870135908082111561587c578283fd5b506156478882890161543a565b60006020828403121561589a578081fd5b81516122b781615f7d565b6000602082840312156158b6578081fd5b81356122b781615f8b565b6000602082840312156158d2578081fd5b81516122b781615f8b565b6000602082840312156158ee578081fd5b815167ffffffffffffffff80821115615905578283fd5b818401915084601f830112615918578283fd5b81518181111561592a5761592a615f52565b604051601f8201601f19908116603f0116810190838211818310171561595257615952615f52565b8160405282815287602084870101111561596a578586fd5b61597b836020830160208801615ea9565b979650505050505050565b6000806000806060858703121561599b578182fd5b6159a4856154bd565b935060208501356159b481615f68565b9250604085013567ffffffffffffffff8111156159cf578283fd5b61559b8782880161547d565b60008060008060008060008060a0898b0312156159f6578586fd5b6159ff896154bd565b97506020890135615a0f81615f68565b9650604089013567ffffffffffffffff80821115615a2b578788fd5b615a378c838d0161547d565b909850965060608b0135915080821115615a4f578485fd5b615a5b8c838d0161543a565b909650945060808b0135915080821115615a73578384fd5b50615a808b828c0161543a565b999c989b5096995094979396929594505050565b600080600080600060608688031215615aab578283fd5b615ab4866154bd565b9450602086013567ffffffffffffffff80821115615ad0578485fd5b615adc89838a0161543a565b9096509450604088013591508082111561587c578283fd5b600060208284031215615b05578081fd5b5035919050565b600060208284031215615b1d578081fd5b5051919050565b60008060408385031215615b36578182fd5b82359150602083013561553981615f68565b60008060008060808587031215615b5d578182fd5b843593506020850135615b6f81615f68565b9250604085013561580881615f68565b600080600060608486031215615b93578081fd5b8335925060208401356155d681615f68565b60008060408385031215615bb7578182fd5b82359150602083013561553981615f7d565b600080600060408486031215615bdd578081fd5b83359250602084013567ffffffffffffffff811115615bfa578182fd5b615c068682870161547d565b9497909650939450505050565b60008060408385031215615c25578182fd5b50508035926020909101359150565b60008151808452615c4c816020860160208601615ea9565b601f01601f19169290920160200192915050565b6001600160a01b0386811682528516602082015261ffff841660408201526060810183905260a06080820181905260009061597b90830184615c34565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615cf490830184615c34565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561314d5783516001600160a01b031683529284019291840191600101615d1a565b6020808252825182820181905260009190848201906040850190845b8181101561314d57835183529284019291840191600101615d5b565b6020815260006122b76020830184615c34565b6020808252600d908201526c24b73b30b634b21037bbb732b960991b604082015260600190565b6020808252601590820152744f6e6c792063726561746f72206f722070726f787960581b604082015260600190565b6020808252600a908201526956616c7565207a65726f60b01b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60008219821115615e4e57615e4e615f3c565b500190565b600082615e6e57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615615e8d57615e8d615f3c565b500290565b600082821015615ea457615ea4615f3c565b500390565b60005b83811015615ec4578181015183820152602001615eac565b8381111561212e5750506000910152565b600081615ee457615ee4615f3c565b506000190190565b600181811c90821680615f0057607f821691505b6020821081141561150757634e487b7160e01b600052602260045260246000fd5b6000600019821415615f3557615f35615f3c565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114613f7957600080fd5b8015158114613f7957600080fd5b6001600160e01b031981168114613f7957600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205712aba8ff8bcb06b189f5b71d437e5dcf339bf4f383c556b796b346234366d864736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009028b16494a9363f3eaaf381a6fde67296abc68c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3500
-----Decoded View---------------
Arg [0] : _accessControls (address): 0x9028b16494a9363F3EAaf381a6Fde67296abc68C
Arg [1] : _royaltiesRegistryProxy (address): 0x0000000000000000000000000000000000000000
Arg [2] : _editionPointer (uint256): 800000
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000009028b16494a9363f3eaaf381a6fde67296abc68c
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [2] : 00000000000000000000000000000000000000000000000000000000000c3500
Deployed Bytecode Sourcemap
58978:33971:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2405:190;;;;;;:::i;:::-;;:::i;:::-;;;20384:14:1;;20377:22;20359:41;;20347:2;20332:18;2405:190:0;;;;;;;;74568:131;74654:22;;-1:-1:-1;;;;;74654:22:0;74646:45;;74568:131;;60225:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;45327:1405::-;;;;;;:::i;:::-;;:::i;:::-;;89093:122;;;;;;:::i;:::-;89162:7;89188:19;;;:9;:19;;;;;;-1:-1:-1;;;;;89188:19:0;;89093:122;;;;-1:-1:-1;;;;;16814:32:1;;;16796:51;;16784:2;16769:18;89093:122:0;16751:102:1;87240:377:0;;;;;;:::i;:::-;;:::i;75108:259::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;80341:480::-;;;;;;:::i;:::-;;:::i;61667:55::-;;;;;;:::i;:::-;;:::i;51824:59::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;51824:59:0;;;;;;;;;;-1:-1:-1;;;;;18810:32:1;;;18792:51;;18874:2;18859:18;;18852:34;;;;18765:18;51824:59:0;18747:145:1;56930:206:0;;;;;;:::i;:::-;;:::i;91393:520::-;;;;;;:::i;:::-;;:::i;83896:215::-;;;;;;:::i;:::-;;:::i;91090:206::-;;;;;;:::i;:::-;;:::i;56361:33::-;;;;;;;;;33651:25:1;;;33639:2;33624:18;56361:33:0;33606:76:1;73191:206:0;;;;;;:::i;:::-;;:::i;56564:39::-;;;;;;79792:480;;;;;;:::i;:::-;;:::i;66443:456::-;;;;;;:::i;:::-;;:::i;76732:673::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;77515:503::-;;;;;;:::i;:::-;;:::i;65624:427::-;;;;;;:::i;:::-;;:::i;56724:198::-;;;;;;:::i;:::-;;:::i;82396:234::-;;;;;;:::i;:::-;;:::i;57144:252::-;;;;;;:::i;:::-;;:::i;71358:113::-;;;;;;:::i;:::-;;:::i;73498:420::-;;;;;;:::i;:::-;;:::i;56151:54::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;57587:209;;;;;;:::i;:::-;;:::i;60396:36::-;;;;;;;;;;;;;;;-1:-1:-1;;;60396:36:0;;;;;43480:68;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;58210:192;;;;;;:::i;:::-;;:::i;68925:148::-;;;;;;:::i;:::-;69009:4;69033:32;;;:20;:32;;;;;;;;;68925:148;47686:477;;;;;;:::i;:::-;;:::i;78809:679::-;;;;;;:::i;:::-;;:::i;85668:277::-;;;;;;:::i;:::-;;:::i;56248:46::-;;;;;;68128:215;;;;;;:::i;:::-;;:::i;69430:532::-;;;;;;:::i;:::-;;:::i;62830:228::-;;;;;;:::i;:::-;;:::i;54356:46::-;;54398:4;54356:46;;;;;33486:6:1;33474:19;;;33456:38;;33444:2;33429:18;54356:46:0;33411:89:1;44784:443:0;;;;;;:::i;:::-;;:::i;71725:155::-;;;;;;:::i;:::-;;:::i;57804:292::-;;;;;;:::i;:::-;;:::i;88641:175::-;;;;;;:::i;:::-;;:::i;61970:52::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;57404:175;;;;;;:::i;:::-;;:::i;55864:45::-;;;;;-1:-1:-1;;;;;55864:45:0;;;70218:178;;;;;;:::i;:::-;;:::i;67495:126::-;67582:16;;-1:-1:-1;;;;;67582:16:0;67574:39;;67495:126;;79584:141;;;;;;:::i;:::-;79663:4;79687:16;;;:6;:16;;;;;;-1:-1:-1;;;;;79687:16:0;:30;;;79584:141;52446:1000;;;;;;:::i;:::-;;:::i;64690:806::-;;;;;;:::i;:::-;;:::i;78151:528::-;;;;;;:::i;:::-;;:::i;44350:335::-;;;;;;:::i;:::-;;:::i;67688:150::-;;;;;;:::i;:::-;;:::i;67902:142::-;;;;;;:::i;:::-;;:::i;61840:53::-;;;;;;:::i;:::-;;:::i;70639:155::-;;;;;;:::i;:::-;70715:13;70748:26;;;:14;:26;;;;;:38;-1:-1:-1;;;70748:38:0;;;;;70639:155;53594:600;;;;;;:::i;:::-;;:::i;60319:38::-;;;;;;;;;;;;;;;-1:-1:-1;;;60319:38:0;;;;;75579:1049;;;;;;:::i;:::-;;:::i;88031:269::-;;;;;;:::i;:::-;;:::i;92506:440::-;;;;;;:::i;:::-;;:::i;92044:331::-;;;;;;:::i;:::-;;:::i;43038:107::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47399:279;;;;;;:::i;:::-;;:::i;90849:233::-;;;;;;:::i;:::-;;:::i;70802:177::-;;;;;;:::i;:::-;;:::i;90429:329::-;;;;;;:::i;:::-;;:::i;81773:252::-;;;;;;:::i;:::-;;:::i;74814:286::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;56020:50::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;71070:131;;;;;;:::i;:::-;;:::i;66985:423::-;;;;;;:::i;:::-;;:::i;70047:163::-;;;;;;:::i;:::-;;:::i;73926:245::-;;;;;;:::i;:::-;;:::i;42864:80::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;68351:502;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;60560:41::-;;;;;-1:-1:-1;;;;;60560:41:0;;;43636:655;;;;;;:::i;:::-;;:::i;69173:182::-;;;;;;:::i;:::-;;:::i;51959:78::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;89522:158;;;;;;:::i;:::-;-1:-1:-1;;;;;89636:25:0;;;89613:4;89636:25;;;:17;:25;;;;;;;;:36;;;;;;;;;;;;;;;89522:158;63163:636;;;;;;:::i;:::-;;:::i;60477:38::-;;;;;-1:-1:-1;;;;;60477:38:0;;;89889:292;;;;;;:::i;:::-;;:::i;60650:29::-;;;;;;74179:381;;;;;;:::i;:::-;;:::i;72132:152::-;;;;;;:::i;:::-;;:::i;2405:190::-;2490:4;-1:-1:-1;;;;;;;;;1787:40:0;;;2514:73;;;-1:-1:-1;;;;;;;2554:33:0;;;;;;:20;:33;;;;;;;;2514:73;2507:80;2405:190;-1:-1:-1;;2405:190:0:o;45327:1405::-;34394:1;34990:7;;:19;;34982:63;;;;-1:-1:-1;;;34982:63:0;;;;;;;:::i;:::-;;;;;;;;;34394:1;35123:7;:18;45466:10;45458:33:::1;;;;-1:-1:-1::0;;;45458:33:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;45510:21:0;::::1;36043:10:::0;45510:21:::1;45502:44;;;::::0;-1:-1:-1;;;45502:44:0;;22830:2:1;45502:44:0::1;::::0;::::1;22812:21:1::0;22869:2;22849:18;;;22842:30;-1:-1:-1;;;22888:18:1;;;22881:40;22938:18;;45502:44:0::1;22802:160:1::0;45502:44:0::1;45559:15;36043:10:::0;45666:22:::1;::::0;-1:-1:-1;;;45666:22:0;;::::1;::::0;::::1;33651:25:1::0;;;45559:30:0;;-1:-1:-1;45631:4:0::1;::::0;45600:12:::1;::::0;45631:4;;45666:12:::1;::::0;33624:18:1;;45666:22:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;45650:38;;45730:7;-1:-1:-1::0;;;;;45721:16:0::1;:5;-1:-1:-1::0;;;;;45721:16:0::1;;:57;;;-1:-1:-1::0;45741:37:0::1;::::0;-1:-1:-1;;;45741:37:0;;-1:-1:-1;;;;;17088:15:1;;;45741:37:0::1;::::0;::::1;17070:34:1::0;17140:15;;;17120:18;;;17113:43;45741:21:0;::::1;::::0;::::1;::::0;17005:18:1;;45741:37:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;45721:98;;;-1:-1:-1::0;45782:26:0::1;::::0;-1:-1:-1;;;45782:26:0;;::::1;::::0;::::1;33651:25:1::0;;;-1:-1:-1;;;;;45782:37:0;;::::1;::::0;:16;;::::1;::::0;::::1;::::0;33624:18:1;;45782:26:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;45782:37:0::1;;45721:98;45699:163;;;::::0;-1:-1:-1;;;45699:163:0;;33170:2:1;45699:163:0::1;::::0;::::1;33152:21:1::0;33209:2;33189:18;;;33182:30;-1:-1:-1;;;33228:18:1;;;33221:45;33283:18;;45699:163:0::1;33142:165:1::0;45699:163:0::1;45895:52;::::0;-1:-1:-1;;;45895:52:0;;::::1;::::0;::::1;33651:25:1::0;;;45875:17:0::1;::::0;45911:4:::1;::::0;45895:42:::1;::::0;33624:18:1;;45895:52:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;45958:32;45993:34:::0;;;:23:::1;:34;::::0;;;;45875:72;;-1:-1:-1;45958:32:0;45993:59:::1;::::0;46037:14;45993:43:::1;:59::i;:::-;46063:28;46094:29:::0;;;:19:::1;:29;::::0;;;;45958:94;;-1:-1:-1;46063:28:0;46094:54:::1;::::0;46133:14;46094:38:::1;:54::i;:::-;46063:85;;46218:27;46217:28;:56;;;;;46250:23;46249:24;46217:56;46213:138;;;46290:29;::::0;;;:19:::1;:29;::::0;;;;:49:::1;::::0;46324:14;46290:33:::1;:49::i;:::-;;46213:138;46405:23;::::0;;;:13:::1;:23;::::0;;;;;;;-1:-1:-1;;;;;46405:39:0;::::1;::::0;;;;;;;;:48:::1;::::0;46447:6;;46405:48:::1;:::i;:::-;46363:23;::::0;;;:13:::1;:23;::::0;;;;;;;-1:-1:-1;;;;;46363:39:0;;::::1;::::0;;;;;;;;;;;:90;;;;46522:37;;-1:-1:-1;;;46522:37:0;;17088:15:1;;;46522:37:0::1;::::0;::::1;17070:34:1::0;46553:4:0::1;17120:18:1::0;;;17113:43;46363:39:0;;46563:6;;46363:39;46522:15:::1;::::0;17005:18:1;;46522:37:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:47;;46514:77;;;::::0;-1:-1:-1;;;46514:77:0;;23859:2:1;46514:77:0::1;::::0;::::1;23841:21:1::0;23898:2;23878:18;;;23871:30;-1:-1:-1;;;23917:18:1;;;23910:47;23974:18;;46514:77:0::1;23831:167:1::0;46514:77:0::1;46604:48;::::0;-1:-1:-1;;;46604:48:0;;-1:-1:-1;;;;;46604:18:0;::::1;::::0;::::1;::::0;:48:::1;::::0;46623:5;;46638:4:::1;::::0;46645:6;;46604:48:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;46701:14;-1:-1:-1::0;;;;;46670:54:0::1;46691:8;46684:5;-1:-1:-1::0;;;;;46670:54:0::1;;46717:6;46670:54;;;;33651:25:1::0;;33639:2;33624:18;;33606:76;46670:54:0::1;;;;;;;;-1:-1:-1::0;;34350:1:0;35302:7;:22;-1:-1:-1;;;;;;;;;45327:1405:0:o;87240:377::-;87323:13;87339:17;87347:8;87339:7;:17::i;:::-;87323:33;;87388:5;-1:-1:-1;;;;;87375:18:0;:9;-1:-1:-1;;;;;87375:18:0;;;87367:48;;;;-1:-1:-1;;;87367:48:0;;23513:2:1;87367:48:0;;;23495:21:1;23552:2;23532:18;;;23525:30;-1:-1:-1;;;23571:18:1;;;23564:47;23628:18;;87367:48:0;23485:167:1;87367:48:0;36043:10;-1:-1:-1;;;;;87434:21:0;;;;:62;;-1:-1:-1;87459:37:0;87476:5;36043:10;89522:158;:::i;87459:37::-;87426:89;;;;-1:-1:-1;;;87426:89:0;;27648:2:1;87426:89:0;;;27630:21:1;27687:2;27667:18;;;27660:30;-1:-1:-1;;;27706:18:1;;;27699:44;27760:18;;87426:89:0;27620:164:1;87426:89:0;87526:19;;;;:9;:19;;;;;;:31;;-1:-1:-1;;;;;;87526:31:0;-1:-1:-1;;;;;87526:31:0;;;;;;;;;87573:36;;87526:19;;87573:36;;;;;;;87240:377;;;:::o;75108:259::-;75217:13;;;75228:1;75217:13;;;;;;;;;75168;;75194:20;;75217:13;;;;;;;;;;;;-1:-1:-1;75217:13:0;75194:36;;75282:17;;75258:20;;75253:46;;;;:::i;:::-;75241:6;75248:1;75241:9;;;;;;-1:-1:-1;;;75241:9:0;;;;;;;;;;;;;;;;;;:58;75353:6;75108:259;-1:-1:-1;;75108:259:0:o;80341:480::-;80445:4;80403:10;59693:28;59710:10;59693:16;:28::i;:::-;80462:18:::1;80483:32;80504:10;80483:20;:32::i;:::-;80462:53:::0;-1:-1:-1;80575:10:0;80552:238:::1;80597:10;80587:7;:20;80552:238;;;80728:1;80701:15:::0;;;:6:::1;:15;::::0;;;;;-1:-1:-1;;;;;80701:15:0::1;80697:82;;80758:5;80751:12;;;;;;80697:82;80609:9:::0;::::1;::::0;::::1;:::i;:::-;;;;80552:238;;;;80809:4;80802:11;;;59732:1;80341:480:::0;;;;:::o;61667:55::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;56930:206::-;55695:12;:10;:12::i;:::-;-1:-1:-1;;;;;57021:32:0;::::1;;::::0;;;:22:::1;:32;::::0;;;;;:44;;-1:-1:-1;;57021:44:0::1;::::0;::::1;;::::0;;::::1;::::0;;;57081:47;;57021:44;;:32;57081:47:::1;::::0;::::1;56930:206:::0;;:::o;91393:520::-;91536:10;59896:293;;59952:15;59970:31;59990:10;59970:19;:31::i;:::-;59952:49;-1:-1:-1;36043:10:0;-1:-1:-1;;;;;60034:23:0;;;;:86;;-1:-1:-1;60061:14:0;;-1:-1:-1;;;;;60061:14:0;:36;60098:7;36043:10;60061:59;;-1:-1:-1;;;;;;60061:59:0;;;;;;;-1:-1:-1;;;;;17088:15:1;;;60061:59:0;;;17070:34:1;17140:15;;17120:18;;;17113:43;17005:18;;60061:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;60012:157;;;;-1:-1:-1;;;60012:157:0;;;;;;;:::i;:::-;91568:28:::1;91585:10;91568:28;;:16;:28::i;:::-;91567:29;91559:57;;;::::0;-1:-1:-1;;;91559:57:0;;29722:2:1;91559:57:0::1;::::0;::::1;29704:21:1::0;29761:2;29741:18;;;29734:30;-1:-1:-1;;;29780:18:1;;;29773:45;29835:18;;91559:57:0::1;29694:165:1::0;91559:57:0::1;91651:7:::0;91684:15;;;;;:49:::1;;-1:-1:-1::0;91703:30:0;;::::1;91684:49;91676:76;;;::::0;-1:-1:-1;;;91676:76:0;;26275:2:1;91676:76:0::1;::::0;::::1;26257:21:1::0;26314:2;26294:18;;;26287:30;-1:-1:-1;;;26333:18:1;;;26326:44;26387:18;;91676:76:0::1;26247:164:1::0;91676:76:0::1;91770:6;91765:141;91786:11;91782:1;:15;91765:141;;;91819:75;36043:10:::0;91858::::1;91819:75;;91870:7;;91878:1;91870:10;;;;;-1:-1:-1::0;;;91870:10:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;91882:8;;91891:1;91882:11;;;;;-1:-1:-1::0;;;91882:11:0::1;;;;;;;;;;;;;;;91819:24;:75::i;:::-;91799:3:::0;::::1;::::0;::::1;:::i;:::-;;;;91765:141;;;;60180:1;91393:520:::0;;;;;;;:::o;83896:215::-;83993:35;84007:5;84014:3;84019:8;83993:13;:35::i;:::-;84094:8;84089:3;-1:-1:-1;;;;;84073:30:0;84082:5;-1:-1:-1;;;;;84073:30:0;-1:-1:-1;;;;;;;;;;;84073:30:0;;;;;;;;;83896:215;;;:::o;91090:206::-;55695:12;:10;:12::i;:::-;91184:16:::1;:36:::0;;-1:-1:-1;;;;;;91184:36:0::1;-1:-1:-1::0;;;;;91184:36:0;::::1;::::0;;::::1;::::0;;;91236:52:::1;::::0;::::1;::::0;-1:-1:-1;;91236:52:0::1;91090:206:::0;:::o;73191:::-;73298:17;73317:22;73359:30;73372:8;73382:6;73359:12;:30::i;:::-;73352:37;;;;73191:206;;;;;;:::o;79792:480::-;79898:4;79856:10;59693:28;59710:10;59693:16;:28::i;:::-;79915:18:::1;79936:32;79957:10;79936:20;:32::i;:::-;79915:53:::0;-1:-1:-1;80028:10:0;80005:237:::1;80050:10;80040:7;:20;80005:237;;;80181:1;80154:15:::0;;;:6:::1;:15;::::0;;;;;-1:-1:-1;;;;;80154:15:0::1;:29:::0;80150:81:::1;;80211:4;80204:11;;;;;;80150:81;80062:9:::0;::::1;::::0;::::1;:::i;:::-;;;;80005:237;;;-1:-1:-1::0;80259:5:0::1;::::0;79792:480;-1:-1:-1;;;;79792:480:0:o;66443:456::-;66532:13;66499:10;59693:28;59710:10;59693:16;:28::i;:::-;67582:16;;-1:-1:-1;;;;;67582:16:0;67574:39;;66697:69:::1;;;;-1:-1:-1::0;66725:16:0::1;::::0;:41:::1;::::0;-1:-1:-1;;;66725:41:0;;::::1;::::0;::::1;33869:25:1::0;;;66725:16:0::1;33910:18:1::0;;;33903:34;-1:-1:-1;;;;;66725:16:0;;::::1;::::0;:26:::1;::::0;33842:18:1;;66725:41:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;66693:149;;;66790:16;::::0;:40:::1;::::0;-1:-1:-1;;;66790:40:0;;::::1;::::0;::::1;33869:25:1::0;;;66790:16:0::1;33910:18:1::0;;;33903:34;-1:-1:-1;;;;;66790:16:0;;::::1;::::0;:25:::1;::::0;33842:18:1;;66790:40:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;66790:40:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;66783:47;;;;66693:149;66861:26;::::0;;;:14:::1;:26;::::0;;;;:30:::1;;66854:37:::0;;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;66443:456:::0;;;;:::o;76732:673::-;76837:16;76909:32;;;:20;:32;;;;;;76837:16;;;;76909:32;;76908:33;76900:62;;;;-1:-1:-1;;;76900:62:0;;30413:2:1;76900:62:0;;;30395:21:1;30452:2;30432:18;;;30425:30;-1:-1:-1;;;30471:18:1;;;30464:46;30527:18;;76900:62:0;30385:166:1;76900:62:0;76975:16;76994:44;77027:10;76994:32;:44::i;:::-;77049:16;70521:26;;;:14;:26;;;;;:34;74654:22;;76975:63;;-1:-1:-1;;;;;;70521:34:0;;;;74654:22;74646:45;;77117:74;;;;-1:-1:-1;77144:22:0;;:47;;-1:-1:-1;;;77144:47:0;;;;;33651:25:1;;;-1:-1:-1;;;;;77144:22:0;;;;:35;;33624:18:1;;77144:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;77113:235;;;77228:22;;:55;;-1:-1:-1;;;77228:55:0;;;;;33651:25:1;;;77208:17:0;;-1:-1:-1;;;;;77228:22:0;;:43;;33624:18:1;;77228:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;77208:75;-1:-1:-1;77317:8:0;;-1:-1:-1;77327:8:0;;-1:-1:-1;77298:38:0;;-1:-1:-1;77298:38:0;77113:235;77368:8;-1:-1:-1;77368:8:0;;-1:-1:-1;77388:8:0;-1:-1:-1;76732:673:0;;;;;;:::o;77515:503::-;77607:16;77636:18;77657:32;77678:10;77657:20;:32::i;:::-;77636:53;-1:-1:-1;77749:10:0;77726:240;77771:10;77761:7;:20;77726:240;;;77902:1;77875:15;;;:6;:15;;;;;;-1:-1:-1;;;;;77875:15:0;77871:84;;77932:7;77515:503;-1:-1:-1;;;77515:503:0:o;77871:84::-;77783:9;;;;:::i;:::-;;;;77726:240;;;-1:-1:-1;77976:34:0;;-1:-1:-1;;;77976:34:0;;29027:2:1;77976:34:0;;;29009:21:1;29066:2;29046:18;;;29039:30;-1:-1:-1;;;29085:18:1;;;29078:54;29149:18;;77976:34:0;28999:174:1;65624:427:0;65749:10;59952:15;59970:31;59990:10;59970:19;:31::i;:::-;59952:49;-1:-1:-1;36043:10:0;-1:-1:-1;;;;;60034:23:0;;;;:86;;-1:-1:-1;60061:14:0;;-1:-1:-1;;;;;60061:14:0;:36;60098:7;36043:10;60061:59;;-1:-1:-1;;;;;;60061:59:0;;;;;;;-1:-1:-1;;;;;17088:15:1;;;60061:59:0;;;17070:34:1;17140:15;;17120:18;;;17113:43;17005:18;;60061:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;60012:157;;;;-1:-1:-1;;;60012:157:0;;;;;;;:::i;:::-;65795:30:::1;65814:10;65795:18;:30::i;:::-;65794:31;:108;;;;-1:-1:-1::0;67582:16:0;;-1:-1:-1;;;;;67582:16:0;67574:39;;65830:71:::1;;-1:-1:-1::0;65860:16:0::1;::::0;:41:::1;::::0;-1:-1:-1;;;65860:41:0;;::::1;::::0;::::1;33869:25:1::0;;;65860:16:0::1;33910:18:1::0;;;33903:34;-1:-1:-1;;;;;65860:16:0;;::::1;::::0;:26:::1;::::0;33842:18:1;;65860:41:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;65859:42;65830:71;65772:171;;;::::0;-1:-1:-1;;;65772:171:0;;29380:2:1;65772:171:0::1;::::0;::::1;29362:21:1::0;29419:2;29399:18;;;29392:30;-1:-1:-1;;;29438:18:1;;;29431:43;29491:18;;65772:171:0::1;29352:163:1::0;65772:171:0::1;65956:26;::::0;;;:14:::1;:26;::::0;;;;:40:::1;::::0;:30:::1;;65989:7:::0;;65956:40:::1;:::i;:::-;-1:-1:-1::0;66014:29:0::1;::::0;66032:10;;66014:29:::1;::::0;;;::::1;65624:427:::0;;;;;:::o;56724:198::-;55695:12;:10;:12::i;:::-;56813:30:::1;::::0;;;:18:::1;:30;::::0;;;;;:42;;-1:-1:-1;;56813:42:0::1;::::0;::::1;;::::0;;::::1;::::0;;;56871:43;;56813:42;;:30;;56871:43:::1;::::0;56813:30;56871:43:::1;56724:198:::0;;:::o;82396:234::-;82497:50;82515:5;82522:3;82527:8;82537:9;;;;;;;;;;;;82497:17;:50::i;57144:252::-;55695:12;:10;:12::i;:::-;57262:1:::1;57241:18;:22;57233:42;;;::::0;-1:-1:-1;;;57233:42:0;;32835:2:1;57233:42:0::1;::::0;::::1;32817:21:1::0;32874:1;32854:18;;;32847:29;-1:-1:-1;;;32892:18:1;;;32885:37;32939:18;;57233:42:0::1;32807:156:1::0;57233:42:0::1;57286:17;:38:::0;;;57340:48:::1;::::0;33651:25:1;;;57340:48:0::1;::::0;33639:2:1;33624:18;57340:48:0::1;;;;;;;;57144:252:::0;:::o;71358:113::-;71422:4;71446:17;71454:8;71446:7;:17::i;73498:420::-;73615:16;73633:15;73650:21;73684:23;73710:51;73731:29;73751:8;73731:19;:29::i;:::-;70477:24;70521:26;;;:14;:26;;;;;:34;-1:-1:-1;;;;;70521:34:0;;70404:159;73710:51;73684:77;;73773:17;73792:22;73818:30;73831:8;73841:6;73818:12;:30::i;:::-;73772:76;;73878:15;;-1:-1:-1;73772:76:0;-1:-1:-1;73498:420:0;;-1:-1:-1;;;;;73498:420:0:o;57587:209::-;55695:12;:10;:12::i;:::-;57678:20:::1;:44:::0;;;57738:50:::1;::::0;33651:25:1;;;57738:50:0::1;::::0;33639:2:1;33624:18;57738:50:0::1;33606:76:1::0;58210:192:0;55695:12;:10;:12::i;:::-;58335:59:::1;::::0;-1:-1:-1;;;58335:59:0;;-1:-1:-1;;;;;18810:32:1;;;58335:59:0::1;::::0;::::1;18792:51:1::0;18859:18;;;18852:34;;;58335:30:0;::::1;::::0;::::1;::::0;18765:18:1;;58335:59:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;58210:192:::0;;;:::o;47686:477::-;47782:7;47829:29;;;:19;:29;;;;;47782:7;;47829:38;;:36;:38::i;:::-;47802:65;;47892:16;47882:6;:26;47878:218;;47946:52;;-1:-1:-1;;;47946:52:0;;;;;33651:25:1;;;47925:17:0;;47962:4;;47946:42;;33624:18:1;;47946:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;47925:73;-1:-1:-1;48020:64:0;48058:25;48067:16;48058:6;:25;:::i;:::-;48020:34;;;;:23;:34;;;;;;:37;:64::i;:::-;48013:71;;;;;;47878:218;48115:29;;;;:19;:29;;;;;:40;;48148:6;48115:32;:40::i;:::-;48108:47;47686:477;-1:-1:-1;;;;47686:477:0:o;78809:679::-;78917:16;78989:32;;;:20;:32;;;;;;78917:16;;;;78989:32;;78988:33;78980:62;;;;-1:-1:-1;;;78980:62:0;;30413:2:1;78980:62:0;;;30395:21:1;30452:2;30432:18;;;30425:30;-1:-1:-1;;;30471:18:1;;;30464:46;30527:18;;78980:62:0;30385:166:1;78980:62:0;79055:16;79074:47;79110:10;79074:35;:47::i;85668:277::-;85733:7;85753:17;85773:29;85793:8;85773:19;:29::i;:::-;85753:49;;85813:13;85829:29;85838:8;85848:9;85829:8;:29::i;:::-;85813:45;-1:-1:-1;;;;;;85877:19:0;;85869:45;;;;-1:-1:-1;;;85869:45:0;;;;;;;:::i;:::-;85932:5;85668:277;-1:-1:-1;;;85668:277:0:o;68128:215::-;68210:13;68236:17;68256:29;68276:8;68256:19;:29::i;:::-;68303:32;;;;:21;:32;;;;;68296:39;;68236:49;;-1:-1:-1;68303:32:0;68296:39;;;:::i;69430:532::-;69502:10;59693:28;59710:10;59693:16;:28::i;:::-;69543:15:::1;69561:26:::0;;;:14:::1;:26;::::0;;;;:34;-1:-1:-1;;;;;69561:34:0::1;36043:10:::0;69630:23;::::1;::::0;:68:::1;;-1:-1:-1::0;69657:14:0::1;::::0;-1:-1:-1;;;;;69657:14:0::1;:27;36043:10:::0;69657:41:::1;::::0;-1:-1:-1;;;;;;69657:41:0::1;::::0;;;;;;-1:-1:-1;;;;;16814:32:1;;;69657:41:0::1;::::0;::::1;16796:51:1::0;16769:18;;69657:41:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;69608:139;;;::::0;-1:-1:-1;;;69608:139:0;;26957:2:1;69608:139:0::1;::::0;::::1;26939:21:1::0;26996:2;26976:18;;;26969:30;-1:-1:-1;;;27015:18:1;;;27008:51;27076:18;;69608:139:0::1;26929:171:1::0;69608:139:0::1;69805:32;::::0;;;:20:::1;:32;::::0;;;;;;;;;69765:108;;69805:32:::1;::::0;;::::1;69839:33;20591:22:1::0;;20573:41;;20630:18;;;20623:50;;;;69805:32:0;;69765:108:::1;::::0;20546:18:1;69765:108:0::1;;;;;;;-1:-1:-1::0;;69922:32:0::1;::::0;;;:20:::1;:32;::::0;;;;;;-1:-1:-1;;69886:68:0;::::1;69922:32;::::0;;::::1;69921:33;69886:68;::::0;;69430:532::o;62830:228::-;62970:18;55483:15;:13;:15::i;:::-;63008:42:::1;63026:12;63040:3;63045:4;;63008:17;:42::i;:::-;63001:49:::0;62830:228;-1:-1:-1;;;;;62830:228:0:o;44784:443::-;44935:9;44970:15;;;;;:34;;;45003:1;44989:11;:15;44970:34;44962:59;;;;-1:-1:-1;;;44962:59:0;;21806:2:1;44962:59:0;;;21788:21:1;21845:2;21825:18;;;21818:30;-1:-1:-1;;;21864:18:1;;;21857:42;21916:18;;44962:59:0;21778:162:1;44962:59:0;45034:21;45058:25;45072:11;45058;:25;:::i;:::-;45034:49;;45099:6;45094:126;45115:11;45111:1;:15;45094:126;;;45148:60;45157:5;45164:9;;45174:1;45164:12;;;;;-1:-1:-1;;;45164:12:0;;;;;;;;;;;;;;;45178:14;45194:13;45148:8;:60::i;:::-;45128:3;;;;:::i;:::-;;;;45094:126;;;;44784:443;;;;;;;:::o;71725:155::-;71804:16;71840:32;71861:10;71840:20;:32::i;57804:292::-;55695:12;:10;:12::i;:::-;-1:-1:-1;;;;;57911:28:0;::::1;;36043:10:::0;57911:42:::1;::::0;-1:-1:-1;;;;;;57911:42:0::1;::::0;;;;;;-1:-1:-1;;;;;16814:32:1;;;57911:42:0::1;::::0;::::1;16796:51:1::0;16769:18;;57911:42:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;57903:68;;;::::0;-1:-1:-1;;;57903:68:0;;30758:2:1;57903:68:0::1;::::0;::::1;30740:21:1::0;30797:2;30777:18;;;30770:30;-1:-1:-1;;;30816:18:1;;;30809:43;30869:18;;57903:68:0::1;30730:163:1::0;57903:68:0::1;58013:14;::::0;57987:58:::1;::::0;-1:-1:-1;;;;;57987:58:0;;::::1;::::0;58013:14:::1;::::0;57987:58:::1;::::0;58013:14:::1;::::0;57987:58:::1;58056:14;:32:::0;;-1:-1:-1;;;;;;58056:32:0::1;-1:-1:-1::0;;;;;58056:32:0;;;::::1;::::0;;;::::1;::::0;;57804:292::o;88641:175::-;88708:7;-1:-1:-1;;;;;88736:20:0;;88728:46;;;;-1:-1:-1;;;88728:46:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;88792:16:0;;;;;:8;:16;;;;;;;88641:175::o;57404:::-;55695:12;:10;:12::i;:::-;57489:1:::1;57479:7;:11;57471:31;;;::::0;-1:-1:-1;;;57471:31:0;;32835:2:1;57471:31:0::1;::::0;::::1;32817:21:1::0;32874:1;32854:18;;;32847:29;-1:-1:-1;;;32892:18:1;;;32885:37;32939:18;;57471:31:0::1;32807:156:1::0;57471:31:0::1;57513:6;:16:::0;;;57545:26:::1;::::0;33651:25:1;;;57545:26:0::1;::::0;33639:2:1;33624:18;57545:26:0::1;33606:76:1::0;70218:178:0;70293:24;70337:51;70358:29;70378:8;70358:19;:29::i;52446:1000::-;52608:13;52647:19;;;;;:61;;-1:-1:-1;52670:38:0;;;52647:61;52639:86;;;;-1:-1:-1;;;52639:86:0;;27307:2:1;52639:86:0;;;27289:21:1;27346:2;27326:18;;;27319:30;-1:-1:-1;;;27365:18:1;;;27358:42;27417:18;;52639:86:0;27279:162:1;52639:86:0;52768:4;52738:19;52786:653;52807:15;52803:1;:19;52786:653;;;52844:20;52867:13;;52881:1;52867:16;;;;;-1:-1:-1;;;52867:16:0;;;;;;;;;;;;;;;52844:39;;52898:19;52920:12;;52933:1;52920:15;;;;;-1:-1:-1;;;52920:15:0;;;;;;;;;;;;;;;52898:37;;53026:11;-1:-1:-1;;;;;53026:19:0;;53046:11;53026:32;;;;;;;;;;;;;33651:25:1;;33639:2;33624:18;;33606:76;53026:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;52978:44;;-1:-1:-1;;;52978:44:0;;;;;33651:25:1;;;-1:-1:-1;;;;;52978:80:0;;;;;52994:4;;52978:30;;33624:18:1;;52978:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;52978:80:0;;52952:156;;;;-1:-1:-1;;;52952:156:0;;25242:2:1;52952:156:0;;;25224:21:1;25281:2;25261:18;;;25254:30;-1:-1:-1;;;25300:18:1;;;25293:44;25354:18;;52952:156:0;25214:164:1;52952:156:0;53162:30;;;;;;;;-1:-1:-1;;;;;53162:30:0;;;;;;;;;;;;;-1:-1:-1;53125:34:0;;;:20;:34;;;;;:67;;;;-1:-1:-1;;;;;;53125:67:0;;;;;;;;;-1:-1:-1;53125:67:0;;;;;;;53207:29;;;:23;:29;;;;;:42;;;;;;;;:57;;;53281:24;;;36043:10;53328:4;53335:11;53281:66;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;53409:4;-1:-1:-1;;;;;53367:60:0;53395:12;53381;36043:10;;35963:98;53381:12;-1:-1:-1;;;;;53367:60:0;;53415:11;53367:60;;;;33651:25:1;;33639:2;33624:18;;33606:76;53367:60:0;;;;;;;;52786:653;;52824:3;;;;;:::i;:::-;;;;52786:653;;64690:806;64841:18;55483:15;:13;:15::i;:::-;64895:1:::1;64880:12;:16;;;:52;;;;-1:-1:-1::0;54398:4:0::1;64900:32;::::0;::::1;;;64880:52;64872:77;;;::::0;-1:-1:-1;;;64872:77:0;;22489:2:1;64872:77:0::1;::::0;::::1;22471:21:1::0;22528:2;22508:18;;;22501:30;-1:-1:-1;;;22547:18:1;;;22540:42;22599:18;;64872:77:0::1;22461:162:1::0;64872:77:0::1;64962:13;64978:27;:25;:27::i;:::-;-1:-1:-1::0;;;;;65177:13:0;::::1;;::::0;;;:8:::1;:13;::::0;;;;;64962:43;;-1:-1:-1;65177:28:0::1;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;;;65161:13:0;::::1;;::::0;;;:8:::1;:13;::::0;;;;;;;;:44;;;;65288:39;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;;;65322:4;;;;;;65288:39;::::1;65322:4:::0;;;;65288:39;::::1;;::::0;::::1;::::0;;;-1:-1:-1;65288:39:0;;;;-1:-1:-1;;65264:21:0;;;:14:::1;:21;::::0;;;;;;;;:63;;;;;;::::1;::::0;::::1;;-1:-1:-1::0;;;65264:63:0::1;-1:-1:-1::0;;;;;;65264:63:0;;;-1:-1:-1;;;;;65264:63:0;;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;;:21;;-1:-1:-1;65264:63:0::1;::::0;;;::::1;::::0;;;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;;;;;;65398:65:0;::::1;65455:1;65418:5:::0;65398:65:::1;65425:20;;::::0;::::1;65418:5:::0;65425:20:::1;:::i;:::-;65398:65;::::0;33651:25:1;;;33639:2;33624:18;65398:65:0::1;;;;;;;65483:5:::0;64690:806;-1:-1:-1;;;;;64690:806:0:o;78151:528::-;78246:16;78275:22;78335:1;78300:32;78321:10;78300:20;:32::i;:::-;:36;;;;:::i;:::-;78275:61;;78373:254;78398:10;78380:14;:28;78373:254;;78525:1;78491:22;;;:6;:22;;;;;;-1:-1:-1;;;;;78491:22:0;78487:98;;78555:14;78151:528;-1:-1:-1;;78151:528:0:o;78487:98::-;78599:16;;;;:::i;:::-;;;;78373:254;;;78637:34;;-1:-1:-1;;;78637:34:0;;29027:2:1;78637:34:0;;;29009:21:1;29066:2;29046:18;;;29039:30;-1:-1:-1;;;29085:18:1;;;29078:54;29149:18;;78637:34:0;28999:174:1;44350:335:0;34394:1;34990:7;;:19;;34982:63;;;;-1:-1:-1;;;34982:63:0;;;;;;;:::i;:::-;34394:1;35123:7;:18;44486:64:::1;44512:8:::0;44522:3;44527:14;44543:6;44486:25:::1;:64::i;:::-;44563:44;::::0;-1:-1:-1;;;44563:44:0;;-1:-1:-1;;;;;18810:32:1;;;44563:44:0::1;::::0;::::1;18792:51:1::0;18859:18;;;18852:34;;;44563:31:0;::::1;::::0;::::1;::::0;18765:18:1;;44563:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;44654:14;-1:-1:-1::0;;;;;44625:52:0::1;44649:3;-1:-1:-1::0;;;;;44625:52:0::1;44639:8;44625:52;44670:6;44625:52;;;;33651:25:1::0;;33639:2;33624:18;;33606:76;44625:52:0::1;;;;;;;;-1:-1:-1::0;;34350:1:0;35302:7;:22;-1:-1:-1;;44350:335:0:o;67688:150::-;67797:33;;;;:21;:33;;;;;67790:40;;67764:13;;67797:33;67790:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;67688:150;;;:::o;67902:142::-;68007:29;;;;:19;:29;;;;;68000:36;;67974:13;;68007:29;68000:36;;;:::i;61840:53::-;;;;;;;;;;;;;;;;:::i;53594:600::-;36043:10;53701:44;;-1:-1:-1;;;53701:44:0;;;;;33651:25:1;;;-1:-1:-1;;;;;53701:60:0;;;;;53717:4;;53701:30;;33624:18:1;;53701:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;53701:60:0;;53679:125;;;;-1:-1:-1;;;53679:125:0;;23169:2:1;53679:125:0;;;23151:21:1;23208:2;23188:18;;;23181:30;-1:-1:-1;;;23227:18:1;;;23220:45;23282:18;;53679:125:0;23141:165:1;53679:125:0;53817:11;53831:34;;;:20;:34;;;;;;;;:38;;;53896:42;;;;-1:-1:-1;;;;;;53951:41:0;;;;;;;;-1:-1:-1;;;;;53831:38:0;54010:28;;;:23;:28;;;;;:35;;;;;;;;;54003:42;;;;54058:59;-1:-1:-1;;;54058:59:0;;53831:38;;53896:42;53831:38;;54058:25;;:59;;54092:4;;54099:10;;53896:42;;54058:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;54175:3;-1:-1:-1;;;;;54135:51:0;54163:10;-1:-1:-1;;;;;54135:51:0;54149:12;54135:51;54180:5;54135:51;;;;33651:25:1;;33639:2;33624:18;;33606:76;54135:51:0;;;;;;;;53594:600;;;;:::o;75579:1049::-;75688:16;75655:10;59693:28;59710:10;59693:16;:28::i;:::-;75717:18:::1;75738:32;75759:10;75738:20;:32::i;:::-;75717:53:::0;-1:-1:-1;75874:25:0::1;75927:10:::0;75910:224:::1;75943:10;75939:1;:14;75910:224;;;76062:1;76041:9:::0;;;:6:::1;:9;::::0;;;;;-1:-1:-1;;;;;76041:9:0::1;76037:86;;76085:22;76106:1;76085:22:::0;::::1;:::i;:::-;;;76037:86;75955:3:::0;::::1;::::0;::::1;:::i;:::-;;;;75910:224;;;;76146:29;76192:17;76178:32;;;;;;-1:-1:-1::0;;;76178:32:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;76178:32:0::1;-1:-1:-1::0;76146:64:0;-1:-1:-1;76269:17:0::1;76320:10:::0;76297:292:::1;76342:10;76332:7;:20;76297:292;;;76473:1;76446:15:::0;;;:6:::1;:15;::::0;;;;;-1:-1:-1;;;;;76446:15:0::1;76442:136;;76522:7;76496:12;76509:9;76496:23;;;;;;-1:-1:-1::0;;;76496:23:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;:33;76548:14:::1;76561:1;76548:14:::0;::::1;:::i;:::-;;;76442:136;76354:9:::0;::::1;::::0;::::1;:::i;:::-;;;;76297:292;;;-1:-1:-1::0;76608:12:0;;75579:1049;-1:-1:-1;;;;;;75579:1049:0:o;88031:269::-;36043:10;88122:31;;;;:17;:31;;;;;;;;-1:-1:-1;;;;;88122:42:0;;;;;;;;;;;;:54;;-1:-1:-1;;88122:54:0;;;;;;;;;;88192:100;;20359:41:1;;;88122:42:0;;36043:10;88192:100;;20332:18:1;88192:100:0;;;;;;;88031:269;;:::o;92506:440::-;92648:17;92656:8;92648:7;:17::i;:::-;-1:-1:-1;;;;;92632:33:0;36043:10;-1:-1:-1;;;;;92632:33:0;;:81;;;-1:-1:-1;92669:14:0;;-1:-1:-1;;;;;92669:14:0;:30;36043:10;92669:44;;-1:-1:-1;;;;;;92669:44:0;;;;;;;-1:-1:-1;;;;;16814:32:1;;;92669:44:0;;;16796:51:1;16769:18;;92669:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;92610:145;;;;-1:-1:-1;;;92610:145:0;;24899:2:1;92610:145:0;;;24881:21:1;24938:2;24918:18;;;24911:30;-1:-1:-1;;;24957:18:1;;;24950:44;25011:18;;92610:145:0;24871:164:1;92610:145:0;92780:29;;;;:19;:29;;;;;92774:43;;;;;:::i;:::-;:48;;-1:-1:-1;92766:72:0;;;;-1:-1:-1;;;92766:72:0;;28687:2:1;92766:72:0;;;28669:21:1;28726:2;28706:18;;;28699:30;-1:-1:-1;;;28745:18:1;;;28738:41;28796:18;;92766:72:0;28659:161:1;92766:72:0;92849:29;;;;:19;:29;;;;;:41;;92881:9;;92849:41;:::i;:::-;-1:-1:-1;92906:32:0;;92929:8;;92906:32;;;;;92506:440;;;:::o;92044:331::-;92160:10;59952:15;59970:31;59990:10;59970:19;:31::i;:::-;59952:49;-1:-1:-1;36043:10:0;-1:-1:-1;;;;;60034:23:0;;;;:86;;-1:-1:-1;60061:14:0;;-1:-1:-1;;;;;60061:14:0;:36;60098:7;36043:10;60061:59;;-1:-1:-1;;;;;;60061:59:0;;;;;;;-1:-1:-1;;;;;17088:15:1;;;60061:59:0;;;17070:34:1;17140:15;;17120:18;;;17113:43;17005:18;;60061:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;60012:157;;;;-1:-1:-1;;;60012:157:0;;;;;;;:::i;:::-;92197:33:::1;::::0;;;:21:::1;:33;::::0;;;;92191:47;;::::1;::::0;::::1;:::i;:::-;:52:::0;;-1:-1:-1;92183:76:0::1;;;::::0;-1:-1:-1;;;92183:76:0;;28687:2:1;92183:76:0::1;::::0;::::1;28669:21:1::0;28726:2;28706:18;;;28699:30;-1:-1:-1;;;28745:18:1;;;28738:41;28796:18;;92183:76:0::1;28659:161:1::0;92183:76:0::1;92270:33;::::0;;;:21:::1;:33;::::0;;;;:45:::1;::::0;92306:9;;92270:45:::1;:::i;:::-;-1:-1:-1::0;92331:36:0::1;::::0;92356:10;;92331:36:::1;::::0;;;::::1;92044:331:::0;;;;;:::o;47399:279::-;47516:52;;-1:-1:-1;;;47516:52:0;;;;;33651:25:1;;;47476:7:0;;;;47532:4;;47516:42;;33624:18:1;;47516:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;47627:34;;;;:23;:34;;;;;47496:72;;-1:-1:-1;47627:43:0;;:41;:43::i;:::-;47586:29;;;;:19;:29;;;;;:38;;:36;:38::i;:::-;:84;;;;:::i;90849:233::-;55695:12;:10;:12::i;:::-;90946:22:::1;:48:::0;;-1:-1:-1;;;;;;90946:48:0::1;-1:-1:-1::0;;;;;90946:48:0;::::1;::::0;;::::1;::::0;;;91010:64:::1;::::0;::::1;::::0;-1:-1:-1;;91010:64:0::1;90849:233:::0;:::o;70802:177::-;70881:13;70914:14;:45;70929:29;70949:8;70929:19;:29::i;:::-;70914:45;;;;;;;;;;;-1:-1:-1;70914:45:0;:57;-1:-1:-1;;;70914:57:0;;;;;;-1:-1:-1;;70802:177:0:o;90429:329::-;90572:12;90555:123;90591:10;90586:1;:15;90555:123;;90623:43;90641:5;90648:3;90653:1;90656:9;;;;;;;;;;;;90623:17;:43::i;:::-;90603:3;;;;:::i;:::-;;;;90555:123;;;;90746:3;-1:-1:-1;;;;;90693:57:0;90739:5;-1:-1:-1;;;;;90693:57:0;90713:12;90693:57;90727:10;90693:57;;;;33651:25:1;;33639:2;33624:18;;33606:76;81773:252:0;81896:46;81914:5;81921:3;81926:8;81936:5;;81896:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;81896:17:0;;-1:-1:-1;;;81896:46:0:i;:::-;82008:8;82003:3;-1:-1:-1;;;;;81987:30:0;81996:5;-1:-1:-1;;;;;81987:30:0;-1:-1:-1;;;;;;;;;;;81987:30:0;;;;;;;;;81773:252;;;;;:::o;74814:286::-;74968:24;;;74990:1;74968:24;;;;;;;;;74890;;74927:38;;74968:24;;;;;;;;;;;;-1:-1:-1;74968:24:0;74927:65;;75030:30;75051:8;75030:20;:30::i;:::-;75003:13;75017:1;75003:16;;;;;;-1:-1:-1;;;75003:16:0;;;;;;;;;-1:-1:-1;;;;;75003:58:0;;;:16;;;;;;;;;;;:58;75079:13;74814:286;-1:-1:-1;;74814:286:0:o;71070:131::-;71143:4;71300:26;;;:14;:26;;;;;:38;-1:-1:-1;;;71300:38:0;;;;:42;;71167:26;71209:141;66985:423;67042:13;67076:17;67084:8;67076:7;:17::i;:::-;67068:50;;;;-1:-1:-1;;;67068:50:0;;25926:2:1;67068:50:0;;;25908:21:1;25965:2;25945:18;;;25938:30;-1:-1:-1;;;25984:18:1;;;25977:50;26044:18;;67068:50:0;25898:170:1;67068:50:0;67129:17;67149:29;67169:8;67149:19;:29::i;:::-;67129:49;;67195:24;67582:16;;-1:-1:-1;;;;;67582:16:0;67574:39;;;67495:126;67195:24;:75;;;;-1:-1:-1;67223:16:0;;:47;;-1:-1:-1;;;67223:47:0;;;;;33869:25:1;;;33910:18;;;33903:34;;;-1:-1:-1;;;;;67223:16:0;;;;:26;;33842:18:1;;67223:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;67191:161;;;67294:16;;:46;;-1:-1:-1;;;67294:46:0;;;;;33869:25:1;;;33910:18;;;33903:34;;;-1:-1:-1;;;;;67294:16:0;;;;:25;;33842:18:1;;67294:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;67294:46:0;;;;;;;;;;;;:::i;67191:161::-;67371:25;;;;:14;:25;;;;;:29;;67364:36;;;;;:::i;70047:163::-;70126:24;70521:26;;;:14;:26;;;;;:34;-1:-1:-1;;;;;70521:34:0;70170:32;70404:159;73926:245;74028:4;73984:10;59693:28;59710:10;59693:16;:28::i;:::-;74654:22;;-1:-1:-1;;;;;74654:22:0;74646:45;;74052:74:::1;;;;-1:-1:-1::0;74079:22:0::1;::::0;:47:::1;::::0;-1:-1:-1;;;74079:47:0;;::::1;::::0;::::1;33651:25:1::0;;;-1:-1:-1;;;;;74079:22:0;;::::1;::::0;:35:::1;::::0;33624:18:1;;74079:47:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;74052:111;;;-1:-1:-1::0;;74139:20:0::1;::::0;:24;;;73926:245;-1:-1:-1;;73926:245:0:o;68351:502::-;68446:24;68472:14;68488:12;68502:18;68522;68553:17;68573:29;68593:8;68573:19;:29::i;:::-;68613:30;68646:25;;;:14;:25;;;;;68700:15;;68553:49;;-1:-1:-1;68646:25:0;-1:-1:-1;;;;;68700:15:0;68726:29;68735:8;68553:49;68726:8;:29::i;:::-;68766:19;;-1:-1:-1;;;68766:19:0;;;;68796:9;68816:18;68825:8;68816;:18::i;:::-;68682:163;;;;-1:-1:-1;68682:163:0;;-1:-1:-1;68682:163:0;-1:-1:-1;68682:163:0;;-1:-1:-1;68351:502:0;-1:-1:-1;;;;68351:502:0:o;43636:655::-;43820:34;;-1:-1:-1;;;43820:34:0;;;;;33651:25:1;;;43732:7:0;;43783:4;;43732:7;;43783:4;;43820:24;;33624:18:1;;43820:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;43867:22;43892:36;;;:25;:36;;;;;;;;-1:-1:-1;;;;;43892:52:0;;;;;;;;;;;44002:32;;-1:-1:-1;;;44002:32:0;;;;;33651:25:1;;;43892:36:0;;-1:-1:-1;43892:52:0;44002:21;;;;;;33624:18:1;;44002:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;43985:49;;:14;:49;:::i;:::-;44045:19;44067:43;;;:32;:43;;;;;;;;-1:-1:-1;;;;;44067:59:0;;;;;;;;;:69;;;;;;;;;43955:79;;-1:-1:-1;44169:33:0;44067:69;43955:79;44169:33;:::i;:::-;44244:23;;;;:13;:23;;;;;;;;-1:-1:-1;;;;;44244:39:0;;;;;;;;;;44147:55;;-1:-1:-1;44222:61:0;;44147:55;44222:61;:::i;:::-;44215:68;43636:655;-1:-1:-1;;;;;;;;43636:655:0:o;69173:182::-;69259:4;69283:32;;;:20;:32;;;;;;;;;:64;;;69319:28;69336:10;69319:16;:28::i;63163:636::-;63425:18;55483:15;:13;:15::i;:::-;63478:7;63511:15;;;;;:49:::1;;-1:-1:-1::0;63530:30:0;;::::1;63511:49;63503:76;;;::::0;-1:-1:-1;;;63503:76:0;;26275:2:1;63503:76:0::1;::::0;::::1;26257:21:1::0;26314:2;26294:18;;;26287:30;-1:-1:-1;;;26333:18:1;;;26326:44;26387:18;;63503:76:0::1;26247:164:1::0;63503:76:0::1;63605:42;63623:12;63637:3;63642:4;;63605:17;:42::i;:::-;63592:55;;63665:6;63660:132;63681:11;63677:1;:15;63660:132;;;63714:66;63739:3;63744:10;63756:7;;63764:1;63756:10;;;;;-1:-1:-1::0;;;63756:10:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;63768:8;;63777:1;63768:11;;;;;-1:-1:-1::0;;;63768:11:0::1;;;;;;;;63714:66;63694:3:::0;::::1;::::0;::::1;:::i;:::-;;;;63660:132;;;;55509:1;63163:636:::0;;;;;;;;;;:::o;89889:292::-;89997:9;89992:182;90012:20;;;89992:182;;;90054:54;90072:5;90079:3;90084:9;;90094:1;90084:12;;;;;-1:-1:-1;;;90084:12:0;;;;;;;;;;;;;;;90098:9;;;;;;;;;;;;90054:17;:54::i;:::-;90149:9;;90159:1;90149:12;;;;;-1:-1:-1;;;90149:12:0;;;;;;;;;;;;;;;90144:3;-1:-1:-1;;;;;90128:34:0;90137:5;-1:-1:-1;;;;;90128:34:0;-1:-1:-1;;;;;;;;;;;90128:34:0;;;;;;;;;90034:3;;;;:::i;:::-;;;;89992:182;;;;89889:292;;;;:::o;74179:381::-;74257:7;74277:17;74297:29;74317:8;74297:19;:29::i;:::-;74277:49;;74341:23;74654:22;;-1:-1:-1;;;;;74654:22:0;74646:45;;;74568:131;74341:23;:73;;;;-1:-1:-1;74368:22:0;;:46;;-1:-1:-1;;;74368:46:0;;;;;33651:25:1;;;-1:-1:-1;;;;;74368:22:0;;;;:35;;33624:18:1;;74368:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;74337:167;;;74438:22;;:54;;-1:-1:-1;;;74438:54:0;;;;;33651:25:1;;;-1:-1:-1;;;;;74438:22:0;;;;:43;;33624:18:1;;74438:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;74337:167::-;70477:24;70521:26;;;:14;:26;;;;;:34;-1:-1:-1;;;;;70521:34:0;74521:31;70404:159;72132:152;72209:18;72247:29;72267:8;72247:19;:29::i;30143:167::-;-1:-1:-1;;;;;30277:23:0;;30223:4;27016:19;;;:12;;;:19;;;;;;:24;;30247:55;26919:129;29571:152;29641:4;29665:50;29670:3;-1:-1:-1;;;;;29690:23:0;;29665:4;:50::i;59749:139::-;71276:4;71300:26;;;:14;:26;;;;;:38;-1:-1:-1;;;71300:38:0;;;;59819:61;;;;-1:-1:-1;;;59819:61:0;;32124:2:1;59819:61:0;;;32106:21:1;32163:2;32143:18;;;32136:30;-1:-1:-1;;;32182:18:1;;;32175:52;32244:18;;59819:61:0;32096:172:1;59819:61:0;59749:139;:::o;71888:168::-;71961:16;71997:26;;;:14;:26;;;;;:38;:51;;:26;;-1:-1:-1;;;71997:38:0;;;;:51;:::i;55735:121::-;55789:14;;-1:-1:-1;;;;;55789:14:0;:27;36043:10;55789:41;;-1:-1:-1;;;;;;55789:41:0;;;;;;;-1:-1:-1;;;;;16814:32:1;;;55789:41:0;;;16796:51:1;16769:18;;55789:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;55781:67;;;;-1:-1:-1;;;55781:67:0;;30758:2:1;55781:67:0;;;30740:21:1;30797:2;30777:18;;;30770:30;-1:-1:-1;;;30816:18:1;;;30809:43;30869:18;;55781:67:0;30730:163:1;55781:67:0;55735:121::o;46740:651::-;34394:1;34990:7;;:19;;34982:63;;;;-1:-1:-1;;;34982:63:0;;;;;;;:::i;:::-;34394:1;35123:7;:18;46890:10;46882:33:::1;;;;-1:-1:-1::0;;;46882:33:0::1;;;;;;;:::i;:::-;46937:35;::::0;;;:23:::1;:35;::::0;;;;:60:::1;::::0;46982:14;46937:44:::1;:60::i;:::-;46936:61;46928:96;;;::::0;-1:-1:-1;;;46928:96:0;;28336:2:1;46928:96:0::1;::::0;::::1;28318:21:1::0;28375:2;28355:18;;;28348:30;-1:-1:-1;;;28394:18:1;;;28387:52;28456:18;;46928:96:0::1;28308:172:1::0;46928:96:0::1;47037:35;::::0;;;:23:::1;:35;::::0;;;;:55:::1;::::0;47077:14;47037:39:::1;:55::i;:::-;-1:-1:-1::0;47159:37:0::1;::::0;;;:25:::1;:37;::::0;;;;;;;-1:-1:-1;;;;;47159:53:0;::::1;::::0;;;;;;;;:62:::1;::::0;47215:6;;47159:62:::1;:::i;:::-;47103:37;::::0;;;:25:::1;:37;::::0;;;;;;;-1:-1:-1;;;;;47103:53:0;::::1;::::0;;;;;;;;;:118;;;;47234:65;-1:-1:-1;;;47234:65:0;;:35:::1;::::0;:65:::1;::::0;47270:5;;47285:4:::1;::::0;47292:6;;47234:65:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;47360:14;-1:-1:-1::0;;;;;47317:66:0::1;47348:10;47341:5;-1:-1:-1::0;;;;;47317:66:0::1;;47376:6;47317:66;;;;33651:25:1::0;;33639:2;33624:18;;33606:76;84119:1294:0;-1:-1:-1;;;;;84327:17:0;;84319:48;;;;-1:-1:-1;;;84319:48:0;;30066:2:1;84319:48:0;;;30048:21:1;30105:2;30085:18;;;30078:30;-1:-1:-1;;;30124:18:1;;;30117:48;30182:18;;84319:48:0;30038:168:1;84319:48:0;84423:13;84439:49;84448:8;84458:29;84478:8;84458:19;:29::i;:::-;84439:8;:49::i;:::-;84423:65;-1:-1:-1;;;;;;84507:19:0;;84499:45;;;;-1:-1:-1;;;84499:45:0;;;;;;;:::i;:::-;84572:5;-1:-1:-1;;;;;84563:14:0;:5;-1:-1:-1;;;;;84563:14:0;;84555:41;;;;-1:-1:-1;;;84555:41:0;;25242:2:1;84555:41:0;;;25224:21:1;25281:2;25261:18;;;25254:30;-1:-1:-1;;;25300:18:1;;;25293:44;25354:18;;84555:41:0;25214:164:1;84555:41:0;84609:15;89188:19;;;:9;:19;;;;;;36043:10;;-1:-1:-1;;;;;89188:19:0;;;;84730:16;;;;;:86;;-1:-1:-1;;;;;;89636:25:0;;;89613:4;89636:25;;;:17;:25;;;;;;;;:36;;;;;;;;;;;;84784:32;84730:173;;;;84896:7;-1:-1:-1;;;;;84877:26:0;:15;-1:-1:-1;;;;;84877:26:0;;84730:173;84708:275;;;;-1:-1:-1;;;84708:275:0;;33170:2:1;84708:275:0;;;33152:21:1;33209:2;33189:18;;;33182:30;-1:-1:-1;;;33228:18:1;;;33221:45;33283:18;;84708:275:0;33142:165:1;84708:275:0;-1:-1:-1;;;;;85052:29:0;;;85048:94;;85128:1;85098:19;;;:9;:19;;;;;:32;;-1:-1:-1;;;;;;85098:32:0;;;85048:94;85261:16;;;;:6;:16;;;;;;;;:22;;-1:-1:-1;;;;;;85261:22:0;-1:-1:-1;;;;;85261:22:0;;;;;;;;;;85342:15;;;;:8;:15;;;;;;:19;;-1:-1:-1;;85342:19:0;:::i;:::-;-1:-1:-1;;;;;85324:15:0;;;;;;;:8;:15;;;;;;:37;;;;85388:13;;;;;;;:17;;85404:1;85388:17;:::i;:::-;-1:-1:-1;;;;;85372:13:0;;;;;;;:8;:13;;;;;:33;;;;-1:-1:-1;;;;;84119:1294:0:o;72292:747::-;72371:17;72390:22;72425:17;72445:29;72465:8;72445:19;:29::i;:::-;72425:49;;72547:23;74654:22;;-1:-1:-1;;;;;74654:22:0;74646:45;;;74568:131;72547:23;:73;;;;-1:-1:-1;72574:22:0;;:46;;-1:-1:-1;;;72574:46:0;;;;;33651:25:1;;;-1:-1:-1;;;;;72574:22:0;;;;:35;;33624:18:1;;72574:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;72543:489;;;72778:22;;:53;;-1:-1:-1;;;72778:53:0;;;;;33869:25:1;;;33910:18;;;33903:34;;;-1:-1:-1;;;;;72778:22:0;;;;:34;;33842:18:1;;72778:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;72748:83;;-1:-1:-1;72748:83:0;-1:-1:-1;72543:489:0;;;70477:24;70521:26;;;:14;:26;;;;;:34;-1:-1:-1;;;;;70521:34:0;72905:43;;73000:20;;72990:6;;72981;:15;;;;:::i;:::-;72980:40;;;;:::i;:::-;72963:57;;72543:489;72292:747;;;;;;:::o;82638:632::-;82750:35;82764:5;82771:3;82776:8;82750:13;:35::i;:::-;82877:16;;82918:20;;82914:349;;82973:158;;-1:-1:-1;;;82973:158:0;;82955:15;;-1:-1:-1;;;;;82973:37:0;;;;;:158;;36043:10;;83060:5;;83084:8;;83111:5;;82973:158;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;82955:176;-1:-1:-1;;;;;;;83172:27:0;;-1:-1:-1;;;83172:27:0;83146:105;;;;-1:-1:-1;;;83146:105:0;;27991:2:1;83146:105:0;;;27973:21:1;28030:2;28010:18;;;28003:30;-1:-1:-1;;;28049:18:1;;;28042:46;28105:18;;83146:105:0;27963:166:1;83146:105:0;82914:349;82638:632;;;;;:::o;71479:153::-;71537:4;;71561:49;71570:8;71580:29;71570:8;71580:19;:29::i;71561:49::-;-1:-1:-1;;;;;71561:63:0;;;;71479:153;-1:-1:-1;;71479:153:0:o;54531:::-;54601:7;54398:4;54629:27;54398:4;54629:8;:27;:::i;:::-;54628:48;;;;:::i;30396:117::-;30459:7;30486:19;30494:3;27217:18;;27134:109;30867:158;30941:7;30992:22;30996:3;31008:5;30992:3;:22::i;86324:538::-;86403:7;86474:16;;;:6;:16;;;;;;-1:-1:-1;;;;;86474:16:0;86505:19;;86501:64;;86548:5;-1:-1:-1;86541:12:0;;86501:64;86618:23;70521:26;;;:14;:26;;;;;:34;-1:-1:-1;;;;;70521:34:0;86691:29;;;;;:83;;;86766:8;86760:1;86725:32;86746:10;86725:20;:32::i;:::-;:36;;;;:::i;:::-;86724:50;;86691:83;86687:138;;;86798:15;-1:-1:-1;86791:22:0;;-1:-1:-1;86791:22:0;55526:130;55583:14;;-1:-1:-1;;;;;55583:14:0;:30;36043:10;55583:44;;-1:-1:-1;;;;;;55583:44:0;;;;;;;-1:-1:-1;;;;;16814:32:1;;;55583:44:0;;;16796:51:1;16769:18;;55583:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;55575:73;;;;-1:-1:-1;;;55575:73:0;;31100:2:1;55575:73:0;;;31082:21:1;31139:2;31119:18;;;31112:30;-1:-1:-1;;;31158:18:1;;;31151:46;31214:18;;55575:73:0;31072:166:1;63807:780:0;63908:7;63951:1;63936:12;:16;;;:52;;;;-1:-1:-1;54398:4:0;63956:32;;;;;63936:52;63928:77;;;;-1:-1:-1;;;63928:77:0;;22489:2:1;63928:77:0;;;22471:21:1;22528:2;22508:18;;;22501:30;-1:-1:-1;;;22547:18:1;;;22540:42;22599:18;;63928:77:0;22461:162:1;63928:77:0;64018:13;64034:27;:25;:27::i;:::-;-1:-1:-1;;;;;64233:13:0;;;;;;:8;:13;;;;;;64018:43;;-1:-1:-1;64233:28:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;64217:13:0;;;;;;:8;:13;;;;;;;;;:44;;;;64323:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;64357:4;;;;;;64323:39;;64357:4;;;;64323:39;;;;;;;;-1:-1:-1;64323:39:0;;;;-1:-1:-1;;64299:21:0;;;:14;:21;;;;;;;;;:63;;;;;;;;;;-1:-1:-1;;;64299:63:0;-1:-1:-1;;;;;;64299:63:0;;;-1:-1:-1;;;;;64299:63:0;;;;;;;;;;;;;;;;:21;;-1:-1:-1;64299:63:0;;;;;;;;;;;;:::i;:::-;-1:-1:-1;64417:11:0;;-1:-1:-1;64431:20:0;;-1:-1:-1;64431:20:0;;;:5;:20;:::i;:::-;64417:34;-1:-1:-1;64476:5:0;64462:95;64487:3;64483:1;:7;64462:95;;;64517:28;;64543:1;;-1:-1:-1;;;;;64517:28:0;;;64534:1;;-1:-1:-1;;;;;;;;;;;64517:28:0;64534:1;;64517:28;64492:3;;;;:::i;:::-;;;;64462:95;;66156:165;66248:14;;66211:7;;66248:33;;54398:4;;66248:33;:::i;:::-;66231:14;:50;;;;66156:165;-1:-1:-1;66156:165:0:o;48200:3324::-;48428:1;48419:6;:10;48411:33;;;;-1:-1:-1;;;48411:33:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;48467:17:0;;48459:42;;;;-1:-1:-1;;;48459:42:0;;25585:2:1;48459:42:0;;;25567:21:1;25624:2;25604:18;;;25597:30;-1:-1:-1;;;25643:18:1;;;25636:42;25695:18;;48459:42:0;25557:162:1;48459:42:0;48588:22;;-1:-1:-1;;;48588:22:0;;;;;33651:25:1;;;48549:4:0;;48518:12;;48549:4;;48588:12;;33624:18:1;;48588:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;48572:38;-1:-1:-1;;;;;;48651:21:0;;36043:10;48651:21;;:67;;-1:-1:-1;;;;;;48676:21:0;;;48698:5;36043:10;48676:42;;-1:-1:-1;;;;;;48676:42:0;;;;;;;-1:-1:-1;;;;;17088:15:1;;;48676:42:0;;;17070:34:1;17140:15;;17120:18;;;17113:43;17005:18;;48676:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;48651:113;;;-1:-1:-1;36043:10:0;48722:26;;-1:-1:-1;;;48722:26:0;;;;;33651:25:1;;;-1:-1:-1;;;;;48722:42:0;;;;:16;;;;;33624:18:1;;48722:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;48722:42:0;;48651:113;48625:184;;;;-1:-1:-1;;;48625:184:0;;31445:2:1;48625:184:0;;;31427:21:1;31484:1;31464:18;;;31457:29;-1:-1:-1;;;31502:18:1;;;31495:39;31551:18;;48625:184:0;31417:158:1;48625:184:0;-1:-1:-1;;48883:21:0;48907:29;;;:19;:29;;;;;:54;;48946:14;48907:38;:54::i;:::-;49042:34;;-1:-1:-1;;;49042:34:0;;;;;33651:25:1;;;48883:78:0;;-1:-1:-1;49005:4:0;;48974:12;;49005:4;;49042:24;;33624:18:1;;49042:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;49087:25;49115:34;;;:23;:34;;;;;49022:54;;-1:-1:-1;49087:25:0;49115:59;;49159:14;49115:43;:59::i;:::-;49087:87;;49193:16;:40;;;;49213:20;49193:40;49185:66;;;;-1:-1:-1;;;49185:66:0;;31782:2:1;49185:66:0;;;31764:21:1;31821:2;31801:18;;;31794:30;-1:-1:-1;;;31840:18:1;;;31833:43;31893:18;;49185:66:0;31754:163:1;49185:66:0;49374:6;49330:40;49345:8;49355:14;49330;:40::i;:::-;:50;;49322:78;;;;-1:-1:-1;;;49322:78:0;;24205:2:1;49322:78:0;;;24187:21:1;24244:2;24224:18;;;24217:30;-1:-1:-1;;;24263:18:1;;;24256:45;24318:18;;49322:78:0;24177:165:1;49322:78:0;49435:32;;-1:-1:-1;;;49435:32:0;;;;;33651:25:1;;;49413:19:0;;-1:-1:-1;;;;;49435:21:0;;;;;33624:18:1;;49435:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;49478:27;49508:36;;;:25;:36;;;;;;;;-1:-1:-1;;;;;49508:52:0;;;;;;;;;;49413:54;;-1:-1:-1;49478:27:0;49508:66;;49413:54;;49508:66;:::i;:::-;49585:19;49607:43;;;:32;:43;;;;;;;;-1:-1:-1;;;;;49607:59:0;;;;;;;;;:69;;;;;;;;;49478:96;;-1:-1:-1;49717:33:0;49607:69;49478:96;49717:33;:::i;:::-;49687:63;;49908:6;49885:19;:29;49881:737;;50003:20;50017:6;50003:11;:20;:::i;:::-;49931:32;:43;49964:9;49931:43;;;;;;;;;;;:59;49975:14;-1:-1:-1;;;;;49931:59:0;-1:-1:-1;;;;;49931:59:0;;;;;;;;;;;;:69;49991:8;49931:69;;;;;;;;;;;:92;;;;49881:737;;;50045:23;;;;:13;:23;;;;;;;;-1:-1:-1;;;;;50045:39:0;;;;;;;;;;:49;-1:-1:-1;50041:577:0;;50153:23;;;;:13;:23;;;;;;;;-1:-1:-1;;;;;50153:39:0;;;;;;;;;;:48;;50195:6;;50153:48;:::i;:::-;50111:23;;;;:13;:23;;;;;;;;-1:-1:-1;;;;;50111:39:0;;;;;;;;;:90;50041:577;;;50346:33;50360:19;50346:11;:33;:::i;:::-;50274:32;:43;50307:9;50274:43;;;;;;;;;;;:59;50318:14;-1:-1:-1;;;;;50274:59:0;-1:-1:-1;;;;;50274:59:0;;;;;;;;;;;;:69;50334:8;50274:69;;;;;;;;;;;:105;;;;50394:45;50451:19;50442:6;:28;;;;:::i;:::-;50394:76;;50569:37;50527:13;:23;50541:8;50527:23;;;;;;;;;;;:39;50551:14;-1:-1:-1;;;;;50527:39:0;-1:-1:-1;;;;;50527:39:0;;;;;;;;;;;;;:79;;;;:::i;:::-;50485:13;:23;50499:8;50485:23;;;;;;;;;;;:39;50509:14;-1:-1:-1;;;;;50485:39:0;-1:-1:-1;;;;;50485:39:0;;;;;;;;;;;;:121;;;;50041:577;;50724:16;:64;;;;-1:-1:-1;50744:23:0;;;;:13;:23;;;;;;;;-1:-1:-1;;;;;50744:39:0;;;;;;;;;;:44;50724:64;50720:149;;;50805:29;;;;:19;:29;;;;;:52;;50842:14;50805:36;:52::i;:::-;;50720:149;50985:20;50981:536;;;51022:38;;51075:282;51096:11;51092:1;:15;51075:282;;;51133:16;51174:32;:43;51207:9;51174:43;;;;;;;;;;;:59;51218:14;-1:-1:-1;;;;;51174:59:0;-1:-1:-1;;;;;51174:59:0;;;;;;;;;;;;:74;51246:1;51234:9;:13;;;;:::i;:::-;51174:74;;;;;;;;;;;;51152:19;:96;;;;:::i;:::-;51133:115;-1:-1:-1;51300:41:0;51133:115;51300:30;:41;:::i;:::-;51267:74;;51075:282;51109:3;;;;;:::i;:::-;;;;51075:282;;;-1:-1:-1;51377:35:0;51373:133;;51433:34;;;;:23;:34;;;;;:57;;51475:14;51433:41;:57::i;:::-;;51373:133;50981:536;;48200:3324;;;;;;;;;;;;:::o;24823:414::-;24886:4;27016:19;;;:12;;;:19;;;;;;24903:327;;-1:-1:-1;24946:23:0;;;;;;;;:11;:23;;;;;;;;;;;;;25129:18;;25107:19;;;:12;;;:19;;;;;;:40;;;;25162:11;;24903:327;-1:-1:-1;25213:5:0;25206:12;;27597:120;27664:7;27691:3;:11;;27703:5;27691:18;;;;;;-1:-1:-1;;;27691:18:0;;;;;;;;;;;;;;;;;27684:25;;27597:120;;;;:::o;29899:158::-;29972:4;29996:53;30004:3;-1:-1:-1;;;;;30024:23:0;;25479:4;25618:19;;;:12;;;:19;;;;;;25654:15;;25650:1176;;26029:21;26053:14;26066:1;26053:10;:14;:::i;:::-;26102:18;;26029:38;;-1:-1:-1;26082:17:0;;26102:22;;26123:1;;26102:22;:::i;:::-;26082:42;;26158:13;26145:9;:26;26141:405;;26192:17;26212:3;:11;;26224:9;26212:22;;;;;;-1:-1:-1;;;26212:22:0;;;;;;;;;;;;;;;;;26192:42;;26366:9;26337:3;:11;;26349:13;26337:26;;;;;;-1:-1:-1;;;26337:26:0;;;;;;;;;;;;;;;;;;;;:38;;;;26451:23;;;:12;;;:23;;;;;:36;;;26141:405;26627:17;;:3;;:17;;;-1:-1:-1;;;26627:17:0;;;;;;;;;;;;;;;;;;;;;;;;;;26722:3;:12;;:19;26735:5;26722:19;;;;;;;;;;;26715:26;;;26765:4;26758:11;;;;;;;25650:1176;26809:5;26802:12;;;;;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:391:1;77:8;87:6;141:3;134:4;126:6;122:17;118:27;108:2;;164:6;156;149:22;108:2;-1:-1:-1;192:20:1;;235:18;224:30;;221:2;;;274:8;264;257:26;221:2;318:4;310:6;306:17;294:29;;378:3;371:4;361:6;358:1;354:14;346:6;342:27;338:38;335:47;332:2;;;395:1;392;385:12;410:375;461:8;471:6;525:3;518:4;510:6;506:17;502:27;492:2;;550:8;540;533:26;492:2;-1:-1:-1;580:20:1;;623:18;612:30;;609:2;;;662:8;652;645:26;609:2;706:4;698:6;694:17;682:29;;758:3;751:4;742:6;734;730:19;726:30;723:39;720:2;;;775:1;772;765:12;790:159;857:20;;917:6;906:18;;896:29;;886:2;;939:1;936;929:12;886:2;838:111;;;:::o;954:257::-;1013:6;1066:2;1054:9;1045:7;1041:23;1037:32;1034:2;;;1087:6;1079;1072:22;1034:2;1131:9;1118:23;1150:31;1175:5;1150:31;:::i;1216:261::-;1286:6;1339:2;1327:9;1318:7;1314:23;1310:32;1307:2;;;1360:6;1352;1345:22;1307:2;1397:9;1391:16;1416:31;1441:5;1416:31;:::i;1482:398::-;1550:6;1558;1611:2;1599:9;1590:7;1586:23;1582:32;1579:2;;;1632:6;1624;1617:22;1579:2;1676:9;1663:23;1695:31;1720:5;1695:31;:::i;:::-;1745:5;-1:-1:-1;1802:2:1;1787:18;;1774:32;1815:33;1774:32;1815:33;:::i;:::-;1867:7;1857:17;;;1569:311;;;;;:::o;1885:733::-;1989:6;1997;2005;2013;2066:2;2054:9;2045:7;2041:23;2037:32;2034:2;;;2087:6;2079;2072:22;2034:2;2131:9;2118:23;2150:31;2175:5;2150:31;:::i;:::-;2200:5;-1:-1:-1;2257:2:1;2242:18;;2229:32;2270:33;2229:32;2270:33;:::i;:::-;2322:7;-1:-1:-1;2380:2:1;2365:18;;2352:32;2407:18;2396:30;;2393:2;;;2444:6;2436;2429:22;2393:2;2488:70;2550:7;2541:6;2530:9;2526:22;2488:70;:::i;:::-;2024:594;;;;-1:-1:-1;2577:8:1;-1:-1:-1;;;;2024:594:1:o;2623:466::-;2700:6;2708;2716;2769:2;2757:9;2748:7;2744:23;2740:32;2737:2;;;2790:6;2782;2775:22;2737:2;2834:9;2821:23;2853:31;2878:5;2853:31;:::i;:::-;2903:5;-1:-1:-1;2960:2:1;2945:18;;2932:32;2973:33;2932:32;2973:33;:::i;:::-;2727:362;;3025:7;;-1:-1:-1;;;3079:2:1;3064:18;;;;3051:32;;2727:362::o;3094:774::-;3191:6;3199;3207;3215;3223;3276:3;3264:9;3255:7;3251:23;3247:33;3244:2;;;3298:6;3290;3283:22;3244:2;3342:9;3329:23;3361:31;3386:5;3361:31;:::i;:::-;3411:5;-1:-1:-1;3468:2:1;3453:18;;3440:32;3481:33;3440:32;3481:33;:::i;:::-;3533:7;-1:-1:-1;3587:2:1;3572:18;;3559:32;;-1:-1:-1;3642:2:1;3627:18;;3614:32;3669:18;3658:30;;3655:2;;;3706:6;3698;3691:22;3655:2;3750:58;3800:7;3791:6;3780:9;3776:22;3750:58;:::i;:::-;3234:634;;;;-1:-1:-1;3234:634:1;;-1:-1:-1;3827:8:1;;3724:84;3234:634;-1:-1:-1;;;3234:634:1:o;3873:535::-;3959:6;3967;3975;3983;4036:3;4024:9;4015:7;4011:23;4007:33;4004:2;;;4058:6;4050;4043:22;4004:2;4102:9;4089:23;4121:31;4146:5;4121:31;:::i;:::-;4171:5;-1:-1:-1;4228:2:1;4213:18;;4200:32;4241:33;4200:32;4241:33;:::i;:::-;3994:414;;4293:7;;-1:-1:-1;;;;4347:2:1;4332:18;;4319:32;;4398:2;4383:18;4370:32;;3994:414::o;4413:802::-;4526:6;4534;4542;4550;4558;4611:3;4599:9;4590:7;4586:23;4582:33;4579:2;;;4633:6;4625;4618:22;4579:2;4677:9;4664:23;4696:31;4721:5;4696:31;:::i;:::-;4746:5;-1:-1:-1;4802:2:1;4787:18;;4774:32;4829:18;4818:30;;4815:2;;;4866:6;4858;4851:22;4815:2;4910:70;4972:7;4963:6;4952:9;4948:22;4910:70;:::i;:::-;4999:8;;-1:-1:-1;4884:96:1;-1:-1:-1;;5086:2:1;5071:18;;5058:32;5099:33;5058:32;5099:33;:::i;:::-;4569:646;;;;-1:-1:-1;4569:646:1;;5205:2;5190:18;5177:32;;4569:646;-1:-1:-1;;4569:646:1:o;5220:392::-;5285:6;5293;5346:2;5334:9;5325:7;5321:23;5317:32;5314:2;;;5367:6;5359;5352:22;5314:2;5411:9;5398:23;5430:31;5455:5;5430:31;:::i;:::-;5480:5;-1:-1:-1;5537:2:1;5522:18;;5509:32;5550:30;5509:32;5550:30;:::i;5617:325::-;5685:6;5693;5746:2;5734:9;5725:7;5721:23;5717:32;5714:2;;;5767:6;5759;5752:22;5714:2;5811:9;5798:23;5830:31;5855:5;5830:31;:::i;:::-;5880:5;5932:2;5917:18;;;;5904:32;;-1:-1:-1;;;5704:238:1:o;5947:322::-;6026:6;6034;6087:2;6075:9;6066:7;6062:23;6058:32;6055:2;;;6108:6;6100;6093:22;6055:2;6145:9;6139:16;6164:31;6189:5;6164:31;:::i;:::-;6259:2;6244:18;;;;6238:25;6214:5;;6238:25;;-1:-1:-1;;;6045:224:1:o;6274:466::-;6351:6;6359;6367;6420:2;6408:9;6399:7;6395:23;6391:32;6388:2;;;6441:6;6433;6426:22;6388:2;6485:9;6472:23;6504:31;6529:5;6504:31;:::i;:::-;6554:5;-1:-1:-1;6606:2:1;6591:18;;6578:32;;-1:-1:-1;6662:2:1;6647:18;;6634:32;6675:33;6634:32;6675:33;:::i;:::-;6727:7;6717:17;;;6378:362;;;;;:::o;6745:535::-;6831:6;6839;6847;6855;6908:3;6896:9;6887:7;6883:23;6879:33;6876:2;;;6930:6;6922;6915:22;6876:2;6974:9;6961:23;6993:31;7018:5;6993:31;:::i;:::-;7043:5;-1:-1:-1;7095:2:1;7080:18;;7067:32;;-1:-1:-1;7151:2:1;7136:18;;7123:32;7164:33;7123:32;7164:33;:::i;:::-;6866:414;;;;-1:-1:-1;7216:7:1;;7270:2;7255:18;7242:32;;-1:-1:-1;;6866:414:1:o;7285:938::-;7416:6;7424;7432;7440;7448;7501:2;7489:9;7480:7;7476:23;7472:32;7469:2;;;7522:6;7514;7507:22;7469:2;7567:9;7554:23;7596:18;7637:2;7629:6;7626:14;7623:2;;;7658:6;7650;7643:22;7623:2;7702:70;7764:7;7755:6;7744:9;7740:22;7702:70;:::i;:::-;7791:8;;-1:-1:-1;7676:96:1;-1:-1:-1;7876:2:1;7861:18;;7848:32;;-1:-1:-1;7889:31:1;7848:32;7889:31;:::i;:::-;7939:5;;-1:-1:-1;7997:2:1;7982:18;;7969:32;;8013:16;;;8010:2;;;8047:6;8039;8032:22;8010:2;;8091:72;8155:7;8144:8;8133:9;8129:24;8091:72;:::i;8228:255::-;8295:6;8348:2;8336:9;8327:7;8323:23;8319:32;8316:2;;;8369:6;8361;8354:22;8316:2;8406:9;8400:16;8425:28;8447:5;8425:28;:::i;8488:255::-;8546:6;8599:2;8587:9;8578:7;8574:23;8570:32;8567:2;;;8620:6;8612;8605:22;8567:2;8664:9;8651:23;8683:30;8707:5;8683:30;:::i;8748:259::-;8817:6;8870:2;8858:9;8849:7;8845:23;8841:32;8838:2;;;8891:6;8883;8876:22;8838:2;8928:9;8922:16;8947:30;8971:5;8947:30;:::i;9870:924::-;9950:6;10003:2;9991:9;9982:7;9978:23;9974:32;9971:2;;;10024:6;10016;10009:22;9971:2;10062:9;10056:16;10091:18;10132:2;10124:6;10121:14;10118:2;;;10153:6;10145;10138:22;10118:2;10196:6;10185:9;10181:22;10171:32;;10241:7;10234:4;10230:2;10226:13;10222:27;10212:2;;10268:6;10260;10253:22;10212:2;10302;10296:9;10324:2;10320;10317:10;10314:2;;;10330:18;;:::i;:::-;10405:2;10399:9;10373:2;10459:13;;-1:-1:-1;;10455:22:1;;;10479:2;10451:31;10447:40;10435:53;;;10503:18;;;10523:22;;;10500:46;10497:2;;;10549:18;;:::i;:::-;10589:10;10585:2;10578:22;10624:2;10616:6;10609:18;10664:7;10659:2;10654;10650;10646:11;10642:20;10639:33;10636:2;;;10690:6;10682;10675:22;10636:2;10708:55;10760:2;10755;10747:6;10743:15;10738:2;10734;10730:11;10708:55;:::i;:::-;10782:6;9961:833;-1:-1:-1;;;;;;;9961:833:1:o;10799:637::-;10887:6;10895;10903;10911;10964:2;10952:9;10943:7;10939:23;10935:32;10932:2;;;10985:6;10977;10970:22;10932:2;11013:28;11031:9;11013:28;:::i;:::-;11003:38;;11091:2;11080:9;11076:18;11063:32;11104:31;11129:5;11104:31;:::i;:::-;11154:5;-1:-1:-1;11210:2:1;11195:18;;11182:32;11237:18;11226:30;;11223:2;;;11274:6;11266;11259:22;11223:2;11318:58;11368:7;11359:6;11348:9;11344:22;11318:58;:::i;11441:1310::-;11601:6;11609;11617;11625;11633;11641;11649;11657;11710:3;11698:9;11689:7;11685:23;11681:33;11678:2;;;11732:6;11724;11717:22;11678:2;11760:28;11778:9;11760:28;:::i;:::-;11750:38;;11838:2;11827:9;11823:18;11810:32;11851:31;11876:5;11851:31;:::i;:::-;11901:5;-1:-1:-1;11957:2:1;11942:18;;11929:32;11980:18;12010:14;;;12007:2;;;12042:6;12034;12027:22;12007:2;12086:58;12136:7;12127:6;12116:9;12112:22;12086:58;:::i;:::-;12163:8;;-1:-1:-1;12060:84:1;-1:-1:-1;12251:2:1;12236:18;;12223:32;;-1:-1:-1;12267:16:1;;;12264:2;;;12301:6;12293;12286:22;12264:2;12345:72;12409:7;12398:8;12387:9;12383:24;12345:72;:::i;:::-;12436:8;;-1:-1:-1;12319:98:1;-1:-1:-1;12524:3:1;12509:19;;12496:33;;-1:-1:-1;12541:16:1;;;12538:2;;;12575:6;12567;12560:22;12538:2;;12619:72;12683:7;12672:8;12661:9;12657:24;12619:72;:::i;:::-;11668:1083;;;;-1:-1:-1;11668:1083:1;;-1:-1:-1;11668:1083:1;;;;;;12710:8;-1:-1:-1;;;11668:1083:1:o;12756:875::-;12886:6;12894;12902;12910;12918;12971:2;12959:9;12950:7;12946:23;12942:32;12939:2;;;12992:6;12984;12977:22;12939:2;13020:28;13038:9;13020:28;:::i;:::-;13010:38;;13099:2;13088:9;13084:18;13071:32;13122:18;13163:2;13155:6;13152:14;13149:2;;;13184:6;13176;13169:22;13149:2;13228:70;13290:7;13281:6;13270:9;13266:22;13228:70;:::i;:::-;13317:8;;-1:-1:-1;13202:96:1;-1:-1:-1;13405:2:1;13390:18;;13377:32;;-1:-1:-1;13421:16:1;;;13418:2;;;13455:6;13447;13440:22;13636:190;13695:6;13748:2;13736:9;13727:7;13723:23;13719:32;13716:2;;;13769:6;13761;13754:22;13716:2;-1:-1:-1;13797:23:1;;13706:120;-1:-1:-1;13706:120:1:o;13831:194::-;13901:6;13954:2;13942:9;13933:7;13929:23;13925:32;13922:2;;;13975:6;13967;13960:22;13922:2;-1:-1:-1;14003:16:1;;13912:113;-1:-1:-1;13912:113:1:o;14030:325::-;14098:6;14106;14159:2;14147:9;14138:7;14134:23;14130:32;14127:2;;;14180:6;14172;14165:22;14127:2;14221:9;14208:23;14198:33;;14281:2;14270:9;14266:18;14253:32;14294:31;14319:5;14294:31;:::i;14360:535::-;14446:6;14454;14462;14470;14523:3;14511:9;14502:7;14498:23;14494:33;14491:2;;;14545:6;14537;14530:22;14491:2;14586:9;14573:23;14563:33;;14646:2;14635:9;14631:18;14618:32;14659:31;14684:5;14659:31;:::i;:::-;14709:5;-1:-1:-1;14766:2:1;14751:18;;14738:32;14779:33;14738:32;14779:33;:::i;14900:393::-;14977:6;14985;14993;15046:2;15034:9;15025:7;15021:23;15017:32;15014:2;;;15067:6;15059;15052:22;15014:2;15108:9;15095:23;15085:33;;15168:2;15157:9;15153:18;15140:32;15181:31;15206:5;15181:31;:::i;15298:319::-;15363:6;15371;15424:2;15412:9;15403:7;15399:23;15395:32;15392:2;;;15445:6;15437;15430:22;15392:2;15486:9;15473:23;15463:33;;15546:2;15535:9;15531:18;15518:32;15559:28;15581:5;15559:28;:::i;15622:498::-;15702:6;15710;15718;15771:2;15759:9;15750:7;15746:23;15742:32;15739:2;;;15792:6;15784;15777:22;15739:2;15833:9;15820:23;15810:33;;15894:2;15883:9;15879:18;15866:32;15921:18;15913:6;15910:30;15907:2;;;15958:6;15950;15943:22;15907:2;16002:58;16052:7;16043:6;16032:9;16028:22;16002:58;:::i;:::-;15729:391;;16079:8;;-1:-1:-1;15976:84:1;;-1:-1:-1;;;;15729:391:1:o;16125:258::-;16193:6;16201;16254:2;16242:9;16233:7;16229:23;16225:32;16222:2;;;16275:6;16267;16260:22;16222:2;-1:-1:-1;;16303:23:1;;;16373:2;16358:18;;;16345:32;;-1:-1:-1;16212:171:1:o;16388:257::-;16429:3;16467:5;16461:12;16494:6;16489:3;16482:19;16510:63;16566:6;16559:4;16554:3;16550:14;16543:4;16536:5;16532:16;16510:63;:::i;:::-;16627:2;16606:15;-1:-1:-1;;16602:29:1;16593:39;;;;16634:4;16589:50;;16437:208;-1:-1:-1;;16437:208:1:o;17167:573::-;-1:-1:-1;;;;;17464:15:1;;;17446:34;;17516:15;;17511:2;17496:18;;17489:43;17580:6;17568:19;;17563:2;17548:18;;17541:47;17619:2;17604:18;;17597:34;;;17426:3;17662;17647:19;;17640:32;;;17389:4;;17689:45;;17714:19;;17706:6;17689:45;:::i;17745:375::-;-1:-1:-1;;;;;18003:15:1;;;17985:34;;18055:15;;;;18050:2;18035:18;;18028:43;18102:2;18087:18;;18080:34;;;;17935:2;17920:18;;17902:218::o;18125:488::-;-1:-1:-1;;;;;18394:15:1;;;18376:34;;18446:15;;18441:2;18426:18;;18419:43;18493:2;18478:18;;18471:34;;;18541:3;18536:2;18521:18;;18514:31;;;18319:4;;18562:45;;18587:19;;18579:6;18562:45;:::i;:::-;18554:53;18328:285;-1:-1:-1;;;;;;18328:285:1:o;18897:677::-;19084:2;19136:21;;;19206:13;;19109:18;;;19228:22;;;19055:4;;19084:2;19307:15;;;;19281:2;19266:18;;;19055:4;19353:195;19367:6;19364:1;19361:13;19353:195;;;19432:13;;-1:-1:-1;;;;;19428:39:1;19416:52;;19523:15;;;;19488:12;;;;19464:1;19382:9;19353:195;;19579:635;19750:2;19802:21;;;19872:13;;19775:18;;;19894:22;;;19721:4;;19750:2;19973:15;;;;19947:2;19932:18;;;19721:4;20019:169;20033:6;20030:1;20027:13;20019:169;;;20094:13;;20082:26;;20163:15;;;;20128:12;;;;20055:1;20048:9;20019:169;;21380:219;21529:2;21518:9;21511:21;21492:4;21549:44;21589:2;21578:9;21574:18;21566:6;21549:44;:::i;21945:337::-;22147:2;22129:21;;;22186:2;22166:18;;;22159:30;-1:-1:-1;;;22220:2:1;22205:18;;22198:43;22273:2;22258:18;;22119:163::o;24347:345::-;24549:2;24531:21;;;24588:2;24568:18;;;24561:30;-1:-1:-1;;;24622:2:1;24607:18;;24600:51;24683:2;24668:18;;24521:171::o;26416:334::-;26618:2;26600:21;;;26657:2;26637:18;;;26630:30;-1:-1:-1;;;26691:2:1;26676:18;;26669:40;26741:2;26726:18;;26590:160::o;32273:355::-;32475:2;32457:21;;;32514:2;32494:18;;;32487:30;32553:33;32548:2;32533:18;;32526:61;32619:2;32604:18;;32447:181::o;34201:128::-;34241:3;34272:1;34268:6;34265:1;34262:13;34259:2;;;34278:18;;:::i;:::-;-1:-1:-1;34314:9:1;;34249:80::o;34334:217::-;34374:1;34400;34390:2;;-1:-1:-1;;;34425:31:1;;34479:4;34476:1;34469:15;34507:4;34432:1;34497:15;34390:2;-1:-1:-1;34536:9:1;;34380:171::o;34556:168::-;34596:7;34662:1;34658;34654:6;34650:14;34647:1;34644:21;34639:1;34632:9;34625:17;34621:45;34618:2;;;34669:18;;:::i;:::-;-1:-1:-1;34709:9:1;;34608:116::o;34729:125::-;34769:4;34797:1;34794;34791:8;34788:2;;;34802:18;;:::i;:::-;-1:-1:-1;34839:9:1;;34778:76::o;34859:258::-;34931:1;34941:113;34955:6;34952:1;34949:13;34941:113;;;35031:11;;;35025:18;35012:11;;;35005:39;34977:2;34970:10;34941:113;;;35072:6;35069:1;35066:13;35063:2;;;-1:-1:-1;;35107:1:1;35089:16;;35082:27;34912:205::o;35122:136::-;35161:3;35189:5;35179:2;;35198:18;;:::i;:::-;-1:-1:-1;;;35234:18:1;;35169:89::o;35263:380::-;35342:1;35338:12;;;;35385;;;35406:2;;35460:4;35452:6;35448:17;35438:27;;35406:2;35513;35505:6;35502:14;35482:18;35479:38;35476:2;;;35559:10;35554:3;35550:20;35547:1;35540:31;35594:4;35591:1;35584:15;35622:4;35619:1;35612:15;35648:135;35687:3;-1:-1:-1;;35708:17:1;;35705:2;;;35728:18;;:::i;:::-;-1:-1:-1;35775:1:1;35764:13;;35695:88::o;35788:127::-;35849:10;35844:3;35840:20;35837:1;35830:31;35880:4;35877:1;35870:15;35904:4;35901:1;35894:15;35920:127;35981:10;35976:3;35972:20;35969:1;35962:31;36012:4;36009:1;36002:15;36036:4;36033:1;36026:15;36052:131;-1:-1:-1;;;;;36127:31:1;;36117:42;;36107:2;;36173:1;36170;36163:12;36188:118;36274:5;36267:13;36260:21;36253:5;36250:32;36240:2;;36296:1;36293;36286:12;36311:131;-1:-1:-1;;;;;;36385:32:1;;36375:43;;36365:2;;36432:1;36429;36422:12
Swarm Source
ipfs://5712aba8ff8bcb06b189f5b71d437e5dcf339bf4f383c556b796b346234366d8
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.