postchain-client 1.22.0 → 2.0.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/README.md +16 -0
- package/built/cjs/index.js +2205 -3742
- package/built/cjs/index.js.map +1 -1
- package/built/esm/index.js +10425 -11683
- package/built/esm/index.js.map +1 -1
- package/built/index.d.ts +3 -8
- package/built/index.js +2 -11
- package/built/index.js.map +1 -1
- package/built/mocks/handlers.d.ts +1 -1
- package/built/mocks/handlers.js +62 -21
- package/built/mocks/handlers.js.map +1 -1
- package/built/src/ICCF/IccfProofTxMaterialBuilder.d.ts +3 -2
- package/built/src/ICCF/IccfProofTxMaterialBuilder.js +23 -10
- package/built/src/ICCF/IccfProofTxMaterialBuilder.js.map +1 -1
- package/built/src/ICCF/types.d.ts +4 -1
- package/built/src/ICCF/utils.js +2 -2
- package/built/src/ICCF/utils.js.map +1 -1
- package/built/src/blockchainClient/blockchainClient.js +56 -53
- package/built/src/blockchainClient/blockchainClient.js.map +1 -1
- package/built/src/blockchainClient/clientStub.js +18 -16
- package/built/src/blockchainClient/clientStub.js.map +1 -1
- package/built/src/blockchainClient/enums.d.ts +5 -0
- package/built/src/blockchainClient/enums.js +6 -0
- package/built/src/blockchainClient/enums.js.map +1 -1
- package/built/src/blockchainClient/errors.d.ts +20 -0
- package/built/src/blockchainClient/errors.js +41 -0
- package/built/src/blockchainClient/errors.js.map +1 -1
- package/built/src/{restclient → blockchainClient}/failoverStrategies.d.ts +14 -0
- package/built/src/{restclient → blockchainClient}/failoverStrategies.js +104 -24
- package/built/src/blockchainClient/failoverStrategies.js.map +1 -0
- package/built/src/blockchainClient/httpUtil.d.ts +4 -0
- package/built/src/{restclient → blockchainClient}/httpUtil.js +27 -23
- package/built/src/blockchainClient/httpUtil.js.map +1 -0
- package/built/src/blockchainClient/interface.d.ts +48 -59
- package/built/src/{restclient → blockchainClient}/nodeManager.d.ts +3 -0
- package/built/src/{restclient → blockchainClient}/nodeManager.js +7 -0
- package/built/src/blockchainClient/nodeManager.js.map +1 -0
- package/built/src/blockchainClient/requestWithFailoverStrategy.d.ts +4 -0
- package/built/src/blockchainClient/requestWithFailoverStrategy.js +31 -0
- package/built/src/blockchainClient/requestWithFailoverStrategy.js.map +1 -0
- package/built/src/blockchainClient/types.d.ts +64 -20
- package/built/src/blockchainClient/utils.d.ts +47 -12
- package/built/src/blockchainClient/utils.js +149 -30
- package/built/src/blockchainClient/utils.js.map +1 -1
- package/built/src/blockchainClient/validation/merkleHash.js +2 -1
- package/built/src/blockchainClient/validation/merkleHash.js.map +1 -1
- package/built/src/blockchainClient/validation/rawGtx.d.ts +2 -0
- package/built/src/blockchainClient/validation/rawGtx.js +22 -0
- package/built/src/blockchainClient/validation/rawGtx.js.map +1 -0
- package/built/src/blockchainClient/validation/requests.d.ts +5 -2
- package/built/src/blockchainClient/validation/requests.js +26 -0
- package/built/src/blockchainClient/validation/requests.js.map +1 -1
- package/built/src/blockchainClient/validation/transactionStatusReponse.d.ts +2 -0
- package/built/src/blockchainClient/validation/transactionStatusReponse.js +24 -0
- package/built/src/blockchainClient/validation/transactionStatusReponse.js.map +1 -0
- package/built/src/blockchainClient/validation/txRid.js +1 -1
- package/built/src/blockchainClient/validation/txRid.js.map +1 -1
- package/built/src/encryption/encryption.d.ts +0 -1
- package/built/src/encryption/encryption.js +0 -2
- package/built/src/encryption/encryption.js.map +1 -1
- package/built/src/formatter.d.ts +5 -7
- package/built/src/formatter.js +10 -29
- package/built/src/formatter.js.map +1 -1
- package/built/src/gtv/index.d.ts +3 -2
- package/built/src/gtv/index.js +4 -6
- package/built/src/gtv/index.js.map +1 -1
- package/built/src/gtx/errors.d.ts +2 -1
- package/built/src/gtx/errors.js.map +1 -1
- package/built/src/gtx/gtx.d.ts +5 -2
- package/built/src/gtx/gtx.js +0 -7
- package/built/src/gtx/gtx.js.map +1 -1
- package/built/src/gtx/serialization.d.ts +0 -1
- package/built/src/gtx/serialization.js +0 -1
- package/built/src/gtx/serialization.js.map +1 -1
- package/built/src/gtx/types.d.ts +0 -8
- package/built/src/logger.d.ts +6 -9
- package/built/src/logger.js +8 -14
- package/built/src/logger.js.map +1 -1
- package/built/src/promiEvent/promiEventEmitter.d.ts +1 -8
- package/built/src/promiEvent/promiEventEmitter.js.map +1 -1
- package/built/src/utils/calculateTransactionRid.d.ts +1 -1
- package/built/src/utils/calculateTransactionRid.js +6 -6
- package/built/src/utils/calculateTransactionRid.js.map +1 -1
- package/built/src/utils/constants.d.ts +4 -0
- package/built/src/utils/constants.js +5 -0
- package/built/src/utils/constants.js.map +1 -0
- package/built/src/utils/decodeTransactionToGtx.d.ts +1 -1
- package/built/src/utils/decodeTransactionToGtx.js +4 -3
- package/built/src/utils/decodeTransactionToGtx.js.map +1 -1
- package/built/src/utils/encodeTransaction.d.ts +1 -1
- package/built/src/utils/encodeTransaction.js +4 -4
- package/built/src/utils/encodeTransaction.js.map +1 -1
- package/built/test/common/mocks.d.ts +118 -0
- package/built/test/common/mocks.js +239 -0
- package/built/test/common/mocks.js.map +1 -0
- package/built/test/{unit/gtx → common}/serializationtestobjects.d.ts +1 -1
- package/built/test/common/serializationtestobjects.js.map +1 -0
- package/built/test/common/setups.d.ts +27 -0
- package/built/test/common/setups.js +137 -0
- package/built/test/common/setups.js.map +1 -0
- package/built/test/{unit → common}/signatures.d.ts +0 -1
- package/built/test/{unit → common}/signatures.js +0 -1
- package/built/test/common/signatures.js.map +1 -0
- package/built/test/common/testData.js.map +1 -0
- package/built/test/{unit/validation → common}/validationMocks.d.ts +22 -2
- package/built/test/{unit/validation → common}/validationMocks.js +13 -1
- package/built/test/common/validationMocks.js.map +1 -0
- package/built/test/integration/clientGetBlockInfo.test.js +51 -0
- package/built/test/integration/clientGetBlockInfo.test.js.map +1 -0
- package/built/test/integration/clientGetRejectedTransactions.test.js +28 -0
- package/built/test/integration/clientGetRejectedTransactions.test.js.map +1 -0
- package/built/test/integration/clientGetTransaction.test.js +29 -0
- package/built/test/integration/clientGetTransaction.test.js.map +1 -0
- package/built/test/integration/clientGetTransactionStatus.test.js +71 -0
- package/built/test/integration/clientGetTransactionStatus.test.js.map +1 -0
- package/built/test/integration/clientGetWaitingTransaction.test.js +34 -0
- package/built/test/integration/clientGetWaitingTransaction.test.js.map +1 -0
- package/built/test/integration/clientGetWaitingTransactions.test.js +28 -0
- package/built/test/integration/clientGetWaitingTransactions.test.js.map +1 -0
- package/built/test/integration/clientIntegration.test.js +95 -0
- package/built/test/integration/clientIntegration.test.js.map +1 -0
- package/built/test/integration/clientQuery.test.js +380 -0
- package/built/test/integration/clientQuery.test.js.map +1 -0
- package/built/test/integration/clientSendTransaction.test.js +86 -0
- package/built/test/integration/clientSendTransaction.test.js.map +1 -0
- package/built/test/integration/clientSignAndSendUniqueTransaction.test.js +75 -0
- package/built/test/integration/clientSignAndSendUniqueTransaction.test.js.map +1 -0
- package/built/test/integration/clientSignTransaction.test.js +77 -0
- package/built/test/integration/clientSignTransaction.test.js.map +1 -0
- package/built/test/integration/{blockchainClientUtils.test.js → clientUtils.test.js} +13 -8
- package/built/test/integration/clientUtils.test.js.map +1 -0
- package/built/test/integration/createClientIntegration.test.js +158 -0
- package/built/test/integration/createClientIntegration.test.js.map +1 -0
- package/built/test/integration/encodeTransaction.test.js +3 -6
- package/built/test/integration/encodeTransaction.test.js.map +1 -1
- package/built/test/integration/getTransactionsInfo.test.js +17 -26
- package/built/test/integration/getTransactionsInfo.test.js.map +1 -1
- package/built/test/integration/signAndSendUniqueTransaction.test.js +26 -19
- package/built/test/integration/signAndSendUniqueTransaction.test.js.map +1 -1
- package/built/test/integrationChromiaNetwork/createIccfProofTx.test.js +59 -0
- package/built/test/integrationChromiaNetwork/createIccfProofTx.test.js.map +1 -0
- package/built/test/{integrationDevnet → integrationChromiaNetwork}/getAnchoringStatusForBlockRid.test.js +9 -15
- package/built/test/integrationChromiaNetwork/getAnchoringStatusForBlockRid.test.js.map +1 -0
- package/built/test/{integrationDevnet → integrationChromiaNetwork}/getTransactionConfirmationLevel.test.js +7 -13
- package/built/test/integrationChromiaNetwork/getTransactionConfirmationLevel.test.js.map +1 -0
- package/built/test/integrationChromiaNetwork/getTransactionStatus.test.js +45 -0
- package/built/test/integrationChromiaNetwork/getTransactionStatus.test.js.map +1 -0
- package/built/test/integrationChromiaNetwork/isBlockAnchored.test.js +35 -0
- package/built/test/integrationChromiaNetwork/isBlockAnchored.test.js.map +1 -0
- package/built/test/integrationChromiaNetwork/merkleHashIntegration.test.d.ts +1 -0
- package/built/test/integrationChromiaNetwork/merkleHashIntegration.test.js +134 -0
- package/built/test/integrationChromiaNetwork/merkleHashIntegration.test.js.map +1 -0
- package/built/test/integrationChromiaNetwork/nodeDiscovery.test.d.ts +1 -0
- package/built/test/integrationChromiaNetwork/nodeDiscovery.test.js +26 -0
- package/built/test/integrationChromiaNetwork/nodeDiscovery.test.js.map +1 -0
- package/built/test/integrationChromiaNetwork/requestWithFailoverStrategy.test.d.ts +1 -0
- package/built/test/integrationChromiaNetwork/requestWithFailoverStrategy.test.js +84 -0
- package/built/test/integrationChromiaNetwork/requestWithFailoverStrategy.test.js.map +1 -0
- package/built/test/integrationChromiaNetwork/signAndSendUniqueTransaction.test.d.ts +1 -0
- package/built/test/{integrationDevnet → integrationChromiaNetwork}/signAndSendUniqueTransaction.test.js +27 -44
- package/built/test/integrationChromiaNetwork/signAndSendUniqueTransaction.test.js.map +1 -0
- package/built/test/manual/iccfManually.test.js +18 -27
- package/built/test/manual/iccfManually.test.js.map +1 -1
- package/built/test/pcctf/getSuites.test.d.ts +1 -0
- package/built/test/pcctf/getSuites.test.js +106 -0
- package/built/test/pcctf/getSuites.test.js.map +1 -0
- package/built/test/pcctf/helpers.d.ts +92 -0
- package/built/test/pcctf/helpers.js +239 -0
- package/built/test/pcctf/helpers.js.map +1 -0
- package/built/test/unit/ICCF/iccf.test.js +63 -158
- package/built/test/unit/ICCF/iccf.test.js.map +1 -1
- package/built/test/unit/ICCF/iccfProofMaterialBuilder.test.d.ts +1 -2
- package/built/test/unit/ICCF/iccfProofMaterialBuilder.test.js +101 -296
- package/built/test/unit/ICCF/iccfProofMaterialBuilder.test.js.map +1 -1
- package/built/test/unit/blockchainClient/client.getRejectedTransactions.test.d.ts +1 -0
- package/built/test/unit/blockchainClient/client.getRejectedTransactions.test.js +48 -0
- package/built/test/unit/blockchainClient/client.getRejectedTransactions.test.js.map +1 -0
- package/built/test/unit/blockchainClient/client.getWaitingTransaction.test.d.ts +1 -0
- package/built/test/unit/blockchainClient/client.getWaitingTransaction.test.js +38 -0
- package/built/test/unit/blockchainClient/client.getWaitingTransaction.test.js.map +1 -0
- package/built/test/unit/blockchainClient/client.getWaitingTransactions.test.d.ts +1 -0
- package/built/test/unit/blockchainClient/client.getWaitingTransactions.test.js +30 -0
- package/built/test/unit/blockchainClient/client.getWaitingTransactions.test.js.map +1 -0
- package/built/test/unit/blockchainClient/client.test.d.ts +1 -0
- package/built/test/unit/blockchainClient/client.test.js +177 -0
- package/built/test/unit/blockchainClient/client.test.js.map +1 -0
- package/built/test/unit/blockchainClient/clientCustomStatusCodes.test.js +26 -32
- package/built/test/unit/blockchainClient/clientCustomStatusCodes.test.js.map +1 -1
- package/built/test/unit/blockchainClient/getAnchoringStatusForBlockRid.test.js +26 -59
- package/built/test/unit/blockchainClient/getAnchoringStatusForBlockRid.test.js.map +1 -1
- package/built/test/unit/blockchainClient/getSystemAnchoringTransactionConfirmation.test.js +21 -38
- package/built/test/unit/blockchainClient/getSystemAnchoringTransactionConfirmation.test.js.map +1 -1
- package/built/test/unit/blockchainClient/getTransactionConfirmationLevel.test.js +77 -127
- package/built/test/unit/blockchainClient/getTransactionConfirmationLevel.test.js.map +1 -1
- package/built/test/unit/blockchainClient/sendTransaction.test.js +352 -675
- package/built/test/unit/blockchainClient/sendTransaction.test.js.map +1 -1
- package/built/test/unit/blockchainClient/setMerkleVersion.test.js +14 -28
- package/built/test/unit/blockchainClient/setMerkleVersion.test.js.map +1 -1
- package/built/test/unit/blockchainClient/signAndSendUniqueTransactionPromiEvents.test.js +31 -98
- package/built/test/unit/blockchainClient/signAndSendUniqueTransactionPromiEvents.test.js.map +1 -1
- package/built/test/unit/blockchainClient/statusPollIntervals.test.js +34 -54
- package/built/test/unit/blockchainClient/statusPollIntervals.test.js.map +1 -1
- package/built/test/unit/blockchainClient/util.test.js +74 -133
- package/built/test/unit/blockchainClient/util.test.js.map +1 -1
- package/built/test/unit/decodeTransactionToGtx.test.js +3 -4
- package/built/test/unit/decodeTransactionToGtx.test.js.map +1 -1
- package/built/test/unit/dump.test.js +2 -3
- package/built/test/unit/dump.test.js.map +1 -1
- package/built/test/unit/encryption/encryption.test.js +23 -32
- package/built/test/unit/encryption/encryption.test.js.map +1 -1
- package/built/test/unit/failoverStrategies.test.js +122 -114
- package/built/test/unit/failoverStrategies.test.js.map +1 -1
- package/built/test/unit/formatter.test.js +38 -42
- package/built/test/unit/formatter.test.js.map +1 -1
- package/built/test/unit/gtv/gtvHash.test.js +5 -6
- package/built/test/unit/gtv/gtvHash.test.js.map +1 -1
- package/built/test/unit/gtx/checkGTXSignature.test.js +5 -7
- package/built/test/unit/gtx/checkGTXSignature.test.js.map +1 -1
- package/built/test/unit/gtx/newSignatureProvider.test.js +9 -10
- package/built/test/unit/gtx/newSignatureProvider.test.js.map +1 -1
- package/built/test/unit/gtx/serialization.test.js +37 -138
- package/built/test/unit/gtx/serialization.test.js.map +1 -1
- package/built/test/unit/httpUtil.test.js +27 -18
- package/built/test/unit/httpUtil.test.js.map +1 -1
- package/built/test/unit/logger.test.js +23 -25
- package/built/test/unit/logger.test.js.map +1 -1
- package/built/test/unit/nodeMananger.test.js +62 -74
- package/built/test/unit/nodeMananger.test.js.map +1 -1
- package/built/test/unit/setOrdering.test.js +9 -9
- package/built/test/unit/setOrdering.test.js.map +1 -1
- package/built/test/unit/stickyNode.test.js +44 -54
- package/built/test/unit/stickyNode.test.js.map +1 -1
- package/built/test/unit/validation/anchoringTransaction.test.js +7 -8
- package/built/test/unit/validation/anchoringTransaction.test.js.map +1 -1
- package/built/test/unit/validation/blockIdentifier.test.js +7 -9
- package/built/test/unit/validation/blockIdentifier.test.js.map +1 -1
- package/built/test/unit/validation/bufferSchema.test.js +4 -5
- package/built/test/unit/validation/bufferSchema.test.js.map +1 -1
- package/built/test/unit/validation/networkSettings.test.js +11 -13
- package/built/test/unit/validation/networkSettings.test.js.map +1 -1
- package/built/test/unit/validation/rawGtx.test.d.ts +1 -0
- package/built/test/unit/validation/rawGtx.test.js +84 -0
- package/built/test/unit/validation/rawGtx.test.js.map +1 -0
- package/built/test/unit/validation/requests.test.js +80 -74
- package/built/test/unit/validation/requests.test.js.map +1 -1
- package/built/test/unit/validation/signMethod.test.js +8 -10
- package/built/test/unit/validation/signMethod.test.js.map +1 -1
- package/built/test/unit/validation/statusObject.test.d.ts +1 -0
- package/built/test/unit/validation/statusObject.test.js +91 -0
- package/built/test/unit/validation/statusObject.test.js.map +1 -0
- package/built/test/unit/validation/txRid.test.js +7 -9
- package/built/test/unit/validation/txRid.test.js.map +1 -1
- package/built/umd/index.js +31711 -31107
- package/built/umd/index.js.map +1 -1
- package/package.json +26 -22
- package/built/src/chromia/chromiaClientProvider.d.ts +0 -9
- package/built/src/chromia/chromiaClientProvider.js +0 -36
- package/built/src/chromia/chromiaClientProvider.js.map +0 -1
- package/built/src/chromia/interfaces.d.ts +0 -4
- package/built/src/chromia/interfaces.js +0 -2
- package/built/src/chromia/interfaces.js.map +0 -1
- package/built/src/constants.d.ts +0 -3
- package/built/src/constants.js +0 -4
- package/built/src/constants.js.map +0 -1
- package/built/src/gtx/gtxclient.d.ts +0 -3
- package/built/src/gtx/gtxclient.js +0 -96
- package/built/src/gtx/gtxclient.js.map +0 -1
- package/built/src/gtx/interfaces.d.ts +0 -91
- package/built/src/gtx/interfaces.js +0 -2
- package/built/src/gtx/interfaces.js.map +0 -1
- package/built/src/merkle/binarytree.d.ts +0 -131
- package/built/src/merkle/binarytree.js +0 -146
- package/built/src/merkle/binarytree.js.map +0 -1
- package/built/src/merkle/binarytreefactory.d.ts +0 -86
- package/built/src/merkle/binarytreefactory.js +0 -251
- package/built/src/merkle/binarytreefactory.js.map +0 -1
- package/built/src/merkle/merkleHelper.d.ts +0 -18
- package/built/src/merkle/merkleHelper.js +0 -110
- package/built/src/merkle/merkleHelper.js.map +0 -1
- package/built/src/merkle/merklehashcalculator.d.ts +0 -37
- package/built/src/merkle/merklehashcalculator.js +0 -73
- package/built/src/merkle/merklehashcalculator.js.map +0 -1
- package/built/src/merkle/path.d.ts +0 -151
- package/built/src/merkle/path.js +0 -306
- package/built/src/merkle/path.js.map +0 -1
- package/built/src/merkle/proof/merklehashcarrier.d.ts +0 -17
- package/built/src/merkle/proof/merklehashcarrier.js +0 -23
- package/built/src/merkle/proof/merklehashcarrier.js.map +0 -1
- package/built/src/merkle/proof/merklehashsummaryfactory.d.ts +0 -53
- package/built/src/merkle/proof/merklehashsummaryfactory.js +0 -82
- package/built/src/merkle/proof/merklehashsummaryfactory.js.map +0 -1
- package/built/src/merkle/proof/merkleproof.d.ts +0 -36
- package/built/src/merkle/proof/merkleproof.js +0 -61
- package/built/src/merkle/proof/merkleproof.js.map +0 -1
- package/built/src/merkle/proof/merkleprooftree.d.ts +0 -124
- package/built/src/merkle/proof/merkleprooftree.js +0 -117
- package/built/src/merkle/proof/merkleprooftree.js.map +0 -1
- package/built/src/merkle/proof/merkleprooftreefactory.d.ts +0 -47
- package/built/src/merkle/proof/merkleprooftreefactory.js +0 -123
- package/built/src/merkle/proof/merkleprooftreefactory.js.map +0 -1
- package/built/src/merkle/types.d.ts +0 -11
- package/built/src/merkle/types.js +0 -2
- package/built/src/merkle/types.js.map +0 -1
- package/built/src/restclient/enums.d.ts +0 -4
- package/built/src/restclient/enums.js +0 -6
- package/built/src/restclient/enums.js.map +0 -1
- package/built/src/restclient/errors.d.ts +0 -33
- package/built/src/restclient/errors.js +0 -63
- package/built/src/restclient/errors.js.map +0 -1
- package/built/src/restclient/failoverStrategies.js.map +0 -1
- package/built/src/restclient/httpUtil.d.ts +0 -6
- package/built/src/restclient/httpUtil.js.map +0 -1
- package/built/src/restclient/interfaces.d.ts +0 -68
- package/built/src/restclient/interfaces.js +0 -2
- package/built/src/restclient/interfaces.js.map +0 -1
- package/built/src/restclient/nodeManager.js.map +0 -1
- package/built/src/restclient/restclient.d.ts +0 -18
- package/built/src/restclient/restclient.js +0 -200
- package/built/src/restclient/restclient.js.map +0 -1
- package/built/src/restclient/restclientutil.d.ts +0 -32
- package/built/src/restclient/restclientutil.js +0 -141
- package/built/src/restclient/restclientutil.js.map +0 -1
- package/built/src/restclient/types.d.ts +0 -78
- package/built/src/restclient/types.js +0 -2
- package/built/src/restclient/types.js.map +0 -1
- package/built/test/integration/blockchainClientIntegration.test.js +0 -1075
- package/built/test/integration/blockchainClientIntegration.test.js.map +0 -1
- package/built/test/integration/blockchainClientUtils.test.js.map +0 -1
- package/built/test/integration/gtxClientIntegration.test.js +0 -334
- package/built/test/integration/gtxClientIntegration.test.js.map +0 -1
- package/built/test/integration/merkleIntegration.test.js +0 -138
- package/built/test/integration/merkleIntegration.test.js.map +0 -1
- package/built/test/integration/objectGenerator.d.ts +0 -3
- package/built/test/integration/objectGenerator.js +0 -17
- package/built/test/integration/objectGenerator.js.map +0 -1
- package/built/test/integration/restClientIntegration.test.js +0 -170
- package/built/test/integration/restClientIntegration.test.js.map +0 -1
- package/built/test/integration/testData.js.map +0 -1
- package/built/test/integrationDevnet/constants.d.ts +0 -1
- package/built/test/integrationDevnet/constants.js +0 -2
- package/built/test/integrationDevnet/constants.js.map +0 -1
- package/built/test/integrationDevnet/getAnchoringStatusForBlockRid.test.js.map +0 -1
- package/built/test/integrationDevnet/getTransactionConfirmationLevel.test.js.map +0 -1
- package/built/test/integrationDevnet/getTransactionStatus.test.js +0 -53
- package/built/test/integrationDevnet/getTransactionStatus.test.js.map +0 -1
- package/built/test/integrationDevnet/signAndSendUniqueTransaction.test.js.map +0 -1
- package/built/test/manual/chromiaClientProviderManually.test.js +0 -28
- package/built/test/manual/chromiaClientProviderManually.test.js.map +0 -1
- package/built/test/manual/restClientManually.test.js +0 -52
- package/built/test/manual/restClientManually.test.js.map +0 -1
- package/built/test/unit/ICCF/util.d.ts +0 -6
- package/built/test/unit/ICCF/util.js +0 -21
- package/built/test/unit/ICCF/util.js.map +0 -1
- package/built/test/unit/blockchainClient/blockchainClient.test.js +0 -287
- package/built/test/unit/blockchainClient/blockchainClient.test.js.map +0 -1
- package/built/test/unit/blockchainClient/helpers/sendTransaction.d.ts +0 -25
- package/built/test/unit/blockchainClient/helpers/sendTransaction.js +0 -56
- package/built/test/unit/blockchainClient/helpers/sendTransaction.js.map +0 -1
- package/built/test/unit/chromiaClientProvider.test.js +0 -70
- package/built/test/unit/chromiaClientProvider.test.js.map +0 -1
- package/built/test/unit/common/mocks.d.ts +0 -34
- package/built/test/unit/common/mocks.js +0 -69
- package/built/test/unit/common/mocks.js.map +0 -1
- package/built/test/unit/gtx/gtxClient.test.js +0 -97
- package/built/test/unit/gtx/gtxClient.test.js.map +0 -1
- package/built/test/unit/gtx/serializationtestobjects.js.map +0 -1
- package/built/test/unit/merkle/merkleHelper/merkleHelperTest.js +0 -87
- package/built/test/unit/merkle/merkleHelper/merkleHelperTest.js.map +0 -1
- package/built/test/unit/requestWithFailoverStrategy.test.js +0 -146
- package/built/test/unit/requestWithFailoverStrategy.test.js.map +0 -1
- package/built/test/unit/restClient.test.js +0 -389
- package/built/test/unit/restClient.test.js.map +0 -1
- package/built/test/unit/restClientUtil.test.js +0 -226
- package/built/test/unit/restClientUtil.test.js.map +0 -1
- package/built/test/unit/signatures.js.map +0 -1
- package/built/test/unit/validation/validationMocks.js.map +0 -1
- package/changelog.md +0 -586
- /package/built/test/{unit/gtx → common}/serializationtestobjects.js +0 -0
- /package/built/test/{integration → common}/testData.d.ts +0 -0
- /package/built/test/{integration → common}/testData.js +0 -0
- /package/built/test/integration/{blockchainClientIntegration.test.d.ts → clientGetBlockInfo.test.d.ts} +0 -0
- /package/built/test/integration/{blockchainClientUtils.test.d.ts → clientGetRejectedTransactions.test.d.ts} +0 -0
- /package/built/test/integration/{gtxClientIntegration.test.d.ts → clientGetTransaction.test.d.ts} +0 -0
- /package/built/test/integration/{merkleIntegration.test.d.ts → clientGetTransactionStatus.test.d.ts} +0 -0
- /package/built/test/integration/{restClientIntegration.test.d.ts → clientGetWaitingTransaction.test.d.ts} +0 -0
- /package/built/test/{integrationDevnet/getAnchoringStatusForBlockRid.test.d.ts → integration/clientGetWaitingTransactions.test.d.ts} +0 -0
- /package/built/test/{integrationDevnet/getTransactionConfirmationLevel.test.d.ts → integration/clientIntegration.test.d.ts} +0 -0
- /package/built/test/{integrationDevnet/getTransactionStatus.test.d.ts → integration/clientQuery.test.d.ts} +0 -0
- /package/built/test/{integrationDevnet/signAndSendUniqueTransaction.test.d.ts → integration/clientSendTransaction.test.d.ts} +0 -0
- /package/built/test/{manual/chromiaClientProviderManually.test.d.ts → integration/clientSignAndSendUniqueTransaction.test.d.ts} +0 -0
- /package/built/test/{manual/restClientManually.test.d.ts → integration/clientSignTransaction.test.d.ts} +0 -0
- /package/built/test/{unit/blockchainClient/blockchainClient.test.d.ts → integration/clientUtils.test.d.ts} +0 -0
- /package/built/test/{unit/chromiaClientProvider.test.d.ts → integration/createClientIntegration.test.d.ts} +0 -0
- /package/built/test/{unit/gtx/gtxClient.test.d.ts → integrationChromiaNetwork/createIccfProofTx.test.d.ts} +0 -0
- /package/built/test/{unit/merkle/merkleHelper/merkleHelperTest.d.ts → integrationChromiaNetwork/getAnchoringStatusForBlockRid.test.d.ts} +0 -0
- /package/built/test/{unit/requestWithFailoverStrategy.test.d.ts → integrationChromiaNetwork/getTransactionConfirmationLevel.test.d.ts} +0 -0
- /package/built/test/{unit/restClient.test.d.ts → integrationChromiaNetwork/getTransactionStatus.test.d.ts} +0 -0
- /package/built/test/{unit/restClientUtil.test.d.ts → integrationChromiaNetwork/isBlockAnchored.test.d.ts} +0 -0
|
@@ -7,49 +7,53 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import
|
|
13
|
-
import {
|
|
14
|
-
import { FailoverStrategy } from "../../src/blockchainClient/enums";
|
|
15
|
-
import { expect } from "chai";
|
|
16
|
-
import { createNodeManager } from "../../src/restclient/nodeManager";
|
|
17
|
-
import { errorMessages } from "../../src/restclient/failoverStrategies";
|
|
18
|
-
import { mockStringDirectoryChainRid } from "./common/mocks";
|
|
10
|
+
import { abortOnError, tryNextOnError, queryMajority, singleEndpoint, retryRequest, errorMessages, } from "../../src/blockchainClient/failoverStrategies";
|
|
11
|
+
import { FailoverStrategy, Method } from "../../src/blockchainClient/enums";
|
|
12
|
+
import { createNodeManager } from "../../src/blockchainClient/nodeManager";
|
|
13
|
+
import { mockStringDirectoryChainRid } from "../common/mocks";
|
|
19
14
|
import { setStatusPolling } from "../../src/blockchainClient/utils";
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
import * as httpUtils from "../../src/blockchainClient/httpUtil";
|
|
16
|
+
import { MERKLE_HASH_VERSIONS } from "../../src/utils/constants";
|
|
17
|
+
describe("Failover strategies", () => {
|
|
22
18
|
beforeEach(() => {
|
|
23
|
-
|
|
19
|
+
jest.clearAllMocks();
|
|
24
20
|
});
|
|
25
21
|
afterEach(() => {
|
|
26
|
-
|
|
27
|
-
sinon.restore();
|
|
28
|
-
mockHandleRequest.reset();
|
|
22
|
+
jest.restoreAllMocks();
|
|
29
23
|
});
|
|
30
24
|
function testAbortOnError({ error, statusCode, numberOfRetries, config }) {
|
|
31
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
|
|
33
|
-
.
|
|
34
|
-
.
|
|
35
|
-
error
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
const handleRequestSpy = jest
|
|
27
|
+
.spyOn(httpUtils, "handleRequest")
|
|
28
|
+
.mockImplementation((method, path) => {
|
|
29
|
+
if (path === "/path/abort-on-error-test") {
|
|
30
|
+
return Promise.resolve({
|
|
31
|
+
error,
|
|
32
|
+
statusCode,
|
|
33
|
+
rspBody: "",
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return Promise.resolve({
|
|
37
|
+
error: null,
|
|
38
|
+
statusCode: 200,
|
|
39
|
+
rspBody: "default response",
|
|
40
|
+
});
|
|
38
41
|
});
|
|
39
42
|
yield abortOnError({
|
|
40
43
|
method: Method.GET,
|
|
41
44
|
path: "/path/abort-on-error-test",
|
|
42
45
|
config,
|
|
43
46
|
});
|
|
44
|
-
const expectedCalls =
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
const expectedCalls = handleRequestSpy.mock.calls.filter(call => {
|
|
48
|
+
const [, path, endpoint] = call;
|
|
49
|
+
return (path === "/path/abort-on-error-test" && config.endpointPool.some(ep => ep.url === endpoint));
|
|
50
|
+
});
|
|
51
|
+
expect(expectedCalls.length).toBe(numberOfRetries);
|
|
48
52
|
});
|
|
49
53
|
}
|
|
50
54
|
function testTryNextOnError({ error, statusCode, numberOfRetries, config }) {
|
|
51
55
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
|
|
56
|
+
const handleRequestSpy = jest.spyOn(httpUtils, "handleRequest").mockResolvedValue({
|
|
53
57
|
error,
|
|
54
58
|
statusCode,
|
|
55
59
|
rspBody: "",
|
|
@@ -59,12 +63,12 @@ describe("Failover strategies", function () {
|
|
|
59
63
|
path: "/path",
|
|
60
64
|
config,
|
|
61
65
|
});
|
|
62
|
-
|
|
66
|
+
expect(handleRequestSpy).toHaveBeenCalledTimes(numberOfRetries);
|
|
63
67
|
});
|
|
64
68
|
}
|
|
65
69
|
function testSingleEndpoint({ error, statusCode, numberOfRetries, config }) {
|
|
66
70
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
-
|
|
71
|
+
const handleRequestSpy = jest.spyOn(httpUtils, "handleRequest").mockResolvedValue({
|
|
68
72
|
error,
|
|
69
73
|
statusCode,
|
|
70
74
|
rspBody: "",
|
|
@@ -74,12 +78,12 @@ describe("Failover strategies", function () {
|
|
|
74
78
|
path: "/path",
|
|
75
79
|
config,
|
|
76
80
|
});
|
|
77
|
-
|
|
81
|
+
expect(handleRequestSpy).toHaveBeenCalledTimes(numberOfRetries);
|
|
78
82
|
});
|
|
79
83
|
}
|
|
80
|
-
describe("AbortOnError",
|
|
84
|
+
describe("AbortOnError", () => {
|
|
81
85
|
const config = {
|
|
82
|
-
merkleHashVersion:
|
|
86
|
+
merkleHashVersion: MERKLE_HASH_VERSIONS.ONE,
|
|
83
87
|
endpointPool: [
|
|
84
88
|
{ url: "url1", whenAvailable: 0 },
|
|
85
89
|
{ url: "url2", whenAvailable: 0 },
|
|
@@ -94,7 +98,7 @@ describe("Failover strategies", function () {
|
|
|
94
98
|
unreachableDuration: 100,
|
|
95
99
|
directoryChainRid: mockStringDirectoryChainRid,
|
|
96
100
|
};
|
|
97
|
-
it("abortOnError retries when server error 500", () => __awaiter(
|
|
101
|
+
it("abortOnError retries when server error 500", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
98
102
|
yield testAbortOnError({
|
|
99
103
|
numberOfRetries: 6,
|
|
100
104
|
statusCode: 500,
|
|
@@ -102,7 +106,7 @@ describe("Failover strategies", function () {
|
|
|
102
106
|
config: Object.assign(Object.assign({}, config), { nodeManager: createNodeManager({ nodeUrls: ["url1", "url2"] }) }),
|
|
103
107
|
});
|
|
104
108
|
}));
|
|
105
|
-
it("abortOnError retries when server error 503", () => __awaiter(
|
|
109
|
+
it("abortOnError retries when server error 503", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
106
110
|
yield testAbortOnError({
|
|
107
111
|
numberOfRetries: 6,
|
|
108
112
|
statusCode: 503,
|
|
@@ -110,7 +114,7 @@ describe("Failover strategies", function () {
|
|
|
110
114
|
config: Object.assign(Object.assign({}, config), { nodeManager: createNodeManager({ nodeUrls: ["url1", "url2"] }) }),
|
|
111
115
|
});
|
|
112
116
|
}));
|
|
113
|
-
it("abortOnError does not retry when client error 400", () => __awaiter(
|
|
117
|
+
it("abortOnError does not retry when client error 400", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
114
118
|
yield testAbortOnError({
|
|
115
119
|
numberOfRetries: 1,
|
|
116
120
|
statusCode: 400,
|
|
@@ -118,7 +122,7 @@ describe("Failover strategies", function () {
|
|
|
118
122
|
config: Object.assign(Object.assign({}, config), { nodeManager: createNodeManager({ nodeUrls: ["url1", "url2"] }) }),
|
|
119
123
|
});
|
|
120
124
|
}));
|
|
121
|
-
it("abortOnError does not retry when statuscode is 200", () => __awaiter(
|
|
125
|
+
it("abortOnError does not retry when statuscode is 200", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
122
126
|
yield testAbortOnError({
|
|
123
127
|
numberOfRetries: 1,
|
|
124
128
|
statusCode: 200,
|
|
@@ -126,7 +130,7 @@ describe("Failover strategies", function () {
|
|
|
126
130
|
config: Object.assign(Object.assign({}, config), { nodeManager: createNodeManager({ nodeUrls: ["url1", "url2"] }) }),
|
|
127
131
|
});
|
|
128
132
|
}));
|
|
129
|
-
it("abortOnError retries when error is returned", () => __awaiter(
|
|
133
|
+
it("abortOnError retries when error is returned", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
130
134
|
yield testAbortOnError({
|
|
131
135
|
numberOfRetries: 6,
|
|
132
136
|
statusCode: null,
|
|
@@ -135,7 +139,7 @@ describe("Failover strategies", function () {
|
|
|
135
139
|
});
|
|
136
140
|
}));
|
|
137
141
|
});
|
|
138
|
-
describe("TryNextOnError",
|
|
142
|
+
describe("TryNextOnError", () => {
|
|
139
143
|
const config = {
|
|
140
144
|
endpointPool: [
|
|
141
145
|
{ url: "url1", whenAvailable: 0 },
|
|
@@ -150,48 +154,48 @@ describe("Failover strategies", function () {
|
|
|
150
154
|
unreachableDuration: 100,
|
|
151
155
|
directoryChainRid: mockStringDirectoryChainRid,
|
|
152
156
|
};
|
|
153
|
-
it("tryNextOnError retries when client error 400", () => __awaiter(
|
|
157
|
+
it("tryNextOnError retries when client error 400", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
154
158
|
yield testTryNextOnError({
|
|
155
159
|
numberOfRetries: 6,
|
|
156
160
|
statusCode: 400,
|
|
157
161
|
error: null,
|
|
158
|
-
config: Object.assign(Object.assign({}, config), { merkleHashVersion:
|
|
162
|
+
config: Object.assign(Object.assign({}, config), { merkleHashVersion: MERKLE_HASH_VERSIONS.ONE, nodeManager: createNodeManager({
|
|
159
163
|
nodeUrls: ["url1", "url2"],
|
|
160
164
|
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
161
165
|
});
|
|
162
166
|
}));
|
|
163
|
-
it("tryNextOnError retries when server error 500", () => __awaiter(
|
|
167
|
+
it("tryNextOnError retries when server error 500", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
164
168
|
yield testTryNextOnError({
|
|
165
169
|
numberOfRetries: 6,
|
|
166
170
|
statusCode: 500,
|
|
167
171
|
error: null,
|
|
168
|
-
config: Object.assign(Object.assign({}, config), { merkleHashVersion:
|
|
172
|
+
config: Object.assign(Object.assign({}, config), { merkleHashVersion: MERKLE_HASH_VERSIONS.ONE, nodeManager: createNodeManager({
|
|
169
173
|
nodeUrls: ["url1", "url2"],
|
|
170
174
|
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
171
175
|
});
|
|
172
176
|
}));
|
|
173
|
-
it("tryNextOnError does not retry when statuscode is 200", () => __awaiter(
|
|
177
|
+
it("tryNextOnError does not retry when statuscode is 200", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
174
178
|
yield testTryNextOnError({
|
|
175
179
|
numberOfRetries: 1,
|
|
176
180
|
statusCode: 200,
|
|
177
181
|
error: null,
|
|
178
|
-
config: Object.assign(Object.assign({}, config), { merkleHashVersion:
|
|
182
|
+
config: Object.assign(Object.assign({}, config), { merkleHashVersion: MERKLE_HASH_VERSIONS.ONE, nodeManager: createNodeManager({
|
|
179
183
|
nodeUrls: ["url1", "url2"],
|
|
180
184
|
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
181
185
|
});
|
|
182
186
|
}));
|
|
183
|
-
it("tryNextOnError reties when error is returned", () => __awaiter(
|
|
187
|
+
it("tryNextOnError reties when error is returned", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
184
188
|
yield testTryNextOnError({
|
|
185
189
|
numberOfRetries: 6,
|
|
186
190
|
statusCode: null,
|
|
187
191
|
error: new Error(),
|
|
188
|
-
config: Object.assign(Object.assign({}, config), { merkleHashVersion:
|
|
192
|
+
config: Object.assign(Object.assign({}, config), { merkleHashVersion: MERKLE_HASH_VERSIONS.ONE, nodeManager: createNodeManager({
|
|
189
193
|
nodeUrls: ["url1", "url2"],
|
|
190
194
|
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
191
195
|
});
|
|
192
196
|
}));
|
|
193
197
|
});
|
|
194
|
-
describe("SingleEndpoint",
|
|
198
|
+
describe("SingleEndpoint", () => {
|
|
195
199
|
const config = {
|
|
196
200
|
endpointPool: [
|
|
197
201
|
{ url: "url1", whenAvailable: 0 },
|
|
@@ -206,62 +210,60 @@ describe("Failover strategies", function () {
|
|
|
206
210
|
unreachableDuration: 100,
|
|
207
211
|
directoryChainRid: mockStringDirectoryChainRid,
|
|
208
212
|
};
|
|
209
|
-
it("singleEndpoint does not retry when statuscode is 200", () => __awaiter(
|
|
213
|
+
it("singleEndpoint does not retry when statuscode is 200", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
210
214
|
yield testSingleEndpoint({
|
|
211
215
|
numberOfRetries: 1,
|
|
212
216
|
statusCode: 200,
|
|
213
217
|
error: null,
|
|
214
|
-
config: Object.assign(Object.assign({}, config), { merkleHashVersion:
|
|
218
|
+
config: Object.assign(Object.assign({}, config), { merkleHashVersion: MERKLE_HASH_VERSIONS.ONE, nodeManager: createNodeManager({
|
|
215
219
|
nodeUrls: ["url1", "url2"],
|
|
216
220
|
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
217
221
|
});
|
|
218
222
|
}));
|
|
219
|
-
it("singleEndpoint retry when server error 400", () => __awaiter(
|
|
223
|
+
it("singleEndpoint retry when server error 400", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
220
224
|
yield testSingleEndpoint({
|
|
221
225
|
numberOfRetries: 3,
|
|
222
226
|
statusCode: 400,
|
|
223
227
|
error: null,
|
|
224
|
-
config: Object.assign(Object.assign({}, config), { merkleHashVersion:
|
|
228
|
+
config: Object.assign(Object.assign({}, config), { merkleHashVersion: MERKLE_HASH_VERSIONS.ONE, nodeManager: createNodeManager({
|
|
225
229
|
nodeUrls: ["url1", "url2"],
|
|
226
230
|
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
227
231
|
});
|
|
228
232
|
}));
|
|
229
|
-
it("singleEndpoint retry when server error 500", () => __awaiter(
|
|
233
|
+
it("singleEndpoint retry when server error 500", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
230
234
|
yield testSingleEndpoint({
|
|
231
235
|
numberOfRetries: 3,
|
|
232
236
|
statusCode: 500,
|
|
233
237
|
error: null,
|
|
234
|
-
config: Object.assign(Object.assign({}, config), { merkleHashVersion:
|
|
238
|
+
config: Object.assign(Object.assign({}, config), { merkleHashVersion: MERKLE_HASH_VERSIONS.ONE, nodeManager: createNodeManager({
|
|
235
239
|
nodeUrls: ["url1", "url2"],
|
|
236
240
|
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
237
241
|
});
|
|
238
242
|
}));
|
|
239
|
-
it("singleEndpoint reties when error is returned", () => __awaiter(
|
|
243
|
+
it("singleEndpoint reties when error is returned", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
240
244
|
yield testSingleEndpoint({
|
|
241
245
|
numberOfRetries: 3,
|
|
242
246
|
statusCode: null,
|
|
243
247
|
error: new Error(),
|
|
244
|
-
config: Object.assign(Object.assign({}, config), { merkleHashVersion:
|
|
248
|
+
config: Object.assign(Object.assign({}, config), { merkleHashVersion: MERKLE_HASH_VERSIONS.ONE, nodeManager: createNodeManager({
|
|
245
249
|
nodeUrls: ["url1", "url2"],
|
|
246
250
|
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
247
251
|
});
|
|
248
252
|
}));
|
|
249
|
-
it("singleEndpoint throws an error when no endpoint is found", () => __awaiter(
|
|
253
|
+
it("singleEndpoint throws an error when no endpoint is found", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
250
254
|
const nodeManager = createNodeManager({
|
|
251
255
|
nodeUrls: ["url1", "url2"],
|
|
252
256
|
});
|
|
253
|
-
const
|
|
254
|
-
.stub(nodeManager, "getNode")
|
|
255
|
-
.returns(null);
|
|
257
|
+
const nodeManagerSpy = jest.spyOn(nodeManager, "getNode").mockReturnValue(null);
|
|
256
258
|
yield expect(singleEndpoint({
|
|
257
259
|
method: Method.GET,
|
|
258
260
|
path: "/path",
|
|
259
261
|
config: Object.assign(Object.assign({}, config), { nodeManager: nodeManager }),
|
|
260
|
-
})).
|
|
261
|
-
expect(
|
|
262
|
+
})).rejects.toThrow("Cannot get endpoint. Node not found!");
|
|
263
|
+
expect(nodeManagerSpy).toHaveBeenCalledTimes(1);
|
|
262
264
|
}));
|
|
263
265
|
});
|
|
264
|
-
describe("QueryMajority",
|
|
266
|
+
describe("QueryMajority", () => {
|
|
265
267
|
const config = {
|
|
266
268
|
endpointPool: [
|
|
267
269
|
{ url: "url1", whenAvailable: 0 },
|
|
@@ -277,34 +279,46 @@ describe("Failover strategies", function () {
|
|
|
277
279
|
directoryChainRid: mockStringDirectoryChainRid,
|
|
278
280
|
};
|
|
279
281
|
const resolveRequestsAs = (responses) => {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
282
|
+
const handleRequestSpy = jest.spyOn(httpUtils, "handleRequest");
|
|
283
|
+
responses.forEach(response => {
|
|
284
|
+
if (response.error) {
|
|
285
|
+
handleRequestSpy.mockImplementationOnce(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
286
|
+
throw response.error;
|
|
287
|
+
}));
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
handleRequestSpy.mockImplementationOnce(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
291
|
+
return ({
|
|
292
|
+
error: null,
|
|
293
|
+
statusCode: response.statusCode,
|
|
294
|
+
rspBody: response.rspBody,
|
|
295
|
+
});
|
|
296
|
+
}));
|
|
297
|
+
}
|
|
286
298
|
});
|
|
299
|
+
return handleRequestSpy;
|
|
287
300
|
};
|
|
288
|
-
it("Should return a succesfull response as soon as it gets an BFT-majority of successful responses", () => __awaiter(
|
|
289
|
-
|
|
301
|
+
it("Should return a succesfull response as soon as it gets an BFT-majority of successful responses", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
302
|
+
const mockRequests = [
|
|
290
303
|
{ error: null, statusCode: 200, rspBody: "response2" },
|
|
291
304
|
{ error: null, statusCode: 200, rspBody: "response1" },
|
|
292
305
|
{ error: null, statusCode: 200, rspBody: "response1" },
|
|
293
306
|
{ error: null, statusCode: 200, rspBody: "response3" },
|
|
294
307
|
{ error: null, statusCode: 200, rspBody: "response1" },
|
|
295
|
-
]
|
|
308
|
+
];
|
|
309
|
+
const handleRequestSpy = resolveRequestsAs(mockRequests);
|
|
296
310
|
const urls = ["url1", "url2", "url3", "url4", "url5"];
|
|
297
311
|
const result = yield queryMajority({
|
|
298
312
|
method: Method.GET,
|
|
299
313
|
path: "/path",
|
|
300
|
-
config: Object.assign(Object.assign({}, config), { merkleHashVersion:
|
|
314
|
+
config: Object.assign(Object.assign({}, config), { merkleHashVersion: MERKLE_HASH_VERSIONS.ONE, nodeManager: createNodeManager({
|
|
301
315
|
nodeUrls: urls,
|
|
302
316
|
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
303
317
|
});
|
|
304
|
-
expect(result.rspBody).
|
|
305
|
-
expect(
|
|
318
|
+
expect(result.rspBody).toEqual("response1");
|
|
319
|
+
expect(handleRequestSpy).toHaveBeenCalledTimes(urls.length);
|
|
306
320
|
}));
|
|
307
|
-
it("should when the failureThreshold is reached return the first failure if there are any.", () => __awaiter(
|
|
321
|
+
it("should when the failureThreshold is reached return the first failure if there are any.", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
308
322
|
resolveRequestsAs([
|
|
309
323
|
{ error: null, statusCode: 200, rspBody: "success - response 1" },
|
|
310
324
|
{ error: null, statusCode: 200, rspBody: "success - response 2" },
|
|
@@ -315,38 +329,30 @@ describe("Failover strategies", function () {
|
|
|
315
329
|
const result = yield queryMajority({
|
|
316
330
|
method: Method.GET,
|
|
317
331
|
path: "/path",
|
|
318
|
-
config: Object.assign(Object.assign({}, config), { merkleHashVersion:
|
|
332
|
+
config: Object.assign(Object.assign({}, config), { merkleHashVersion: MERKLE_HASH_VERSIONS.ONE, nodeManager: createNodeManager({
|
|
319
333
|
nodeUrls: urls,
|
|
320
334
|
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
321
335
|
});
|
|
322
|
-
expect(result.rspBody).
|
|
336
|
+
expect(result.rspBody).toEqual("fail - response 1");
|
|
323
337
|
}));
|
|
324
|
-
it("should when the failureThreshold is reached throw the first error, if there are no failures
|
|
338
|
+
it("should when the failureThreshold is reached throw the first error, if there are no failures", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
325
339
|
const clientErrorMessage = "client error";
|
|
326
340
|
resolveRequestsAs([
|
|
327
341
|
{ error: null, statusCode: 200, rspBody: "success - response 1" },
|
|
328
342
|
{ error: null, statusCode: 200, rspBody: "success - response 2" },
|
|
343
|
+
{ error: new Error(clientErrorMessage), statusCode: 500, rspBody: "" },
|
|
344
|
+
{ error: new Error(clientErrorMessage), statusCode: 500, rspBody: "" },
|
|
329
345
|
]);
|
|
330
|
-
mockHandleRequest.onCall(2).rejects(new Error(clientErrorMessage));
|
|
331
|
-
mockHandleRequest.onCall(3).rejects(new Error(clientErrorMessage));
|
|
332
346
|
const urls = ["url1", "url2", "url3", "url4"];
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
341
|
-
});
|
|
342
|
-
}
|
|
343
|
-
catch (error) {
|
|
344
|
-
requestError = error;
|
|
345
|
-
}
|
|
346
|
-
expect(requestError).to.not.be.null;
|
|
347
|
-
expect(requestError.message).to.equal(clientErrorMessage);
|
|
347
|
+
yield expect(queryMajority({
|
|
348
|
+
method: Method.GET,
|
|
349
|
+
path: "/path",
|
|
350
|
+
config: Object.assign(Object.assign({}, config), { merkleHashVersion: MERKLE_HASH_VERSIONS.ONE, endpointPool: urls.map(url => ({ url, whenAvailable: 0 })), nodeManager: createNodeManager({
|
|
351
|
+
nodeUrls: urls,
|
|
352
|
+
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
353
|
+
})).rejects.toThrow(clientErrorMessage);
|
|
348
354
|
}));
|
|
349
|
-
it("should throw an error if no consensus could be reached.", () => __awaiter(
|
|
355
|
+
it("should throw an error if no consensus could be reached.", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
350
356
|
resolveRequestsAs([
|
|
351
357
|
{ error: null, statusCode: 200, rspBody: "response1" },
|
|
352
358
|
{ error: null, statusCode: 200, rspBody: "response2" },
|
|
@@ -359,7 +365,7 @@ describe("Failover strategies", function () {
|
|
|
359
365
|
yield queryMajority({
|
|
360
366
|
method: Method.GET,
|
|
361
367
|
path: "/path",
|
|
362
|
-
config: Object.assign(Object.assign({}, config), { merkleHashVersion:
|
|
368
|
+
config: Object.assign(Object.assign({}, config), { merkleHashVersion: MERKLE_HASH_VERSIONS.ONE, endpointPool: urls.map(url => ({ url, whenAvailable: 0 })), nodeManager: createNodeManager({
|
|
363
369
|
nodeUrls: urls,
|
|
364
370
|
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
365
371
|
});
|
|
@@ -367,26 +373,28 @@ describe("Failover strategies", function () {
|
|
|
367
373
|
catch (error) {
|
|
368
374
|
requestError = error;
|
|
369
375
|
}
|
|
370
|
-
expect(requestError).
|
|
371
|
-
expect(requestError.message).
|
|
376
|
+
expect(requestError).not.toBe(null);
|
|
377
|
+
expect(requestError.message).toEqual(errorMessages.NO_CONSENSUS);
|
|
372
378
|
}));
|
|
373
|
-
it("
|
|
379
|
+
it("throws timeout error if takes longer than 15000 ms min for first requsts to resolve", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
374
380
|
const urls = ["url1", "url2", "url3", "url4"];
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
setTimeout(() =>
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
381
|
+
urls.forEach((url, i) => {
|
|
382
|
+
jest.spyOn(httpUtils, "handleRequest").mockImplementationOnce(() => new Promise(resolve => {
|
|
383
|
+
setTimeout(() => {
|
|
384
|
+
resolve({
|
|
385
|
+
error: null,
|
|
386
|
+
statusCode: 200,
|
|
387
|
+
rspBody: `response${i + 1}`,
|
|
388
|
+
});
|
|
389
|
+
}, 16000);
|
|
382
390
|
}));
|
|
383
|
-
}
|
|
391
|
+
});
|
|
384
392
|
let requestError;
|
|
385
393
|
try {
|
|
386
394
|
yield queryMajority({
|
|
387
395
|
method: Method.GET,
|
|
388
396
|
path: "/path",
|
|
389
|
-
config: Object.assign(Object.assign({}, config), { merkleHashVersion:
|
|
397
|
+
config: Object.assign(Object.assign({}, config), { merkleHashVersion: MERKLE_HASH_VERSIONS.ONE, endpointPool: urls.map(url => ({ url, whenAvailable: 0 })), nodeManager: createNodeManager({
|
|
390
398
|
nodeUrls: urls,
|
|
391
399
|
}), dappStatusPolling: setStatusPolling(), clusterAnchoringStatusPolling: setStatusPolling(), systemAnchoringStatusPolling: setStatusPolling() }),
|
|
392
400
|
});
|
|
@@ -394,10 +402,10 @@ describe("Failover strategies", function () {
|
|
|
394
402
|
catch (error) {
|
|
395
403
|
requestError = error;
|
|
396
404
|
}
|
|
397
|
-
expect(requestError).not.
|
|
398
|
-
}));
|
|
405
|
+
expect(requestError).not.toBe("Timeout exceeded");
|
|
406
|
+
}), 20000);
|
|
399
407
|
});
|
|
400
|
-
describe("RetryRequest",
|
|
408
|
+
describe("RetryRequest", () => {
|
|
401
409
|
const config = {
|
|
402
410
|
endpointPool: [{ url: "url1", whenAvailable: 0 }],
|
|
403
411
|
blockchainRid: "brid",
|
|
@@ -408,8 +416,8 @@ describe("Failover strategies", function () {
|
|
|
408
416
|
attemptInterval: 100,
|
|
409
417
|
unreachableDuration: 1000,
|
|
410
418
|
};
|
|
411
|
-
it("update the endpointpool if a endpoint is not responding", () => __awaiter(
|
|
412
|
-
|
|
419
|
+
it("update the endpointpool if a endpoint is not responding", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
420
|
+
jest.spyOn(httpUtils, "handleRequest").mockResolvedValue({
|
|
413
421
|
error: null,
|
|
414
422
|
statusCode: 500,
|
|
415
423
|
rspBody: "",
|
|
@@ -423,7 +431,7 @@ describe("Failover strategies", function () {
|
|
|
423
431
|
config: Object.assign(Object.assign({}, config), { nodeManager }),
|
|
424
432
|
validateStatusCode: statusCode => ![500, 503].includes(statusCode),
|
|
425
433
|
});
|
|
426
|
-
expect(nodeManager.nodes[0].whenAvailable).
|
|
434
|
+
expect(nodeManager.nodes[0].whenAvailable).toBe(0); //nodes are no longer made unavailable on 500 errors
|
|
427
435
|
}));
|
|
428
436
|
});
|
|
429
437
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failoverStrategies.test.js","sourceRoot":"","sources":["../../../test/unit/failoverStrategies.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"failoverStrategies.test.js","sourceRoot":"","sources":["../../../test/unit/failoverStrategies.test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,GACd,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IASH,SAAe,gBAAgB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAS;;YACnF,MAAM,gBAAgB,GAAG,IAAI;iBAC1B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC;iBACjC,kBAAkB,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBACnC,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;oBACzC,OAAO,OAAO,CAAC,OAAO,CAAC;wBACrB,KAAK;wBACL,UAAU;wBACV,OAAO,EAAE,EAAE;qBACZ,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC;oBACrB,KAAK,EAAE,IAAI;oBACX,UAAU,EAAE,GAAG;oBACf,OAAO,EAAE,kBAAkB;iBAC5B,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACL,MAAM,YAAY,CAAC;gBACjB,MAAM,EAAE,MAAM,CAAC,GAAG;gBAClB,IAAI,EAAE,2BAA2B;gBACjC,MAAM;aACP,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC9D,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;gBAEhC,OAAO,CACL,IAAI,KAAK,2BAA2B,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,CAC5F,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC;KAAA;IACD,SAAe,kBAAkB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAS;;YACrF,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,iBAAiB,CAAC;gBAChF,KAAK;gBACL,UAAU;gBACV,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;YACH,MAAM,cAAc,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,GAAG;gBAClB,IAAI,EAAE,OAAO;gBACb,MAAM;aACP,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAClE,CAAC;KAAA;IACD,SAAe,kBAAkB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAS;;YACrF,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,iBAAiB,CAAC;gBAChF,KAAK;gBACL,UAAU;gBACV,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;YACH,MAAM,cAAc,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,GAAG;gBAClB,IAAI,EAAE,OAAO;gBACb,MAAM;aACP,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAClE,CAAC;KAAA;IAED,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,MAAM,MAAM,GAAsC;YAChD,iBAAiB,EAAE,oBAAoB,CAAC,GAAG;YAC3C,YAAY,EAAE;gBACZ,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;gBACjC,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;aAClC;YACD,aAAa,EAAE,eAAe;YAC9B,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAChE,6BAA6B,EAAE,gBAAgB,EAAE;YACjD,4BAA4B,EAAE,gBAAgB,EAAE;YAChD,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;YAC/C,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,GAAG;YACpB,mBAAmB,EAAE,GAAG;YACxB,iBAAiB,EAAE,2BAA2B;SAC/C,CAAC;QACF,EAAE,CAAC,4CAA4C,EAAE,GAAS,EAAE;YAC1D,MAAM,gBAAgB,CAAC;gBACrB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,IAAI;gBACX,MAAM,kCACD,MAAM,KACT,WAAW,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAC/D;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,4CAA4C,EAAE,GAAS,EAAE;YAC1D,MAAM,gBAAgB,CAAC;gBACrB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,IAAI;gBACX,MAAM,kCACD,MAAM,KACT,WAAW,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAC/D;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,mDAAmD,EAAE,GAAS,EAAE;YACjE,MAAM,gBAAgB,CAAC;gBACrB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,IAAI;gBACX,MAAM,kCACD,MAAM,KACT,WAAW,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAC/D;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,oDAAoD,EAAE,GAAS,EAAE;YAClE,MAAM,gBAAgB,CAAC;gBACrB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,IAAI;gBACX,MAAM,kCACD,MAAM,KACT,WAAW,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAC/D;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;YAC3D,MAAM,gBAAgB,CAAC;gBACrB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAI,KAAK,EAAE;gBAClB,MAAM,kCACD,MAAM,KACT,WAAW,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAC/D;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAG;YACb,YAAY,EAAE;gBACZ,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;gBACjC,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;aAClC;YACD,aAAa,EAAE,eAAe;YAC9B,kBAAkB,EAAE,GAAG;YACvB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,gBAAgB,CAAC,cAAc;YACjD,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,GAAG;YACpB,mBAAmB,EAAE,GAAG;YACxB,iBAAiB,EAAE,2BAA2B;SAC/C,CAAC;QACF,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;YAC5D,MAAM,kBAAkB,CAAC;gBACvB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,IAAI;gBACX,MAAM,kCACD,MAAM,KACT,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,EAC3C,WAAW,EAAE,iBAAiB,CAAC;wBAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;qBAC3B,CAAC,EACF,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,6BAA6B,EAAE,gBAAgB,EAAE,EACjD,4BAA4B,EAAE,gBAAgB,EAAE,GACjD;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;YAC5D,MAAM,kBAAkB,CAAC;gBACvB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,IAAI;gBACX,MAAM,kCACD,MAAM,KACT,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,EAC3C,WAAW,EAAE,iBAAiB,CAAC;wBAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;qBAC3B,CAAC,EACF,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,6BAA6B,EAAE,gBAAgB,EAAE,EACjD,4BAA4B,EAAE,gBAAgB,EAAE,GACjD;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,sDAAsD,EAAE,GAAS,EAAE;YACpE,MAAM,kBAAkB,CAAC;gBACvB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,IAAI;gBACX,MAAM,kCACD,MAAM,KACT,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,EAC3C,WAAW,EAAE,iBAAiB,CAAC;wBAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;qBAC3B,CAAC,EACF,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,6BAA6B,EAAE,gBAAgB,EAAE,EACjD,4BAA4B,EAAE,gBAAgB,EAAE,GACjD;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;YAC5D,MAAM,kBAAkB,CAAC;gBACvB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAI,KAAK,EAAE;gBAClB,MAAM,kCACD,MAAM,KACT,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,EAC3C,WAAW,EAAE,iBAAiB,CAAC;wBAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;qBAC3B,CAAC,EACF,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,6BAA6B,EAAE,gBAAgB,EAAE,EACjD,4BAA4B,EAAE,gBAAgB,EAAE,GACjD;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAG;YACb,YAAY,EAAE;gBACZ,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;gBACjC,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;aAClC;YACD,aAAa,EAAE,eAAe;YAC9B,kBAAkB,EAAE,GAAG;YACvB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,gBAAgB,CAAC,cAAc;YACjD,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,GAAG;YACpB,mBAAmB,EAAE,GAAG;YACxB,iBAAiB,EAAE,2BAA2B;SAC/C,CAAC;QACF,EAAE,CAAC,sDAAsD,EAAE,GAAS,EAAE;YACpE,MAAM,kBAAkB,CAAC;gBACvB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,IAAI;gBACX,MAAM,kCACD,MAAM,KACT,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,EAC3C,WAAW,EAAE,iBAAiB,CAAC;wBAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;qBAC3B,CAAC,EACF,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,6BAA6B,EAAE,gBAAgB,EAAE,EACjD,4BAA4B,EAAE,gBAAgB,EAAE,GACjD;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,4CAA4C,EAAE,GAAS,EAAE;YAC1D,MAAM,kBAAkB,CAAC;gBACvB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,IAAI;gBACX,MAAM,kCACD,MAAM,KACT,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,EAC3C,WAAW,EAAE,iBAAiB,CAAC;wBAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;qBAC3B,CAAC,EACF,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,6BAA6B,EAAE,gBAAgB,EAAE,EACjD,4BAA4B,EAAE,gBAAgB,EAAE,GACjD;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,4CAA4C,EAAE,GAAS,EAAE;YAC1D,MAAM,kBAAkB,CAAC;gBACvB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,IAAI;gBACX,MAAM,kCACD,MAAM,KACT,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,EAC3C,WAAW,EAAE,iBAAiB,CAAC;wBAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;qBAC3B,CAAC,EACF,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,6BAA6B,EAAE,gBAAgB,EAAE,EACjD,4BAA4B,EAAE,gBAAgB,EAAE,GACjD;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;YAC5D,MAAM,kBAAkB,CAAC;gBACvB,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAI,KAAK,EAAE;gBAClB,MAAM,kCACD,MAAM,KACT,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,EAC3C,WAAW,EAAE,iBAAiB,CAAC;wBAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;qBAC3B,CAAC,EACF,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,6BAA6B,EAAE,gBAAgB,EAAE,EACjD,4BAA4B,EAAE,gBAAgB,EAAE,GACjD;aACF,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,0DAA0D,EAAE,GAAS,EAAE;YACxE,MAAM,WAAW,GAAG,iBAAiB,CAAC;gBACpC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;aAC3B,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAChF,MAAM,MAAM,CACV,cAAc,CAAC;gBACb,MAAM,EAAE,MAAM,CAAC,GAAG;gBAClB,IAAI,EAAE,OAAO;gBACb,MAAM,kCACD,MAAM,KACT,WAAW,EAAE,WAAW,GACzB;aACF,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;YAC1D,MAAM,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,MAAM,MAAM,GAAG;YACb,YAAY,EAAE;gBACZ,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;gBACjC,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;aAClC;YACD,aAAa,EAAE,eAAe;YAC9B,kBAAkB,EAAE,GAAG;YACvB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa;YAChD,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,GAAG;YACpB,mBAAmB,EAAE,GAAG;YACxB,iBAAiB,EAAE,2BAA2B;SAC/C,CAAC;QACF,MAAM,iBAAiB,GAAG,CAAC,SAA2B,EAAE,EAAE;YACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YAEhE,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3B,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,gBAAgB,CAAC,sBAAsB,CAAC,GAAS,EAAE;wBACjD,MAAM,QAAQ,CAAC,KAAK,CAAC;oBACvB,CAAC,CAAA,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,gBAAgB,CAAC,sBAAsB,CAAC,GAAS,EAAE;wBAAC,OAAA,CAAC;4BACnD,KAAK,EAAE,IAAI;4BACX,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;yBAC1B,CAAC,CAAA;sBAAA,CAAC,CAAC;gBACN,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,gBAAgB,CAAC;QAC1B,CAAC,CAAC;QACF,EAAE,CAAC,gGAAgG,EAAE,GAAS,EAAE;YAC9G,MAAM,YAAY,GAAG;gBACnB,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE;gBACtD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE;gBACtD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE;gBACtD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE;gBACtD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE;aACvD,CAAC;YACF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;gBACjC,MAAM,EAAE,MAAM,CAAC,GAAG;gBAClB,IAAI,EAAE,OAAO;gBACb,MAAM,kCACD,MAAM,KACT,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,EAC3C,WAAW,EAAE,iBAAiB,CAAC;wBAC7B,QAAQ,EAAE,IAAI;qBACf,CAAC,EACF,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,6BAA6B,EAAE,gBAAgB,EAAE,EACjD,4BAA4B,EAAE,gBAAgB,EAAE,GACjD;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,CAAC,gBAAgB,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,wFAAwF,EAAE,GAAS,EAAE;YACtG,iBAAiB,CAAC;gBAChB,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE;gBACjE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE;gBACjE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE;gBAC9D,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE;aAC/D,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;gBACjC,MAAM,EAAE,MAAM,CAAC,GAAG;gBAClB,IAAI,EAAE,OAAO;gBACb,MAAM,kCACD,MAAM,KACT,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,EAC3C,WAAW,EAAE,iBAAiB,CAAC;wBAC7B,QAAQ,EAAE,IAAI;qBACf,CAAC,EACF,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,6BAA6B,EAAE,gBAAgB,EAAE,EACjD,4BAA4B,EAAE,gBAAgB,EAAE,GACjD;aACF,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtD,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,6FAA6F,EAAE,GAAS,EAAE;YAC3G,MAAM,kBAAkB,GAAG,cAAc,CAAC;YAC1C,iBAAiB,CAAC;gBAChB,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE;gBACjE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE;gBACjE,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;gBACtE,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;aACvE,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9C,MAAM,MAAM,CACV,aAAa,CAAC;gBACZ,MAAM,EAAE,MAAM,CAAC,GAAG;gBAClB,IAAI,EAAE,OAAO;gBACb,MAAM,kCACD,MAAM,KACT,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,EAC3C,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,EAC1D,WAAW,EAAE,iBAAiB,CAAC;wBAC7B,QAAQ,EAAE,IAAI;qBACf,CAAC,EACF,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,6BAA6B,EAAE,gBAAgB,EAAE,EACjD,4BAA4B,EAAE,gBAAgB,EAAE,GACjD;aACF,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACxC,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,yDAAyD,EAAE,GAAS,EAAE;YACvE,iBAAiB,CAAC;gBAChB,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE;gBACtD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE;gBACtD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE;gBACtD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE;aACvD,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,YAAY,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC;oBAClB,MAAM,EAAE,MAAM,CAAC,GAAG;oBAClB,IAAI,EAAE,OAAO;oBACb,MAAM,kCACD,MAAM,KACT,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,EAC3C,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,EAC1D,WAAW,EAAE,iBAAiB,CAAC;4BAC7B,QAAQ,EAAE,IAAI;yBACf,CAAC,EACF,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,6BAA6B,EAAE,gBAAgB,EAAE,EACjD,4BAA4B,EAAE,gBAAgB,EAAE,GACjD;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;YACD,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACnE,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,qFAAqF,EAAE,GAAS,EAAE;YACnG,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACtB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,sBAAsB,CAC3D,GAAG,EAAE,CACH,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;oBACpB,UAAU,CAAC,GAAG,EAAE;wBACd,OAAO,CAAC;4BACN,KAAK,EAAE,IAAI;4BACX,UAAU,EAAE,GAAG;4BACf,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE;yBAC5B,CAAC,CAAC;oBACL,CAAC,EAAE,KAAK,CAAC,CAAC;gBACZ,CAAC,CAAC,CACL,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAI,YAAY,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC;oBAClB,MAAM,EAAE,MAAM,CAAC,GAAG;oBAClB,IAAI,EAAE,OAAO;oBACb,MAAM,kCACD,MAAM,KACT,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,EAC3C,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,EAC1D,WAAW,EAAE,iBAAiB,CAAC;4BAC7B,QAAQ,EAAE,IAAI;yBACf,CAAC,EACF,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,6BAA6B,EAAE,gBAAgB,EAAE,EACjD,4BAA4B,EAAE,gBAAgB,EAAE,GACjD;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;YACD,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC,CAAA,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,MAAM,MAAM,GAAG;YACb,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;YACjD,aAAa,EAAE,MAAM;YACrB,kBAAkB,EAAE,GAAG;YACvB,eAAe,EAAE,EAAE;YACnB,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;YAC/C,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,GAAG;YACpB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;QACF,EAAE,CAAC,yDAAyD,EAAE,GAAS,EAAE;YACvE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,iBAAiB,CAAC;gBACvD,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,iBAAiB,CAAC;gBACpC,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB,CAAC,CAAC;YACH,MAAM,YAAY,CAAC;gBACjB,MAAM,EAAE,MAAM,CAAC,GAAG;gBAClB,IAAI,EAAE,OAAO;gBACb,MAAM,kCACD,MAAM,KACT,WAAW,GACZ;gBACD,kBAAkB,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;aACnE,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oDAAoD;QAC1G,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|