@coti-io/coti-contracts 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/access/DataPrivacyFramework/DataPrivacyFramework.sol +1 -1
- package/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.sol +1 -1
- package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.sol +2 -4
- package/contracts/disperse/disperseToken/MintDisperser.sol +1 -3
- package/contracts/disperse/disperseToken/TokenDisperser.sol +1 -1
- package/contracts/messaging/PrivateMessaging.sol +1 -1
- package/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock.sol +1 -1
- package/contracts/mocks/messaging/PrivateMessagingHarness.sol +1 -1
- package/contracts/mocks/oracle/CotiPriceConsumerMock.sol +1 -1
- package/contracts/mocks/token/ERC20DecimalsMock.sol +1 -1
- package/contracts/mocks/token/ERC20Mock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock.sol +1 -1
- package/contracts/mocks/utils/mpc/Arithmetic128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Arithmetic256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ArithmeticAddTestsContract.sol +196 -0
- package/contracts/mocks/utils/mpc/ArithmeticMulTestsContract.sol +194 -0
- package/contracts/mocks/utils/mpc/ArithmeticSigned128TestsContract.sol +63 -0
- package/contracts/mocks/utils/mpc/ArithmeticSigned256TestsContract.sol +107 -0
- package/contracts/mocks/utils/mpc/ArithmeticSignedNarrowTestsContract.sol +123 -0
- package/contracts/mocks/utils/mpc/ArithmeticSubTestsContract.sol +196 -0
- package/contracts/mocks/utils/mpc/Bitwise128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Bitwise256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/BitwiseTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison1TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison2TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinMax128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinMax256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinMaxTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinimalImplementation.sol +1 -1
- package/contracts/mocks/utils/mpc/MinimalProxy.sol +1 -1
- package/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MiscellaneousTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MpcOperations128TestContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MpcOperationsTestContract.sol +4 -4
- package/contracts/mocks/utils/mpc/Mux128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Mux256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract.sol +1 -1
- package/contracts/mocks/utils/mpc/OnBoard128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/OnBoard256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/PrivacyImplementationV1.sol +1 -1
- package/contracts/mocks/utils/mpc/PrivacyImplementationV2.sol +1 -1
- package/contracts/mocks/utils/mpc/PrivacyProxy.sol +1 -1
- package/contracts/mocks/utils/mpc/Random128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Random256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Shift128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Shift256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ShiftTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/StringTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Transfer128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Transfer256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferScalarTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.sol +2 -2
- package/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.sol +1 -1
- package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +1 -1
- package/contracts/node/CotiNodeRewards.sol +3 -3
- package/contracts/node/SoulboundNodeNFT.sol +1 -2
- package/contracts/onboard/AccountOnboard.sol +1 -1
- package/contracts/oracle/ICotiPriceConsumer.sol +1 -1
- package/contracts/pod/IInbox.sol +231 -0
- package/contracts/pod/IInboxMiner.sol +53 -0
- package/contracts/pod/InboxUser.sol +29 -0
- package/contracts/pod/InboxUserCotiTestnet.sol +13 -0
- package/contracts/pod/PodNetworkConstants.sol +30 -0
- package/contracts/pod/examples/MpcAdder.sol +57 -0
- package/contracts/pod/examples/MpcAdderPausable.sol +25 -0
- package/contracts/pod/examples/MpcAdderPausable.sol.bak +25 -0
- package/contracts/pod/examples/it128/PodAdder128.sol +48 -0
- package/contracts/pod/examples/it256/PodAdder256.sol +48 -0
- package/contracts/pod/fee/IInboxFeeManager.sol +40 -0
- package/contracts/pod/manifest.json +52 -0
- package/contracts/pod/mpc/PodLib.sol +10 -0
- package/contracts/pod/mpc/PodLib128.sol +361 -0
- package/contracts/pod/mpc/PodLib256.sol +361 -0
- package/contracts/pod/mpc/PodLib64.sol +385 -0
- package/contracts/pod/mpc/PodLibBase.sol +72 -0
- package/contracts/pod/mpc/PodUser.sol +58 -0
- package/contracts/pod/mpc/PodUserFuji.sol +14 -0
- package/contracts/pod/mpc/PodUserSepolia.sol +13 -0
- package/contracts/pod/mpc/coti-side/IPodExecutorOps.sol +99 -0
- package/contracts/pod/mpccodec/MpcAbiCodec.sol +482 -0
- package/contracts/pod/privacy/IPodPriceOracle.sol +20 -0
- package/contracts/pod/privacy/IPrivacyPortal.sol +248 -0
- package/contracts/pod/privacy/IPrivacyPortalFactory.sol +88 -0
- package/contracts/pod/privacy/PortalFeeOracle.sol +51 -0
- package/contracts/pod/privacy/PrivacyPortal.sol +871 -0
- package/contracts/pod/privacy/PrivacyPortalFactory.sol +492 -0
- package/contracts/pod/privacy/PrivacyPortalFeeLib.sol +98 -0
- package/contracts/pod/privacy/mocks/CloneHelper.sol +14 -0
- package/contracts/pod/privacy/mocks/MockERC20.sol +26 -0
- package/contracts/pod/privacy/mocks/MockPodERC20ForPortal.sol +160 -0
- package/contracts/pod/privacy/mocks/MockPrivacyPortalFactory.sol +125 -0
- package/contracts/pod/privacy/mocks/MockWrappedNative.sol +24 -0
- package/contracts/pod/token/erc7984/Erc7984Constants.sol +9 -0
- package/contracts/pod/token/erc7984/Erc7984Pointers.sol +29 -0
- package/contracts/pod/token/erc7984/IERC7984.sol +69 -0
- package/contracts/pod/token/erc7984/IERC7984PortalWrapper.sol +31 -0
- package/contracts/pod/token/erc7984/PodErc7984Mixin.sol +125 -0
- package/contracts/pod/token/erc7984/README.md +60 -0
- package/contracts/pod/token/perc20/IPodERC20.sol +298 -0
- package/contracts/pod/token/perc20/PodERC20.sol +1021 -0
- package/contracts/pod/token/perc20/PodErc20Mintable.sol +88 -0
- package/contracts/pod/token/perc20/PodErc20MintableInitializable.sol +42 -0
- package/contracts/pod/token/perc20/cotiside/IPodErc20CotiSide.sol +88 -0
- package/contracts/pod/token/perc20/cotiside/PodErc20CotiMother.sol +529 -0
- package/contracts/pod/utils/IWrappedNative.sol +11 -0
- package/contracts/privacyBridge/PrivacyBridge.sol +5 -5
- package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeERC20.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeWADA.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeWETH.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgegCoti.sol +1 -1
- package/contracts/token/PrivateERC20/IPrivateERC20.sol +1 -1
- package/contracts/token/PrivateERC20/ITokenReceiver.sol +1 -1
- package/contracts/token/PrivateERC20/ITokenReceiverEncrypted.sol +1 -1
- package/contracts/token/PrivateERC20/PrivateERC20.sol +5 -5
- package/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateCOTI.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.sol +1 -1
- package/contracts/token/PrivateERC721/IERC721Errors.sol +1 -1
- package/contracts/token/PrivateERC721/PrivateERC721.sol +1 -1
- package/contracts/token/PrivateERC721/extensions/IPrivateERC721URIStorage.sol +1 -1
- package/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.sol +1 -1
- package/contracts/token/points/CotiTokenPoints004.sol +43 -0
- package/contracts/utils/mpc/MpcCore.sol +610 -1
- package/contracts/utils/mpc/MpcInterface.sol +1 -1
- package/hardhat.config.ts +5 -14
- package/package.json +4 -4
- package/scripts/deployCotiTokenPoints004.ts +61 -0
- package/scripts/deployFixedRatioCoinDisperserUnlimitedWindow.ts +68 -0
- package/scripts/verifyCotiTokenPoints004.ts +123 -0
- package/scripts/verifyFixedRatioCoinDisperserUnlimitedWindow.ts +112 -0
- package/test/messaging/PrivateMessaging.test.ts +5 -5
- package/test/pod/privacy/PrivacyPortal.access.test.ts +756 -0
- package/test/pod/privacy/PrivacyPortal.recovery.test.ts +263 -0
- package/test/privacyBridge/UnifiedPrivacyBridges.test.cjs +5 -3
- package/test/utils/mpc/CheckedSignedArithmetic256.test.ts +163 -0
- package/test/utils/mpc/NegativeCases.test.ts +3 -3
- package/test/utils/mpc/Precompile.test.ts +6 -6
- package/typechain-types/@openzeppelin/contracts/access/AccessControl.ts +2 -2
- package/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts +2 -2
- package/typechain-types/@openzeppelin/contracts/access/extensions/AccessControlEnumerable.ts +375 -0
- package/typechain-types/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable.ts +329 -0
- package/typechain-types/@openzeppelin/contracts/access/extensions/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/access/index.ts +2 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/IERC1363.ts +412 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.ts +151 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +6 -50
- package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +6 -6
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.ts +313 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.ts +356 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.ts +423 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +6 -6
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +3 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +2 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/utils/Nonces.ts +85 -0
- package/typechain-types/@openzeppelin/contracts/utils/Pausable.ts +150 -0
- package/typechain-types/@openzeppelin/contracts/utils/ReentrancyGuard.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/ShortStrings.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/Strings.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/EIP712.ts +151 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/utils/index.ts +9 -0
- package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
- package/typechain-types/contracts/mocks/token/ERC20DecimalsMock.ts +6 -50
- package/typechain-types/contracts/mocks/token/ERC20Mock.ts +6 -50
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.ts +16 -2
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.ts +2 -2
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.ts +2 -2
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +2 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridge.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeCotiNative.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDCe.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDT.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWADA.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWBTC.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWETH.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgegCoti.ts +16 -2
- package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTI.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.ts +2 -2
- package/typechain-types/contracts/token/index.ts +2 -0
- package/typechain-types/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004.ts +826 -0
- package/typechain-types/contracts/token/points/CotiTokenPoints004.ts +826 -0
- package/typechain-types/contracts/token/points/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts +22 -1
- package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +22 -1
- package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +22 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/extensions/AccessControlEnumerable__factory.ts +316 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable__factory.ts +265 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/extensions/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +1 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1363__factory.ts +393 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.ts +71 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts +127 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts +111 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts +128 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +3 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +84 -110
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +3 -3
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory.ts +364 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable__factory.ts +382 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit__factory.ts +540 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +3 -3
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +3 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +1 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.ts +96 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/ERC721__factory.ts +98 -59
- package/typechain-types/factories/@openzeppelin/contracts/utils/Nonces__factory.ts +57 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/Pausable__factory.ts +71 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/ReentrancyGuard__factory.ts +30 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.ts +83 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.ts +90 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +91 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/EIP712__factory.ts +87 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +7 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1__factory.ts +12 -1
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow__factory.ts +39 -1
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +12 -1
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory.ts +23 -1
- package/typechain-types/factories/contracts/disperse/disperseToken/TokenDisperser__factory.ts +12 -1
- package/typechain-types/factories/contracts/messaging/PrivateMessaging__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/messaging/PrivateMessagingHarness__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/token/ERC20DecimalsMock__factory.ts +90 -52
- package/typechain-types/factories/contracts/mocks/token/ERC20Mock__factory.ts +90 -52
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock__factory.ts +90 -2
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock__factory.ts +28 -2
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock__factory.ts +28 -2
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +28 -2
- package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol/CheckedArithmeticWithOverflowBitTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalImplementation__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperations128TestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperationsTestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV1__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV2__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/node/CotiNodeRewards__factory.ts +28 -1
- package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT__factory.ts +126 -1
- package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +1 -1
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeCotiNative__factory.ts +79 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20__factory.ts +89 -1
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDCe__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDT__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWADA__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWBTC__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWETH__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridge__factory.ts +78 -1
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgegCoti__factory.ts +90 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +27 -1
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTI__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateTetherUSD__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedADA__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedEther__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/index.ts +1 -0
- package/typechain-types/factories/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004__factory.ts +992 -0
- package/typechain-types/factories/contracts/token/points/CotiTokenPoints004__factory.ts +992 -0
- package/typechain-types/factories/contracts/token/points/index.ts +4 -0
- package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +360 -0
- package/typechain-types/index.ts +36 -4
- package/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol +0 -408
|
@@ -31,6 +31,27 @@ const _abi = [
|
|
|
31
31
|
stateMutability: "nonpayable",
|
|
32
32
|
type: "constructor",
|
|
33
33
|
},
|
|
34
|
+
{
|
|
35
|
+
inputs: [],
|
|
36
|
+
name: "AccessControlBadConfirmation",
|
|
37
|
+
type: "error",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
inputs: [
|
|
41
|
+
{
|
|
42
|
+
internalType: "address",
|
|
43
|
+
name: "account",
|
|
44
|
+
type: "address",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
internalType: "bytes32",
|
|
48
|
+
name: "neededRole",
|
|
49
|
+
type: "bytes32",
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
name: "AccessControlUnauthorizedAccount",
|
|
53
|
+
type: "error",
|
|
54
|
+
},
|
|
34
55
|
{
|
|
35
56
|
inputs: [],
|
|
36
57
|
name: "AuditorCannotReceiveUserCiphertext",
|
|
@@ -111,6 +132,11 @@ const _abi = [
|
|
|
111
132
|
name: "PublicAmountsDisabled",
|
|
112
133
|
type: "error",
|
|
113
134
|
},
|
|
135
|
+
{
|
|
136
|
+
inputs: [],
|
|
137
|
+
name: "ReentrancyGuardReentrantCall",
|
|
138
|
+
type: "error",
|
|
139
|
+
},
|
|
114
140
|
{
|
|
115
141
|
inputs: [
|
|
116
142
|
{
|
|
@@ -1069,7 +1095,7 @@ const _abi = [
|
|
|
1069
1095
|
},
|
|
1070
1096
|
{
|
|
1071
1097
|
internalType: "address",
|
|
1072
|
-
name: "
|
|
1098
|
+
name: "callerConfirmation",
|
|
1073
1099
|
type: "address",
|
|
1074
1100
|
},
|
|
1075
1101
|
],
|
|
@@ -1455,7 +1481,7 @@ const _abi = [
|
|
|
1455
1481
|
] as const;
|
|
1456
1482
|
|
|
1457
1483
|
const _bytecode =
|
|
1458
|
-
"0x60a0346200042157620044a09081380390601f1990601f90828285011681019460018060401b039482871086881117620003265780839260409889528339602092839181010312620004215751936001600160a01b0385169384860362000421576200006a62000426565b93601d85527f50726976617465455243323041756469746f72537570706c794d6f636b000000848601526200009e62000426565b600381526250415360e81b85820152600195868055805115620004105781511562000410578051908582116200032657600854908882811c9216801562000405575b8883101462000305578185849311620003ae575b50879085831160011462000348576000926200033c575b5050600019600383901b1c191690871b176008555b80519384116200032657600954928684811c941680156200031b575b8685101462000305578383869511620002aa575b508592841160011462000243575060009262000237575b5050600019600383901b1c191690831b176009555b60008052600081528460002033600052815260ff85600020541615620001e8575b5060ff19600254161760025515620001d0576080525161405990816200044782396080518181816113040152611a2c0152f35b815163ec442f0560e01b815260006004820152602490fd5b600080526000815284600020903360005252836000208160ff19825416179055333360007f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4386200019d565b01519050388062000167565b869492919216916009600052856000209260005b8782821062000293575050841162000279575b505050811b016009556200017c565b015160001960f88460031b161c191690553880806200026a565b838501518655899790950194938401930162000257565b90919293506009600052856000208480870160051c820192888810620002fb575b9187968a92969594930160051c01915b828110620002eb57505062000150565b60008155879650899101620002db565b92508192620002cb565b634e487b7160e01b600052602260045260246000fd5b93607f16936200013c565b634e487b7160e01b600052604160045260246000fd5b0151905038806200010b565b90868a9416916008600052896000209260005b8b8282106200039757505084116200037d575b505050811b0160085562000120565b015160001960f88460031b161c191690553880806200036e565b8385015186558d979095019493840193016200035b565b9091506008600052876000208580850160051c8201928a8610620003fb575b918b91869594930160051c01915b828110620003eb575050620000f4565b600081558594508b9101620003db565b92508192620003cd565b91607f1691620000e0565b8951631251828960e31b8152600490fd5b600080fd5b60408051919082016001600160401b03811183821017620003265760405256fe6040608081526004908136101561001557600080fd5b600091823560e01c80620a77ed14611ea457806301ffc9a714611dce578063043d208514611d675780630564c4cf14611ce457806306fdde0314611c17578063095ea7b314611afc57806312af25bf146119e857806318160ddd14610a3a57806323b872dd14611902578063248a9ca3146118d957806326a9b3f1146117725780632f2ff15d146116a0578063313ce5671461168457806336568abe146115bd5780633826c5801461149157806338e071bc1461144557806339509351146113ec5780633c96e77c146113285780633ec045a6146112d75780634000aea01461113d57806340c10f19146110dc57806342966c68146110a85780634faa7ebf146110845780635d484ff814610f4757806368c7a25d14610ef357806370a0823114610e5f578063722713f714610e385780638269bcc314610d4257806383ae57f414610cfa57806384813e9314610ca75780638e532c4414610c4d5780638f770ad014610c3057806391d1485414610bdf57806395d89b4114610a8a57806396b2db3814610a55578063a217fddf14610a3a578063a457c2d7146109e1578063a9059cbb1461095b578063b485441d1461090c578063b935980914610891578063c183b7fc1461082f578063d184683614610515578063d5391393146104d6578063d547741f14610499578063dd62ed3e1461031e578063e4f75ce7146102a05763fb2205ca1461022557600080fd5b3461029c5761023336611fb8565b91909261023e61200b565b6102466126a3565b73ffffffffffffffffffffffffffffffffffffffff841615610286578461027f856102796102743688612712565b613a88565b90612e10565b6001805580f35b9084602492519163ec442f0560e01b8352820152fd5b8280fd5b503461029c576102af36611fb8565b9190926102ba6126a3565b73ffffffffffffffffffffffffffffffffffffffff8416156102ef578461027f856102e86102743688612712565b90336133ff565b908460249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b50903461029c578060031936011261029c57610338611eca565b90610341611ef2565b81519261034d846123a8565b825193610359856123f3565b868552602094878682015281528351610371816123f3565b8781528786820152858201528380519161038a836123f3565b8883528887840152015273ffffffffffffffffffffffffffffffffffffffff80911691821561046a571690811561043b57858492849260c0985260058452828220908252835220916104058151956103e1876123a8565b6103ea85612890565b87526103f860028601612890565b9484880195865201612890565b928186019384528282519651805188520151838701525190815190860152015160608401525180516080840152015160a0820152f35b602485878551917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b602486888651917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b50903461029c578060031936011261029c576104d391356104ce60016104bd611ef2565b93838752866020528620015461228b565b61246c565b80f35b505034610511578160031936011261051157602090517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b5080fd5b50919034610511576020908160031936011261029c5783359081151580920361082b57838052838352808420338552835260ff8185205416156105ab577fd42670144ecdb96470ba224c43350a54c3f4a1890e72b2a470a689962b9f3c4f9394507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006002541660ff83161760025551908152a180f35b849150836105b83361254c565b90808351906105c68261240f565b604282528682019260603685378251156107ff57603084538251906001918210156107d35790607860218501536041915b818311610729575050506106ce576048610687938593610696936106ca97519687937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c8601526106528c8251928391603789019101611f15565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190611f15565b0103602881018552018361242b565b519384937f08c379a00000000000000000000000000000000000000000000000000000000085528401526024830190611f38565b0390fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156107a7577f3031323334353637383961626364656600000000000000000000000000000000901a610766858761250c565b53881c92801561077b576000190191906105f7565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b503461029c578160031936011261029c57610848611eca565b916108516126a3565b73ffffffffffffffffffffffffffffffffffffffff83161561087b578361027f6024358533612999565b9083602492519163ec442f0560e01b8352820152fd5b503461029c578160031936011261029c576108aa611eca565b916108b36126a3565b73ffffffffffffffffffffffffffffffffffffffff8316156108dd578361027f6024358533613530565b908360249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b503461029c5761091b36611fb8565b9190926109266126a3565b73ffffffffffffffffffffffffffffffffffffffff8416156102ef578461027f856109546102743688612712565b9033613530565b503461029c578160031936011261029c57610974611eca565b9161097d6126a3565b73ffffffffffffffffffffffffffffffffffffffff83161561087b5760ff60025416156109bb578361027f846109b4602435613d80565b9033612999565b517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b503461029c578160031936011261029c576109fa611eca565b91610a036126a3565b73ffffffffffffffffffffffffffffffffffffffff8316156108dd5760ff60025416156109bb578361027f84610954602435613d80565b50503461051157816003193601126105115751908152602090f35b505034610511578060031936011261051157602090610a83610a75611eca565b610a7d611f7b565b906128ae565b9051908152f35b509134610bdc5780600319360112610bdc578151918160095492600184811c91818616958615610bd2575b6020968785108114610ba6578899509688969785829a529182600014610b61575050600114610b05575b505050610b019291610af291038561242b565b51928284938452830190611f38565b0390f35b9190869350600983527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b828410610b495750505082010181610af2610b01610adf565b8054848a018601528895508794909301928101610b30565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610af29150610b019050610adf565b60248360228c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b92607f1692610ab5565b80fd5b503461029c578160031936011261029c578160209360ff92610bff611ef2565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b505034610511578160031936011261051157602090516000198152f35b503461029c57610c5c36611fb8565b919092610c676126a3565b73ffffffffffffffffffffffffffffffffffffffff8416156102ef578461027f85610c956102743688612712565b90610ca18282336132b4565b33613666565b503461029c578160031936011261029c57610cc0611eca565b91610cc961200b565b610cd16126a3565b73ffffffffffffffffffffffffffffffffffffffff83161561087b578361027f60243585612e10565b503461029c57610d0936611fb8565b919092610d146126a3565b73ffffffffffffffffffffffffffffffffffffffff841615610286578461027f856109b46102743688612712565b50829034610511576020928360031936011261029c57610d60611eca565b91610d696126a3565b73ffffffffffffffffffffffffffffffffffffffff8316928315610e2257610da990338652828752610da4610d9f858820612890565b613808565b613c2e565b9033855260038652828520847fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905585526003858386209280516002850155015191015551917f60662088d92b75bf198cd91648eaec81fc2278e7a02f3cf02643637be4728c24339180a36001805560018152f35b5083602492519163ec442f0560e01b8352820152fd5b503461029c578260031936011261029c57610d9f82602094610a8393338252865220612890565b509134610bdc576020600319360112610bdc5773ffffffffffffffffffffffffffffffffffffffff610e8f611eca565b8260208551610e9d816123f3565b8281520152168015610edd578282610b0195600293610ec195526020522001612890565b9051918291829190916020806040830194805184520151910152565b5060249291519163ec442f0560e01b8352820152fd5b838234610511576003199060208236011261029c5780359167ffffffffffffffff831161082b57606090833603011261029c57610274610f419161027f93610f396126a3565b369101612712565b33613059565b50829034610511576003199060608236011261029c57610f65611eca565b610f6d611ef2565b916044359367ffffffffffffffff851161108057606090853603011261107c57610f956126a3565b73ffffffffffffffffffffffffffffffffffffffff9384831694851561104d5784161561103757610d9f61027f9697610fda61027461103295610ff295369101612712565b9689526005602052808920338a526020528820612890565b611029610ffe82613fd5565b61101f61102461101f6110196110148b88613ef5565b613a1d565b8461393f565b613989565b612934565b908533856137ed565b612999565b6024828789519163ec442f0560e01b8352820152fd5b602483888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8480fd5b8580fd5b50503461051157816003193601126105115760209060ff6002541690519015158152f35b50903461029c57602060031936011261029c576110c36126a3565b60ff60025416156109bb5750610f4161027f9135613d80565b503461029c578160031936011261029c576110f5611eca565b916110fe61200b565b6111066126a3565b73ffffffffffffffffffffffffffffffffffffffff83161561087b5760ff60025416156109bb578361027f84610279602435613d80565b503461029c57606060031936011261029c57611157611eca565b6024359060443567ffffffffffffffff81116110805761117a9036908501611f8a565b9290936111856126a3565b73ffffffffffffffffffffffffffffffffffffffff83169283156112c157803b156112925760ff600254161561126a5782916111c989926109b46020989796613d80565b6112138851978896879586947fbed25542000000000000000000000000000000000000000000000000000000008652339086015260248501526060604485015260648401916127ec565b03925af190811561125e5761027f92508391611230575b5061282b565b611251915060203d8111611257575b611249818361242b565b8101906127d4565b3861122a565b503d61123f565b505051903d90823e3d90fd5b5085517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602482858951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024828989519163ec442f0560e01b8352820152fd5b5050346105115781600319360112610511576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5082903461051157606060031936011261051157611344611eca565b61134c611ef2565b90604435926113596126a3565b73ffffffffffffffffffffffffffffffffffffffff908183169182156113bd578416156113a75750610ff2610d9f86976110329361027f98526005602052808920338a526020528820612890565b6024908688519163ec442f0560e01b8352820152fd5b602482888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b503461029c578160031936011261029c57611405611eca565b9161140e6126a3565b73ffffffffffffffffffffffffffffffffffffffff8316156108dd5760ff60025416156109bb578361027f846102e8602435613d80565b503461029c578160031936011261029c5761145e611eca565b916114676126a3565b73ffffffffffffffffffffffffffffffffffffffff8316156108dd578361027f60243585336133ff565b503461029c5760031960608136011261082b576114ac611eca565b916024359167ffffffffffffffff908184116115b957606090843603011261108057604435908111611080576114e59036908301611f8a565b9190936114f06126a3565b73ffffffffffffffffffffffffffffffffffffffff81169384156115a357813b1561157457602094926115336112139795936109b46102748c9536908601612712565b8751968795869485937f2ac65e4e00000000000000000000000000000000000000000000000000000000855233908501528a602485015260448401916127ec565b602483868951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024838989519163ec442f0560e01b8352820152fd5b8680fd5b508290346105115782600319360112610511576115d8611ef2565b903373ffffffffffffffffffffffffffffffffffffffff83160361160157906104d3913561246c565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b5050346105115781600319360112610511576020905160128152f35b503461029c578160031936011261029c5735906116bb611ef2565b90828452836020526116d26001828620015461228b565b8284528360205273ffffffffffffffffffffffffffffffffffffffff81852092169182855260205260ff81852054161561170a578380f35b82845283602052808420828552602052832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b5082903461051157826003193601126105115761178d611eca565b92611796611f7b565b9161179f6126a3565b73ffffffffffffffffffffffffffffffffffffffff918286169182156118c4576117c833612cbe565b90848216156118ae5786978660001461184a57928593926005602080979461182b857fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e169b989d3398815285855281812089825285522094610da4610d9f87612890565b9081519085015501519101555b51951515865216941692a36001805580f35b9650509260209281927fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e1695339892898b5260058752828b20908b52865260038661189d848d2093610da4610d9f86612890565b805160028501550151910155611838565b6024908784519163ec442f0560e01b8352820152fd5b85602492519163ec442f0560e01b8352820152fd5b503461029c57602060031936011261029c57816020936001923581528085522001549051908152f35b508290346105115760606003193601126105115761191e611eca565b611926611ef2565b9061192f6126a3565b60ff60025416156119c05773ffffffffffffffffffffffffffffffffffffffff928382169384156119915783161561197b5750611032610ff2610d9f61027f9697610fda604435613d80565b6024908587519163ec442f0560e01b8352820152fd5b602482878951917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8285517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b509134610bdc5780600319360112610bdc5760208251611a07816123f3565b8281520152611a146126a3565b73ffffffffffffffffffffffffffffffffffffffff917f00000000000000000000000000000000000000000000000000000000000000008381163303611ad457611a5d90612cbe565b92831615611aad5750611a8d610b0192610da48351611a7b816123f3565b60065481526007546020820152613808565b906001805551918291829190916020806040830194805184520151910152565b90517f09d34bcd000000000000000000000000000000000000000000000000000000008152fd5b5090517ff87c8669000000000000000000000000000000000000000000000000000000008152fd5b50903461029c578060031936011261029c57611b16611eca565b9160243591611b236126a3565b73ffffffffffffffffffffffffffffffffffffffff84168015611be85760ff6002541615611bc15783611b66575b8561027f86611b5f87613d80565b9033613666565b3386526005602052818620908652602052611b9061101f611b8b610d9f848920612890565b613f5e565b15611b9b5780611b51565b517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602483878451917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b509134610bdc5780600319360112610bdc578151918160085492600184811c91818616958615611cda575b6020968785108114610ba6578899509688969785829a529182600014610b61575050600114611c7e57505050610b019291610af291038561242b565b9190869350600883527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35b828410611cc25750505082010181610af2610b01610adf565b8054848a018601528895508794909301928101611ca9565b92607f1692611c42565b50829034610511578260031936011261051157611cff611eca565b60243591611d0b6126a3565b73ffffffffffffffffffffffffffffffffffffffff821615611d3857509081610ca18261027f94336132b4565b602490848651917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b508234610bdc576020600319360112610bdc5773ffffffffffffffffffffffffffffffffffffffff9182611d99611eca565b16908115611db857602085858186868152600385522054169051908152f35b6024908386519163ec442f0560e01b8352820152fd5b503461029c57602060031936011261029c5735907fffffffff00000000000000000000000000000000000000000000000000000000821680920361029c57602092507f479eaff4000000000000000000000000000000000000000000000000000000008214918215611e44575b50519015158152f35b9091507f7965db0b000000000000000000000000000000000000000000000000000000008114908115611e7a575b509038611e3b565b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501438611e72565b8382346105115760206003193601126105115761027f90611ec36126a3565b3533613059565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203611eed57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203611eed57565b60005b838110611f285750506000910152565b8181015183820152602001611f18565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611f7481518092818752878088019101611f15565b0116010190565b602435908115158203611eed57565b9181601f84011215611eed5782359167ffffffffffffffff8311611eed5760208381860195010111611eed57565b90600319604081840112611eed5760043573ffffffffffffffffffffffffffffffffffffffff81168103611eed57926024359167ffffffffffffffff8311611eed5782606092030112611eed5760040190565b3360009081527f0781d7cac9c378efa22a7481e4d4d29704a680ddf504b3bc50b517700ee11e6c602090815260408083205490927f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69160ff161561206f5750505050565b6120783361254c565b918451906120858261240f565b6042825284820192606036853782511561225e576030845382519060019182101561225e5790607860218501536041915b8183116121b1575050506121555760486106ca93869361211f9361211098519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a860152610652815180928c603789019101611f15565b0103602881018752018561242b565b519283927f08c379a000000000000000000000000000000000000000000000000000000000845260048401526024830190611f38565b6064848651907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612231577f3031323334353637383961626364656600000000000000000000000000000000901a6121ee858761250c565b5360041c928015612204576000190191906120b6565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b600090808252602090828252604092838120338252835260ff8482205416156122b45750505050565b6122bd3361254c565b918451906122ca8261240f565b6042825284820192606036853782511561225e576030845382519060019182101561225e5790607860218501536041915b818311612355575050506121555760486106ca93869361211f9361211098519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a860152610652815180928c603789019101611f15565b909192600f81166010811015612231577f3031323334353637383961626364656600000000000000000000000000000000901a612392858761250c565b5360041c928015612204576000190191906122fb565b6060810190811067ffffffffffffffff8211176123c457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176123c457604052565b6080810190811067ffffffffffffffff8211176123c457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176123c457604052565b906000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff6040842054166124aa57505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b90815181101561251d570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60405190612559826123a8565b602a825260208201604036823782511561251d5760309053815160019081101561251d57607860218401536029905b8082116125f65750506125985790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015612675577f3031323334353637383961626364656600000000000000000000000000000000901a612632848661250c565b5360041c918015612647576000190190612588565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b6002600154146126b4576002600155565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b91908281039260608412611eed5760405161272c816123f3565b6040819512611eed5760405191612742836123f3565b8035835260209283820135848201528252604081013567ffffffffffffffff91828211611eed570184601f82011215611eed5780359182116123c457604051946127b3857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f860116018761242b565b828652848383010111611eed57816000928580930183880137850101520152565b90816020910312611eed57518015158103611eed5790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b1561283257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f43616c6c6261636b206661696c656400000000000000000000000000000000006044820152fd5b9060405161289d816123f3565b602060018294805484520154910152565b73ffffffffffffffffffffffffffffffffffffffff1690811561291c57156128f75760005260056020526040600020336000526020526128f4610d9f6040600020612890565b90565b3360005260056020526040600020906000526020526128f4610d9f6040600020612890565b602460405163ec442f0560e01b815260006004820152fd5b1561293b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b929173ffffffffffffffffffffffffffffffffffffffff908185168015612c8d5782841690811561291c57818114612c5c578296600095828752602096600488526040966129eb610d9f898420612890565b9a86835260048a52612a01610d9f8a8520612890565b978860448b519e8f907f56c72d280000000000000000000000000000000000000000000000000000000082527f060606000000000000000000000000000000000000000000000000000000000060048301526024820152015260648d015260608c6084818660645af1978815612c525783908490859a612c12575b612aa89b9c9d9e50612a8d8b613989565b9283612be9575b505050612b0e575b50505050505050613989565b15612ab1575050565b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601460248201527f45524332303a20757064617465206661696c65640000000000000000000000006044820152fd5b612b4a7f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a395848d8d51612b40816123f3565b8281520152612cbe565b80831615612bcc57612b5f612b6e9183613c2e565b945b848d8d51612b40816123f3565b91821615612bb157612b809250613c2e565b905b87518151815260209182015182820152825160408201529101516060820152608090a338808080808080612a9c565b5050875190612bbf826123f3565b8082528982015290612b82565b50612b6e8a51612bdb816123f3565b848152848d82015294612b61565b612c0a92945090612bfd612c03928a612d0f565b84613e8c565b9286612d0f565b388080612a94565b9950505060608c3d8211612c4a575b81612c2e6060938361242b565b8101031261029c578b518a8d01519c8a01519b9c8d9c99612a7c565b3d9150612c21565b89513d85823e3d90fd5b602490604051907fa26ce2e10000000000000000000000000000000000000000000000000000000082526004820152fd5b60246040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152fd5b73ffffffffffffffffffffffffffffffffffffffff8082168015612d0757600052600360205260406000205416908115612cf6575090565b8091503b612d015790565b50600090565b505050600090565b90600390612d1c83612cbe565b73ffffffffffffffffffffffffffffffffffffffff9190828116612d915750612d4490613b69565b921660009281845260046020526001602060408620928051845501519101556040805193612d71856123f3565b808552602085019281845281526004602052209251600284015551910155565b916040805195612da0876123f3565b815192612dac846123f3565b600091828552612dea60209786858a809901528b52868b01978651612dd0816123f3565b86815286898201528952612de381613b69565b8c52613c2e565b865216815260048352209451805186550151600185015551805160028501550151910155565b91909173ffffffffffffffffffffffffffffffffffffffff90818116801561291c57612e6390600081815260209460048652604094612e5c89612e57610d9f898720612890565b613df0565b9590613a1d565b98612e91612e8a82612e578a51612e79816123f3565b60065481526007548d820152613808565b9190613a1d565b8851907f145fca2c0000000000000000000000000000000000000000000000000000000082527f0606020000000000000000000000000000000000000000000000000000000000600483015282602483015260001960448301528a826064818a825af191821561304f57879261301e575b508a9b9c612f19612aa89b9c9493612f1f936138df565b906138df565b97612f2989613989565b9283612ffa575b505050612f42575b5050505050613989565b7f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a392848a8a51612f71816123f3565b8281520152612f9a895193612f85856123f3565b868552868c860152868c8c51612b40816123f3565b90811615612fdf57612fab91613c2e565b905b8751815181526020918201518282015282516040820152910151606082015280608081015b0390a33880808080612f38565b50508651612fec816123f3565b838152838982015290612fad565b61300661301693613b69565b8051600655015160075584612d0f565b38808b612f30565b9091508a81813d8311613048575b613036818361242b565b810103126115b9575190612aa8612f02565b503d61302c565b8a513d89823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff90818416908115612c8d5780916000908082526020946004865260409461309b610d9f878620612890565b986130a4613d0e565b9587519a7f56c72d28000000000000000000000000000000000000000000000000000000008c527f060606000000000000000000000000000000000000000000000000000000000060048d015260248c01528660448c015260648b015260608a6084818860645af19586156132aa578590868798613269575b612aa8999a9b9c5061312e89613989565b9283613215575b505050613146575050505050613989565b61315790858a8a51612b40816123f3565b918216156131da577f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a39161318a91613c2e565b83888851613197816123f3565b82815201528651906131a8826123f3565b848252888201859052875181518152602091820151828201528251604082015291015160608201528060808101612fd2565b50507f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a38551613208816123f3565b838152838882015261318a565b61322a9395506132259085612d0f565b613e8c565b9189613257613252856132258d51613241816123f3565b600654815260075486820152613808565b613b69565b80516006550151600755388080613135565b5096505060608a3d82116132a2575b816132856060938361242b565b8101031261107c578951888b01519a880151999a8b9a979061311d565b3d9150613278565b87513d87823e3d90fd5b9190613328916132c2613d0e565b6040517f7c12a1eb0000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201529160209083906064820190565b03928181600095818760645af180156133f45784906133c5575b61334c9150613989565b6133bf57604061101f93611b8b93610d9f9361338e9773ffffffffffffffffffffffffffffffffffffffff809116845260058252848420921683525220612890565b1561339557565b60046040517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50505050565b508181813d83116133ed575b6133db818361242b565b8101031261082b5761334c9051613342565b503d6133d1565b6040513d86823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff8084169081156134ff5782169081156134ce5761101f9361346092613459926000526005602052604060002090600052602052612e57610d9f6040600020612890565b9390613a1d565b156134705761346e92613666565b565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f45524332303a20616c6c6f77616e6365206f766572666c6f77000000000000006044820152fd5b60246040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152fd5b60246040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152fd5b9092919273ffffffffffffffffffffffffffffffffffffffff918281169283156134ff5782169283156134ce576135ed93600091825260056020526040968791828420908452602052613587610d9f838520612890565b825196879283927fce8c713d000000000000000000000000000000000000000000000000000000008452600484016040909392919360608101947f0606000000000000000000000000000000000000000000000000000000000000825260208201520152565b03818460645af193841561365a5761346e9596829561361d575b505061102461101f61361892613a1d565b613666565b61101f95506136189250611024918161364a92903d10613653575b613642818361242b565b810190613b53565b95909250613607565b503d613638565b508551903d90823e3d90fd5b9173ffffffffffffffffffffffffffffffffffffffff8084169283156134ff578181169485156134ce57836137b39160056136ca6136c47f836b0bdb95065391d1c4c568d3e48559e54d5969d06d7ea87f85869e1ef69dc898613b69565b92612cbe565b956000936137046040958651996136e08b6123f3565b818b5260209a8b01829052808516156137d3576136fe915083613c2e565b97612cbe565b90600092838a8851613715816123f3565b82815201528216156137b85761372b9250613c2e565b955b835192613739846123a8565b835280830186815281858501918983528b600052848252866000208d6000528252818760002096518051885501516001870155518051600287015501516003850155518051600485015501519101555192839283909291602060609181608085019680518652015182850152805160408501520151910152565b0390a3565b50508351906137c6826123f3565b808252878201529561372d565b508651906137e0826123f3565b8082528a82015297612cbe565b929091936133bf5761346e9361380291613e8c565b91613666565b805115806138d3575b6138ca5760208151910151604051917f2d5831350000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015260448201526020816064816000825af19081156138be57600091613890575090565b906020823d82116138b6575b816138a96020938361242b565b81010312610bdc57505190565b3d915061389c565b6040513d6000823e3d90fd5b506128f4613d0e565b50602081015115613811565b6040517ffe9c73d1000000000000000000000000000000000000000000000000000000008152600060048201526024810191909152604481019190915260208180606481015b0381600060645af19081156138be57600091613890575090565b6040517ffb7da35f00000000000000000000000000000000000000000000000000000000815260006004820152602481019190915260448101919091526020818060648101613925565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af1918215613a115780926139dd575b5050151590565b9091506020823d8211613a09575b816139f86020938361242b565b81010312610bdc57505138806139d6565b3d91506139eb565b604051903d90823e3d90fd5b6040517f1d79e49a00000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af1918215613a11578092613a6e57505090565b9091506020823d82116138b657816138a96020938361242b565b80519081519160209182808093015191015193613b0a60405195869384937f0135e4660000000000000000000000000000000000000000000000000000000085527f0600000000000000000000000000000000000000000000000000000000000000600486015260248501526044840152608060648401526084830190611f38565b0381600060645af19081156138be57600091613b27575b50905090565b82813d8311613b4c575b613b3b818361242b565b81010312610bdc5750518038613b21565b503d613b31565b9190826040910312611eed576020825192015190565b60209060408051613b79816123f3565b600093818580935201528051917f1f4491de0000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015280826044818660645af1918215613c24578392613c02575b505191613bf8836123f3565b8252602082015290565b90809350613c1c92503d841161365357613642818361242b565b909138613bec565b81513d85823e3d90fd5b60408051602093613cee938392613c44816123f3565b600096818880935201527fffffffffffffffffffffffffffffffffffffffff00000000000000000000000083519260601b16602083015260148252613c88826123f3565b825194859283927fe5c833130000000000000000000000000000000000000000000000000000000084527f060000000000000000000000000000000000000000000000000000000000000060048501526024840152606060448401526064830190611f38565b03818660645af1918215613c24578392613c0257505191613bf8836123f3565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f060000000000000000000000000000000000000000000000000000000000000060048201526000908160248201526020816044818560645af1918215613a11578092613a6e57505090565b604051907fd9b60b600000000000000000000000000000000000000000000000000000000082527f060000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af19081156138be57600091613890575090565b604080517ff581fa200000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201929092529190826064816000825af19182156138be576000908193613e6d57509190565b9050613e8891925060403d811161365357613642818361242b565b9091565b6040517f371d1bf20000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020818060648101613925565b6040517fdd1486930000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020818060648101613925565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f06060200000000000000000000000000000000000000000000000000000000006004830152602482015260009081604482015260208160648185825af1918215613a11578092613a6e57505090565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f06060200000000000000000000000000000000000000000000000000000000006004830152602482015260001960448201526020816064816000825af19081156138be5760009161389057509056fea164736f6c6343000813000a";
|
|
1484
|
+
"0x60a034620003b757601f19906001600160401b0390601f9062003dad388190038381018616830185811184821017620002bb57839282916040528339602092839181010312620003b75751926001600160a01b03841692838503620003b75762000068620003bc565b92601d84527f50726976617465455243323041756469746f72537570706c794d6f636b000000818501526200009c620003bc565b96600388526250415360e81b82890152600194858055805115620003a557885115620003a557805190858211620002bb57600854908782811c921680156200039a575b858310146200029a57818684931162000343575b508490868311600114620002dd57600092620002d1575b5050600019600383901b1c191690861b176008555b8751938411620002bb576009548581811c91168015620002b0575b838210146200029a578381116200024e575b5081928411600114620001e35750508192939495600092620001d7575b5050600019600383901b1c191690821b176009555b6200018933620003dc565b5060ff19600254161760025515620001be5760805260405161393f90816200046e82396080518181816110d901526116fe0152f35b60405163ec442f0560e01b815260006004820152602490fd5b01519050388062000169565b839291921696600960005282600020926000905b898210620002365750508385969798106200021c575b505050811b016009556200017e565b015160001960f88460031b161c191690553880806200020d565b808785968294968601518155019501930190620001f7565b6009600052826000208480870160051c82019285881062000290575b0160051c019086905b828110620002835750506200014c565b6000815501869062000273565b925081926200026a565b634e487b7160e01b600052602260045260246000fd5b90607f16906200013a565b634e487b7160e01b600052604160045260246000fd5b0151905038806200010a565b9084899416916008600052866000209260005b888282106200032c575050841162000312575b505050811b016008556200011f565b015160001960f88460031b161c1916905538808062000303565b8385015186558c97909501949384019301620002f0565b9091506008600052846000208680850160051c82019287861062000390575b918a91869594930160051c01915b82811062000380575050620000f3565b600081558594508a910162000370565b9250819262000362565b91607f1691620000df565b604051631251828960e31b8152600490fd5b600080fd5b60408051919082016001600160401b03811183821017620002bb57604052565b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166200046957818052816020526040822081835260205260408220600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b509056fe6040608081526004908136101561001557600080fd5b600091823560e01c80620a77ed14611b7657806301ffc9a714611aa0578063043d208514611a395780630564c4cf146119b657806306fdde03146118e9578063095ea7b3146117ce57806312af25bf146116ba57806318160ddd146107f157806323b872dd146115d4578063248a9ca3146115ab57806326a9b3f1146114445780632f2ff15d1461141b578063313ce567146113ff57806336568abe146113925780633826c5801461126657806338e071bc1461121a57806339509351146111c15780633c96e77c146110fd5780633ec045a6146110ac5780634000aea014610f1257806340c10f1914610eb157806342966c6814610e7d5780634faa7ebf14610e595780635d484ff814610d1c57806368c7a25d14610cc857806370a0823114610c34578063722713f714610c0d5780638269bcc314610b1757806383ae57f414610acf57806384813e9314610a7c5780638e532c4414610a225780638f770ad0146109e757806391d148541461099657806395d89b411461084157806396b2db381461080c578063a217fddf146107f1578063a457c2d714610798578063a9059cbb14610712578063b485441d146106c3578063b935980914610648578063c183b7fc146105e6578063d184683614610516578063d5391393146104d7578063d547741f14610499578063dd62ed3e1461031e578063e4f75ce7146102a05763fb2205ca1461022557600080fd5b3461029c5761023336611c82565b91909261023e611cd5565b610246611f81565b73ffffffffffffffffffffffffffffffffffffffff841615610286578461027f856102796102743688611fbc565b613350565b906126ba565b6001805580f35b9084602492519163ec442f0560e01b8352820152fd5b8280fd5b503461029c576102af36611c82565b9190926102ba611f81565b73ffffffffffffffffffffffffffffffffffffffff8416156102ef578461027f856102e86102743688611fbc565b9033612cc7565b908460249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b50903461029c578060031936011261029c57610338611b9c565b90610341611bc4565b81519261034d84611ed9565b82519361035985611f24565b86855260209487868201528152835161037181611f24565b8781528786820152858201528380519161038a83611f24565b8883528887840152015273ffffffffffffffffffffffffffffffffffffffff80911691821561046a571690811561043b57858492849260c0985260058452828220908252835220916104058151956103e187611ed9565b6103ea8561213a565b87526103f86002860161213a565b948488019586520161213a565b928186019384528282519651805188520151838701525190815190860152015160608401525180516080840152015160a0820152f35b602485878551917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b602486888651917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b50903461029c578060031936011261029c576104d391356104ce60016104bd611bc4565b938387528660205286200154611d68565b611e38565b5080f35b505034610512578160031936011261051257602090517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b5080fd5b50903461029c57602060031936011261029c578135918215158093036105e2578380528360205281842033855260205260ff8285205416156105ad57507fd42670144ecdb96470ba224c43350a54c3f4a1890e72b2a470a689962b9f3c4f916020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006002541660ff83161760025551908152a180f35b8360449251917fe2517d3f00000000000000000000000000000000000000000000000000000000835233908301526024820152fd5b8380fd5b503461029c578160031936011261029c576105ff611b9c565b91610608611f81565b73ffffffffffffffffffffffffffffffffffffffff831615610632578361027f6024358533612243565b9083602492519163ec442f0560e01b8352820152fd5b503461029c578160031936011261029c57610661611b9c565b9161066a611f81565b73ffffffffffffffffffffffffffffffffffffffff831615610694578361027f6024358533612df8565b908360249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b503461029c576106d236611c82565b9190926106dd611f81565b73ffffffffffffffffffffffffffffffffffffffff8416156102ef578461027f8561070b6102743688611fbc565b9033612df8565b503461029c578160031936011261029c5761072b611b9c565b91610734611f81565b73ffffffffffffffffffffffffffffffffffffffff8316156106325760ff6002541615610772578361027f8461076b602435613648565b9033612243565b517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b503461029c578160031936011261029c576107b1611b9c565b916107ba611f81565b73ffffffffffffffffffffffffffffffffffffffff8316156106945760ff6002541615610772578361027f8461070b602435613648565b50503461051257816003193601126105125751908152602090f35b50503461051257806003193601126105125760209061083a61082c611b9c565b610834611c45565b90612158565b9051908152f35b5091346109935780600319360112610993578151918160095492600184811c91818616958615610989575b602096878510811461095d578899509688969785829a5291826000146109185750506001146108bc575b5050506108b892916108a9910385611f40565b51928284938452830190611be7565b0390f35b9190869350600983527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b82841061090057505050820101816108a96108b8610896565b8054848a0186015288955087949093019281016108e7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b860190930193508492506108a991506108b89050610896565b60248360228c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b92607f169261086c565b80fd5b503461029c578160031936011261029c578160209360ff926109b6611bc4565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b505034610512578160031936011261051257602090517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8152f35b503461029c57610a3136611c82565b919092610a3c611f81565b73ffffffffffffffffffffffffffffffffffffffff8416156102ef578461027f85610a6a6102743688611fbc565b90610a76828233612b7c565b33612f2e565b503461029c578160031936011261029c57610a95611b9c565b91610a9e611cd5565b610aa6611f81565b73ffffffffffffffffffffffffffffffffffffffff831615610632578361027f602435856126ba565b503461029c57610ade36611c82565b919092610ae9611f81565b73ffffffffffffffffffffffffffffffffffffffff841615610286578461027f8561076b6102743688611fbc565b50829034610512576020928360031936011261029c57610b35611b9c565b91610b3e611f81565b73ffffffffffffffffffffffffffffffffffffffff8316928315610bf757610b7e90338652828752610b79610b7485882061213a565b6130d0565b6134f6565b9033855260038652828520847fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905585526003858386209280516002850155015191015551917f60662088d92b75bf198cd91648eaec81fc2278e7a02f3cf02643637be4728c24339180a36001805560018152f35b5083602492519163ec442f0560e01b8352820152fd5b503461029c578260031936011261029c57610b748260209461083a9333825286522061213a565b5091346109935760206003193601126109935773ffffffffffffffffffffffffffffffffffffffff610c64611b9c565b8260208551610c7281611f24565b8281520152168015610cb25782826108b895600293610c969552602052200161213a565b9051918291829190916020806040830194805184520151910152565b5060249291519163ec442f0560e01b8352820152fd5b838234610512576003199060208236011261029c5780359167ffffffffffffffff83116105e257606090833603011261029c57610274610d169161027f93610d0e611f81565b369101611fbc565b33612921565b50829034610512576003199060608236011261029c57610d3a611b9c565b610d42611bc4565b916044359367ffffffffffffffff8511610e55576060908536030112610e5157610d6a611f81565b73ffffffffffffffffffffffffffffffffffffffff93848316948515610e2257841615610e0c57610b7461027f9697610daf610274610e0795610dc795369101611fbc565b9689526005602052808920338a52602052882061213a565b610dfe610dd38261389d565b610df4610df9610df4610dee610de98b886137bd565b6132e5565b84613207565b613251565b6121de565b908533856130b5565b612243565b6024828789519163ec442f0560e01b8352820152fd5b602483888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8480fd5b8580fd5b50503461051257816003193601126105125760209060ff6002541690519015158152f35b50903461029c57602060031936011261029c57610e98611f81565b60ff60025416156107725750610d1661027f9135613648565b503461029c578160031936011261029c57610eca611b9c565b91610ed3611cd5565b610edb611f81565b73ffffffffffffffffffffffffffffffffffffffff8316156106325760ff6002541615610772578361027f84610279602435613648565b503461029c57606060031936011261029c57610f2c611b9c565b6024359060443567ffffffffffffffff8111610e5557610f4f9036908501611c54565b929093610f5a611f81565b73ffffffffffffffffffffffffffffffffffffffff831692831561109657803b156110675760ff600254161561103f578291610f9e899261076b6020989796613648565b610fe88851978896879586947fbed2554200000000000000000000000000000000000000000000000000000000865233908601526024850152606060448501526064840191612096565b03925af19081156110335761027f92508391611005575b506120d5565b611026915060203d811161102c575b61101e8183611f40565b81019061207e565b38610fff565b503d611014565b505051903d90823e3d90fd5b5085517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602482858951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024828989519163ec442f0560e01b8352820152fd5b5050346105125781600319360112610512576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5082903461051257606060031936011261051257611119611b9c565b611121611bc4565b906044359261112e611f81565b73ffffffffffffffffffffffffffffffffffffffff908183169182156111925784161561117c5750610dc7610b748697610e079361027f98526005602052808920338a52602052882061213a565b6024908688519163ec442f0560e01b8352820152fd5b602482888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b503461029c578160031936011261029c576111da611b9c565b916111e3611f81565b73ffffffffffffffffffffffffffffffffffffffff8316156106945760ff6002541615610772578361027f846102e8602435613648565b503461029c578160031936011261029c57611233611b9c565b9161123c611f81565b73ffffffffffffffffffffffffffffffffffffffff831615610694578361027f6024358533612cc7565b503461029c576003196060813601126105e257611281611b9c565b916024359167ffffffffffffffff9081841161138e576060908436030112610e5557604435908111610e55576112ba9036908301611c54565b9190936112c5611f81565b73ffffffffffffffffffffffffffffffffffffffff811693841561137857813b156113495760209492611308610fe897959361076b6102748c9536908601611fbc565b8751968795869485937f2ac65e4e00000000000000000000000000000000000000000000000000000000855233908501528a60248501526044840191612096565b602483868951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024838989519163ec442f0560e01b8352820152fd5b8680fd5b509190346105125780600319360112610512576113ad611bc4565b903373ffffffffffffffffffffffffffffffffffffffff8316036113d757506104d3919235611e38565b8390517f6697b232000000000000000000000000000000000000000000000000000000008152fd5b5050346105125781600319360112610512576020905160128152f35b50903461029c578060031936011261029c576104d3913561143f60016104bd611bc4565b611d8e565b5082903461051257826003193601126105125761145f611b9c565b92611468611c45565b91611471611f81565b73ffffffffffffffffffffffffffffffffffffffff918286169182156115965761149a33612568565b90848216156115805786978660001461151c5792859392600560208097946114fd857fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e169b989d3398815285855281812089825285522094610b79610b748761213a565b9081519085015501519101555b51951515865216941692a36001805580f35b9650509260209281927fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e1695339892898b5260058752828b20908b52865260038661156f848d2093610b79610b748661213a565b80516002850155015191015561150a565b6024908784519163ec442f0560e01b8352820152fd5b85602492519163ec442f0560e01b8352820152fd5b503461029c57602060031936011261029c57816020936001923581528085522001549051908152f35b50829034610512576060600319360112610512576115f0611b9c565b6115f8611bc4565b90611601611f81565b60ff60025416156116925773ffffffffffffffffffffffffffffffffffffffff928382169384156116635783161561164d5750610e07610dc7610b7461027f9697610daf604435613648565b6024908587519163ec442f0560e01b8352820152fd5b602482878951917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8285517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b509134610993578060031936011261099357602082516116d981611f24565b82815201526116e6611f81565b73ffffffffffffffffffffffffffffffffffffffff917f000000000000000000000000000000000000000000000000000000000000000083811633036117a65761172f90612568565b9283161561177f575061175f6108b892610b79835161174d81611f24565b600654815260075460208201526130d0565b906001805551918291829190916020806040830194805184520151910152565b90517f09d34bcd000000000000000000000000000000000000000000000000000000008152fd5b5090517ff87c8669000000000000000000000000000000000000000000000000000000008152fd5b50903461029c578060031936011261029c576117e8611b9c565b91602435916117f5611f81565b73ffffffffffffffffffffffffffffffffffffffff841680156118ba5760ff60025416156118935783611838575b8561027f8661183187613648565b9033612f2e565b3386526005602052818620908652602052611862610df461185d610b7484892061213a565b613826565b1561186d5780611823565b517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602483878451917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b5091346109935780600319360112610993578151918160085492600184811c918186169586156119ac575b602096878510811461095d578899509688969785829a529182600014610918575050600114611950575050506108b892916108a9910385611f40565b9190869350600883527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35b82841061199457505050820101816108a96108b8610896565b8054848a01860152889550879490930192810161197b565b92607f1692611914565b508290346105125782600319360112610512576119d1611b9c565b602435916119dd611f81565b73ffffffffffffffffffffffffffffffffffffffff821615611a0a57509081610a768261027f9433612b7c565b602490848651917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b5082346109935760206003193601126109935773ffffffffffffffffffffffffffffffffffffffff9182611a6b611b9c565b16908115611a8a57602085858186868152600385522054169051908152f35b6024908386519163ec442f0560e01b8352820152fd5b503461029c57602060031936011261029c5735907fffffffff00000000000000000000000000000000000000000000000000000000821680920361029c57602092507f479eaff4000000000000000000000000000000000000000000000000000000008214918215611b16575b50519015158152f35b9091507f7965db0b000000000000000000000000000000000000000000000000000000008114908115611b4c575b509038611b0d565b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501438611b44565b8382346105125760206003193601126105125761027f90611b95611f81565b3533612921565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203611bbf57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203611bbf57565b919082519283825260005b848110611c315750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201611bf2565b602435908115158203611bbf57565b9181601f84011215611bbf5782359167ffffffffffffffff8311611bbf5760208381860195010111611bbf57565b90600319604081840112611bbf5760043573ffffffffffffffffffffffffffffffffffffffff81168103611bbf57926024359167ffffffffffffffff8311611bbf5782606092030112611bbf5760040190565b3360009081527f0781d7cac9c378efa22a7481e4d4d29704a680ddf504b3bc50b517700ee11e6c60205260409020547f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69060ff1615611d315750565b604490604051907fe2517d3f0000000000000000000000000000000000000000000000000000000082523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615611d315750565b906000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff60408420541615600014611e335780835282602052604083208284526020526040832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b906000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416600014611e33578083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b6060810190811067ffffffffffffffff821117611ef557604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff821117611ef557604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611ef557604052565b600260015414611f92576002600155565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b91908281039260608412611bbf57604051611fd681611f24565b6040819512611bbf5760405191611fec83611f24565b8035835260209283820135848201528252604081013567ffffffffffffffff91828211611bbf570184601f82011215611bbf578035918211611ef5576040519461205d857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8601160187611f40565b828652848383010111611bbf57816000928580930183880137850101520152565b90816020910312611bbf57518015158103611bbf5790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b156120dc57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f43616c6c6261636b206661696c656400000000000000000000000000000000006044820152fd5b9060405161214781611f24565b602060018294805484520154910152565b73ffffffffffffffffffffffffffffffffffffffff169081156121c657156121a157600052600560205260406000203360005260205261219e610b74604060002061213a565b90565b33600052600560205260406000209060005260205261219e610b74604060002061213a565b602460405163ec442f0560e01b815260006004820152fd5b156121e557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b929173ffffffffffffffffffffffffffffffffffffffff908185168015612537578284169081156121c65781811461250657829660009582875260209660048852604096612295610b7489842061213a565b9a86835260048a526122ab610b748a852061213a565b978860448b519e8f907f56c72d280000000000000000000000000000000000000000000000000000000082527f060606000000000000000000000000000000000000000000000000000000000060048301526024820152015260648d015260608c6084818660645af19788156124fc5783908490859a6124bc575b6123529b9c9d9e506123378b613251565b9283612493575b5050506123b8575b50505050505050613251565b1561235b575050565b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601460248201527f45524332303a20757064617465206661696c65640000000000000000000000006044820152fd5b6123f47f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a395848d8d516123ea81611f24565b8281520152612568565b808316156124765761240961241891836134f6565b945b848d8d516123ea81611f24565b9182161561245b5761242a92506134f6565b905b87518151815260209182015182820152825160408201529101516060820152608090a338808080808080612346565b505087519061246982611f24565b808252898201529061242c565b506124188a5161248581611f24565b848152848d8201529461240b565b6124b4929450906124a76124ad928a6125b9565b84613754565b92866125b9565b38808061233e565b9950505060608c3d82116124f4575b816124d860609383611f40565b8101031261029c578b518a8d01519c8a01519b9c8d9c99612326565b3d91506124cb565b89513d85823e3d90fd5b602490604051907fa26ce2e10000000000000000000000000000000000000000000000000000000082526004820152fd5b60246040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152fd5b73ffffffffffffffffffffffffffffffffffffffff80821680156125b1576000526003602052604060002054169081156125a0575090565b8091503b6125ab5790565b50600090565b505050600090565b906003906125c683612568565b73ffffffffffffffffffffffffffffffffffffffff919082811661263b57506125ee90613431565b92166000928184526004602052600160206040862092805184550151910155604080519361261b85611f24565b808552602085019281845281526004602052209251600284015551910155565b91604080519561264a87611f24565b81519261265684611f24565b60009182855261269460209786858a809901528b52868b0197865161267a81611f24565b8681528689820152895261268d81613431565b8c526134f6565b865216815260048352209451805186550151600185015551805160028501550151910155565b91909173ffffffffffffffffffffffffffffffffffffffff9081811680156121c65761270d9060008181526020946004865260409461270689612701610b7489872061213a565b6136b8565b95906132e5565b9861273b612734826127018a5161272381611f24565b60065481526007548d8201526130d0565b91906132e5565b8851907f145fca2c0000000000000000000000000000000000000000000000000000000082527f060602000000000000000000000000000000000000000000000000000000000060048301528260248301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60448301528a826064818a825af19182156129175787926128e6575b508a9b9c6127e16123529b9c94936127e7936131a7565b906131a7565b976127f189613251565b92836128c2575b50505061280a575b5050505050613251565b7f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a392848a8a5161283981611f24565b828152015261286289519361284d85611f24565b868552868c860152868c8c516123ea81611f24565b908116156128a757612873916134f6565b905b8751815181526020918201518282015282516040820152910151606082015280608081015b0390a33880808080612800565b505086516128b481611f24565b838152838982015290612875565b6128ce6128de93613431565b80516006550151600755846125b9565b38808b6127f8565b9091508a81813d8311612910575b6128fe8183611f40565b8101031261138e5751906123526127ca565b503d6128f4565b8a513d89823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff9081841690811561253757809160009080825260209460048652604094612963610b7487862061213a565b9861296c6135d6565b9587519a7f56c72d28000000000000000000000000000000000000000000000000000000008c527f060606000000000000000000000000000000000000000000000000000000000060048d015260248c01528660448c015260648b015260608a6084818860645af1958615612b72578590868798612b31575b612352999a9b9c506129f689613251565b9283612add575b505050612a0e575050505050613251565b612a1f90858a8a516123ea81611f24565b91821615612aa2577f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a391612a52916134f6565b83888851612a5f81611f24565b8281520152865190612a7082611f24565b84825288820185905287518151815260209182015182820152825160408201529101516060820152806080810161289a565b50507f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a38551612ad081611f24565b8381528388820152612a52565b612af2939550612aed90856125b9565b613754565b9189612b1f612b1a85612aed8d51612b0981611f24565b6006548152600754868201526130d0565b613431565b805160065501516007553880806129fd565b5096505060608a3d8211612b6a575b81612b4d60609383611f40565b81010312610e51578951888b01519a880151999a8b9a97906129e5565b3d9150612b40565b87513d87823e3d90fd5b9190612bf091612b8a6135d6565b6040517f7c12a1eb0000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201529160209083906064820190565b03928181600095818760645af18015612cbc578490612c8d575b612c149150613251565b612c87576040610df49361185d93610b7493612c569773ffffffffffffffffffffffffffffffffffffffff80911684526005825284842092168352522061213a565b15612c5d57565b60046040517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50505050565b508181813d8311612cb5575b612ca38183611f40565b810103126105e257612c149051612c0a565b503d612c99565b6040513d86823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff808416908115612dc7578216908115612d9657610df493612d2892612d21926000526005602052604060002090600052602052612701610b74604060002061213a565b93906132e5565b15612d3857612d3692612f2e565b565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f45524332303a20616c6c6f77616e6365206f766572666c6f77000000000000006044820152fd5b60246040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152fd5b60246040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152fd5b9092919273ffffffffffffffffffffffffffffffffffffffff91828116928315612dc7578216928315612d9657612eb593600091825260056020526040968791828420908452602052612e4f610b7483852061213a565b825196879283927fce8c713d000000000000000000000000000000000000000000000000000000008452600484016040909392919360608101947f0606000000000000000000000000000000000000000000000000000000000000825260208201520152565b03818460645af1938415612f2257612d3695968295612ee5575b5050610df9610df4612ee0926132e5565b612f2e565b610df49550612ee09250610df99181612f1292903d10612f1b575b612f0a8183611f40565b81019061341b565b95909250612ecf565b503d612f00565b508551903d90823e3d90fd5b9173ffffffffffffffffffffffffffffffffffffffff808416928315612dc757818116948515612d96578361307b916005612f92612f8c7f836b0bdb95065391d1c4c568d3e48559e54d5969d06d7ea87f85869e1ef69dc898613431565b92612568565b95600093612fcc604095865199612fa88b611f24565b818b5260209a8b018290528085161561309b57612fc69150836134f6565b97612568565b90600092838a8851612fdd81611f24565b828152015282161561308057612ff392506134f6565b955b83519261300184611ed9565b835280830186815281858501918983528b600052848252866000208d6000528252818760002096518051885501516001870155518051600287015501516003850155518051600485015501519101555192839283909291602060609181608085019680518652015182850152805160408501520151910152565b0390a3565b505083519061308e82611f24565b8082528782015295612ff5565b508651906130a882611f24565b8082528a82015297612568565b92909193612c8757612d36936130ca91613754565b91612f2e565b8051158061319b575b6131925760208151910151604051917f2d5831350000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015260448201526020816064816000825af190811561318657600091613158575090565b906020823d821161317e575b8161317160209383611f40565b8101031261099357505190565b3d9150613164565b6040513d6000823e3d90fd5b5061219e6135d6565b506020810151156130d9565b6040517ffe9c73d1000000000000000000000000000000000000000000000000000000008152600060048201526024810191909152604481019190915260208180606481015b0381600060645af190811561318657600091613158575090565b6040517ffb7da35f000000000000000000000000000000000000000000000000000000008152600060048201526024810191909152604481019190915260208180606481016131ed565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af19182156132d95780926132a5575b5050151590565b9091506020823d82116132d1575b816132c060209383611f40565b81010312610993575051388061329e565b3d91506132b3565b604051903d90823e3d90fd5b6040517f1d79e49a00000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af19182156132d957809261333657505090565b9091506020823d821161317e578161317160209383611f40565b805190815191602091828080930151910151936133d260405195869384937f0135e4660000000000000000000000000000000000000000000000000000000085527f0600000000000000000000000000000000000000000000000000000000000000600486015260248501526044840152608060648401526084830190611be7565b0381600060645af1908115613186576000916133ef575b50905090565b82813d8311613414575b6134038183611f40565b8101031261099357505180386133e9565b503d6133f9565b9190826040910312611bbf576020825192015190565b6020906040805161344181611f24565b600093818580935201528051917f1f4491de0000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015280826044818660645af19182156134ec5783926134ca575b5051916134c083611f24565b8252602082015290565b908093506134e492503d8411612f1b57612f0a8183611f40565b9091386134b4565b81513d85823e3d90fd5b604080516020936135b693839261350c81611f24565b600096818880935201527fffffffffffffffffffffffffffffffffffffffff00000000000000000000000083519260601b1660208301526014825261355082611f24565b825194859283927fe5c833130000000000000000000000000000000000000000000000000000000084527f060000000000000000000000000000000000000000000000000000000000000060048501526024840152606060448401526064830190611be7565b03818660645af19182156134ec5783926134ca575051916134c083611f24565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f060000000000000000000000000000000000000000000000000000000000000060048201526000908160248201526020816044818560645af19182156132d957809261333657505090565b604051907fd9b60b600000000000000000000000000000000000000000000000000000000082527f060000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af190811561318657600091613158575090565b604080517ff581fa200000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201929092529190826064816000825af191821561318657600090819361373557509190565b905061375091925060403d8111612f1b57612f0a8183611f40565b9091565b6040517f371d1bf20000000000000000000000000000000000000000000000000000000081527f060600000000000000000000000000000000000000000000000000000000000060048201526024810191909152604481019190915260208180606481016131ed565b6040517fdd1486930000000000000000000000000000000000000000000000000000000081527f060600000000000000000000000000000000000000000000000000000000000060048201526024810191909152604481019190915260208180606481016131ed565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f06060200000000000000000000000000000000000000000000000000000000006004830152602482015260009081604482015260208160648185825af19182156132d957809261333657505090565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f0606020000000000000000000000000000000000000000000000000000000000600483015260248201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60448201526020816064816000825af19081156131865760009161315857509056fea164736f6c6343000814000a";
|
|
1459
1485
|
|
|
1460
1486
|
type PrivateERC20AuditorSupplyMockConstructorParams =
|
|
1461
1487
|
| [signer?: Signer]
|
|
@@ -31,6 +31,27 @@ const _abi = [
|
|
|
31
31
|
stateMutability: "nonpayable",
|
|
32
32
|
type: "constructor",
|
|
33
33
|
},
|
|
34
|
+
{
|
|
35
|
+
inputs: [],
|
|
36
|
+
name: "AccessControlBadConfirmation",
|
|
37
|
+
type: "error",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
inputs: [
|
|
41
|
+
{
|
|
42
|
+
internalType: "address",
|
|
43
|
+
name: "account",
|
|
44
|
+
type: "address",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
internalType: "bytes32",
|
|
48
|
+
name: "neededRole",
|
|
49
|
+
type: "bytes32",
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
name: "AccessControlUnauthorizedAccount",
|
|
53
|
+
type: "error",
|
|
54
|
+
},
|
|
34
55
|
{
|
|
35
56
|
inputs: [
|
|
36
57
|
{
|
|
@@ -101,6 +122,11 @@ const _abi = [
|
|
|
101
122
|
name: "PublicAmountsDisabled",
|
|
102
123
|
type: "error",
|
|
103
124
|
},
|
|
125
|
+
{
|
|
126
|
+
inputs: [],
|
|
127
|
+
name: "ReentrancyGuardReentrantCall",
|
|
128
|
+
type: "error",
|
|
129
|
+
},
|
|
104
130
|
{
|
|
105
131
|
inputs: [
|
|
106
132
|
{
|
|
@@ -1046,7 +1072,7 @@ const _abi = [
|
|
|
1046
1072
|
},
|
|
1047
1073
|
{
|
|
1048
1074
|
internalType: "address",
|
|
1049
|
-
name: "
|
|
1075
|
+
name: "callerConfirmation",
|
|
1050
1076
|
type: "address",
|
|
1051
1077
|
},
|
|
1052
1078
|
],
|
|
@@ -1407,7 +1433,7 @@ const _abi = [
|
|
|
1407
1433
|
] as const;
|
|
1408
1434
|
|
|
1409
1435
|
const _bytecode =
|
|
1410
|
-
"0x60a034620003f157620043ba90813803601f1991601f91838382011682019460018060401b039183871083881117620002f65780849260409889528339602093849181010312620003f157519362000056620003f6565b93601685527f5072697661746545524332304361707065644d6f636b00000000000000000000848601526200008a620003f6565b6005815264050454341560dc1b85820152600195868055805115620003e057815115620003e057805190858211620002f657600854908882811c92168015620003d5575b88831014620002d55781858493116200037e575b50879085831160011462000318576000926200030c575b5050600019600383901b1c191690871b176008555b8051938411620002f657600954928684811c94168015620002eb575b86851014620002d55783838695116200027a575b508592841160011462000213575060009262000207575b5050600019600383901b1c191690831b176009555b60008052600081528360002033600052815260ff84600020541615620001b8575b5060ff19600254161760025560805251613fa39081620004178239608051818181610c500152612df30152f35b600080526000815283600020903360005252826000208160ff19825416179055333360007f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4386200018b565b01519050388062000155565b869492919216916009600052856000209260005b8782821062000263575050841162000249575b505050811b016009556200016a565b015160001960f88460031b161c191690553880806200023a565b838501518655899790950194938401930162000227565b90919293506009600052856000208480870160051c820192888810620002cb575b9187968a92969594930160051c01915b828110620002bb5750506200013e565b60008155879650899101620002ab565b925081926200029b565b634e487b7160e01b600052602260045260246000fd5b93607f16936200012a565b634e487b7160e01b600052604160045260246000fd5b015190503880620000f9565b90868a9416916008600052896000209260005b8b8282106200036757505084116200034d575b505050811b016008556200010e565b015160001960f88460031b161c191690553880806200033e565b8385015186558d979095019493840193016200032b565b9091506008600052876000208580850160051c8201928a8610620003cb575b918b91869594930160051c01915b828110620003bb575050620000e2565b600081558594508b9101620003ab565b925081926200039d565b91607f1691620000ce565b8851631251828960e31b8152600490fd5b600080fd5b60408051919082016001600160401b03811183821017620002f65760405256fe6040608081526004908136101561001557600080fd5b600091823560e01c80620a77ed14611d5857806301ffc9a714611c82578063043d208514611c1b5780630564c4cf14611b9857806306fdde0314611acb578063095ea7b3146119b057806318160ddd14610a4257806323b872dd146118ca578063248a9ca3146118a157806326a9b3f11461173a5780632f2ff15d14611668578063313ce5671461164c57806336568abe146115855780633826c5801461145957806338e071bc1461140d57806339509351146113b45780633c96e77c146112f05780634000aea01461115657806340c10f19146110f557806342966c68146110c15780634faa7ebf1461109d5780635d484ff814610f6057806368c7a25d14610f0c57806370a0823114610e85578063722713f714610e5e5780638269bcc314610d6857806383ae57f414610d2057806384813e9314610ccd5780638e532c4414610c735780638f770ad014610c3857806391d1485414610be757806395d89b4114610a9257806396b2db3814610a5d578063a217fddf14610a42578063a457c2d7146109e9578063a9059cbb14610963578063b485441d14610914578063b935980914610899578063c183b7fc14610837578063d1846836146104ff578063d5391393146104c0578063d547741f14610483578063dd62ed3e14610308578063e4f75ce71461028a5763fb2205ca1461020f57600080fd5b346102865761021d36611e6c565b919092610228611ebf565b6102306125b1565b73ffffffffffffffffffffffffffffffffffffffff84161561027057846102698561026361025e3688612620565b6139b4565b90612d1e565b6001805580f35b9084602492519163ec442f0560e01b8352820152fd5b8280fd5b50346102865761029936611e6c565b9190926102a46125b1565b73ffffffffffffffffffffffffffffffffffffffff8416156102d95784610269856102d261025e3688612620565b903361332b565b908460249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b509034610286578060031936011261028657610322611d7e565b9061032b611da6565b81519261033784612298565b825193610343856122e3565b86855260209487868201528152835161035b816122e3565b87815287868201528582015283805191610374836122e3565b8883528887840152015273ffffffffffffffffffffffffffffffffffffffff809116918215610454571690811561042557858492849260c0985260058452828220908252835220916103ef8151956103cb87612298565b6103d48561279e565b87526103e26002860161279e565b948488019586520161279e565b928186019384528282519651805188520151838701525190815190860152015160608401525180516080840152015160a0820152f35b602485878551917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b602486888651917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b5090346102865780600319360112610286576104bd91356104b860016104a7611da6565b93838752866020528620015461215d565b61235c565b80f35b5050346104fb57816003193601126104fb57602090517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b5080fd5b509190346104fb57602090816003193601126102865783359081151580920361083357838052838352808420338552835260ff818520541615610595577fd42670144ecdb96470ba224c43350a54c3f4a1890e72b2a470a689962b9f3c4f9394507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006002541660ff83161760025551908152a180f35b849150836105a23361243c565b90808351906105b0826122ff565b6042825286820192606036853782511561080757603084538251906001918210156107db5790607860218501536041915b818311610713575050506106b8576048610671938593610680936106b497519687937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c86015261063c8c8251928391603789019101611dc9565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190611dc9565b0103602881018552018361231b565b519384937f08c379a00000000000000000000000000000000000000000000000000000000085528401526024830190611dec565b0390fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156107af577f3031323334353637383961626364656600000000000000000000000000000000901a61075085876123fc565b53881c928015610783577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906105e1565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b5034610286578160031936011261028657610850611d7e565b916108596125b1565b73ffffffffffffffffffffffffffffffffffffffff831615610883578361026960243585336128a7565b9083602492519163ec442f0560e01b8352820152fd5b50346102865781600319360112610286576108b2611d7e565b916108bb6125b1565b73ffffffffffffffffffffffffffffffffffffffff8316156108e55783610269602435853361345c565b908360249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b50346102865761092336611e6c565b91909261092e6125b1565b73ffffffffffffffffffffffffffffffffffffffff8416156102d957846102698561095c61025e3688612620565b903361345c565b503461028657816003193601126102865761097c611d7e565b916109856125b1565b73ffffffffffffffffffffffffffffffffffffffff8316156108835760ff60025416156109c35783610269846109bc602435613cac565b90336128a7565b517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b5034610286578160031936011261028657610a02611d7e565b91610a0b6125b1565b73ffffffffffffffffffffffffffffffffffffffff8316156108e55760ff60025416156109c357836102698461095c602435613cac565b5050346104fb57816003193601126104fb5751908152602090f35b5050346104fb57806003193601126104fb57602090610a8b610a7d611d7e565b610a85611e2f565b906127bc565b9051908152f35b509134610be45780600319360112610be4578151918160095492600184811c91818616958615610bda575b6020968785108114610bae578899509688969785829a529182600014610b69575050600114610b0d575b505050610b099291610afa91038561231b565b51928284938452830190611dec565b0390f35b9190869350600983527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b828410610b515750505082010181610afa610b09610ae7565b8054848a018601528895508794909301928101610b38565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610afa9150610b099050610ae7565b60248360228c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b92607f1692610abd565b80fd5b50346102865781600319360112610286578160209360ff92610c07611da6565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b5050346104fb57816003193601126104fb57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461028657610c8236611e6c565b919092610c8d6125b1565b73ffffffffffffffffffffffffffffffffffffffff8416156102d9578461026985610cbb61025e3688612620565b90610cc78282336131e0565b33613592565b5034610286578160031936011261028657610ce6611d7e565b91610cef611ebf565b610cf76125b1565b73ffffffffffffffffffffffffffffffffffffffff831615610883578361026960243585612d1e565b503461028657610d2f36611e6c565b919092610d3a6125b1565b73ffffffffffffffffffffffffffffffffffffffff8416156102705784610269856109bc61025e3688612620565b508290346104fb576020928360031936011261028657610d86611d7e565b91610d8f6125b1565b73ffffffffffffffffffffffffffffffffffffffff8316928315610e4857610dcf90338652828752610dca610dc585882061279e565b613734565b613b5a565b9033855260038652828520847fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905585526003858386209280516002850155015191015551917f60662088d92b75bf198cd91648eaec81fc2278e7a02f3cf02643637be4728c24339180a36001805560018152f35b5083602492519163ec442f0560e01b8352820152fd5b5034610286578260031936011261028657610dc582602094610a8b9333825286522061279e565b508290346104fb5760206003193601126104fb5773ffffffffffffffffffffffffffffffffffffffff610eb6611d7e565b8360208651610ec4816122e3565b8281520152168015610ef6578252602052819020610ee49060020161279e565b60208251918051835201516020820152f35b5090602492519163ec442f0560e01b8352820152fd5b8382346104fb57600319906020823601126102865780359167ffffffffffffffff83116108335760609083360301126102865761025e610f5a9161026993610f526125b1565b369101612620565b33612f85565b508290346104fb576003199060608236011261028657610f7e611d7e565b610f86611da6565b916044359367ffffffffffffffff851161109957606090853603011261109557610fae6125b1565b73ffffffffffffffffffffffffffffffffffffffff938483169485156110665784161561105057610dc56102699697610ff361025e61104b9561100b95369101612620565b9689526005602052808920338a52602052882061279e565b61104261101782613f01565b61103861103d61103861103261102d8b88613e21565b613949565b8461386b565b6138b5565b612842565b90853385613719565b6128a7565b6024828789519163ec442f0560e01b8352820152fd5b602483888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8480fd5b8580fd5b5050346104fb57816003193601126104fb5760209060ff6002541690519015158152f35b509034610286576020600319360112610286576110dc6125b1565b60ff60025416156109c35750610f5a6102699135613cac565b503461028657816003193601126102865761110e611d7e565b91611117611ebf565b61111f6125b1565b73ffffffffffffffffffffffffffffffffffffffff8316156108835760ff60025416156109c3578361026984610263602435613cac565b503461028657606060031936011261028657611170611d7e565b6024359060443567ffffffffffffffff8111611099576111939036908501611e3e565b92909361119e6125b1565b73ffffffffffffffffffffffffffffffffffffffff83169283156112da57803b156112ab5760ff60025416156112835782916111e289926109bc6020989796613cac565b61122c8851978896879586947fbed25542000000000000000000000000000000000000000000000000000000008652339086015260248501526060604485015260648401916126fa565b03925af19081156112775761026992508391611249575b50612739565b61126a915060203d8111611270575b611262818361231b565b8101906126e2565b38611243565b503d611258565b505051903d90823e3d90fd5b5085517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602482858951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024828989519163ec442f0560e01b8352820152fd5b508290346104fb5760606003193601126104fb5761130c611d7e565b611314611da6565b90604435926113216125b1565b73ffffffffffffffffffffffffffffffffffffffff908183169182156113855784161561136f575061100b610dc5869761104b9361026998526005602052808920338a52602052882061279e565b6024908688519163ec442f0560e01b8352820152fd5b602482888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b50346102865781600319360112610286576113cd611d7e565b916113d66125b1565b73ffffffffffffffffffffffffffffffffffffffff8316156108e55760ff60025416156109c35783610269846102d2602435613cac565b5034610286578160031936011261028657611426611d7e565b9161142f6125b1565b73ffffffffffffffffffffffffffffffffffffffff8316156108e55783610269602435853361332b565b50346102865760031960608136011261083357611474611d7e565b916024359167ffffffffffffffff9081841161158157606090843603011261109957604435908111611099576114ad9036908301611e3e565b9190936114b86125b1565b73ffffffffffffffffffffffffffffffffffffffff811693841561156b57813b1561153c57602094926114fb61122c9795936109bc61025e8c9536908601612620565b8751968795869485937f2ac65e4e00000000000000000000000000000000000000000000000000000000855233908501528a602485015260448401916126fa565b602483868951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024838989519163ec442f0560e01b8352820152fd5b8680fd5b508290346104fb57826003193601126104fb576115a0611da6565b903373ffffffffffffffffffffffffffffffffffffffff8316036115c957906104bd913561235c565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b5050346104fb57816003193601126104fb576020905160068152f35b50346102865781600319360112610286573590611683611da6565b908284528360205261169a6001828620015461215d565b8284528360205273ffffffffffffffffffffffffffffffffffffffff81852092169182855260205260ff8185205416156116d2578380f35b82845283602052808420828552602052832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b508290346104fb57826003193601126104fb57611755611d7e565b9261175e611e2f565b916117676125b1565b73ffffffffffffffffffffffffffffffffffffffff9182861691821561188c5761179033612bcc565b9084821615611876578697866000146118125792859392600560208097946117f3857fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e169b989d3398815285855281812089825285522094610dca610dc58761279e565b9081519085015501519101555b51951515865216941692a36001805580f35b9650509260209281927fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e1695339892898b5260058752828b20908b528652600386611865848d2093610dca610dc58661279e565b805160028501550151910155611800565b6024908784519163ec442f0560e01b8352820152fd5b85602492519163ec442f0560e01b8352820152fd5b503461028657602060031936011261028657816020936001923581528085522001549051908152f35b508290346104fb5760606003193601126104fb576118e6611d7e565b6118ee611da6565b906118f76125b1565b60ff60025416156119885773ffffffffffffffffffffffffffffffffffffffff9283821693841561195957831615611943575061104b61100b610dc56102699697610ff3604435613cac565b6024908587519163ec442f0560e01b8352820152fd5b602482878951917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8285517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b5090346102865780600319360112610286576119ca611d7e565b91602435916119d76125b1565b73ffffffffffffffffffffffffffffffffffffffff84168015611a9c5760ff6002541615611a755783611a1a575b8561026986611a1387613cac565b9033613592565b3386526005602052818620908652602052611a44611038611a3f610dc584892061279e565b613e8a565b15611a4f5780611a05565b517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602483878451917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b509134610be45780600319360112610be4578151918160085492600184811c91818616958615611b8e575b6020968785108114610bae578899509688969785829a529182600014610b69575050600114611b3257505050610b099291610afa91038561231b565b9190869350600883527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35b828410611b765750505082010181610afa610b09610ae7565b8054848a018601528895508794909301928101611b5d565b92607f1692611af6565b508290346104fb57826003193601126104fb57611bb3611d7e565b60243591611bbf6125b1565b73ffffffffffffffffffffffffffffffffffffffff821615611bec57509081610cc78261026994336131e0565b602490848651917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b508234610be4576020600319360112610be45773ffffffffffffffffffffffffffffffffffffffff9182611c4d611d7e565b16908115611c6c57602085858186868152600385522054169051908152f35b6024908386519163ec442f0560e01b8352820152fd5b50346102865760206003193601126102865735907fffffffff00000000000000000000000000000000000000000000000000000000821680920361028657602092507f479eaff4000000000000000000000000000000000000000000000000000000008214918215611cf8575b50519015158152f35b9091507f7965db0b000000000000000000000000000000000000000000000000000000008114908115611d2e575b509038611cef565b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501438611d26565b8382346104fb5760206003193601126104fb5761026990611d776125b1565b3533612f85565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203611da157565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203611da157565b60005b838110611ddc5750506000910152565b8181015183820152602001611dcc565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611e2881518092818752878088019101611dc9565b0116010190565b602435908115158203611da157565b9181601f84011215611da15782359167ffffffffffffffff8311611da15760208381860195010111611da157565b90600319604081840112611da15760043573ffffffffffffffffffffffffffffffffffffffff81168103611da157926024359167ffffffffffffffff8311611da15782606092030112611da15760040190565b3360009081527f0781d7cac9c378efa22a7481e4d4d29704a680ddf504b3bc50b517700ee11e6c602090815260408083205490927f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69160ff1615611f235750505050565b611f2c3361243c565b91845190611f39826122ff565b6042825284820192606036853782511561213057603084538251906001918210156121305790607860218501536041915b818311612065575050506120095760486106b4938693611fd393611fc498519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a86015261063c815180928c603789019101611dc9565b0103602881018752018561231b565b519283927f08c379a000000000000000000000000000000000000000000000000000000000845260048401526024830190611dec565b6064848651907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612103577f3031323334353637383961626364656600000000000000000000000000000000901a6120a285876123fc565b5360041c9280156120d6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611f6a565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b600090808252602090828252604092838120338252835260ff8482205416156121865750505050565b61218f3361243c565b9184519061219c826122ff565b6042825284820192606036853782511561213057603084538251906001918210156121305790607860218501536041915b818311612227575050506120095760486106b4938693611fd393611fc498519889937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a86015261063c815180928c603789019101611dc9565b909192600f81166010811015612103577f3031323334353637383961626364656600000000000000000000000000000000901a61226485876123fc565b5360041c9280156120d6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906121cd565b6060810190811067ffffffffffffffff8211176122b457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176122b457604052565b6080810190811067ffffffffffffffff8211176122b457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176122b457604052565b906000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff60408420541661239a57505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b90815181101561240d570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6040519061244982612298565b602a825260208201604036823782511561240d5760309053815160019081101561240d57607860218401536029905b8082116124e65750506124885790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015612583577f3031323334353637383961626364656600000000000000000000000000000000901a61252284866123fc565b5360041c918015612555577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190612478565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b6002600154146125c2576002600155565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b91908281039260608412611da15760405161263a816122e3565b6040819512611da15760405191612650836122e3565b8035835260209283820135848201528252604081013567ffffffffffffffff91828211611da1570184601f82011215611da15780359182116122b457604051946126c1857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f860116018761231b565b828652848383010111611da157816000928580930183880137850101520152565b90816020910312611da157518015158103611da15790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b1561274057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f43616c6c6261636b206661696c656400000000000000000000000000000000006044820152fd5b906040516127ab816122e3565b602060018294805484520154910152565b73ffffffffffffffffffffffffffffffffffffffff1690811561282a5715612805576000526005602052604060002033600052602052612802610dc5604060002061279e565b90565b336000526005602052604060002090600052602052612802610dc5604060002061279e565b602460405163ec442f0560e01b815260006004820152fd5b1561284957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b929173ffffffffffffffffffffffffffffffffffffffff908185168015612b9b5782841690811561282a57818114612b6a578296600095828752602096600488526040966128f9610dc589842061279e565b9a86835260048a5261290f610dc58a852061279e565b978860448b519e8f907f56c72d280000000000000000000000000000000000000000000000000000000082527f060606000000000000000000000000000000000000000000000000000000000060048301526024820152015260648d015260608c6084818660645af1978815612b605783908490859a612b20575b6129b69b9c9d9e5061299b8b6138b5565b9283612af7575b505050612a1c575b505050505050506138b5565b156129bf575050565b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601460248201527f45524332303a20757064617465206661696c65640000000000000000000000006044820152fd5b612a587f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a395848d8d51612a4e816122e3565b8281520152612bcc565b80831615612ada57612a6d612a7c9183613b5a565b945b848d8d51612a4e816122e3565b91821615612abf57612a8e9250613b5a565b905b87518151815260209182015182820152825160408201529101516060820152608090a3388080808080806129aa565b5050875190612acd826122e3565b8082528982015290612a90565b50612a7c8a51612ae9816122e3565b848152848d82015294612a6f565b612b1892945090612b0b612b11928a612c1d565b84613db8565b9286612c1d565b3880806129a2565b9950505060608c3d8211612b58575b81612b3c6060938361231b565b81010312610286578b518a8d01519c8a01519b9c8d9c9961298a565b3d9150612b2f565b89513d85823e3d90fd5b602490604051907fa26ce2e10000000000000000000000000000000000000000000000000000000082526004820152fd5b60246040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152fd5b73ffffffffffffffffffffffffffffffffffffffff8082168015612c1557600052600360205260406000205416908115612c04575090565b8091503b612c0f5790565b50600090565b505050600090565b90600390612c2a83612bcc565b73ffffffffffffffffffffffffffffffffffffffff9190828116612c9f5750612c5290613a95565b921660009281845260046020526001602060408620928051845501519101556040805193612c7f856122e3565b808552602085019281845281526004602052209251600284015551910155565b916040805195612cae876122e3565b815192612cba846122e3565b600091828552612cf860209786858a809901528b52868b01978651612cde816122e3565b86815286898201528952612cf181613a95565b8c52613b5a565b865216815260048352209451805186550151600185015551805160028501550151910155565b91909173ffffffffffffffffffffffffffffffffffffffff90818116801561282a57612d7190600081815260209460048652604094612d6a89612d65610dc589872061279e565b613d1c565b9590613949565b98612d9f612d9882612d658a51612d87816122e3565b60065481526007548d820152613734565b9190613949565b8851907f145fca2c0000000000000000000000000000000000000000000000000000000082527f060602000000000000000000000000000000000000000000000000000000000060048301528260248301527f000000000000000000000000000000000000000000000000000000000000000060448301528a826064818a825af1918215612f7b578792612f4a575b508a9b9c612e456129b69b9c9493612e4b9361380b565b9061380b565b97612e55896138b5565b9283612f26575b505050612e6e575b50505050506138b5565b7f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a392848a8a51612e9d816122e3565b8281520152612ec6895193612eb1856122e3565b868552868c860152868c8c51612a4e816122e3565b90811615612f0b57612ed791613b5a565b905b8751815181526020918201518282015282516040820152910151606082015280608081015b0390a33880808080612e64565b50508651612f18816122e3565b838152838982015290612ed9565b612f32612f4293613a95565b8051600655015160075584612c1d565b38808b612e5c565b9091508a81813d8311612f74575b612f62818361231b565b810103126115815751906129b6612e2e565b503d612f58565b8a513d89823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff90818416908115612b9b57809160009080825260209460048652604094612fc7610dc587862061279e565b98612fd0613c3a565b9587519a7f56c72d28000000000000000000000000000000000000000000000000000000008c527f060606000000000000000000000000000000000000000000000000000000000060048d015260248c01528660448c015260648b015260608a6084818860645af19586156131d6578590868798613195575b6129b6999a9b9c5061305a896138b5565b9283613141575b5050506130725750505050506138b5565b61308390858a8a51612a4e816122e3565b91821615613106577f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a3916130b691613b5a565b838888516130c3816122e3565b82815201528651906130d4826122e3565b848252888201859052875181518152602091820151828201528251604082015291015160608201528060808101612efe565b50507f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a38551613134816122e3565b83815283888201526130b6565b6131569395506131519085612c1d565b613db8565b918961318361317e856131518d5161316d816122e3565b600654815260075486820152613734565b613a95565b80516006550151600755388080613061565b5096505060608a3d82116131ce575b816131b16060938361231b565b81010312611095578951888b01519a880151999a8b9a9790613049565b3d91506131a4565b87513d87823e3d90fd5b9190613254916131ee613c3a565b6040517f7c12a1eb0000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201529160209083906064820190565b03928181600095818760645af180156133205784906132f1575b61327891506138b5565b6132eb57604061103893611a3f93610dc5936132ba9773ffffffffffffffffffffffffffffffffffffffff80911684526005825284842092168352522061279e565b156132c157565b60046040517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50505050565b508181813d8311613319575b613307818361231b565b8101031261083357613278905161326e565b503d6132fd565b6040513d86823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff80841690811561342b5782169081156133fa576110389361338c92613385926000526005602052604060002090600052602052612d65610dc5604060002061279e565b9390613949565b1561339c5761339a92613592565b565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f45524332303a20616c6c6f77616e6365206f766572666c6f77000000000000006044820152fd5b60246040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152fd5b60246040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152fd5b9092919273ffffffffffffffffffffffffffffffffffffffff9182811692831561342b5782169283156133fa57613519936000918252600560205260409687918284209084526020526134b3610dc583852061279e565b825196879283927fce8c713d000000000000000000000000000000000000000000000000000000008452600484016040909392919360608101947f0606000000000000000000000000000000000000000000000000000000000000825260208201520152565b03818460645af19384156135865761339a95968295613549575b505061103d61103861354492613949565b613592565b6110389550613544925061103d918161357692903d1061357f575b61356e818361231b565b810190613a7f565b95909250613533565b503d613564565b508551903d90823e3d90fd5b9173ffffffffffffffffffffffffffffffffffffffff80841692831561342b578181169485156133fa57836136df9160056135f66135f07f836b0bdb95065391d1c4c568d3e48559e54d5969d06d7ea87f85869e1ef69dc898613a95565b92612bcc565b9560009361363060409586519961360c8b6122e3565b818b5260209a8b01829052808516156136ff5761362a915083613b5a565b97612bcc565b90600092838a8851613641816122e3565b82815201528216156136e4576136579250613b5a565b955b83519261366584612298565b835280830186815281858501918983528b600052848252866000208d6000528252818760002096518051885501516001870155518051600287015501516003850155518051600485015501519101555192839283909291602060609181608085019680518652015182850152805160408501520151910152565b0390a3565b50508351906136f2826122e3565b8082528782015295613659565b5086519061370c826122e3565b8082528a82015297612bcc565b929091936132eb5761339a9361372e91613db8565b91613592565b805115806137ff575b6137f65760208151910151604051917f2d5831350000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015260448201526020816064816000825af19081156137ea576000916137bc575090565b906020823d82116137e2575b816137d56020938361231b565b81010312610be457505190565b3d91506137c8565b6040513d6000823e3d90fd5b50612802613c3a565b5060208101511561373d565b6040517ffe9c73d1000000000000000000000000000000000000000000000000000000008152600060048201526024810191909152604481019190915260208180606481015b0381600060645af19081156137ea576000916137bc575090565b6040517ffb7da35f00000000000000000000000000000000000000000000000000000000815260006004820152602481019190915260448101919091526020818060648101613851565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af191821561393d578092613909575b5050151590565b9091506020823d8211613935575b816139246020938361231b565b81010312610be45750513880613902565b3d9150613917565b604051903d90823e3d90fd5b6040517f1d79e49a00000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af191821561393d57809261399a57505090565b9091506020823d82116137e257816137d56020938361231b565b80519081519160209182808093015191015193613a3660405195869384937f0135e4660000000000000000000000000000000000000000000000000000000085527f0600000000000000000000000000000000000000000000000000000000000000600486015260248501526044840152608060648401526084830190611dec565b0381600060645af19081156137ea57600091613a53575b50905090565b82813d8311613a78575b613a67818361231b565b81010312610be45750518038613a4d565b503d613a5d565b9190826040910312611da1576020825192015190565b60209060408051613aa5816122e3565b600093818580935201528051917f1f4491de0000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015280826044818660645af1918215613b50578392613b2e575b505191613b24836122e3565b8252602082015290565b90809350613b4892503d841161357f5761356e818361231b565b909138613b18565b81513d85823e3d90fd5b60408051602093613c1a938392613b70816122e3565b600096818880935201527fffffffffffffffffffffffffffffffffffffffff00000000000000000000000083519260601b16602083015260148252613bb4826122e3565b825194859283927fe5c833130000000000000000000000000000000000000000000000000000000084527f060000000000000000000000000000000000000000000000000000000000000060048501526024840152606060448401526064830190611dec565b03818660645af1918215613b50578392613b2e57505191613b24836122e3565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f060000000000000000000000000000000000000000000000000000000000000060048201526000908160248201526020816044818560645af191821561393d57809261399a57505090565b604051907fd9b60b600000000000000000000000000000000000000000000000000000000082527f060000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af19081156137ea576000916137bc575090565b604080517ff581fa200000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201929092529190826064816000825af19182156137ea576000908193613d9957509190565b9050613db491925060403d811161357f5761356e818361231b565b9091565b6040517f371d1bf20000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020818060648101613851565b6040517fdd1486930000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020818060648101613851565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f06060200000000000000000000000000000000000000000000000000000000006004830152602482015260009081604482015260208160648185825af191821561393d57809261399a57505090565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f0606020000000000000000000000000000000000000000000000000000000000600483015260248201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60448201526020816064816000825af19081156137ea576000916137bc57509056fea164736f6c6343000813000a";
|
|
1436
|
+
"0x60a0346200038457601f1990601f906001600160401b0362003bf23881900384810186168401838111858210176200028857849282916040528339602093849181010312620003845751926200005462000389565b92601684527f5072697661746545524332304361707065644d6f636b00000000000000000000818501526200008862000389565b956005875264050454341560dc1b82880152600194858055805115620003725787511562000372578051908582116200028857600854908782811c9216801562000367575b858310146200026757818684931162000310575b508490868311600114620002aa576000926200029e575b5050600019600383901b1c191690861b176008555b865193841162000288576009548581811c911680156200027d575b8382101462000267578381116200021b575b5081928411600114620001b157505081929394600092620001a5575b5050600019600383901b1c191690821b176009555b6200017633620003a9565b5060ff1960025416176002556080526040516137b790816200043b82396080518181816109e901526126070152f35b01519050388062000156565b839291921695600960005282600020926000905b888210620002035750508385969710620001e9575b505050811b016009556200016b565b015160001960f88460031b161c19169055388080620001da565b808785968294968601518155019501930190620001c5565b6009600052826000208480870160051c8201928588106200025d575b0160051c019086905b828110620002505750506200013a565b6000815501869062000240565b9250819262000237565b634e487b7160e01b600052602260045260246000fd5b90607f169062000128565b634e487b7160e01b600052604160045260246000fd5b015190503880620000f8565b9084899416916008600052866000209260005b88828210620002f95750508411620002df575b505050811b016008556200010d565b015160001960f88460031b161c19169055388080620002d0565b8385015186558c97909501949384019301620002bd565b9091506008600052846000208680850160051c8201928786106200035d575b918a91869594930160051c01915b8281106200034d575050620000e1565b600081558594508a91016200033d565b925081926200032f565b91607f1691620000cd565b604051631251828960e31b8152600490fd5b600080fd5b60408051919082016001600160401b038111838210176200028857604052565b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166200043657818052816020526040822081835260205260408220600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b509056fe6040608081526004908136101561001557600080fd5b600091823560e01c80620a77ed146119ee57806301ffc9a714611918578063043d2085146118b15780630564c4cf1461182e57806306fdde0314611761578063095ea7b31461164657806318160ddd146107db57806323b872dd14611560578063248a9ca31461153757806326a9b3f1146113d05780632f2ff15d146113a7578063313ce5671461138b57806336568abe1461131e5780633826c580146111f257806338e071bc146111a6578063395093511461114d5780633c96e77c146110895780634000aea014610eef57806340c10f1914610e8e57806342966c6814610e5a5780634faa7ebf14610e365780635d484ff814610cf957806368c7a25d14610ca557806370a0823114610c1e578063722713f714610bf75780638269bcc314610b0157806383ae57f414610ab957806384813e9314610a665780638e532c4414610a0c5780638f770ad0146109d157806391d148541461098057806395d89b411461082b57806396b2db38146107f6578063a217fddf146107db578063a457c2d714610782578063a9059cbb146106fc578063b485441d146106ad578063b935980914610632578063c183b7fc146105d0578063d184683614610500578063d5391393146104c1578063d547741f14610483578063dd62ed3e14610308578063e4f75ce71461028a5763fb2205ca1461020f57600080fd5b346102865761021d36611afa565b919092610228611b4d565b610230611df9565b73ffffffffffffffffffffffffffffffffffffffff84161561027057846102698561026361025e3688611e34565b6131c8565b90612532565b6001805580f35b9084602492519163ec442f0560e01b8352820152fd5b8280fd5b50346102865761029936611afa565b9190926102a4611df9565b73ffffffffffffffffffffffffffffffffffffffff8416156102d95784610269856102d261025e3688611e34565b9033612b3f565b908460249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b509034610286578060031936011261028657610322611a14565b9061032b611a3c565b81519261033784611d51565b82519361034385611d9c565b86855260209487868201528152835161035b81611d9c565b8781528786820152858201528380519161037483611d9c565b8883528887840152015273ffffffffffffffffffffffffffffffffffffffff809116918215610454571690811561042557858492849260c0985260058452828220908252835220916103ef8151956103cb87611d51565b6103d485611fb2565b87526103e260028601611fb2565b9484880195865201611fb2565b928186019384528282519651805188520151838701525190815190860152015160608401525180516080840152015160a0820152f35b602485878551917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b602486888651917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b5090346102865780600319360112610286576104bd91356104b860016104a7611a3c565b938387528660205286200154611be0565b611cb0565b5080f35b5050346104fc57816003193601126104fc57602090517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b5080fd5b509034610286576020600319360112610286578135918215158093036105cc578380528360205281842033855260205260ff82852054161561059757507fd42670144ecdb96470ba224c43350a54c3f4a1890e72b2a470a689962b9f3c4f916020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006002541660ff83161760025551908152a180f35b8360449251917fe2517d3f00000000000000000000000000000000000000000000000000000000835233908301526024820152fd5b8380fd5b50346102865781600319360112610286576105e9611a14565b916105f2611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561061c578361026960243585336120bb565b9083602492519163ec442f0560e01b8352820152fd5b503461028657816003193601126102865761064b611a14565b91610654611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561067e57836102696024358533612c70565b908360249251917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b5034610286576106bc36611afa565b9190926106c7611df9565b73ffffffffffffffffffffffffffffffffffffffff8416156102d95784610269856106f561025e3688611e34565b9033612c70565b5034610286578160031936011261028657610715611a14565b9161071e611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561061c5760ff600254161561075c5783610269846107556024356134c0565b90336120bb565b517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b503461028657816003193601126102865761079b611a14565b916107a4611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561067e5760ff600254161561075c5783610269846106f56024356134c0565b5050346104fc57816003193601126104fc5751908152602090f35b5050346104fc57806003193601126104fc57602090610824610816611a14565b61081e611abd565b90611fd0565b9051908152f35b50913461097d578060031936011261097d578151918160095492600184811c91818616958615610973575b6020968785108114610947578899509688969785829a5291826000146109025750506001146108a6575b5050506108a29291610893910385611db8565b51928284938452830190611a5f565b0390f35b9190869350600983527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b8284106108ea57505050820101816108936108a2610880565b8054848a0186015288955087949093019281016108d1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061089391506108a29050610880565b60248360228c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b92607f1692610856565b80fd5b50346102865781600319360112610286578160209360ff926109a0611a3c565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b5050346104fc57816003193601126104fc57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461028657610a1b36611afa565b919092610a26611df9565b73ffffffffffffffffffffffffffffffffffffffff8416156102d9578461026985610a5461025e3688611e34565b90610a608282336129f4565b33612da6565b5034610286578160031936011261028657610a7f611a14565b91610a88611b4d565b610a90611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561061c578361026960243585612532565b503461028657610ac836611afa565b919092610ad3611df9565b73ffffffffffffffffffffffffffffffffffffffff84161561027057846102698561075561025e3688611e34565b508290346104fc576020928360031936011261028657610b1f611a14565b91610b28611df9565b73ffffffffffffffffffffffffffffffffffffffff8316928315610be157610b6890338652828752610b63610b5e858820611fb2565b612f48565b61336e565b9033855260038652828520847fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905585526003858386209280516002850155015191015551917f60662088d92b75bf198cd91648eaec81fc2278e7a02f3cf02643637be4728c24339180a36001805560018152f35b5083602492519163ec442f0560e01b8352820152fd5b5034610286578260031936011261028657610b5e8260209461082493338252865220611fb2565b508290346104fc5760206003193601126104fc5773ffffffffffffffffffffffffffffffffffffffff610c4f611a14565b8360208651610c5d81611d9c565b8281520152168015610c8f578252602052819020610c7d90600201611fb2565b60208251918051835201516020820152f35b5090602492519163ec442f0560e01b8352820152fd5b8382346104fc57600319906020823601126102865780359167ffffffffffffffff83116105cc5760609083360301126102865761025e610cf39161026993610ceb611df9565b369101611e34565b33612799565b508290346104fc576003199060608236011261028657610d17611a14565b610d1f611a3c565b916044359367ffffffffffffffff8511610e32576060908536030112610e2e57610d47611df9565b73ffffffffffffffffffffffffffffffffffffffff93848316948515610dff57841615610de957610b5e6102699697610d8c61025e610de495610da495369101611e34565b9689526005602052808920338a526020528820611fb2565b610ddb610db082613715565b610dd1610dd6610dd1610dcb610dc68b88613635565b61315d565b8461307f565b6130c9565b612056565b90853385612f2d565b6120bb565b6024828789519163ec442f0560e01b8352820152fd5b602483888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8480fd5b8580fd5b5050346104fc57816003193601126104fc5760209060ff6002541690519015158152f35b50903461028657602060031936011261028657610e75611df9565b60ff600254161561075c5750610cf361026991356134c0565b5034610286578160031936011261028657610ea7611a14565b91610eb0611b4d565b610eb8611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561061c5760ff600254161561075c5783610269846102636024356134c0565b503461028657606060031936011261028657610f09611a14565b6024359060443567ffffffffffffffff8111610e3257610f2c9036908501611acc565b929093610f37611df9565b73ffffffffffffffffffffffffffffffffffffffff831692831561107357803b156110445760ff600254161561101c578291610f7b899261075560209897966134c0565b610fc58851978896879586947fbed2554200000000000000000000000000000000000000000000000000000000865233908601526024850152606060448501526064840191611f0e565b03925af19081156110105761026992508391610fe2575b50611f4d565b611003915060203d8111611009575b610ffb8183611db8565b810190611ef6565b38610fdc565b503d610ff1565b505051903d90823e3d90fd5b5085517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602482858951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024828989519163ec442f0560e01b8352820152fd5b508290346104fc5760606003193601126104fc576110a5611a14565b6110ad611a3c565b90604435926110ba611df9565b73ffffffffffffffffffffffffffffffffffffffff9081831691821561111e578416156111085750610da4610b5e8697610de49361026998526005602052808920338a526020528820611fb2565b6024908688519163ec442f0560e01b8352820152fd5b602482888a51917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b5034610286578160031936011261028657611166611a14565b9161116f611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561067e5760ff600254161561075c5783610269846102d26024356134c0565b50346102865781600319360112610286576111bf611a14565b916111c8611df9565b73ffffffffffffffffffffffffffffffffffffffff83161561067e57836102696024358533612b3f565b5034610286576003196060813601126105cc5761120d611a14565b916024359167ffffffffffffffff9081841161131a576060908436030112610e3257604435908111610e32576112469036908301611acc565b919093611251611df9565b73ffffffffffffffffffffffffffffffffffffffff811693841561130457813b156112d55760209492611294610fc597959361075561025e8c9536908601611e34565b8751968795869485937f2ac65e4e00000000000000000000000000000000000000000000000000000000855233908501528a60248501526044840191611f0e565b602483868951917f7ca756dc000000000000000000000000000000000000000000000000000000008352820152fd5b6024838989519163ec442f0560e01b8352820152fd5b8680fd5b509190346104fc57806003193601126104fc57611339611a3c565b903373ffffffffffffffffffffffffffffffffffffffff83160361136357506104bd919235611cb0565b8390517f6697b232000000000000000000000000000000000000000000000000000000008152fd5b5050346104fc57816003193601126104fc576020905160068152f35b5090346102865780600319360112610286576104bd91356113cb60016104a7611a3c565b611c06565b508290346104fc57826003193601126104fc576113eb611a14565b926113f4611abd565b916113fd611df9565b73ffffffffffffffffffffffffffffffffffffffff9182861691821561152257611426336123e0565b908482161561150c578697866000146114a8579285939260056020809794611489857fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e169b989d3398815285855281812089825285522094610b63610b5e87611fb2565b9081519085015501519101555b51951515865216941692a36001805580f35b9650509260209281927fb4f3d65fffdf9e90f369eef21114568cc4ebe6bc1853767f497f0c6efbfd0e1695339892898b5260058752828b20908b5286526003866114fb848d2093610b63610b5e86611fb2565b805160028501550151910155611496565b6024908784519163ec442f0560e01b8352820152fd5b85602492519163ec442f0560e01b8352820152fd5b503461028657602060031936011261028657816020936001923581528085522001549051908152f35b508290346104fc5760606003193601126104fc5761157c611a14565b611584611a3c565b9061158d611df9565b60ff600254161561161e5773ffffffffffffffffffffffffffffffffffffffff928382169384156115ef578316156115d95750610de4610da4610b5e6102699697610d8c6044356134c0565b6024908587519163ec442f0560e01b8352820152fd5b602482878951917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b8285517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b509034610286578060031936011261028657611660611a14565b916024359161166d611df9565b73ffffffffffffffffffffffffffffffffffffffff841680156117325760ff600254161561170b57836116b0575b85610269866116a9876134c0565b9033612da6565b33865260056020528186209086526020526116da610dd16116d5610b5e848920611fb2565b61369e565b156116e5578061169b565b517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50517fa25be20b000000000000000000000000000000000000000000000000000000008152fd5b602483878451917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b50913461097d578060031936011261097d578151918160085492600184811c91818616958615611824575b6020968785108114610947578899509688969785829a5291826000146109025750506001146117c8575050506108a29291610893910385611db8565b9190869350600883527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35b82841061180c57505050820101816108936108a2610880565b8054848a0186015288955087949093019281016117f3565b92607f169261178c565b508290346104fc57826003193601126104fc57611849611a14565b60243591611855611df9565b73ffffffffffffffffffffffffffffffffffffffff82161561188257509081610a608261026994336129f4565b602490848651917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b50823461097d57602060031936011261097d5773ffffffffffffffffffffffffffffffffffffffff91826118e3611a14565b1690811561190257602085858186868152600385522054169051908152f35b6024908386519163ec442f0560e01b8352820152fd5b50346102865760206003193601126102865735907fffffffff00000000000000000000000000000000000000000000000000000000821680920361028657602092507f479eaff400000000000000000000000000000000000000000000000000000000821491821561198e575b50519015158152f35b9091507f7965db0b0000000000000000000000000000000000000000000000000000000081149081156119c4575b509038611985565b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014386119bc565b8382346104fc5760206003193601126104fc5761026990611a0d611df9565b3533612799565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203611a3757565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203611a3757565b919082519283825260005b848110611aa95750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201611a6a565b602435908115158203611a3757565b9181601f84011215611a375782359167ffffffffffffffff8311611a375760208381860195010111611a3757565b90600319604081840112611a375760043573ffffffffffffffffffffffffffffffffffffffff81168103611a3757926024359167ffffffffffffffff8311611a375782606092030112611a375760040190565b3360009081527f0781d7cac9c378efa22a7481e4d4d29704a680ddf504b3bc50b517700ee11e6c60205260409020547f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69060ff1615611ba95750565b604490604051907fe2517d3f0000000000000000000000000000000000000000000000000000000082523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615611ba95750565b906000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff60408420541615600014611cab5780835282602052604083208284526020526040832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b906000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416600014611cab578083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b6060810190811067ffffffffffffffff821117611d6d57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff821117611d6d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d6d57604052565b600260015414611e0a576002600155565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b91908281039260608412611a3757604051611e4e81611d9c565b6040819512611a375760405191611e6483611d9c565b8035835260209283820135848201528252604081013567ffffffffffffffff91828211611a37570184601f82011215611a37578035918211611d6d5760405194611ed5857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8601160187611db8565b828652848383010111611a3757816000928580930183880137850101520152565b90816020910312611a3757518015158103611a375790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b15611f5457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f43616c6c6261636b206661696c656400000000000000000000000000000000006044820152fd5b90604051611fbf81611d9c565b602060018294805484520154910152565b73ffffffffffffffffffffffffffffffffffffffff1690811561203e5715612019576000526005602052604060002033600052602052612016610b5e6040600020611fb2565b90565b336000526005602052604060002090600052602052612016610b5e6040600020611fb2565b602460405163ec442f0560e01b815260006004820152fd5b1561205d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b929173ffffffffffffffffffffffffffffffffffffffff9081851680156123af5782841690811561203e5781811461237e5782966000958287526020966004885260409661210d610b5e898420611fb2565b9a86835260048a52612123610b5e8a8520611fb2565b978860448b519e8f907f56c72d280000000000000000000000000000000000000000000000000000000082527f060606000000000000000000000000000000000000000000000000000000000060048301526024820152015260648d015260608c6084818660645af19788156123745783908490859a612334575b6121ca9b9c9d9e506121af8b6130c9565b928361230b575b505050612230575b505050505050506130c9565b156121d3575050565b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601460248201527f45524332303a20757064617465206661696c65640000000000000000000000006044820152fd5b61226c7f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a395848d8d5161226281611d9c565b82815201526123e0565b808316156122ee57612281612290918361336e565b945b848d8d5161226281611d9c565b918216156122d3576122a2925061336e565b905b87518151815260209182015182820152825160408201529101516060820152608090a3388080808080806121be565b50508751906122e182611d9c565b80825289820152906122a4565b506122908a516122fd81611d9c565b848152848d82015294612283565b61232c9294509061231f612325928a612431565b846135cc565b9286612431565b3880806121b6565b9950505060608c3d821161236c575b8161235060609383611db8565b81010312610286578b518a8d01519c8a01519b9c8d9c9961219e565b3d9150612343565b89513d85823e3d90fd5b602490604051907fa26ce2e10000000000000000000000000000000000000000000000000000000082526004820152fd5b60246040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152fd5b73ffffffffffffffffffffffffffffffffffffffff808216801561242957600052600360205260406000205416908115612418575090565b8091503b6124235790565b50600090565b505050600090565b9060039061243e836123e0565b73ffffffffffffffffffffffffffffffffffffffff91908281166124b35750612466906132a9565b92166000928184526004602052600160206040862092805184550151910155604080519361249385611d9c565b808552602085019281845281526004602052209251600284015551910155565b9160408051956124c287611d9c565b8151926124ce84611d9c565b60009182855261250c60209786858a809901528b52868b019786516124f281611d9c565b86815286898201528952612505816132a9565b8c5261336e565b865216815260048352209451805186550151600185015551805160028501550151910155565b91909173ffffffffffffffffffffffffffffffffffffffff90818116801561203e576125859060008181526020946004865260409461257e89612579610b5e898720611fb2565b613530565b959061315d565b986125b36125ac826125798a5161259b81611d9c565b60065481526007548d820152612f48565b919061315d565b8851907f145fca2c0000000000000000000000000000000000000000000000000000000082527f060602000000000000000000000000000000000000000000000000000000000060048301528260248301527f000000000000000000000000000000000000000000000000000000000000000060448301528a826064818a825af191821561278f57879261275e575b508a9b9c6126596121ca9b9c949361265f9361301f565b9061301f565b97612669896130c9565b928361273a575b505050612682575b50505050506130c9565b7f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a392848a8a516126b181611d9c565b82815201526126da8951936126c585611d9c565b868552868c860152868c8c5161226281611d9c565b9081161561271f576126eb9161336e565b905b8751815181526020918201518282015282516040820152910151606082015280608081015b0390a33880808080612678565b5050865161272c81611d9c565b8381528389820152906126ed565b612746612756936132a9565b8051600655015160075584612431565b38808b612670565b9091508a81813d8311612788575b6127768183611db8565b8101031261131a5751906121ca612642565b503d61276c565b8a513d89823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff908184169081156123af578091600090808252602094600486526040946127db610b5e878620611fb2565b986127e461344e565b9587519a7f56c72d28000000000000000000000000000000000000000000000000000000008c527f060606000000000000000000000000000000000000000000000000000000000060048d015260248c01528660448c015260648b015260608a6084818860645af19586156129ea5785908687986129a9575b6121ca999a9b9c5061286e896130c9565b9283612955575b5050506128865750505050506130c9565b61289790858a8a5161226281611d9c565b9182161561291a577f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a3916128ca9161336e565b838888516128d781611d9c565b82815201528651906128e882611d9c565b848252888201859052875181518152602091820151828201528251604082015291015160608201528060808101612712565b50507f51d0ad1c942bf69951ef3f74b4b135c487a07fcefe7c0247e1940b708654c5a3855161294881611d9c565b83815283888201526128ca565b61296a9395506129659085612431565b6135cc565b9189612997612992856129658d5161298181611d9c565b600654815260075486820152612f48565b6132a9565b80516006550151600755388080612875565b5096505060608a3d82116129e2575b816129c560609383611db8565b81010312610e2e578951888b01519a880151999a8b9a979061285d565b3d91506129b8565b87513d87823e3d90fd5b9190612a6891612a0261344e565b6040517f7c12a1eb0000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201529160209083906064820190565b03928181600095818760645af18015612b34578490612b05575b612a8c91506130c9565b612aff576040610dd1936116d593610b5e93612ace9773ffffffffffffffffffffffffffffffffffffffff809116845260058252848420921683525220611fb2565b15612ad557565b60046040517f288ade40000000000000000000000000000000000000000000000000000000008152fd5b50505050565b508181813d8311612b2d575b612b1b8183611db8565b810103126105cc57612a8c9051612a82565b503d612b11565b6040513d86823e3d90fd5b919073ffffffffffffffffffffffffffffffffffffffff808416908115612c3f578216908115612c0e57610dd193612ba092612b99926000526005602052604060002090600052602052612579610b5e6040600020611fb2565b939061315d565b15612bb057612bae92612da6565b565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f45524332303a20616c6c6f77616e6365206f766572666c6f77000000000000006044820152fd5b60246040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152fd5b60246040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152fd5b9092919273ffffffffffffffffffffffffffffffffffffffff91828116928315612c3f578216928315612c0e57612d2d93600091825260056020526040968791828420908452602052612cc7610b5e838520611fb2565b825196879283927fce8c713d000000000000000000000000000000000000000000000000000000008452600484016040909392919360608101947f0606000000000000000000000000000000000000000000000000000000000000825260208201520152565b03818460645af1938415612d9a57612bae95968295612d5d575b5050610dd6610dd1612d589261315d565b612da6565b610dd19550612d589250610dd69181612d8a92903d10612d93575b612d828183611db8565b810190613293565b95909250612d47565b503d612d78565b508551903d90823e3d90fd5b9173ffffffffffffffffffffffffffffffffffffffff808416928315612c3f57818116948515612c0e5783612ef3916005612e0a612e047f836b0bdb95065391d1c4c568d3e48559e54d5969d06d7ea87f85869e1ef69dc8986132a9565b926123e0565b95600093612e44604095865199612e208b611d9c565b818b5260209a8b0182905280851615612f1357612e3e91508361336e565b976123e0565b90600092838a8851612e5581611d9c565b8281520152821615612ef857612e6b925061336e565b955b835192612e7984611d51565b835280830186815281858501918983528b600052848252866000208d6000528252818760002096518051885501516001870155518051600287015501516003850155518051600485015501519101555192839283909291602060609181608085019680518652015182850152805160408501520151910152565b0390a3565b5050835190612f0682611d9c565b8082528782015295612e6d565b50865190612f2082611d9c565b8082528a820152976123e0565b92909193612aff57612bae93612f42916135cc565b91612da6565b80511580613013575b61300a5760208151910151604051917f2d5831350000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015260448201526020816064816000825af1908115612ffe57600091612fd0575090565b906020823d8211612ff6575b81612fe960209383611db8565b8101031261097d57505190565b3d9150612fdc565b6040513d6000823e3d90fd5b5061201661344e565b50602081015115612f51565b6040517ffe9c73d1000000000000000000000000000000000000000000000000000000008152600060048201526024810191909152604481019190915260208180606481015b0381600060645af1908115612ffe57600091612fd0575090565b6040517ffb7da35f00000000000000000000000000000000000000000000000000000000815260006004820152602481019190915260448101919091526020818060648101613065565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af191821561315157809261311d575b5050151590565b9091506020823d8211613149575b8161313860209383611db8565b8101031261097d5750513880613116565b3d915061312b565b604051903d90823e3d90fd5b6040517f1d79e49a00000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af19182156131515780926131ae57505090565b9091506020823d8211612ff65781612fe960209383611db8565b8051908151916020918280809301519101519361324a60405195869384937f0135e4660000000000000000000000000000000000000000000000000000000085527f0600000000000000000000000000000000000000000000000000000000000000600486015260248501526044840152608060648401526084830190611a5f565b0381600060645af1908115612ffe57600091613267575b50905090565b82813d831161328c575b61327b8183611db8565b8101031261097d5750518038613261565b503d613271565b9190826040910312611a37576020825192015190565b602090604080516132b981611d9c565b600093818580935201528051917f1f4491de0000000000000000000000000000000000000000000000000000000083527f06000000000000000000000000000000000000000000000000000000000000006004840152602483015280826044818660645af1918215613364578392613342575b50519161333883611d9c565b8252602082015290565b9080935061335c92503d8411612d9357612d828183611db8565b90913861332c565b81513d85823e3d90fd5b6040805160209361342e93839261338481611d9c565b600096818880935201527fffffffffffffffffffffffffffffffffffffffff00000000000000000000000083519260601b166020830152601482526133c882611d9c565b825194859283927fe5c833130000000000000000000000000000000000000000000000000000000084527f060000000000000000000000000000000000000000000000000000000000000060048501526024840152606060448401526064830190611a5f565b03818660645af19182156133645783926133425750519161333883611d9c565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f060000000000000000000000000000000000000000000000000000000000000060048201526000908160248201526020816044818560645af19182156131515780926131ae57505090565b604051907fd9b60b600000000000000000000000000000000000000000000000000000000082527f060000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af1908115612ffe57600091612fd0575090565b604080517ff581fa200000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019290925260448201929092529190826064816000825af1918215612ffe5760009081936135ad57509190565b90506135c891925060403d8111612d9357612d828183611db8565b9091565b6040517f371d1bf20000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020818060648101613065565b6040517fdd1486930000000000000000000000000000000000000000000000000000000081527f06060000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020818060648101613065565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f06060200000000000000000000000000000000000000000000000000000000006004830152602482015260009081604482015260208160648185825af19182156131515780926131ae57505090565b604051907f7c12a1eb0000000000000000000000000000000000000000000000000000000082527f0606020000000000000000000000000000000000000000000000000000000000600483015260248201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60448201526020816064816000825af1908115612ffe57600091612fd057509056fea164736f6c6343000814000a";
|
|
1411
1437
|
|
|
1412
1438
|
type PrivateERC20CappedMockConstructorParams =
|
|
1413
1439
|
| [signer?: Signer]
|
|
@@ -110,7 +110,7 @@ const _abi = [
|
|
|
110
110
|
] as const;
|
|
111
111
|
|
|
112
112
|
const _bytecode =
|
|
113
|
-
"
|
|
113
|
+
"0x6080806040523461001657610530908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b600090813560e01c8063102322981461029b5780637ca902f7146101bc578281638c2fe7231461011157506392606ddf1461004d57600080fd5b81903461010e576100829073ffffffffffffffffffffffffffffffffffffffff61007636610371565b94919290921693610414565b833b1561010a5782517fc183b7fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201529183908390604490829084905af190811561010157506100ee5750f35b6100f7906103d1565b6100fe5780f35b80fd5b513d84823e3d90fd5b8480fd5b50fd5b80833461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5773ffffffffffffffffffffffffffffffffffffffff61015e61034e565b169061016b602435610414565b823b156101b757839260248492845195869384927e0a77ed00000000000000000000000000000000000000000000000000000000845260048401525af190811561010157506100ee5750f35b505050fd5b50346102975760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610297576101f461034e565b906024359073ffffffffffffffffffffffffffffffffffffffff9182811680910361029257604435928084168094036102925785941692610236606435610414565b93803b1561028e57859283606492865197889586947f3c96e77c0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af190811561010157506100ee5750f35b8580fd5b600080fd5b5080fd5b50346102975773ffffffffffffffffffffffffffffffffffffffff90826102d06102c436610371565b92919590951691610414565b90803b1561034a5783517f0564c4cf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff95909516600486015260248501919091528390604490829084905af1908115610101575061033e575080f35b610347906103d1565b80f35b8280fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361029257565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126102925773ffffffffffffffffffffffffffffffffffffffff90600435828116810361029257916024359081168103610292579060443590565b67ffffffffffffffff81116103e557604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051907fd9b60b600000000000000000000000000000000000000000000000000000000082527f0600000000000000000000000000000000000000000000000000000000000000600483015260248201526000906020816044818560645af191821561051757809261048657505090565b90915060203d8111610510575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116830183811067ffffffffffffffff8211176104e3576020918491604052810103126100fe57505190565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b503d610493565b604051903d90823e3d90fdfea164736f6c6343000814000a";
|
|
114
114
|
|
|
115
115
|
type PrivateERC20GtCallerMockConstructorParams =
|
|
116
116
|
| [signer?: Signer]
|