@decaf-ts/for-fabric 0.12.10 → 0.13.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/dist/for-fabric.cjs +2 -3804
- package/dist/for-fabric.cjs.map +1 -0
- package/dist/for-fabric.js +2 -3908
- package/dist/for-fabric.js.map +1 -0
- package/lib/cjs/bin/cli.cjs +2 -2
- package/lib/cjs/bin/cli.cjs.map +1 -0
- package/lib/cjs/cli-module.cjs +2 -2
- package/lib/cjs/cli-module.cjs.map +1 -0
- package/lib/cjs/cli-utils.cjs +2 -2
- package/lib/cjs/cli-utils.cjs.map +1 -0
- package/lib/cjs/client/FabricClientAdapter.cjs +149 -66
- package/lib/cjs/client/FabricClientAdapter.cjs.map +1 -0
- package/lib/cjs/client/FabricClientContext.cjs +30 -0
- package/lib/cjs/client/FabricClientContext.cjs.map +1 -0
- package/lib/cjs/client/FabricClientDispatch.cjs +2 -2
- package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -0
- package/lib/cjs/client/FabricClientPaginator.cjs +2 -2
- package/lib/cjs/client/FabricClientPaginator.cjs.map +1 -0
- package/lib/cjs/client/FabricClientRepository.cjs +3 -3
- package/lib/cjs/client/FabricClientRepository.cjs.map +1 -0
- package/lib/cjs/client/FabricClientStatement.cjs +5 -4
- package/lib/cjs/client/FabricClientStatement.cjs.map +1 -0
- package/lib/cjs/client/collections/generation.cjs +2 -2
- package/lib/cjs/client/collections/generation.cjs.map +1 -0
- package/lib/cjs/client/collections/index.cjs +2 -2
- package/lib/cjs/client/collections/index.cjs.map +1 -0
- package/lib/cjs/client/constants.cjs +3 -2
- package/lib/cjs/client/constants.cjs.map +1 -0
- package/lib/cjs/client/crypto.cjs +2 -2
- package/lib/cjs/client/crypto.cjs.map +1 -0
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +2 -2
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +1 -0
- package/lib/cjs/client/erc20/index.cjs +2 -2
- package/lib/cjs/client/erc20/index.cjs.map +1 -0
- package/lib/cjs/client/fabric-fs.cjs +2 -2
- package/lib/cjs/client/fabric-fs.cjs.map +1 -0
- package/lib/cjs/client/fabric-hsm.cjs +2 -2
- package/lib/cjs/client/fabric-hsm.cjs.map +1 -0
- package/lib/cjs/client/ids/id-extraction.cjs +2 -2
- package/lib/cjs/client/ids/id-extraction.cjs.map +1 -0
- package/lib/cjs/client/ids/index.cjs +2 -2
- package/lib/cjs/client/ids/index.cjs.map +1 -0
- package/lib/cjs/client/index.cjs +3 -2
- package/lib/cjs/client/index.cjs.map +1 -0
- package/lib/cjs/client/indexes/generation.cjs +3 -15
- package/lib/cjs/client/indexes/generation.cjs.map +1 -0
- package/lib/cjs/client/indexes/index.cjs +2 -2
- package/lib/cjs/client/indexes/index.cjs.map +1 -0
- package/lib/cjs/client/logging.cjs +2 -2
- package/lib/cjs/client/logging.cjs.map +1 -0
- package/lib/cjs/client/services/FabricEnrollmentService.cjs +2 -2
- package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +1 -0
- package/lib/cjs/client/services/FabricIdentityService.cjs +2 -2
- package/lib/cjs/client/services/FabricIdentityService.cjs.map +1 -0
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +2 -2
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +1 -0
- package/lib/cjs/client/services/constants.cjs +2 -2
- package/lib/cjs/client/services/constants.cjs.map +1 -0
- package/lib/cjs/client/services/index.cjs +2 -2
- package/lib/cjs/client/services/index.cjs.map +1 -0
- package/lib/cjs/client/types.cjs +2 -2
- package/lib/cjs/client/types.cjs.map +1 -0
- package/lib/cjs/client/utils.cjs +2 -2
- package/lib/cjs/client/utils.cjs.map +1 -0
- package/lib/cjs/contract/Address.cjs +2 -2
- package/lib/cjs/contract/Address.cjs.map +1 -0
- package/lib/cjs/contract/AddressContract.cjs +2 -2
- package/lib/cjs/contract/AddressContract.cjs.map +1 -0
- package/lib/cjs/contract/AuditContract.cjs +2 -2
- package/lib/cjs/contract/AuditContract.cjs.map +1 -0
- package/lib/cjs/contract/BatchContract.cjs +2 -2
- package/lib/cjs/contract/BatchContract.cjs.map +1 -0
- package/lib/cjs/contract/MarketContract.cjs +2 -2
- package/lib/cjs/contract/MarketContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherAuditContract.cjs +2 -2
- package/lib/cjs/contract/OtherAuditContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherBatchContract.cjs +2 -2
- package/lib/cjs/contract/OtherBatchContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherLeafletContract.cjs +2 -2
- package/lib/cjs/contract/OtherLeafletContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherLeafletFileContract.cjs +2 -2
- package/lib/cjs/contract/OtherLeafletFileContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherMarketContract.cjs +2 -2
- package/lib/cjs/contract/OtherMarketContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductImageContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductImageContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductSharedContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductSharedContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +1 -0
- package/lib/cjs/contract/Product.cjs +2 -2
- package/lib/cjs/contract/Product.cjs.map +1 -0
- package/lib/cjs/contract/ProductContract.cjs +2 -2
- package/lib/cjs/contract/ProductContract.cjs.map +1 -0
- package/lib/cjs/contract/ProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/ProductStrengthContract.cjs.map +1 -0
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +1 -0
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +1 -0
- package/lib/cjs/contract/User.cjs +2 -2
- package/lib/cjs/contract/User.cjs.map +1 -0
- package/lib/cjs/contract/UserContract.cjs +2 -2
- package/lib/cjs/contract/UserContract.cjs.map +1 -0
- package/lib/cjs/contract/index.cjs +2 -2
- package/lib/cjs/contract/index.cjs.map +1 -0
- package/lib/cjs/contract/logging-context.cjs +2 -2
- package/lib/cjs/contract/logging-context.cjs.map +1 -0
- package/lib/cjs/contract/models/Audit.cjs +3 -5
- package/lib/cjs/contract/models/Audit.cjs.map +1 -0
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +2 -2
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +1 -0
- package/lib/cjs/contract/models/BaseModel.cjs +2 -2
- package/lib/cjs/contract/models/BaseModel.cjs.map +1 -0
- package/lib/cjs/contract/models/Batch.cjs +2 -2
- package/lib/cjs/contract/models/Batch.cjs.map +1 -0
- package/lib/cjs/contract/models/GtinOwner.cjs +2 -2
- package/lib/cjs/contract/models/GtinOwner.cjs.map +1 -0
- package/lib/cjs/contract/models/History.cjs +4 -78
- package/lib/cjs/contract/models/History.cjs.map +1 -0
- package/lib/cjs/contract/models/Leaflet.cjs +2 -2
- package/lib/cjs/contract/models/Leaflet.cjs.map +1 -0
- package/lib/cjs/contract/models/LeafletFile.cjs +2 -2
- package/lib/cjs/contract/models/LeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/models/Market.cjs +2 -2
- package/lib/cjs/contract/models/Market.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherAudit.cjs +2 -2
- package/lib/cjs/contract/models/OtherAudit.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherBatchShared.cjs +5 -240
- package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherLeaflet.cjs +7 -119
- package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherLeafletFile.cjs +4 -68
- package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherMarket.cjs +4 -87
- package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProduct.cjs +4 -80
- package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductImage.cjs +4 -62
- package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductShared.cjs +4 -102
- package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductStrength.cjs +4 -88
- package/lib/cjs/contract/models/OtherProductStrength.cjs.map +1 -0
- package/lib/cjs/contract/models/Product.cjs +2 -2
- package/lib/cjs/contract/models/Product.cjs.map +1 -0
- package/lib/cjs/contract/models/ProductStrength.cjs +2 -2
- package/lib/cjs/contract/models/ProductStrength.cjs.map +1 -0
- package/lib/cjs/contract/models/SegregatedDocument.cjs +4 -10
- package/lib/cjs/contract/models/SegregatedDocument.cjs.map +1 -0
- package/lib/cjs/contract/models/constants.cjs +2 -2
- package/lib/cjs/contract/models/constants.cjs.map +1 -0
- package/lib/cjs/contract/models/decorators-private.cjs +2 -2
- package/lib/cjs/contract/models/decorators-private.cjs.map +1 -0
- package/lib/cjs/contract/models/decorators.cjs +2 -5
- package/lib/cjs/contract/models/decorators.cjs.map +1 -0
- package/lib/cjs/contract/models/gtin.cjs +2 -2
- package/lib/cjs/contract/models/gtin.cjs.map +1 -0
- package/lib/cjs/contract/models/history-dec.cjs +2 -2
- package/lib/cjs/contract/models/history-dec.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/History.cjs +2 -2
- package/lib/cjs/contract/trackedModels/History.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherAudit.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherAudit.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs +129 -0
- package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherMarket.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherMarket.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProduct.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProduct.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProductImage.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProductImage.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProductShared.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProductShared.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs.map +1 -0
- package/lib/cjs/contracts/ContractAdapter.cjs +41 -9
- package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -0
- package/lib/cjs/contracts/ContractContext.cjs +2 -2
- package/lib/cjs/contracts/ContractContext.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractDispatch.cjs +2 -2
- package/lib/cjs/contracts/FabricContractDispatch.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractPaginator.cjs +2 -2
- package/lib/cjs/contracts/FabricContractPaginator.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractRepository.cjs +2 -2
- package/lib/cjs/contracts/FabricContractRepository.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +2 -2
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractSequence.cjs +2 -2
- package/lib/cjs/contracts/FabricContractSequence.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractStatement.cjs +2 -2
- package/lib/cjs/contracts/FabricContractStatement.cjs.map +1 -0
- package/lib/cjs/contracts/MigrationContract.cjs +6 -7
- package/lib/cjs/contracts/MigrationContract.cjs.map +1 -0
- package/lib/cjs/contracts/PrivateSequence.cjs +2 -2
- package/lib/cjs/contracts/PrivateSequence.cjs.map +1 -0
- package/lib/cjs/contracts/auth/decorators.cjs +2 -2
- package/lib/cjs/contracts/auth/decorators.cjs.map +1 -0
- package/lib/cjs/contracts/auth/index.cjs +2 -2
- package/lib/cjs/contracts/auth/index.cjs.map +1 -0
- package/lib/cjs/contracts/bootstrap.cjs +2 -2
- package/lib/cjs/contracts/bootstrap.cjs.map +1 -0
- package/lib/cjs/contracts/crud/crud-contract.cjs +27 -23
- package/lib/cjs/contracts/crud/crud-contract.cjs.map +1 -0
- package/lib/cjs/contracts/crud/index.cjs +2 -2
- package/lib/cjs/contracts/crud/index.cjs.map +1 -0
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +2 -2
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/erc20contract.cjs +2 -2
- package/lib/cjs/contracts/erc20/erc20contract.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/index.cjs +2 -2
- package/lib/cjs/contracts/erc20/index.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/models.cjs +2 -2
- package/lib/cjs/contracts/erc20/models.cjs.map +1 -0
- package/lib/cjs/contracts/fabric-overrides.cjs +2 -2
- package/lib/cjs/contracts/fabric-overrides.cjs.map +1 -0
- package/lib/cjs/contracts/index.cjs +2 -2
- package/lib/cjs/contracts/index.cjs.map +1 -0
- package/lib/cjs/contracts/logging.cjs +2 -2
- package/lib/cjs/contracts/logging.cjs.map +1 -0
- package/lib/cjs/contracts/overrides.cjs +2 -2
- package/lib/cjs/contracts/overrides.cjs.map +1 -0
- package/lib/cjs/contracts/types.cjs +2 -2
- package/lib/cjs/contracts/types.cjs.map +1 -0
- package/lib/cjs/contracts/uuid.cjs +2 -2
- package/lib/cjs/contracts/uuid.cjs.map +1 -0
- package/lib/cjs/index.cjs +2 -2
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/cjs/shared/ClientSerializer.cjs +2 -2
- package/lib/cjs/shared/ClientSerializer.cjs.map +1 -0
- package/lib/cjs/shared/DeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/DeterministicSerializer.cjs.map +1 -0
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +1 -0
- package/lib/cjs/shared/constants.cjs +6 -2
- package/lib/cjs/shared/constants.cjs.map +1 -0
- package/lib/cjs/shared/decorators.cjs +24 -3
- package/lib/cjs/shared/decorators.cjs.map +1 -0
- package/lib/cjs/shared/erc20/erc20-constants.cjs +2 -2
- package/lib/cjs/shared/erc20/erc20-constants.cjs.map +1 -0
- package/lib/cjs/shared/erc20/index.cjs +2 -2
- package/lib/cjs/shared/erc20/index.cjs.map +1 -0
- package/lib/cjs/shared/errors.cjs +2 -2
- package/lib/cjs/shared/errors.cjs.map +1 -0
- package/lib/cjs/shared/events.cjs +2 -2
- package/lib/cjs/shared/events.cjs.map +1 -0
- package/lib/cjs/shared/fabric-types.cjs +2 -2
- package/lib/cjs/shared/fabric-types.cjs.map +1 -0
- package/lib/cjs/shared/index.cjs +2 -2
- package/lib/cjs/shared/index.cjs.map +1 -0
- package/lib/cjs/shared/interfaces/Checkable.cjs +2 -2
- package/lib/cjs/shared/interfaces/Checkable.cjs.map +1 -0
- package/lib/cjs/shared/interfaces/index.cjs +2 -2
- package/lib/cjs/shared/interfaces/index.cjs.map +1 -0
- package/lib/cjs/shared/math.cjs +2 -2
- package/lib/cjs/shared/math.cjs.map +1 -0
- package/lib/cjs/shared/model/FabricBaseModel.cjs +2 -2
- package/lib/cjs/shared/model/FabricBaseModel.cjs.map +1 -0
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +2 -2
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +1 -0
- package/lib/cjs/shared/model/Identity.cjs +2 -2
- package/lib/cjs/shared/model/Identity.cjs.map +1 -0
- package/lib/cjs/shared/model/IdentityCredentials.cjs +2 -2
- package/lib/cjs/shared/model/IdentityCredentials.cjs.map +1 -0
- package/lib/cjs/shared/model/index.cjs +2 -2
- package/lib/cjs/shared/model/index.cjs.map +1 -0
- package/lib/cjs/shared/overrides/Model.cjs +2 -2
- package/lib/cjs/shared/overrides/Model.cjs.map +1 -0
- package/lib/cjs/shared/overrides/index.cjs +2 -2
- package/lib/cjs/shared/overrides/index.cjs.map +1 -0
- package/lib/cjs/shared/overrides/overrides.cjs +36 -2
- package/lib/cjs/shared/overrides/overrides.cjs.map +1 -0
- package/lib/cjs/shared/types.cjs +2 -2
- package/lib/cjs/shared/types.cjs.map +1 -0
- package/lib/cjs/version.cjs +5 -5
- package/lib/cjs/version.cjs.map +1 -0
- package/lib/esm/bin/cli.js +1 -1
- package/lib/esm/bin/cli.js.map +1 -0
- package/lib/esm/cli-module.js +1 -1
- package/lib/esm/cli-module.js.map +1 -0
- package/lib/esm/cli-utils.js +1 -1
- package/lib/esm/cli-utils.js.map +1 -0
- package/lib/esm/client/FabricClientAdapter.js +149 -66
- package/lib/esm/client/FabricClientAdapter.js.map +1 -0
- package/lib/esm/client/FabricClientContext.js +25 -0
- package/lib/esm/client/FabricClientContext.js.map +1 -0
- package/lib/esm/client/FabricClientDispatch.js +1 -1
- package/lib/esm/client/FabricClientDispatch.js.map +1 -0
- package/lib/esm/client/FabricClientPaginator.js +1 -1
- package/lib/esm/client/FabricClientPaginator.js.map +1 -0
- package/lib/esm/client/FabricClientRepository.js +2 -2
- package/lib/esm/client/FabricClientRepository.js.map +1 -0
- package/lib/esm/client/FabricClientStatement.js +4 -3
- package/lib/esm/client/FabricClientStatement.js.map +1 -0
- package/lib/esm/client/collections/generation.js +1 -1
- package/lib/esm/client/collections/generation.js.map +1 -0
- package/lib/esm/client/collections/index.js +1 -1
- package/lib/esm/client/collections/index.js.map +1 -0
- package/lib/esm/client/constants.js +2 -1
- package/lib/esm/client/constants.js.map +1 -0
- package/lib/esm/client/crypto.js +1 -1
- package/lib/esm/client/crypto.js.map +1 -0
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -0
- package/lib/esm/client/erc20/index.js +1 -1
- package/lib/esm/client/erc20/index.js.map +1 -0
- package/lib/esm/client/fabric-fs.js +1 -1
- package/lib/esm/client/fabric-fs.js.map +1 -0
- package/lib/esm/client/fabric-hsm.js +1 -1
- package/lib/esm/client/fabric-hsm.js.map +1 -0
- package/lib/esm/client/ids/id-extraction.js +1 -1
- package/lib/esm/client/ids/id-extraction.js.map +1 -0
- package/lib/esm/client/ids/index.js +1 -1
- package/lib/esm/client/ids/index.js.map +1 -0
- package/lib/esm/client/index.js +2 -1
- package/lib/esm/client/index.js.map +1 -0
- package/lib/esm/client/indexes/generation.js +2 -14
- package/lib/esm/client/indexes/generation.js.map +1 -0
- package/lib/esm/client/indexes/index.js +1 -1
- package/lib/esm/client/indexes/index.js.map +1 -0
- package/lib/esm/client/logging.js +1 -1
- package/lib/esm/client/logging.js.map +1 -0
- package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
- package/lib/esm/client/services/FabricEnrollmentService.js.map +1 -0
- package/lib/esm/client/services/FabricIdentityService.js +1 -1
- package/lib/esm/client/services/FabricIdentityService.js.map +1 -0
- package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
- package/lib/esm/client/services/RegistrationRequestBuilder.js.map +1 -0
- package/lib/esm/client/services/constants.js +1 -1
- package/lib/esm/client/services/constants.js.map +1 -0
- package/lib/esm/client/services/index.js +1 -1
- package/lib/esm/client/services/index.js.map +1 -0
- package/lib/esm/client/types.js +1 -1
- package/lib/esm/client/types.js.map +1 -0
- package/lib/esm/client/utils.js +1 -1
- package/lib/esm/client/utils.js.map +1 -0
- package/lib/esm/contract/Address.js +1 -1
- package/lib/esm/contract/Address.js.map +1 -0
- package/lib/esm/contract/AddressContract.js +1 -1
- package/lib/esm/contract/AddressContract.js.map +1 -0
- package/lib/esm/contract/AuditContract.js +1 -1
- package/lib/esm/contract/AuditContract.js.map +1 -0
- package/lib/esm/contract/BatchContract.js +1 -1
- package/lib/esm/contract/BatchContract.js.map +1 -0
- package/lib/esm/contract/MarketContract.js +1 -1
- package/lib/esm/contract/MarketContract.js.map +1 -0
- package/lib/esm/contract/OtherAuditContract.js +1 -1
- package/lib/esm/contract/OtherAuditContract.js.map +1 -0
- package/lib/esm/contract/OtherBatchContract.js +1 -1
- package/lib/esm/contract/OtherBatchContract.js.map +1 -0
- package/lib/esm/contract/OtherLeafletContract.js +1 -1
- package/lib/esm/contract/OtherLeafletContract.js.map +1 -0
- package/lib/esm/contract/OtherLeafletFileContract.js +1 -1
- package/lib/esm/contract/OtherLeafletFileContract.js.map +1 -0
- package/lib/esm/contract/OtherMarketContract.js +1 -1
- package/lib/esm/contract/OtherMarketContract.js.map +1 -0
- package/lib/esm/contract/OtherProductContract.js +1 -1
- package/lib/esm/contract/OtherProductContract.js.map +1 -0
- package/lib/esm/contract/OtherProductImageContract.js +1 -1
- package/lib/esm/contract/OtherProductImageContract.js.map +1 -0
- package/lib/esm/contract/OtherProductSharedContract.js +1 -1
- package/lib/esm/contract/OtherProductSharedContract.js.map +1 -0
- package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
- package/lib/esm/contract/OtherProductStrengthContract.js.map +1 -0
- package/lib/esm/contract/Product.js +1 -1
- package/lib/esm/contract/Product.js.map +1 -0
- package/lib/esm/contract/ProductContract.js +1 -1
- package/lib/esm/contract/ProductContract.js.map +1 -0
- package/lib/esm/contract/ProductStrengthContract.js +1 -1
- package/lib/esm/contract/ProductStrengthContract.js.map +1 -0
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +1 -0
- package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
- package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +1 -0
- package/lib/esm/contract/User.js +1 -1
- package/lib/esm/contract/User.js.map +1 -0
- package/lib/esm/contract/UserContract.js +1 -1
- package/lib/esm/contract/UserContract.js.map +1 -0
- package/lib/esm/contract/index.js +1 -1
- package/lib/esm/contract/index.js.map +1 -0
- package/lib/esm/contract/logging-context.js +1 -1
- package/lib/esm/contract/logging-context.js.map +1 -0
- package/lib/esm/contract/models/Audit.js +3 -5
- package/lib/esm/contract/models/Audit.js.map +1 -0
- package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
- package/lib/esm/contract/models/BaseIdentifiedModel.js.map +1 -0
- package/lib/esm/contract/models/BaseModel.js +1 -1
- package/lib/esm/contract/models/BaseModel.js.map +1 -0
- package/lib/esm/contract/models/Batch.js +1 -1
- package/lib/esm/contract/models/Batch.js.map +1 -0
- package/lib/esm/contract/models/GtinOwner.js +1 -1
- package/lib/esm/contract/models/GtinOwner.js.map +1 -0
- package/lib/esm/contract/models/History.js +2 -72
- package/lib/esm/contract/models/History.js.map +1 -0
- package/lib/esm/contract/models/Leaflet.js +1 -1
- package/lib/esm/contract/models/Leaflet.js.map +1 -0
- package/lib/esm/contract/models/LeafletFile.js +1 -1
- package/lib/esm/contract/models/LeafletFile.js.map +1 -0
- package/lib/esm/contract/models/Market.js +1 -1
- package/lib/esm/contract/models/Market.js.map +1 -0
- package/lib/esm/contract/models/OtherAudit.js +1 -1
- package/lib/esm/contract/models/OtherAudit.js.map +1 -0
- package/lib/esm/contract/models/OtherBatchShared.js +2 -232
- package/lib/esm/contract/models/OtherBatchShared.js.map +1 -0
- package/lib/esm/contract/models/OtherLeaflet.js +3 -112
- package/lib/esm/contract/models/OtherLeaflet.js.map +1 -0
- package/lib/esm/contract/models/OtherLeafletFile.js +2 -62
- package/lib/esm/contract/models/OtherLeafletFile.js.map +1 -0
- package/lib/esm/contract/models/OtherMarket.js +2 -81
- package/lib/esm/contract/models/OtherMarket.js.map +1 -0
- package/lib/esm/contract/models/OtherProduct.js +2 -74
- package/lib/esm/contract/models/OtherProduct.js.map +1 -0
- package/lib/esm/contract/models/OtherProductImage.js +2 -56
- package/lib/esm/contract/models/OtherProductImage.js.map +1 -0
- package/lib/esm/contract/models/OtherProductShared.js +2 -96
- package/lib/esm/contract/models/OtherProductShared.js.map +1 -0
- package/lib/esm/contract/models/OtherProductStrength.js +2 -82
- package/lib/esm/contract/models/OtherProductStrength.js.map +1 -0
- package/lib/esm/contract/models/Product.js +1 -1
- package/lib/esm/contract/models/Product.js.map +1 -0
- package/lib/esm/contract/models/ProductStrength.js +2 -2
- package/lib/esm/contract/models/ProductStrength.js.map +1 -0
- package/lib/esm/contract/models/SegregatedDocument.js +4 -10
- package/lib/esm/contract/models/SegregatedDocument.js.map +1 -0
- package/lib/esm/contract/models/constants.js +1 -1
- package/lib/esm/contract/models/constants.js.map +1 -0
- package/lib/esm/contract/models/decorators-private.js +1 -1
- package/lib/esm/contract/models/decorators-private.js.map +1 -0
- package/lib/esm/contract/models/decorators.js +1 -4
- package/lib/esm/contract/models/decorators.js.map +1 -0
- package/lib/esm/contract/models/gtin.js +1 -1
- package/lib/esm/contract/models/gtin.js.map +1 -0
- package/lib/esm/contract/models/history-dec.js +1 -1
- package/lib/esm/contract/models/history-dec.js.map +1 -0
- package/lib/esm/contract/trackedModels/History.js +1 -1
- package/lib/esm/contract/trackedModels/History.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherAudit.js +1 -1
- package/lib/esm/contract/trackedModels/OtherAudit.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherBatchShared.js +120 -0
- package/lib/esm/contract/trackedModels/OtherBatchShared.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherLeaflet.js +1 -1
- package/lib/esm/contract/trackedModels/OtherLeaflet.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherLeafletFile.js +1 -1
- package/lib/esm/contract/trackedModels/OtherLeafletFile.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherMarket.js +1 -1
- package/lib/esm/contract/trackedModels/OtherMarket.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProduct.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProduct.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProductImage.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProductImage.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProductShared.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProductShared.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProductStrength.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProductStrength.js.map +1 -0
- package/lib/esm/contracts/ContractAdapter.js +41 -9
- package/lib/esm/contracts/ContractAdapter.js.map +1 -0
- package/lib/esm/contracts/ContractContext.js +1 -1
- package/lib/esm/contracts/ContractContext.js.map +1 -0
- package/lib/esm/contracts/FabricContractDispatch.js +1 -1
- package/lib/esm/contracts/FabricContractDispatch.js.map +1 -0
- package/lib/esm/contracts/FabricContractPaginator.js +1 -1
- package/lib/esm/contracts/FabricContractPaginator.js.map +1 -0
- package/lib/esm/contracts/FabricContractRepository.js +1 -1
- package/lib/esm/contracts/FabricContractRepository.js.map +1 -0
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
- package/lib/esm/contracts/FabricContractSequence.js +1 -1
- package/lib/esm/contracts/FabricContractSequence.js.map +1 -0
- package/lib/esm/contracts/FabricContractStatement.js +1 -1
- package/lib/esm/contracts/FabricContractStatement.js.map +1 -0
- package/lib/esm/contracts/MigrationContract.js +5 -6
- package/lib/esm/contracts/MigrationContract.js.map +1 -0
- package/lib/esm/contracts/PrivateSequence.js +1 -1
- package/lib/esm/contracts/PrivateSequence.js.map +1 -0
- package/lib/esm/contracts/auth/decorators.js +1 -1
- package/lib/esm/contracts/auth/decorators.js.map +1 -0
- package/lib/esm/contracts/auth/index.js +1 -1
- package/lib/esm/contracts/auth/index.js.map +1 -0
- package/lib/esm/contracts/bootstrap.js +1 -1
- package/lib/esm/contracts/bootstrap.js.map +1 -0
- package/lib/esm/contracts/crud/crud-contract.js +28 -24
- package/lib/esm/contracts/crud/crud-contract.js.map +1 -0
- package/lib/esm/contracts/crud/index.js +1 -1
- package/lib/esm/contracts/crud/index.js.map +1 -0
- package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
- package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -0
- package/lib/esm/contracts/erc20/erc20contract.js +1 -1
- package/lib/esm/contracts/erc20/erc20contract.js.map +1 -0
- package/lib/esm/contracts/erc20/index.js +1 -1
- package/lib/esm/contracts/erc20/index.js.map +1 -0
- package/lib/esm/contracts/erc20/models.js +1 -1
- package/lib/esm/contracts/erc20/models.js.map +1 -0
- package/lib/esm/contracts/fabric-overrides.js +1 -1
- package/lib/esm/contracts/fabric-overrides.js.map +1 -0
- package/lib/esm/contracts/index.js +1 -1
- package/lib/esm/contracts/index.js.map +1 -0
- package/lib/esm/contracts/logging.js +1 -1
- package/lib/esm/contracts/logging.js.map +1 -0
- package/lib/esm/contracts/overrides.js +1 -1
- package/lib/esm/contracts/overrides.js.map +1 -0
- package/lib/esm/contracts/types.js +1 -1
- package/lib/esm/contracts/types.js.map +1 -0
- package/lib/esm/contracts/uuid.js +1 -1
- package/lib/esm/contracts/uuid.js.map +1 -0
- package/lib/esm/index.js +1 -1
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/shared/ClientSerializer.js +1 -1
- package/lib/esm/shared/ClientSerializer.js.map +1 -0
- package/lib/esm/shared/DeterministicSerializer.js +1 -1
- package/lib/esm/shared/DeterministicSerializer.js.map +1 -0
- package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.js.map +1 -0
- package/lib/esm/shared/constants.js +5 -1
- package/lib/esm/shared/constants.js.map +1 -0
- package/lib/esm/shared/decorators.js +18 -1
- package/lib/esm/shared/decorators.js.map +1 -0
- package/lib/esm/shared/erc20/erc20-constants.js +1 -1
- package/lib/esm/shared/erc20/erc20-constants.js.map +1 -0
- package/lib/esm/shared/erc20/index.js +1 -1
- package/lib/esm/shared/erc20/index.js.map +1 -0
- package/lib/esm/shared/errors.js +1 -1
- package/lib/esm/shared/errors.js.map +1 -0
- package/lib/esm/shared/events.js +1 -1
- package/lib/esm/shared/events.js.map +1 -0
- package/lib/esm/shared/fabric-types.js +1 -1
- package/lib/esm/shared/fabric-types.js.map +1 -0
- package/lib/esm/shared/index.js +1 -1
- package/lib/esm/shared/index.js.map +1 -0
- package/lib/esm/shared/interfaces/Checkable.js +1 -1
- package/lib/esm/shared/interfaces/Checkable.js.map +1 -0
- package/lib/esm/shared/interfaces/index.js +1 -1
- package/lib/esm/shared/interfaces/index.js.map +1 -0
- package/lib/esm/shared/math.js +1 -1
- package/lib/esm/shared/math.js.map +1 -0
- package/lib/esm/shared/model/FabricBaseModel.js +1 -1
- package/lib/esm/shared/model/FabricBaseModel.js.map +1 -0
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
- package/lib/esm/shared/model/Identity.js +1 -1
- package/lib/esm/shared/model/Identity.js.map +1 -0
- package/lib/esm/shared/model/IdentityCredentials.js +1 -1
- package/lib/esm/shared/model/IdentityCredentials.js.map +1 -0
- package/lib/esm/shared/model/index.js +1 -1
- package/lib/esm/shared/model/index.js.map +1 -0
- package/lib/esm/shared/overrides/Model.js +1 -1
- package/lib/esm/shared/overrides/Model.js.map +1 -0
- package/lib/esm/shared/overrides/index.js +1 -1
- package/lib/esm/shared/overrides/index.js.map +1 -0
- package/lib/esm/shared/overrides/overrides.js +36 -2
- package/lib/esm/shared/overrides/overrides.js.map +1 -0
- package/lib/esm/shared/types.js +1 -1
- package/lib/esm/shared/types.js.map +1 -0
- package/lib/esm/version.js +4 -4
- package/lib/esm/version.js.map +1 -0
- package/lib/types/client/FabricClientAdapter.d.cts +43 -33
- package/lib/types/client/FabricClientAdapter.d.mts +43 -33
- package/lib/types/client/FabricClientContext.d.cts +11 -0
- package/lib/types/client/FabricClientContext.d.mts +11 -0
- package/lib/types/client/FabricClientDispatch.d.cts +5 -5
- package/lib/types/client/FabricClientDispatch.d.mts +5 -5
- package/lib/types/client/FabricClientStatement.d.cts +6 -6
- package/lib/types/client/FabricClientStatement.d.mts +6 -6
- package/lib/types/client/index.d.cts +1 -0
- package/lib/types/client/index.d.mts +1 -0
- package/lib/types/client/types.d.cts +2 -0
- package/lib/types/client/types.d.mts +2 -0
- package/lib/types/contract/models/History.d.cts +1 -9
- package/lib/types/contract/models/History.d.mts +1 -9
- package/lib/types/contract/models/OtherBatchShared.d.cts +1 -55
- package/lib/types/contract/models/OtherBatchShared.d.mts +1 -55
- package/lib/types/contract/models/OtherLeaflet.d.cts +2 -16
- package/lib/types/contract/models/OtherLeaflet.d.mts +2 -16
- package/lib/types/contract/models/OtherLeafletFile.d.cts +1 -10
- package/lib/types/contract/models/OtherLeafletFile.d.mts +1 -10
- package/lib/types/contract/models/OtherMarket.d.cts +1 -13
- package/lib/types/contract/models/OtherMarket.d.mts +1 -13
- package/lib/types/contract/models/OtherProduct.d.cts +1 -12
- package/lib/types/contract/models/OtherProduct.d.mts +1 -12
- package/lib/types/contract/models/OtherProductImage.d.cts +1 -9
- package/lib/types/contract/models/OtherProductImage.d.mts +1 -9
- package/lib/types/contract/models/OtherProductShared.d.cts +1 -18
- package/lib/types/contract/models/OtherProductShared.d.mts +1 -18
- package/lib/types/contract/models/OtherProductStrength.d.cts +1 -12
- package/lib/types/contract/models/OtherProductStrength.d.mts +1 -12
- package/lib/types/contract/trackedModels/OtherBatchShared.d.cts +19 -0
- package/lib/types/contract/trackedModels/OtherBatchShared.d.mts +19 -0
- package/lib/types/contracts/ContractAdapter.d.cts +1 -0
- package/lib/types/contracts/ContractAdapter.d.mts +1 -0
- package/lib/types/contracts/FabricContractStatement.d.cts +1 -2
- package/lib/types/contracts/FabricContractStatement.d.mts +1 -2
- package/lib/types/contracts/MigrationContract.d.cts +1 -1
- package/lib/types/contracts/MigrationContract.d.mts +1 -1
- package/lib/types/contracts/crud/crud-contract.d.cts +3 -1
- package/lib/types/contracts/crud/crud-contract.d.mts +3 -1
- package/lib/types/contracts/types.d.cts +1 -0
- package/lib/types/contracts/types.d.mts +1 -0
- package/lib/types/shared/constants.d.cts +5 -1
- package/lib/types/shared/constants.d.mts +5 -1
- package/lib/types/shared/decorators.d.cts +9 -1
- package/lib/types/shared/decorators.d.mts +9 -1
- package/lib/types/shared/overrides/Model.d.cts +4 -0
- package/lib/types/shared/overrides/Model.d.mts +4 -0
- package/lib/types/version.d.cts +3 -3
- package/lib/types/version.d.mts +3 -3
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FabricClientAdapter.js","sourceRoot":"","sources":["FabricClientAdapter.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FabricClientContext = void 0;
|
|
4
|
+
const core_1 = require("@decaf-ts/core");
|
|
5
|
+
const CLIENT_OVERRIDE_KEYS = [
|
|
6
|
+
"allowGenerationOverride",
|
|
7
|
+
];
|
|
8
|
+
/**
|
|
9
|
+
* @description Fabric client context with a constrained override surface
|
|
10
|
+
* @summary Restricts which cached values are propagated to child contexts or sent
|
|
11
|
+
* back as overrides so only intentional client flags are forwarded.
|
|
12
|
+
*/
|
|
13
|
+
class FabricClientContext extends core_1.Context {
|
|
14
|
+
constructor(ctx) {
|
|
15
|
+
super(ctx);
|
|
16
|
+
}
|
|
17
|
+
toOverrides() {
|
|
18
|
+
const overrides = {};
|
|
19
|
+
for (const key of CLIENT_OVERRIDE_KEYS) {
|
|
20
|
+
const value = this.getOrUndefined(key);
|
|
21
|
+
if (typeof value !== "undefined") {
|
|
22
|
+
overrides[key] = value;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return overrides;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.FabricClientContext = FabricClientContext;
|
|
29
|
+
//# sourceMappingURL=FabricClientContext.js.map
|
|
30
|
+
//# sourceMappingURL=FabricClientContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FabricClientContext.js","sourceRoot":"","sources":["FabricClientContext.js"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,MAAM,oBAAoB,GAAG;IACzB,yBAAyB;CAC5B,CAAC;AACF;;;;GAIG;AACH,MAAa,mBAAoB,SAAQ,cAAO;IAC5C,YAAY,GAAG;QACX,KAAK,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IACD,WAAW;QACP,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC/B,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAdD,kDAcC;AACD,+CAA+C"}
|
|
@@ -287,5 +287,5 @@ class FabricClientDispatch extends core_1.Dispatch {
|
|
|
287
287
|
exports.FabricClientDispatch = FabricClientDispatch;
|
|
288
288
|
if (FabricClientAdapter_js_1.FabricClientAdapter)
|
|
289
289
|
FabricClientAdapter_js_1.FabricClientAdapter["_baseDispatch"] = FabricClientDispatch;
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFicmljQ2xpZW50RGlzcGF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L0ZhYnJpY0NsaWVudERpc3BhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBRVAsUUFBUSxFQUVSLGdCQUFnQixFQUdoQixlQUFlLEdBQ2hCLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlDQUE4QjtBQUM1RCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGFBQWEsRUFDYixhQUFhLEdBQ2QsTUFBTSx5QkFBeUIsQ0FBQztBQUtqQyxPQUFPLEVBQUUsY0FBYyxFQUFFLDhCQUF5QjtBQUNsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJdkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0NHO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFFBQTZCO0lBV3JFOzs7O09BSUc7SUFDSCxZQUFzQixNQUFjO1FBQ2xDLEtBQUssRUFBRSxDQUFDO1FBRFksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVZwQzs7V0FFRztRQUNLLFlBQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQVMxQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNNLEtBQUssQ0FBQyxLQUFLLENBQ2xCLEdBQUcsT0FBbUQ7UUFFdEQsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FDbkMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUMzRCxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcs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QUFVLENBQUMsQ0FBQyxDQUFDLEVBQ2IsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUN0QixHQUFJLE9BQXNELENBQzNELENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBVSxFQUFFLEVBQUUsQ0FDckIsR0FBRyxDQUFDLEtBQUssQ0FDUCwyQ0FBMkMsTUFBTSxPQUFPLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FDL0YsQ0FDRixDQUFDO29CQUNGLE9BQU8sTUFBTSxDQUFDO2dCQUNoQixDQUFDO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRCxJQUFJLG1CQUFtQjtJQUNyQixtQkFBbUIsQ0FBQyxlQUFlLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFkYXB0ZXIsXG4gIENvbnRleHR1YWxBcmdzLFxuICBEaXNwYXRjaCxcbiAgRXZlbnRJZHMsXG4gIFVuc3VwcG9ydGVkRXJyb3IsXG4gIENvbnRleHQsXG4gIE1heWJlQ29udGV4dHVhbEFyZyxcbiAgUGVyc2lzdGVuY2VLZXlzLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IFBlZXJDb25maWcgfSBmcm9tIFwiLi4vc2hhcmVkL3R5cGVzXCI7XG5pbXBvcnQgeyBDbGllbnQgfSBmcm9tIFwiQGdycGMvZ3JwYy1qc1wiO1xuaW1wb3J0IHsgRmFicmljQ2xpZW50QWRhcHRlciB9IGZyb20gXCIuL0ZhYnJpY0NsaWVudEFkYXB0ZXJcIjtcbmltcG9ydCB7XG4gIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cyxcbiAgSW50ZXJuYWxFcnJvcixcbiAgT3BlcmF0aW9uS2V5cyxcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQge1xuICBDaGFpbmNvZGVFdmVudCxcbiAgQ2xvc2VhYmxlQXN5bmNJdGVyYWJsZSxcbn0gZnJvbSBcIkBoeXBlcmxlZGdlci9mYWJyaWMtZ2F0ZXdheVwiO1xuaW1wb3J0IHsgcGFyc2VFdmVudE5hbWUgfSBmcm9tIFwiLi4vc2hhcmVkL2V2ZW50c1wiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgRmFicmljQ2xpZW50RmxhZ3MgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBFdmVudCBkaXNwYXRjaGVyIGZvciBIeXBlcmxlZGdlciBGYWJyaWMgY2hhaW5jb2RlIGV2ZW50c1xuICogQHN1bW1hcnkgTGlzdGVucyBmb3IgYW5kIHByb2Nlc3NlcyBldmVudHMgZW1pdHRlZCBieSBGYWJyaWMgY2hhaW5jb2RlLCBkaXNwYXRjaGluZyB0aGVtIHRvIHJlZ2lzdGVyZWQgb2JzZXJ2ZXJzXG4gKiBAdGVtcGxhdGUgUGVlckNvbmZpZyAtIENvbmZpZ3VyYXRpb24gdHlwZSBmb3IgY29ubmVjdGluZyB0byBhIEZhYnJpYyBwZWVyXG4gKiBAcGFyYW0gY2xpZW50IC0gZ1JQQyBjbGllbnQgZm9yIGNvbm5lY3RpbmcgdG8gdGhlIEZhYnJpYyBuZXR3b3JrXG4gKiBAY2xhc3MgRmFicmljQ2xpZW50RGlzcGF0Y2hcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBDcmVhdGUgYSBuZXcgRmFicmljRGlzcGF0Y2ggaW5zdGFuY2VcbiAqIGNvbnN0IGNsaWVudCA9IGF3YWl0IEZhYnJpY0FkYXB0ZXIuZ2V0Q2xpZW50KHBlZXJDb25maWcpO1xuICogY29uc3QgZGlzcGF0Y2ggPSBuZXcgRmFicmljRGlzcGF0Y2goY2xpZW50KTtcbiAqXG4gKiAvLyBDb25maWd1cmUgdGhlIGRpc3BhdGNoIHdpdGggcGVlciBjb25maWd1cmF0aW9uXG4gKiBkaXNwYXRjaC5jb25maWd1cmUocGVlckNvbmZpZyk7XG4gKlxuICogLy8gUmVnaXN0ZXIgYW4gb2JzZXJ2ZXIgZm9yIGEgc3BlY2lmaWMgdGFibGUgYW5kIGV2ZW50XG4gKiBkaXNwYXRjaC5vYnNlcnZlKCd1c2VycycsICdjcmVhdGUnLCAoaWQpID0+IHtcbiAqICAgY29uc29sZS5sb2coYFVzZXIgY3JlYXRlZDogJHtpZH1gKTtcbiAqIH0pO1xuICpcbiAqIC8vIFN0YXJ0IGxpc3RlbmluZyBmb3IgZXZlbnRzXG4gKiBhd2FpdCBkaXNwYXRjaC5zdGFydCgpO1xuICogYGBgXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IENsaWVudFxuICogICBwYXJ0aWNpcGFudCBGYWJyaWNEaXNwYXRjaFxuICogICBwYXJ0aWNpcGFudCBHYXRld2F5XG4gKiAgIHBhcnRpY2lwYW50IE5ldHdvcmtcbiAqICAgcGFydGljaXBhbnQgQ2hhaW5jb2RlXG4gKlxuICogICBDbGllbnQtPj5GYWJyaWNEaXNwYXRjaDogbmV3IEZhYnJpY0Rpc3BhdGNoKGNsaWVudClcbiAqICAgQ2xpZW50LT4+RmFicmljRGlzcGF0Y2g6IGNvbmZpZ3VyZShwZWVyQ29uZmlnKVxuICogICBDbGllbnQtPj5GYWJyaWNEaXNwYXRjaDogb2JzZXJ2ZSh0YWJsZSwgZXZlbnQsIGNhbGxiYWNrKVxuICogICBDbGllbnQtPj5GYWJyaWNEaXNwYXRjaDogc3RhcnQoKVxuICogICBGYWJyaWNEaXNwYXRjaC0+PkZhYnJpY0Rpc3BhdGNoOiBpbml0aWFsaXplKClcbiAqICAgRmFicmljRGlzcGF0Y2gtPj5HYXRld2F5OiBnZXRHYXRld2F5KGNvbmZpZywgY2xpZW50KVxuICogICBHYXRld2F5LT4+TmV0d29yazogZ2V0TmV0d29yayhjaGFubmVsKVxuICogICBOZXR3b3JrLT4+TmV0d29yazogZ2V0Q2hhaW5jb2RlRXZlbnRzKGNoYWluY29kZU5hbWUpXG4gKiAgIEZhYnJpY0Rpc3BhdGNoLT4+RmFicmljRGlzcGF0Y2g6IGhhbmRsZUV2ZW50cygpXG4gKiAgIGxvb3AgRm9yIGVhY2ggZXZlbnRcbiAqICAgICBDaGFpbmNvZGUtLT4+RmFicmljRGlzcGF0Y2g6IENoYWluY29kZUV2ZW50XG4gKiAgICAgRmFicmljRGlzcGF0Y2gtPj5GYWJyaWNEaXNwYXRjaDogcGFyc2VFdmVudE5hbWUoZXZlbnROYW1lKVxuICogICAgIEZhYnJpY0Rpc3BhdGNoLT4+RmFicmljRGlzcGF0Y2g6IHBhcnNlUGF5bG9hZChwYXlsb2FkKVxuICogICAgIEZhYnJpY0Rpc3BhdGNoLT4+RmFicmljRGlzcGF0Y2g6IHVwZGF0ZU9ic2VydmVycyh0YWJsZSwgZXZlbnQsIGlkKVxuICogICAgIEZhYnJpY0Rpc3BhdGNoLS0+PkNsaWVudDogY2FsbGJhY2soaWQpXG4gKiAgIGVuZFxuICovXG5leHBvcnQgY2xhc3MgRmFicmljQ2xpZW50RGlzcGF0Y2ggZXh0ZW5kcyBEaXNwYXRjaDxGYWJyaWNDbGllbnRBZGFwdGVyPiB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRXZlbnQgbGlzdGVuaW5nIHN0YWNrIGZvciBjaGFpbmNvZGUgZXZlbnRzXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbmluZ1N0YWNrPzogQ2xvc2VhYmxlQXN5bmNJdGVyYWJsZTxDaGFpbmNvZGVFdmVudD47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUZXh0IGRlY29kZXIgZm9yIGNvbnZlcnRpbmcgZXZlbnQgcGF5bG9hZHMgZnJvbSBieXRlcyB0byBzdHJpbmdzXG4gICAqL1xuICBwcml2YXRlIGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoXCJ1dGY4XCIpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyBGYWJyaWNEaXNwYXRjaCBpbnN0YW5jZVxuICAgKiBAc3VtbWFyeSBJbml0aWFsaXplcyBhIGRpc3BhdGNoZXIgZm9yIEZhYnJpYyBjaGFpbmNvZGUgZXZlbnRzXG4gICAqIEBwYXJhbSB7Q2xpZW50fSBjbGllbnQgLSBnUlBDIGNsaWVudCBmb3IgY29ubmVjdGluZyB0byB0aGUgRmFicmljIG5ldHdvcmtcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjbGllbnQ6IENsaWVudCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENsb3NlcyB0aGUgZXZlbnQgbGlzdGVuaW5nIGNvbm5lY3Rpb25cbiAgICogQHN1bW1hcnkgU3RvcHMgbGlzdGVuaW5nIGZvciBjaGFpbmNvZGUgZXZlbnRzIGFuZCByZWxlYXNlcyByZXNvdXJjZXNcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbm5lY3Rpb24gaXMgY2xvc2VkXG4gICAqL1xuICBvdmVycmlkZSBhc3luYyBjbG9zZShcbiAgICAuLi5jdHhBcmdzOiBDb250ZXh0dWFsQXJnczxDb250ZXh0PEZhYnJpY0NsaWVudEZsYWdzPj5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBsb2csIGN0eEFyZ3M6IGxvZ2dlZEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGN0eEFyZ3MsIFBlcnNpc3RlbmNlS2V5cy5TSFVURE9XTiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmNsb3NlKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgc3VwZXIuY2xvc2UoLi4ubG9nZ2VkQXJncyk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgbG9nLmVycm9yKGBGYWlsZWQgdG8gY2xvc2UgRmFicmljIHByb3hpZXMgZXZlbnQgbGlzdGVuZXJgLCBlIGFzIEVycm9yKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubGlzdGVuaW5nU3RhY2spIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMubGlzdGVuaW5nU3RhY2suY2xvc2UoKTtcbiAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgbG9nLmVycm9yKGBGYWlsZWQgdG8gY2xvc2UgRmFicmljIGV2ZW50IGxpc3RlbmVyYCwgZSBhcyBFcnJvcik7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICB0aGlzLmxpc3RlbmluZ1N0YWNrID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUGFyc2VzIGV2ZW50IHBheWxvYWQgZnJvbSBiaW5hcnkgZm9ybWF0XG4gICAqIEBzdW1tYXJ5IENvbnZlcnRzIGEgVWludDhBcnJheSBjb250YWluaW5nIEpTT04gdG8gYW4gb2JqZWN0IHdpdGggYW4gaWQgcHJvcGVydHlcbiAgICogQHBhcmFtIHtVaW50OEFycmF5fSBqc29uQnl0ZXMgLSBUaGUgYmluYXJ5IHBheWxvYWQgZnJvbSB0aGUgY2hhaW5jb2RlIGV2ZW50XG4gICAqIEByZXR1cm4ge3sgaWQ6IHN0cmluZyB9fSBUaGUgcGFyc2VkIHBheWxvYWQgY29udGFpbmluZyB0aGUgcmVjb3JkIElEXG4gICAqL1xuICBwcml2YXRlIHBhcnNlUGF5bG9hZChqc29uQnl0ZXM6IFVpbnQ4QXJyYXkpOiB7IGlkOiBzdHJpbmc7IHJlc3VsdD86IGFueSB9IHtcbiAgICBjb25zdCBqc29uID0gdGhpcy5kZWNvZGVyLmRlY29kZShqc29uQnl0ZXMpO1xuICAgIHJldHVybiBKU09OLnBhcnNlKGpzb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTdGFydHMgb2JzZXJ2aW5nIGFuIGFkYXB0ZXJcbiAgICogQHN1bW1hcnkgQ29ubmVjdHMgdGhpcyBkaXNwYXRjaCB0byBhbiBhZGFwdGVyIHRvIG1vbml0b3IgaXRzIG9wZXJhdGlvbnNcbiAgICogQHBhcmFtIHtBZGFwdGVyPGFueSwgYW55LCBhbnksIGFueT59IG9ic2VydmVyIC0gVGhlIGFkYXB0ZXIgdG8gb2JzZXJ2ZVxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgb3ZlcnJpZGUgb2JzZXJ2ZShvYnNlcnZlcjogQWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+KTogKCkgPT4gdm9pZCB7XG4gICAgaWYgKCEob2JzZXJ2ZXIgaW5zdGFuY2VvZiBGYWJyaWNDbGllbnRBZGFwdGVyKSlcbiAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFxuICAgICAgICBcIk9ubHkgRmFicmljQ2xpZW50QWRhcHRlciBjYW4gYmUgb2JzZXJ2ZWQgYnkgZGlzcGF0Y2hcIlxuICAgICAgKTtcbiAgICBzdXBlci5vYnNlcnZlKG9ic2VydmVyIGFzIEZhYnJpY0NsaWVudEFkYXB0ZXIpO1xuICAgIHJldHVybiAoKSA9PiB0aGlzLnVuT2JzZXJ2ZShvYnNlcnZlcik7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFVwZGF0ZXMgb2JzZXJ2ZXJzIGFib3V0IGEgZGF0YWJhc2UgZXZlbnRcbiAgICogQHN1bW1hcnkgTm90aWZpZXMgb2JzZXJ2ZXJzIGFib3V0IGEgY2hhbmdlIGluIHRoZSBkYXRhYmFzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGUgd2hlcmUgdGhlIGNoYW5nZSBvY2N1cnJlZFxuICAgKiBAcGFyYW0ge09wZXJhdGlvbktleXN8QnVsa0NydWRPcGVyYXRpb25LZXlzfHN0cmluZ30gZXZlbnQgLSBUaGUgdHlwZSBvZiBvcGVyYXRpb24gdGhhdCBvY2N1cnJlZFxuICAgKiBAcGFyYW0ge2FueX0gcGF5bG9hZCAtIFRoZSBldmVudCBwYXlsb2FkXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gYWxsIG9ic2VydmVycyBoYXZlIGJlZW4gbm90aWZpZWRcbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIHVwZGF0ZU9ic2VydmVycyhcbiAgICBtb2RlbDogQ29uc3RydWN0b3I8YW55PiB8IHN0cmluZyxcbiAgICBldmVudDogT3BlcmF0aW9uS2V5cyB8IEJ1bGtDcnVkT3BlcmF0aW9uS2V5cyB8IHN0cmluZyxcbiAgICBpZDogRXZlbnRJZHMsXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8Q29udGV4dDxGYWJyaWNDbGllbnRGbGFncz4+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgbG9nLCBjdHhBcmdzIH0gPSBBZGFwdGVyLmxvZ0N0eDxDb250ZXh0PEZhYnJpY0NsaWVudEZsYWdzPj4oXG4gICAgICB0aGlzLnVwZGF0ZU9ic2VydmVycyxcbiAgICAgIGV2ZW50LFxuICAgICAgZmFsc2UsXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgICBpZiAoIXRoaXMuYWRhcHRlcikge1xuICAgICAgbG9nLnZlcmJvc2UoXG4gICAgICAgIGBObyBhZGFwdGVyIG9ic2VydmVkIGZvciBkaXNwYXRjaDsgc2tpcHBpbmcgb2JzZXJ2ZXIgdXBkYXRlIGZvciAke3R5cGVvZiBtb2RlbCA9PT0gXCJzdHJpbmdcIiA/IG1vZGVsIDogTW9kZWwudGFibGVOYW1lKG1vZGVsKX06JHtldmVudH1gXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLnJlZnJlc2gobW9kZWwsIGV2ZW50LCBpZCwgLi4uY3R4QXJncyk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYEZhaWxlZCB0byByZWZyZXNoIGRpc3BhdGNoOiAke2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQcm9jZXNzZXMgaW5jb21pbmcgY2hhaW5jb2RlIGV2ZW50c1xuICAgKiBAc3VtbWFyeSBMaXN0ZW5zIGZvciBldmVudHMgZnJvbSB0aGUgY2hhaW5jb2RlIGFuZCBkaXNwYXRjaGVzIHRoZW0gdG8gcmVnaXN0ZXJlZCBvYnNlcnZlcnNcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gZXZlbnQgaGFuZGxpbmcgc3RvcHNcbiAgICogQG1lcm1haWRcbiAgICogc2VxdWVuY2VEaWFncmFtXG4gICAqICAgcGFydGljaXBhbnQgRmFicmljRGlzcGF0Y2hcbiAgICogICBwYXJ0aWNpcGFudCBFdmVudFN0YWNrXG4gICAqICAgcGFydGljaXBhbnQgRXZlbnRQYXJzZXJcbiAgICogICBwYXJ0aWNpcGFudCBPYnNlcnZlcnNcbiAgICpcbiAgICogICBGYWJyaWNEaXNwYXRjaC0+PkZhYnJpY0Rpc3BhdGNoOiBoYW5kbGVFdmVudHMoKVxuICAgKiAgIEZhYnJpY0Rpc3BhdGNoLT4+RXZlbnRTdGFjazogZm9yIGF3YWl0IChjb25zdCBldnQgb2YgbGlzdGVuaW5nU3RhY2spXG4gICAqICAgRXZlbnRTdGFjay0tPj5GYWJyaWNEaXNwYXRjaDogQ2hhaW5jb2RlRXZlbnRcbiAgICogICBGYWJyaWNEaXNwYXRjaC0+PkV2ZW50UGFyc2VyOiBwYXJzZUV2ZW50TmFtZShldnQuZXZlbnROYW1lKVxuICAgKiAgIEV2ZW50UGFyc2VyLS0+PkZhYnJpY0Rpc3BhdGNoOiB7IHRhYmxlLCBldmVudCwgb3duZXIgfVxuICAgKiAgIEZhYnJpY0Rpc3BhdGNoLT4+RmFicmljRGlzcGF0Y2g6IENoZWNrIGlmIGV2ZW50IGlzIGZvciB0aGlzIE1TUFxuICAgKiAgIEZhYnJpY0Rpc3BhdGNoLT4+RmFicmljRGlzcGF0Y2g6IHBhcnNlUGF5bG9hZChldnQucGF5bG9hZClcbiAgICogICBGYWJyaWNEaXNwYXRjaC0+Pk9ic2VydmVyczogdXBkYXRlT2JzZXJ2ZXJzKHRhYmxlLCBldmVudCwgcGF5bG9hZC5pZClcbiAgICogICBPYnNlcnZlcnMtLT4+RmFicmljRGlzcGF0Y2g6IENhbGxiYWNrcyBleGVjdXRlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUV2ZW50cyhcbiAgICBjdHhBcmc/OiBDb250ZXh0PEZhYnJpY0NsaWVudEZsYWdzPlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMubGlzdGVuaW5nU3RhY2spXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYEV2ZW50IHN0YWNrIG5vdCBpbml0aWFsaXplZC4gRW5zdXJlIHRoYXQgXCJzdGFydExpc3RlbmluZ1wiIGlzIGNhbGxlZCBiZWZvcmUgYXR0ZW1wdGluZyB0aGlzIG9wZXJhdGlvbi5gXG4gICAgICApO1xuXG4gICAgaWYgKCF0aGlzLmFkYXB0ZXIgfHwgIXRoaXMuYWRhcHRlci5jb25maWcpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTm8gYWRhcHRlciBmb3VuZC4gc2hvdWxkIGJlIGltcG9zc2libGVgKTtcblxuICAgIGNvbnN0IGN0eCA9XG4gICAgICBjdHhBcmcgfHxcbiAgICAgIChhd2FpdCB0aGlzLmFkYXB0ZXIuY29udGV4dChcbiAgICAgICAgT3BlcmF0aW9uS2V5cy5SRUFELFxuICAgICAgICB7XG4gICAgICAgICAgY29ycmVsYXRpb25JZDogdGhpcy5hZGFwdGVyLmNvbmZpZy5jaGFpbmNvZGVOYW1lLFxuICAgICAgICB9LFxuICAgICAgICAodGhpcy5tb2RlbHMgJiYgdGhpcy5tb2RlbHNbMF0pIHx8IChNb2RlbCBhcyB1bmtub3duIGFzIENvbnN0cnVjdG9yKVxuICAgICAgKSk7XG4gICAgY29uc3QgbG9nID0gdGhpcy5sb2cuZm9yKHRoaXMuaGFuZGxlRXZlbnRzKTtcblxuICAgIGxvZy5pbmZvKFxuICAgICAgYExpc3RlbmluZyBmb3IgaW5jb21pbmcgZXZlbnRzIG9uIGNoYWluY29kZSBcIiR7dGhpcy5hZGFwdGVyLmNvbmZpZy5jaGFpbmNvZGVOYW1lfVwiIG9uIGNoYW5uZWwgXCIke3RoaXMuYWRhcHRlci5jb25maWcuY2hhbm5lbH1cIi4uLmBcbiAgICApO1xuXG4gICAgdHJ5IHtcbiAgICAgIGZvciBhd2FpdCAoY29uc3QgZXZ0IG9mIHRoaXMubGlzdGVuaW5nU3RhY2spIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSwgZXZlbnQsIG93bmVyIH0gPSBwYXJzZUV2ZW50TmFtZShldnQuZXZlbnROYW1lKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuYWRhcHRlci5jb25maWc/Lm1zcEV2ZW50T25seSAmJlxuICAgICAgICAgIG93bmVyICYmXG4gICAgICAgICAgb3duZXIgIT09IHRoaXMuYWRhcHRlci5jb25maWc/Lm1zcElkXG4gICAgICAgIClcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY29uc3QgcGF5bG9hZDogeyBpZDogc3RyaW5nOyByZXN1bHQ/OiBhbnkgfSA9IHRoaXMucGFyc2VQYXlsb2FkKFxuICAgICAgICAgIGV2dC5wYXlsb2FkXG4gICAgICAgICk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgdGFyZ2V0TW9kZWwgPSB0YWJsZVxuICAgICAgICAgICAgPyBNb2RlbC5nZXQodGFibGUpXG4gICAgICAgICAgICA6IE1vZGVsLmdldCh0aGlzLm1vZGVsc1swXS5uYW1lKTtcbiAgICAgICAgICBjb25zdCBtb2RlbFJlZiA9IHRhcmdldE1vZGVsID8/ICh0YWJsZSB8fCB0aGlzLm1vZGVsc1swXT8ubmFtZSk7XG4gICAgICAgICAgY29uc3Qgb2JzZXJ2ZXJBcmdzID0gcGF5bG9hZC5yZXN1bHQgPyBbcGF5bG9hZC5yZXN1bHQsIGN0eF0gOiBbY3R4XTtcbiAgICAgICAgICBhd2FpdCB0aGlzLnVwZGF0ZU9ic2VydmVycyhcbiAgICAgICAgICAgIG1vZGVsUmVmIGFzIENvbnN0cnVjdG9yIHwgc3RyaW5nLFxuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICBwYXlsb2FkLmlkIGFzIHN0cmluZyxcbiAgICAgICAgICAgIC4uLihvYnNlcnZlckFyZ3MgYXMgQ29udGV4dHVhbEFyZ3M8YW55PilcbiAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgICAgbG9nLmVycm9yKFxuICAgICAgICAgICAgYEZhaWxlZCB1cGRhdGUgb2JzZXJ2YWJsZXMgZm9yIHRhYmxlICR7dGFibGV9IGV2ZW50ICR7ZXZlbnR9IGlkOiAke3BheWxvYWQuaWR9OiAke2V9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgYEZhaWxlZCB0byByZWFkIGV2ZW50IGZvciBjaGFpbmNvZGUgXCIke3RoaXMuYWRhcHRlci5jb25maWcuY2hhaW5jb2RlTmFtZX1cIiBvbiBjaGFubmVsIFwiJHt0aGlzLmFkYXB0ZXIuY29uZmlnLmNoYW5uZWx9XCI6ICR7ZX1gXG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5jbG9zZShjdHgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSW5pdGlhbGl6ZXMgdGhlIGV2ZW50IGxpc3RlbmVyXG4gICAqIEBzdW1tYXJ5IFNldHMgdXAgZXZlbnQgZGlzcGF0Y2hpbmcgZm9yIHRoZSBvYnNlcnZlZCBhZGFwdGVyLiBXaGVuXG4gICAqIGBzeW50aGV0aWNFdmVudHNgIGlzIHRydWUgKHRoZSBkZWZhdWx0KSBubyBnYXRld2F5IGNvbm5lY3Rpb24gaXMgb3BlbmVkO1xuICAgKiBpbnN0ZWFkIGV2ZXJ5IENSVUQgb3BlcmF0aW9uIGlzIHdyYXBwZWQgd2l0aCBhIFByb3h5IHRoYXQgZmlyZXNcbiAgICogYHVwZGF0ZU9ic2VydmVyc2AgZm9yICoqYWxsKiogbW9kZWxzLiBXaGVuIGBzeW50aGV0aWNFdmVudHNgIGlzIGZhbHNlIHRoZVxuICAgKiBleGlzdGluZyBnYXRld2F5LWJhc2VkIGNoYWluY29kZS1ldmVudCBzdWJzY3JpcHRpb24gaXMgZXN0YWJsaXNoZWQgYW5kIHRoZVxuICAgKiBsb2NhbCBQcm94eSBmYWxsYmFjayBpcyBsaW1pdGVkIHRvIGZ1bGx5LXNlZ3JlZ2F0ZWQgKHRyYW5zaWVudCkgbW9kZWxzIG9ubHkuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuYWRhcHRlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBObyBhZGFwdGVyIG9yIGNvbmZpZyBvYnNlcnZlZCBmb3IgZGlzcGF0Y2hgKTtcblxuICAgIGNvbnN0IHN5bnRoZXRpY0V2ZW50cyA9IHRoaXMuYWRhcHRlci5jb25maWcuc3ludGhldGljRXZlbnRzICE9PSBmYWxzZTtcblxuICAgIGlmICghc3ludGhldGljRXZlbnRzKSB7XG4gICAgICAvLyBHYXRld2F5LWJhc2VkIGNoYWluY29kZS1ldmVudCBzdWJzY3JpcHRpb24gKG5vbi1zeW50aGV0aWMgcGF0aClcbiAgICAgIGNvbnN0IGNvbnRleHQgPSBhd2FpdCB0aGlzLmFkYXB0ZXIuY29udGV4dChcbiAgICAgICAgXCJkaXNwYXRjaFwiLFxuICAgICAgICB7XG4gICAgICAgICAgY29ycmVsYXRpb25JZDogdGhpcy5hZGFwdGVyLmNvbmZpZy5jaGFpbmNvZGVOYW1lLFxuICAgICAgICB9LFxuICAgICAgICBNb2RlbCBhcyBhbnlcbiAgICAgICk7XG4gICAgICBjb25zdCB7IGN0eCB9ID0gdGhpcy5sb2dDdHgoW2NvbnRleHRdLCB0aGlzLmluaXRpYWxpemUpO1xuICAgICAgY29uc3QgZ2F0ZXdheSA9IGF3YWl0IEZhYnJpY0NsaWVudEFkYXB0ZXIuZ2V0R2F0ZXdheShcbiAgICAgICAgY3R4LFxuICAgICAgICB0aGlzLmFkYXB0ZXIuY29uZmlnIGFzIFBlZXJDb25maWcsXG4gICAgICAgIHRoaXMuY2xpZW50XG4gICAgICApO1xuICAgICAgY29uc3QgbmV0d29yayA9IGdhdGV3YXkuZ2V0TmV0d29yayh0aGlzLmFkYXB0ZXIuY29uZmlnLmNoYW5uZWwpO1xuICAgICAgaWYgKCF0aGlzLmFkYXB0ZXIpXG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBObyBhZGFwdGVyIG9ic2VydmVkIGZvciBkaXNwYXRjaGApO1xuICAgICAgdGhpcy5saXN0ZW5pbmdTdGFjayA9IGF3YWl0IG5ldHdvcmsuZ2V0Q2hhaW5jb2RlRXZlbnRzKFxuICAgICAgICB0aGlzLmFkYXB0ZXIuY29uZmlnLmNoYWluY29kZU5hbWVcbiAgICAgICk7XG4gICAgICB0aGlzLmhhbmRsZUV2ZW50cyhjdHgpO1xuICAgIH1cblxuICAgIC8vIFByb3h5IENSVUQgbWV0aG9kcy5cbiAgICAvLyDigKIgc3ludGhldGljRXZlbnRzID0gdHJ1ZSAg4oaSIG5vdGlmeSBmb3IgQUxMIG1vZGVscyAocmVwbGFjZXMgZ2F0ZXdheSBldmVudHMgZW50aXJlbHkpXG4gICAgLy8g4oCiIHN5bnRoZXRpY0V2ZW50cyA9IGZhbHNlIOKGkiBub3RpZnkgb25seSBmb3IgZnVsbHktc2VncmVnYXRlZCAodHJhbnNpZW50KSBtb2RlbHNcbiAgICAvLyAgICh0aGUgZ2F0ZXdheSBzdWJzY3JpcHRpb24gaGFuZGxlcyBwdWJsaWMgbW9kZWxzKVxuICAgIChcbiAgICAgIFtcbiAgICAgICAgT3BlcmF0aW9uS2V5cy5DUkVBVEUsXG4gICAgICAgIE9wZXJhdGlvbktleXMuVVBEQVRFLFxuICAgICAgICBPcGVyYXRpb25LZXlzLkRFTEVURSxcbiAgICAgICAgQnVsa0NydWRPcGVyYXRpb25LZXlzLkNSRUFURV9BTEwsXG4gICAgICAgIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5VUERBVEVfQUxMLFxuICAgICAgICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuREVMRVRFX0FMTCxcbiAgICAgIF0gYXMgKGtleW9mIEFkYXB0ZXI8YW55LCBhbnksIGFueSwgYW55PilbXVxuICAgICkuZm9yRWFjaCgodG9XcmFwKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuYWRhcHRlcilcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgYE5vIGFkYXB0ZXIgcHJvdmlkZWQgZm9yIHRoZSBmYWxsYmFjayBvZiBmdWxseSBzZWdyZWdhdGVkIG1vZGVsc2BcbiAgICAgICAgKTtcbiAgICAgIGlmICghdGhpcy5hZGFwdGVyW3RvV3JhcF0pXG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgIGBNZXRob2QgJHt0b1dyYXB9IG5vdCBmb3VuZCBpbiAke3RoaXMuYWRhcHRlci5hbGlhc30gYWRhcHRlciB0byBiaW5kIE9ic2VydmFibGVzIERpc3BhdGNoYFxuICAgICAgICApO1xuXG4gICAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGhpcy5hZGFwdGVyLCB0b1dyYXApO1xuICAgICAgbGV0IHByb3RvOiBhbnkgPSB0aGlzLmFkYXB0ZXI7XG4gICAgICB3aGlsZSAoIWRlc2NyaXB0b3IgJiYgcHJvdG8gIT09IE9iamVjdC5wcm90b3R5cGUpIHtcbiAgICAgICAgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG8pO1xuICAgICAgICBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwcm90bywgdG9XcmFwKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFkZXNjcmlwdG9yIHx8ICFkZXNjcmlwdG9yLndyaXRhYmxlKSB7XG4gICAgICAgIHRoaXMubG9nLmVycm9yKFxuICAgICAgICAgIGBDb3VsZCBub3QgZmluZCBtZXRob2QgJHt0b1dyYXB9IHRvIGJpbmQgT2JzZXJ2YWJsZXMgRGlzcGF0Y2hgXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGJ1bGtUb1NpbmdsZShtZXRob2Q6IHN0cmluZykge1xuICAgICAgICBzd2l0Y2ggKG1ldGhvZCkge1xuICAgICAgICAgIGNhc2UgQnVsa0NydWRPcGVyYXRpb25LZXlzLkNSRUFURV9BTEw6XG4gICAgICAgICAgICByZXR1cm4gT3BlcmF0aW9uS2V5cy5DUkVBVEU7XG4gICAgICAgICAgY2FzZSBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuVVBEQVRFX0FMTDpcbiAgICAgICAgICAgIHJldHVybiBPcGVyYXRpb25LZXlzLlVQREFURTtcbiAgICAgICAgICBjYXNlIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5ERUxFVEVfQUxMOlxuICAgICAgICAgICAgcmV0dXJuIE9wZXJhdGlvbktleXMuREVMRVRFO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gbWV0aG9kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgYmVjYXVzZSB0aGVyZSBhcmUgcmVhZCBvbmx5IHByb3BlcnRpZXNcbiAgICAgIHRoaXMuYWRhcHRlclt0b1dyYXBdID0gbmV3IFByb3h5KHRoaXMuYWRhcHRlclt0b1dyYXBdLCB7XG4gICAgICAgIGFwcGx5OiBhc3luYyAoXG4gICAgICAgICAgdGFyZ2V0OiBhbnksXG4gICAgICAgICAgdGhpc0FyZzogRmFicmljQ2xpZW50QWRhcHRlcixcbiAgICAgICAgICBhcmdBcnJheTogYW55W11cbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgLy8gUnVuIHRoZSBvcmlnaW5hbCBtZXRob2QgdW5jaGFuZ2VkIHNvIHRyYW5zaWVudCBkYXRhIGlzIHByZXNlcnZlZFxuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRhcmdldC5hcHBseSh0aGlzQXJnLCBhcmdBcnJheSk7XG5cbiAgICAgICAgICBjb25zdCBjbGF6ejogQ29uc3RydWN0b3I8YW55PiA9IGFyZ0FycmF5WzBdO1xuICAgICAgICAgIC8vIFdoZW4gc3ludGhldGljRXZlbnRzIGlzIGZhbHNlLCBwdWJsaWMgbW9kZWxzIGVtaXQgYSBjaGFpbmNvZGUgZXZlbnRcbiAgICAgICAgICAvLyBvbiB0aGUgY29udHJhY3Qgc2lkZTsgc2tpcCB0aGUgbG9jYWwgZmFsbGJhY2sgdG8gYXZvaWRcbiAgICAgICAgICAvLyBkb3VibGUtbm90aWZpY2F0aW9uLiBXaGVuIHN5bnRoZXRpY0V2ZW50cyBpcyB0cnVlIHdlIGhhbmRsZSBhbGwgbW9kZWxzLlxuICAgICAgICAgIGlmICghc3ludGhldGljRXZlbnRzICYmICFNb2RlbC5pc1RyYW5zaWVudChjbGF6eikpIHJldHVybiByZXN1bHQ7XG5cbiAgICAgICAgICAvLyBDb250ZXh0IGlzIGFsd2F5cyB0aGUgbGFzdCBlbGVtZW50IG9mIGFyZ0FycmF5XG4gICAgICAgICAgY29uc3QgeyBsb2csIGN0eEFyZ3MsIGN0eCB9ID0gdGhpc0FyZ1tcImxvZ0N0eFwiXShcbiAgICAgICAgICAgIGFyZ0FycmF5LnNsaWNlKGFyZ0FycmF5Lmxlbmd0aCAtIDEpLFxuICAgICAgICAgICAgdGFyZ2V0XG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBpZHMgPSBhcmdBcnJheVsxXTtcbiAgICAgICAgICBjb25zdCByZXN1bHRBcmdzOiBhbnlbXSA9IFtjbGF6eiwgYnVsa1RvU2luZ2xlKHRvV3JhcCksIGlkc107XG5cbiAgICAgICAgICBpZiAoY3R4LmdldE9yVW5kZWZpbmVkKFwib2JzZXJ2ZUZ1bGxSZXN1bHRcIikpIHtcbiAgICAgICAgICAgIHJlc3VsdEFyZ3MucHVzaChyZXN1bHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnVwZGF0ZU9ic2VydmVycyhcbiAgICAgICAgICAgIHJlc3VsdEFyZ3NbMF0sXG4gICAgICAgICAgICByZXN1bHRBcmdzWzFdLFxuICAgICAgICAgICAgcmVzdWx0QXJnc1syXSxcbiAgICAgICAgICAgIC4uLnJlc3VsdEFyZ3Muc2xpY2UoMyksXG4gICAgICAgICAgICAuLi4oY3R4QXJncyBhcyBDb250ZXh0dWFsQXJnczxDb250ZXh0PEZhYnJpY0NsaWVudEZsYWdzPj4pXG4gICAgICAgICAgKS5jYXRjaCgoZTogdW5rbm93bikgPT5cbiAgICAgICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICAgICAgYEZhaWxlZCB0byBkaXNwYXRjaCBvYnNlcnZlciByZWZyZXNoIGZvciAke3RvV3JhcH0gb24gJHtjbGF6ei5uYW1lIHx8IGNsYXp6fSBmb3IgJHtpZHN9OiAke2V9YFxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG5cbmlmIChGYWJyaWNDbGllbnRBZGFwdGVyKVxuICBGYWJyaWNDbGllbnRBZGFwdGVyW1wiX2Jhc2VEaXNwYXRjaFwiXSA9IEZhYnJpY0NsaWVudERpc3BhdGNoO1xuIl19
|
|
291
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFicmljQ2xpZW50RGlzcGF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJGYWJyaWNDbGllbnREaXNwYXRjaC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBdUY7QUFDdkYscUVBQStEO0FBQy9ELDJEQUErRjtBQUMvRixxREFBdUQ7QUFDdkQseUVBQXVEO0FBQ3ZEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsZUFBUTtJQUM5Qzs7OztPQUlHO0lBQ0gsWUFBWSxNQUFNO1FBQ2QsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQjs7V0FFRztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTztRQUNsQixNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsc0JBQWUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQztZQUNELE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1AsR0FBRyxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDO2dCQUNELE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxL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QyxDQUFDLENBQUM7b0JBQzlOLE9BQU8sTUFBTSxDQUFDO2dCQUNsQixDQUFDO2FBQ0osQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUFyT0Qsb0RBcU9DO0FBQ0QsSUFBSSw0Q0FBbUI7SUFDbkIsNENBQW1CLENBQUMsZUFBZSxDQUFDLEdBQUcsb0JBQW9CLENBQUM7QUFDaEUsMGo3QkFBMGo3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkYXB0ZXIsIERpc3BhdGNoLCBVbnN1cHBvcnRlZEVycm9yLCBQZXJzaXN0ZW5jZUtleXMsIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBGYWJyaWNDbGllbnRBZGFwdGVyIH0gZnJvbSBcIi4vRmFicmljQ2xpZW50QWRhcHRlci5qc1wiO1xuaW1wb3J0IHsgQnVsa0NydWRPcGVyYXRpb25LZXlzLCBJbnRlcm5hbEVycm9yLCBPcGVyYXRpb25LZXlzLCB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgcGFyc2VFdmVudE5hbWUgfSBmcm9tIFwiLi8uLi9zaGFyZWQvZXZlbnRzLmpzXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbi8qKlxuICogQGRlc2NyaXB0aW9uIEV2ZW50IGRpc3BhdGNoZXIgZm9yIEh5cGVybGVkZ2VyIEZhYnJpYyBjaGFpbmNvZGUgZXZlbnRzXG4gKiBAc3VtbWFyeSBMaXN0ZW5zIGZvciBhbmQgcHJvY2Vzc2VzIGV2ZW50cyBlbWl0dGVkIGJ5IEZhYnJpYyBjaGFpbmNvZGUsIGRpc3BhdGNoaW5nIHRoZW0gdG8gcmVnaXN0ZXJlZCBvYnNlcnZlcnNcbiAqIEB0ZW1wbGF0ZSBQZWVyQ29uZmlnIC0gQ29uZmlndXJhdGlvbiB0eXBlIGZvciBjb25uZWN0aW5nIHRvIGEgRmFicmljIHBlZXJcbiAqIEBwYXJhbSBjbGllbnQgLSBnUlBDIGNsaWVudCBmb3IgY29ubmVjdGluZyB0byB0aGUgRmFicmljIG5ldHdvcmtcbiAqIEBjbGFzcyBGYWJyaWNDbGllbnREaXNwYXRjaFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENyZWF0ZSBhIG5ldyBGYWJyaWNEaXNwYXRjaCBpbnN0YW5jZVxuICogY29uc3QgY2xpZW50ID0gYXdhaXQgRmFicmljQWRhcHRlci5nZXRDbGllbnQocGVlckNvbmZpZyk7XG4gKiBjb25zdCBkaXNwYXRjaCA9IG5ldyBGYWJyaWNEaXNwYXRjaChjbGllbnQpO1xuICpcbiAqIC8vIENvbmZpZ3VyZSB0aGUgZGlzcGF0Y2ggd2l0aCBwZWVyIGNvbmZpZ3VyYXRpb25cbiAqIGRpc3BhdGNoLmNvbmZpZ3VyZShwZWVyQ29uZmlnKTtcbiAqXG4gKiAvLyBSZWdpc3RlciBhbiBvYnNlcnZlciBmb3IgYSBzcGVjaWZpYyB0YWJsZSBhbmQgZXZlbnRcbiAqIGRpc3BhdGNoLm9ic2VydmUoJ3VzZXJzJywgJ2NyZWF0ZScsIChpZCkgPT4ge1xuICogICBjb25zb2xlLmxvZyhgVXNlciBjcmVhdGVkOiAke2lkfWApO1xuICogfSk7XG4gKlxuICogLy8gU3RhcnQgbGlzdGVuaW5nIGZvciBldmVudHNcbiAqIGF3YWl0IGRpc3BhdGNoLnN0YXJ0KCk7XG4gKiBgYGBcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQ2xpZW50XG4gKiAgIHBhcnRpY2lwYW50IEZhYnJpY0Rpc3BhdGNoXG4gKiAgIHBhcnRpY2lwYW50IEdhdGV3YXlcbiAqICAgcGFydGljaXBhbnQgTmV0d29ya1xuICogICBwYXJ0aWNpcGFudCBDaGFpbmNvZGVcbiAqXG4gKiAgIENsaWVudC0+PkZhYnJpY0Rpc3BhdGNoOiBuZXcgRmFicmljRGlzcGF0Y2goY2xpZW50KVxuICogICBDbGllbnQtPj5GYWJyaWNEaXNwYXRjaDogY29uZmlndXJlKHBlZXJDb25maWcpXG4gKiAgIENsaWVudC0+PkZhYnJpY0Rpc3BhdGNoOiBvYnNlcnZlKHRhYmxlLCBldmVudCwgY2FsbGJhY2spXG4gKiAgIENsaWVudC0+PkZhYnJpY0Rpc3BhdGNoOiBzdGFydCgpXG4gKiAgIEZhYnJpY0Rpc3BhdGNoLT4+RmFicmljRGlzcGF0Y2g6IGluaXRpYWxpemUoKVxuICogICBGYWJyaWNEaXNwYXRjaC0+PkdhdGV3YXk6IGdldEdhdGV3YXkoY29uZmlnLCBjbGllbnQpXG4gKiAgIEdhdGV3YXktPj5OZXR3b3JrOiBnZXROZXR3b3JrKGNoYW5uZWwpXG4gKiAgIE5ldHdvcmstPj5OZXR3b3JrOiBnZXRDaGFpbmNvZGVFdmVudHMoY2hhaW5jb2RlTmFtZSlcbiAqICAgRmFicmljRGlzcGF0Y2gtPj5GYWJyaWNEaXNwYXRjaDogaGFuZGxlRXZlbnRzKClcbiAqICAgbG9vcCBGb3IgZWFjaCBldmVudFxuICogICAgIENoYWluY29kZS0tPj5GYWJyaWNEaXNwYXRjaDogQ2hhaW5jb2RlRXZlbnRcbiAqICAgICBGYWJyaWNEaXNwYXRjaC0+PkZhYnJpY0Rpc3BhdGNoOiBwYXJzZUV2ZW50TmFtZShldmVudE5hbWUpXG4gKiAgICAgRmFicmljRGlzcGF0Y2gtPj5GYWJyaWNEaXNwYXRjaDogcGFyc2VQYXlsb2FkKHBheWxvYWQpXG4gKiAgICAgRmFicmljRGlzcGF0Y2gtPj5GYWJyaWNEaXNwYXRjaDogdXBkYXRlT2JzZXJ2ZXJzKHRhYmxlLCBldmVudCwgaWQpXG4gKiAgICAgRmFicmljRGlzcGF0Y2gtLT4+Q2xpZW50OiBjYWxsYmFjayhpZClcbiAqICAgZW5kXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWJyaWNDbGllbnREaXNwYXRjaCBleHRlbmRzIERpc3BhdGNoIHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyBGYWJyaWNEaXNwYXRjaCBpbnN0YW5jZVxuICAgICAqIEBzdW1tYXJ5IEluaXRpYWxpemVzIGEgZGlzcGF0Y2hlciBmb3IgRmFicmljIGNoYWluY29kZSBldmVudHNcbiAgICAgKiBAcGFyYW0ge0NsaWVudH0gY2xpZW50IC0gZ1JQQyBjbGllbnQgZm9yIGNvbm5lY3RpbmcgdG8gdGhlIEZhYnJpYyBuZXR3b3JrXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY2xpZW50KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY2xpZW50ID0gY2xpZW50O1xuICAgICAgICAvKipcbiAgICAgICAgICogQGRlc2NyaXB0aW9uIFRleHQgZGVjb2RlciBmb3IgY29udmVydGluZyBldmVudCBwYXlsb2FkcyBmcm9tIGJ5dGVzIHRvIHN0cmluZ3NcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuZGVjb2RlciA9IG5ldyBUZXh0RGVjb2RlcihcInV0ZjhcIik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBDbG9zZXMgdGhlIGV2ZW50IGxpc3RlbmluZyBjb25uZWN0aW9uXG4gICAgICogQHN1bW1hcnkgU3RvcHMgbGlzdGVuaW5nIGZvciBjaGFpbmNvZGUgZXZlbnRzIGFuZCByZWxlYXNlcyByZXNvdXJjZXNcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29ubmVjdGlvbiBpcyBjbG9zZWRcbiAgICAgKi9cbiAgICBhc3luYyBjbG9zZSguLi5jdHhBcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nLCBjdHhBcmdzOiBsb2dnZWRBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoY3R4QXJncywgUGVyc2lzdGVuY2VLZXlzLlNIVVRET1dOLCB0cnVlKSkuZm9yKHRoaXMuY2xvc2UpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgc3VwZXIuY2xvc2UoLi4ubG9nZ2VkQXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihgRmFpbGVkIHRvIGNsb3NlIEZhYnJpYyBwcm94aWVzIGV2ZW50IGxpc3RlbmVyYCwgZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubGlzdGVuaW5nU3RhY2spIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5saXN0ZW5pbmdTdGFjay5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IoYEZhaWxlZCB0byBjbG9zZSBGYWJyaWMgZXZlbnQgbGlzdGVuZXJgLCBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdGVuaW5nU3RhY2sgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFBhcnNlcyBldmVudCBwYXlsb2FkIGZyb20gYmluYXJ5IGZvcm1hdFxuICAgICAqIEBzdW1tYXJ5IENvbnZlcnRzIGEgVWludDhBcnJheSBjb250YWluaW5nIEpTT04gdG8gYW4gb2JqZWN0IHdpdGggYW4gaWQgcHJvcGVydHlcbiAgICAgKiBAcGFyYW0ge1VpbnQ4QXJyYXl9IGpzb25CeXRlcyAtIFRoZSBiaW5hcnkgcGF5bG9hZCBmcm9tIHRoZSBjaGFpbmNvZGUgZXZlbnRcbiAgICAgKiBAcmV0dXJuIHt7IGlkOiBzdHJpbmcgfX0gVGhlIHBhcnNlZCBwYXlsb2FkIGNvbnRhaW5pbmcgdGhlIHJlY29yZCBJRFxuICAgICAqL1xuICAgIHBhcnNlUGF5bG9hZChqc29uQnl0ZXMpIHtcbiAgICAgICAgY29uc3QganNvbiA9IHRoaXMuZGVjb2Rlci5kZWNvZGUoanNvbkJ5dGVzKTtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoanNvbik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBTdGFydHMgb2JzZXJ2aW5nIGFuIGFkYXB0ZXJcbiAgICAgKiBAc3VtbWFyeSBDb25uZWN0cyB0aGlzIGRpc3BhdGNoIHRvIGFuIGFkYXB0ZXIgdG8gbW9uaXRvciBpdHMgb3BlcmF0aW9uc1xuICAgICAqIEBwYXJhbSB7QWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+fSBvYnNlcnZlciAtIFRoZSBhZGFwdGVyIHRvIG9ic2VydmVcbiAgICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgICAqL1xuICAgIG9ic2VydmUob2JzZXJ2ZXIpIHtcbiAgICAgICAgaWYgKCEob2JzZXJ2ZXIgaW5zdGFuY2VvZiBGYWJyaWNDbGllbnRBZGFwdGVyKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFwiT25seSBGYWJyaWNDbGllbnRBZGFwdGVyIGNhbiBiZSBvYnNlcnZlZCBieSBkaXNwYXRjaFwiKTtcbiAgICAgICAgc3VwZXIub2JzZXJ2ZShvYnNlcnZlcik7XG4gICAgICAgIHJldHVybiAoKSA9PiB0aGlzLnVuT2JzZXJ2ZShvYnNlcnZlcik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBVcGRhdGVzIG9ic2VydmVycyBhYm91dCBhIGRhdGFiYXNlIGV2ZW50XG4gICAgICogQHN1bW1hcnkgTm90aWZpZXMgb2JzZXJ2ZXJzIGFib3V0IGEgY2hhbmdlIGluIHRoZSBkYXRhYmFzZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZSAtIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSB3aGVyZSB0aGUgY2hhbmdlIG9jY3VycmVkXG4gICAgICogQHBhcmFtIHtPcGVyYXRpb25LZXlzfEJ1bGtDcnVkT3BlcmF0aW9uS2V5c3xzdHJpbmd9IGV2ZW50IC0gVGhlIHR5cGUgb2Ygb3BlcmF0aW9uIHRoYXQgb2NjdXJyZWRcbiAgICAgKiBAcGFyYW0ge2FueX0gcGF5bG9hZCAtIFRoZSBldmVudCBwYXlsb2FkXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiBhbGwgb2JzZXJ2ZXJzIGhhdmUgYmVlbiBub3RpZmllZFxuICAgICAqL1xuICAgIGFzeW5jIHVwZGF0ZU9ic2VydmVycyhtb2RlbCwgZXZlbnQsIGlkLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nLCBjdHhBcmdzIH0gPSBBZGFwdGVyLmxvZ0N0eCh0aGlzLnVwZGF0ZU9ic2VydmVycywgZXZlbnQsIGZhbHNlLCAuLi5hcmdzKTtcbiAgICAgICAgaWYgKCF0aGlzLmFkYXB0ZXIpIHtcbiAgICAgICAgICAgIGxvZy52ZXJib3NlKGBObyBhZGFwdGVyIG9ic2VydmVkIGZvciBkaXNwYXRjaDsgc2tpcHBpbmcgb2JzZXJ2ZXIgdXBkYXRlIGZvciAke3R5cGVvZiBtb2RlbCA9PT0gXCJzdHJpbmdcIiA/IG1vZGVsIDogTW9kZWwudGFibGVOYW1lKG1vZGVsKX06JHtldmVudH1gKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLnJlZnJlc2gobW9kZWwsIGV2ZW50LCBpZCwgLi4uY3R4QXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBGYWlsZWQgdG8gcmVmcmVzaCBkaXNwYXRjaDogJHtlfWApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBQcm9jZXNzZXMgaW5jb21pbmcgY2hhaW5jb2RlIGV2ZW50c1xuICAgICAqIEBzdW1tYXJ5IExpc3RlbnMgZm9yIGV2ZW50cyBmcm9tIHRoZSBjaGFpbmNvZGUgYW5kIGRpc3BhdGNoZXMgdGhlbSB0byByZWdpc3RlcmVkIG9ic2VydmVyc1xuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGV2ZW50IGhhbmRsaW5nIHN0b3BzXG4gICAgICogQG1lcm1haWRcbiAgICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICAgKiAgIHBhcnRpY2lwYW50IEZhYnJpY0Rpc3BhdGNoXG4gICAgICogICBwYXJ0aWNpcGFudCBFdmVudFN0YWNrXG4gICAgICogICBwYXJ0aWNpcGFudCBFdmVudFBhcnNlclxuICAgICAqICAgcGFydGljaXBhbnQgT2JzZXJ2ZXJzXG4gICAgICpcbiAgICAgKiAgIEZhYnJpY0Rpc3BhdGNoLT4+RmFicmljRGlzcGF0Y2g6IGhhbmRsZUV2ZW50cygpXG4gICAgICogICBGYWJyaWNEaXNwYXRjaC0+PkV2ZW50U3RhY2s6IGZvciBhd2FpdCAoY29uc3QgZXZ0IG9mIGxpc3RlbmluZ1N0YWNrKVxuICAgICAqICAgRXZlbnRTdGFjay0tPj5GYWJyaWNEaXNwYXRjaDogQ2hhaW5jb2RlRXZlbnRcbiAgICAgKiAgIEZhYnJpY0Rpc3BhdGNoLT4+RXZlbnRQYXJzZXI6IHBhcnNlRXZlbnROYW1lKGV2dC5ldmVudE5hbWUpXG4gICAgICogICBFdmVudFBhcnNlci0tPj5GYWJyaWNEaXNwYXRjaDogeyB0YWJsZSwgZXZlbnQsIG93bmVyIH1cbiAgICAgKiAgIEZhYnJpY0Rpc3BhdGNoLT4+RmFicmljRGlzcGF0Y2g6IENoZWNrIGlmIGV2ZW50IGlzIGZvciB0aGlzIE1TUFxuICAgICAqICAgRmFicmljRGlzcGF0Y2gtPj5GYWJyaWNEaXNwYXRjaDogcGFyc2VQYXlsb2FkKGV2dC5wYXlsb2FkKVxuICAgICAqICAgRmFicmljRGlzcGF0Y2gtPj5PYnNlcnZlcnM6IHVwZGF0ZU9ic2VydmVycyh0YWJsZSwgZXZlbnQsIHBheWxvYWQuaWQpXG4gICAgICogICBPYnNlcnZlcnMtLT4+RmFicmljRGlzcGF0Y2g6IENhbGxiYWNrcyBleGVjdXRlZFxuICAgICAqL1xuICAgIGFzeW5jIGhhbmRsZUV2ZW50cyhjdHhBcmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLmxpc3RlbmluZ1N0YWNrKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYEV2ZW50IHN0YWNrIG5vdCBpbml0aWFsaXplZC4gRW5zdXJlIHRoYXQgXCJzdGFydExpc3RlbmluZ1wiIGlzIGNhbGxlZCBiZWZvcmUgYXR0ZW1wdGluZyB0aGlzIG9wZXJhdGlvbi5gKTtcbiAgICAgICAgaWYgKCF0aGlzLmFkYXB0ZXIgfHwgIXRoaXMuYWRhcHRlci5jb25maWcpXG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTm8gYWRhcHRlciBmb3VuZC4gc2hvdWxkIGJlIGltcG9zc2libGVgKTtcbiAgICAgICAgY29uc3QgY3R4ID0gY3R4QXJnIHx8XG4gICAgICAgICAgICAoYXdhaXQgdGhpcy5hZGFwdGVyLmNvbnRleHQoT3BlcmF0aW9uS2V5cy5SRUFELCB7XG4gICAgICAgICAgICAgICAgY29ycmVsYXRpb25JZDogdGhpcy5hZGFwdGVyLmNvbmZpZy5jaGFpbmNvZGVOYW1lLFxuICAgICAgICAgICAgfSwgKHRoaXMubW9kZWxzICYmIHRoaXMubW9kZWxzWzBdKSB8fCBNb2RlbCkpO1xuICAgICAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5oYW5kbGVFdmVudHMpO1xuICAgICAgICBsb2cuaW5mbyhgTGlzdGVuaW5nIGZvciBpbmNvbWluZyBldmVudHMgb24gY2hhaW5jb2RlIFwiJHt0aGlzLmFkYXB0ZXIuY29uZmlnLmNoYWluY29kZU5hbWV9XCIgb24gY2hhbm5lbCBcIiR7dGhpcy5hZGFwdGVyLmNvbmZpZy5jaGFubmVsfVwiLi4uYCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBmb3IgYXdhaXQgKGNvbnN0IGV2dCBvZiB0aGlzLmxpc3RlbmluZ1N0YWNrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB0YWJsZSwgZXZlbnQsIG93bmVyIH0gPSBwYXJzZUV2ZW50TmFtZShldnQuZXZlbnROYW1lKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hZGFwdGVyLmNvbmZpZz8ubXNwRXZlbnRPbmx5ICYmXG4gICAgICAgICAgICAgICAgICAgIG93bmVyICYmXG4gICAgICAgICAgICAgICAgICAgIG93bmVyICE9PSB0aGlzLmFkYXB0ZXIuY29uZmlnPy5tc3BJZClcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF5bG9hZCA9IHRoaXMucGFyc2VQYXlsb2FkKGV2dC5wYXlsb2FkKTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRNb2RlbCA9IHRhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICA/IE1vZGVsLmdldCh0YWJsZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogTW9kZWwuZ2V0KHRoaXMubW9kZWxzWzBdLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb2RlbFJlZiA9IHRhcmdldE1vZGVsID8/ICh0YWJsZSB8fCB0aGlzLm1vZGVsc1swXT8ubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyQXJncyA9IHBheWxvYWQucmVzdWx0ID8gW3BheWxvYWQucmVzdWx0LCBjdHhdIDogW2N0eF07XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlT2JzZXJ2ZXJzKG1vZGVsUmVmLCBldmVudCwgcGF5bG9hZC5pZCwgLi4ub2JzZXJ2ZXJBcmdzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgbG9nLmVycm9yKGBGYWlsZWQgdXBkYXRlIG9ic2VydmFibGVzIGZvciB0YWJsZSAke3RhYmxlfSBldmVudCAke2V2ZW50fSBpZDogJHtwYXlsb2FkLmlkfTogJHtlfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgbG9nLmVycm9yKGBGYWlsZWQgdG8gcmVhZCBldmVudCBmb3IgY2hhaW5jb2RlIFwiJHt0aGlzLmFkYXB0ZXIuY29uZmlnLmNoYWluY29kZU5hbWV9XCIgb24gY2hhbm5lbCBcIiR7dGhpcy5hZGFwdGVyLmNvbmZpZy5jaGFubmVsfVwiOiAke2V9YCk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNsb3NlKGN0eCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIHRoZSBldmVudCBsaXN0ZW5lclxuICAgICAqIEBzdW1tYXJ5IFNldHMgdXAgZXZlbnQgZGlzcGF0Y2hpbmcgZm9yIHRoZSBvYnNlcnZlZCBhZGFwdGVyLiBXaGVuXG4gICAgICogYHN5bnRoZXRpY0V2ZW50c2AgaXMgdHJ1ZSAodGhlIGRlZmF1bHQpIG5vIGdhdGV3YXkgY29ubmVjdGlvbiBpcyBvcGVuZWQ7XG4gICAgICogaW5zdGVhZCBldmVyeSBDUlVEIG9wZXJhdGlvbiBpcyB3cmFwcGVkIHdpdGggYSBQcm94eSB0aGF0IGZpcmVzXG4gICAgICogYHVwZGF0ZU9ic2VydmVyc2AgZm9yICoqYWxsKiogbW9kZWxzLiBXaGVuIGBzeW50aGV0aWNFdmVudHNgIGlzIGZhbHNlIHRoZVxuICAgICAqIGV4aXN0aW5nIGdhdGV3YXktYmFzZWQgY2hhaW5jb2RlLWV2ZW50IHN1YnNjcmlwdGlvbiBpcyBlc3RhYmxpc2hlZCBhbmQgdGhlXG4gICAgICogbG9jYWwgUHJveHkgZmFsbGJhY2sgaXMgbGltaXRlZCB0byBmdWxseS1zZWdyZWdhdGVkICh0cmFuc2llbnQpIG1vZGVscyBvbmx5LlxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlXG4gICAgICovXG4gICAgYXN5bmMgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmFkYXB0ZXIpXG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTm8gYWRhcHRlciBvciBjb25maWcgb2JzZXJ2ZWQgZm9yIGRpc3BhdGNoYCk7XG4gICAgICAgIGNvbnN0IHN5bnRoZXRpY0V2ZW50cyA9IHRoaXMuYWRhcHRlci5jb25maWcuc3ludGhldGljRXZlbnRzICE9PSBmYWxzZTtcbiAgICAgICAgaWYgKCFzeW50aGV0aWNFdmVudHMpIHtcbiAgICAgICAgICAgIC8vIEdhdGV3YXktYmFzZWQgY2hhaW5jb2RlLWV2ZW50IHN1YnNjcmlwdGlvbiAobm9uLXN5bnRoZXRpYyBwYXRoKVxuICAgICAgICAgICAgY29uc3QgY29udGV4dCA9IGF3YWl0IHRoaXMuYWRhcHRlci5jb250ZXh0KFwiZGlzcGF0Y2hcIiwge1xuICAgICAgICAgICAgICAgIGNvcnJlbGF0aW9uSWQ6IHRoaXMuYWRhcHRlci5jb25maWcuY2hhaW5jb2RlTmFtZSxcbiAgICAgICAgICAgIH0sIE1vZGVsKTtcbiAgICAgICAgICAgIGNvbnN0IHsgY3R4IH0gPSB0aGlzLmxvZ0N0eChbY29udGV4dF0sIHRoaXMuaW5pdGlhbGl6ZSk7XG4gICAgICAgICAgICBjb25zdCBnYXRld2F5ID0gYXdhaXQgRmFicmljQ2xpZW50QWRhcHRlci5nZXRHYXRld2F5KGN0eCwgdGhpcy5hZGFwdGVyLmNvbmZpZywgdGhpcy5jbGllbnQpO1xuICAgICAgICAgICAgY29uc3QgbmV0d29yayA9IGdhdGV3YXkuZ2V0TmV0d29yayh0aGlzLmFkYXB0ZXIuY29uZmlnLmNoYW5uZWwpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmFkYXB0ZXIpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE5vIGFkYXB0ZXIgb2JzZXJ2ZWQgZm9yIGRpc3BhdGNoYCk7XG4gICAgICAgICAgICB0aGlzLmxpc3RlbmluZ1N0YWNrID0gYXdhaXQgbmV0d29yay5nZXRDaGFpbmNvZGVFdmVudHModGhpcy5hZGFwdGVyLmNvbmZpZy5jaGFpbmNvZGVOYW1lKTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXZlbnRzKGN0eCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUHJveHkgQ1JVRCBtZXRob2RzLlxuICAgICAgICAvLyDigKIgc3ludGhldGljRXZlbnRzID0gdHJ1ZSAg4oaSIG5vdGlmeSBmb3IgQUxMIG1vZGVscyAocmVwbGFjZXMgZ2F0ZXdheSBldmVudHMgZW50aXJlbHkpXG4gICAgICAgIC8vIOKAoiBzeW50aGV0aWNFdmVudHMgPSBmYWxzZSDihpIgbm90aWZ5IG9ubHkgZm9yIGZ1bGx5LXNlZ3JlZ2F0ZWQgKHRyYW5zaWVudCkgbW9kZWxzXG4gICAgICAgIC8vICAgKHRoZSBnYXRld2F5IHN1YnNjcmlwdGlvbiBoYW5kbGVzIHB1YmxpYyBtb2RlbHMpXG4gICAgICAgIFtcbiAgICAgICAgICAgIE9wZXJhdGlvbktleXMuQ1JFQVRFLFxuICAgICAgICAgICAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gICAgICAgICAgICBPcGVyYXRpb25LZXlzLkRFTEVURSxcbiAgICAgICAgICAgIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5DUkVBVEVfQUxMLFxuICAgICAgICAgICAgQnVsa0NydWRPcGVyYXRpb25LZXlzLlVQREFURV9BTEwsXG4gICAgICAgICAgICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuREVMRVRFX0FMTCxcbiAgICAgICAgXS5mb3JFYWNoKCh0b1dyYXApID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5hZGFwdGVyKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBObyBhZGFwdGVyIHByb3ZpZGVkIGZvciB0aGUgZmFsbGJhY2sgb2YgZnVsbHkgc2VncmVnYXRlZCBtb2RlbHNgKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5hZGFwdGVyW3RvV3JhcF0pXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE1ldGhvZCAke3RvV3JhcH0gbm90IGZvdW5kIGluICR7dGhpcy5hZGFwdGVyLmFsaWFzfSBhZGFwdGVyIHRvIGJpbmQgT2JzZXJ2YWJsZXMgRGlzcGF0Y2hgKTtcbiAgICAgICAgICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0aGlzLmFkYXB0ZXIsIHRvV3JhcCk7XG4gICAgICAgICAgICBsZXQgcHJvdG8gPSB0aGlzLmFkYXB0ZXI7XG4gICAgICAgICAgICB3aGlsZSAoIWRlc2NyaXB0b3IgJiYgcHJvdG8gIT09IE9iamVjdC5wcm90b3R5cGUpIHtcbiAgICAgICAgICAgICAgICBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90byk7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocHJvdG8sIHRvV3JhcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWRlc2NyaXB0b3IgfHwgIWRlc2NyaXB0b3Iud3JpdGFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcihgQ291bGQgbm90IGZpbmQgbWV0aG9kICR7dG9XcmFwfSB0byBiaW5kIE9ic2VydmFibGVzIERpc3BhdGNoYCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZnVuY3Rpb24gYnVsa1RvU2luZ2xlKG1ldGhvZCkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAobWV0aG9kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgQnVsa0NydWRPcGVyYXRpb25LZXlzLkNSRUFURV9BTEw6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT3BlcmF0aW9uS2V5cy5DUkVBVEU7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgQnVsa0NydWRPcGVyYXRpb25LZXlzLlVQREFURV9BTEw6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT3BlcmF0aW9uS2V5cy5VUERBVEU7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgQnVsa0NydWRPcGVyYXRpb25LZXlzLkRFTEVURV9BTEw6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT3BlcmF0aW9uS2V5cy5ERUxFVEU7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWV0aG9kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgYmVjYXVzZSB0aGVyZSBhcmUgcmVhZCBvbmx5IHByb3BlcnRpZXNcbiAgICAgICAgICAgIHRoaXMuYWRhcHRlclt0b1dyYXBdID0gbmV3IFByb3h5KHRoaXMuYWRhcHRlclt0b1dyYXBdLCB7XG4gICAgICAgICAgICAgICAgYXBwbHk6IGFzeW5jICh0YXJnZXQsIHRoaXNBcmcsIGFyZ0FycmF5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFJ1biB0aGUgb3JpZ2luYWwgbWV0aG9kIHVuY2hhbmdlZCBzbyB0cmFuc2llbnQgZGF0YSBpcyBwcmVzZXJ2ZWRcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGFyZ2V0LmFwcGx5KHRoaXNBcmcsIGFyZ0FycmF5KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xhenogPSBhcmdBcnJheVswXTtcbiAgICAgICAgICAgICAgICAgICAgLy8gV2hlbiBzeW50aGV0aWNFdmVudHMgaXMgZmFsc2UsIHB1YmxpYyBtb2RlbHMgZW1pdCBhIGNoYWluY29kZSBldmVudFxuICAgICAgICAgICAgICAgICAgICAvLyBvbiB0aGUgY29udHJhY3Qgc2lkZTsgc2tpcCB0aGUgbG9jYWwgZmFsbGJhY2sgdG8gYXZvaWRcbiAgICAgICAgICAgICAgICAgICAgLy8gZG91YmxlLW5vdGlmaWNhdGlvbi4gV2hlbiBzeW50aGV0aWNFdmVudHMgaXMgdHJ1ZSB3ZSBoYW5kbGUgYWxsIG1vZGVscy5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzeW50aGV0aWNFdmVudHMgJiYgIU1vZGVsLmlzVHJhbnNpZW50KGNsYXp6KSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgIC8vIENvbnRleHQgaXMgYWx3YXlzIHRoZSBsYXN0IGVsZW1lbnQgb2YgYXJnQXJyYXlcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBsb2csIGN0eEFyZ3MsIGN0eCB9ID0gdGhpc0FyZ1tcImxvZ0N0eFwiXShhcmdBcnJheS5zbGljZShhcmdBcnJheS5sZW5ndGggLSAxKSwgdGFyZ2V0KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaWRzID0gYXJnQXJyYXlbMV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdEFyZ3MgPSBbY2xhenosIGJ1bGtUb1NpbmdsZSh0b1dyYXApLCBpZHNdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY3R4LmdldE9yVW5kZWZpbmVkKFwib2JzZXJ2ZUZ1bGxSZXN1bHRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdEFyZ3MucHVzaChyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlT2JzZXJ2ZXJzKHJlc3VsdEFyZ3NbMF0sIHJlc3VsdEFyZ3NbMV0sIHJlc3VsdEFyZ3NbMl0sIC4uLnJlc3VsdEFyZ3Muc2xpY2UoMyksIC4uLmN0eEFyZ3MpLmNhdGNoKChlKSA9PiBsb2cuZXJyb3IoYEZhaWxlZCB0byBkaXNwYXRjaCBvYnNlcnZlciByZWZyZXNoIGZvciAke3RvV3JhcH0gb24gJHtjbGF6ei5uYW1lIHx8IGNsYXp6fSBmb3IgJHtpZHN9OiAke2V9YCkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuaWYgKEZhYnJpY0NsaWVudEFkYXB0ZXIpXG4gICAgRmFicmljQ2xpZW50QWRhcHRlcltcIl9iYXNlRGlzcGF0Y2hcIl0gPSBGYWJyaWNDbGllbnREaXNwYXRjaDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVJtRmljbWxqUTJ4cFpXNTBSR2x6Y0dGMFkyZ3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk5emNtTXZZMnhwWlc1MEwwWmhZbkpwWTBOc2FXVnVkRVJwYzNCaGRHTm9MblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFOUJRVThzUlVGRFRDeFBRVUZQTEVWQlJWQXNVVUZCVVN4RlFVVlNMR2RDUVVGblFpeEZRVWRvUWl4bFFVRmxMRWRCUTJoQ0xFMUJRVTBzWjBKQlFXZENMRU5CUVVNN1FVRkhlRUlzVDBGQlR5eEZRVUZGTEcxQ1FVRnRRaXhGUVVGRkxHbERRVUU0UWp0QlFVTTFSQ3hQUVVGUExFVkJRMHdzY1VKQlFYRkNMRVZCUTNKQ0xHRkJRV0VzUlVGRFlpeGhRVUZoTEVkQlEyUXNUVUZCVFN4NVFrRkJlVUlzUTBGQlF6dEJRVXRxUXl4UFFVRlBMRVZCUVVVc1kwRkJZeXhGUVVGRkxEaENRVUY1UWp0QlFVTnNSQ3hQUVVGUExFVkJRVVVzUzBGQlN5eEZRVUZGTEUxQlFVMHNaME5CUVdkRExFTkJRVU03UVVGSmRrUTdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPMGRCSzBOSE8wRkJRMGdzVFVGQlRTeFBRVUZQTEc5Q1FVRnhRaXhUUVVGUkxGRkJRVFpDTzBsQlYzSkZPenM3TzA5QlNVYzdTVUZEU0N4WlFVRnpRaXhOUVVGak8xRkJRMnhETEV0QlFVc3NSVUZCUlN4RFFVRkRPMUZCUkZrc1YwRkJUU3hIUVVGT0xFMUJRVTBzUTBGQlVUdFJRVlp3UXpzN1YwRkZSenRSUVVOTExGbEJRVThzUjBGQlJ5eEpRVUZKTEZkQlFWY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRKUVZNeFF5eERRVUZETzBsQlJVUTdPenM3VDBGSlJ6dEpRVU5OTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUTJ4Q0xFZEJRVWNzVDBGQmJVUTdVVUZGZEVRc1RVRkJUU3hGUVVGRkxFZEJRVWNzUlVGQlJTeFBRVUZQTEVWQlFVVXNWVUZCVlN4RlFVRkZMRWRCUVVjc1EwRkRia01zVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTlCUVU4c1JVRkJSU3hsUVVGbExFTkJRVU1zVVVGQlVTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVTXpSQ3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRiRUlzU1VGQlNTeERRVUZETzFsQlEwZ3NUVUZCVFN4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzVlVGQlZTeERRVUZETEVOQlFVTTdVVUZEYmtNc1EwRkJRenRSUVVGRExFOUJRVThzUTBGQlZTeEZRVUZGTEVOQlFVTTdXVUZEY0VJc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5d3JRMEZCSzBNc1JVRkJSU3hEUVVGVkxFTkJRVU1zUTBGQlF6dFJRVU42UlN4RFFVRkRPMUZCUTBRc1NVRkJTU3hKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZGTEVOQlFVTTdXVUZEZUVJc1NVRkJTU3hEUVVGRE8yZENRVU5JTEUxQlFVMHNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF6dFpRVU53UXl4RFFVRkRPMWxCUVVNc1QwRkJUeXhEUVVGVkxFVkJRVVVzUTBGQlF6dG5Ra0ZEY0VJc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eDFRMEZCZFVNc1JVRkJSU3hEUVVGVkxFTkJRVU1zUTBGQlF6dFpRVU5xUlN4RFFVRkRPMjlDUVVGVExFTkJRVU03WjBKQlExUXNTVUZCU1N4RFFVRkRMR05CUVdNc1IwRkJSeXhUUVVGVExFTkJRVU03V1VGRGJFTXNRMEZCUXp0UlFVTklMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSVVE3T3pzN08wOUJTMGM3U1VGRFN5eFpRVUZaTEVOQlFVTXNVMEZCY1VJN1VVRkRlRU1zVFVGQlRTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdVVUZETlVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpGQ0xFTkJRVU03U1VGRlJEczdPenM3VDBGTFJ6dEpRVU5OTEU5QlFVOHNRMEZCUXl4UlFVRnhRenRSUVVOd1JDeEpRVUZKTEVOQlFVTXNRMEZCUXl4UlFVRlJMRmxCUVZrc2JVSkJRVzFDTEVOQlFVTTdXVUZETlVNc1RVRkJUU3hKUVVGSkxHZENRVUZuUWl4RFFVTjRRaXh6UkVGQmMwUXNRMEZEZGtRc1EwRkJRenRSUVVOS0xFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNVVUZCSzBJc1EwRkJReXhEUVVGRE8xRkJReTlETEU5QlFVOHNSMEZCUnl4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0SlFVTjRReXhEUVVGRE8wbEJSVVE3T3pzN096czdUMEZQUnp0SlFVTk5MRXRCUVVzc1EwRkJReXhsUVVGbExFTkJRelZDTEV0QlFXZERMRVZCUTJoRExFdEJRWEZFTEVWQlEzSkVMRVZCUVZrc1JVRkRXaXhIUVVGSExFbEJRV2RFTzFGQlJXNUVMRTFCUVUwc1JVRkJSU3hIUVVGSExFVkJRVVVzVDBGQlR5eEZRVUZGTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkRja01zU1VGQlNTeERRVUZETEdWQlFXVXNSVUZEY0VJc1MwRkJTeXhGUVVOTUxFdEJRVXNzUlVGRFRDeEhRVUZITEVsQlFVa3NRMEZEVWl4RFFVRkRPMUZCUTBZc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0WlFVTnNRaXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVU5VTEd0RlFVRnJSU3hQUVVGUExFdEJRVXNzUzBGQlN5eFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hMUVVGTExFVkJRVVVzUTBGRGVFa3NRMEZCUXp0WlFVTkdMRTlCUVU4N1VVRkRWQ3hEUVVGRE8xRkJRMFFzU1VGQlNTeERRVUZETzFsQlEwZ3NUVUZCVFN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eExRVUZMTEVWQlFVVXNTMEZCU3l4RlFVRkZMRVZCUVVVc1JVRkJSU3hIUVVGSExFOUJRVThzUTBGQlF5eERRVUZETzFGQlF6TkVMRU5CUVVNN1VVRkJReXhQUVVGUExFTkJRVlVzUlVGQlJTeERRVUZETzFsQlEzQkNMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRVU1zSzBKQlFTdENMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRE9VUXNRMEZCUXp0SlFVTklMRU5CUVVNN1NVRkZSRHM3T3pzN096czdPenM3T3pzN096czdPenM3VDBGdlFrYzdTVUZEVHl4TFFVRkxMRU5CUVVNc1dVRkJXU3hEUVVNeFFpeE5RVUZ0UXp0UlFVVnVReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEdOQlFXTTdXVUZEZEVJc1RVRkJUU3hKUVVGSkxHRkJRV0VzUTBGRGNrSXNkVWRCUVhWSExFTkJRM2hITEVOQlFVTTdVVUZGU2l4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUVHRaUVVOMlF5eE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVRkRMSGREUVVGM1F5eERRVUZETEVOQlFVTTdVVUZGY0VVc1RVRkJUU3hIUVVGSExFZEJRMUFzVFVGQlRUdFpRVU5PTEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGRGVrSXNZVUZCWVN4RFFVRkRMRWxCUVVrc1JVRkRiRUk3WjBKQlEwVXNZVUZCWVN4RlFVRkZMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEdGQlFXRTdZVUZEYWtRc1JVRkRSQ3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZMTEV0QlFXZERMRU5CUTNKRkxFTkJRVU1zUTBGQlF6dFJRVU5NTEUxQlFVMHNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenRSUVVVMVF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVTk9MQ3REUVVFclF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhoUVVGaExHbENRVUZwUWl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eFBRVUZQTEUxQlFVMHNRMEZEYmtrc1EwRkJRenRSUVVWR0xFbEJRVWtzUTBGQlF6dFpRVU5JTEVsQlFVa3NTMEZCU3l4RlFVRkZMRTFCUVUwc1IwRkJSeXhKUVVGSkxFbEJRVWtzUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXp0blFrRkROVU1zVFVGQlRTeEZRVUZGTEV0QlFVc3NSVUZCUlN4TFFVRkxMRVZCUVVVc1MwRkJTeXhGUVVGRkxFZEJRVWNzWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRuUWtGRE9VUXNTVUZEUlN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTBzUlVGQlJTeFpRVUZaTzI5Q1FVTnFReXhMUVVGTE8yOUNRVU5NTEV0QlFVc3NTMEZCU3l4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTBzUlVGQlJTeExRVUZMTzI5Q1FVVndReXhUUVVGVE8yZENRVU5ZTEUxQlFVMHNUMEZCVHl4SFFVRnBReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVU0zUkN4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVOYUxFTkJRVU03WjBKQlEwWXNTVUZCU1N4RFFVRkRPMjlDUVVOSUxFMUJRVTBzVjBGQlZ5eEhRVUZITEV0QlFVczdkMEpCUTNaQ0xFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJRenQzUWtGRGJFSXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dHZRa0ZEYmtNc1RVRkJUU3hSUVVGUkxFZEJRVWNzVjBGQlZ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN2IwSkJRMmhGTEUxQlFVMHNXVUZCV1N4SFFVRkhMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenR2UWtGRGNFVXNUVUZCVFN4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVONFFpeFJRVUZuUXl4RlFVTm9ReXhMUVVGTExFVkJRMHdzVDBGQlR5eERRVUZETEVWQlFWa3NSVUZEY0VJc1IwRkJTU3haUVVGdlF5eERRVU42UXl4RFFVRkRPMmRDUVVOS0xFTkJRVU03WjBKQlFVTXNUMEZCVHl4RFFVRlZMRVZCUVVVc1EwRkJRenR2UWtGRGNFSXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkRVQ3gxUTBGQmRVTXNTMEZCU3l4VlFVRlZMRXRCUVVzc1VVRkJVU3hQUVVGUExFTkJRVU1zUlVGQlJTeExRVUZMTEVOQlFVTXNSVUZCUlN4RFFVTjBSaXhEUVVGRE8yZENRVU5LTEVOQlFVTTdXVUZEU0N4RFFVRkRPMUZCUTBnc1EwRkJRenRSUVVGRExFOUJRVThzUTBGQlRTeEZRVUZGTEVOQlFVTTdXVUZEYUVJc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGRFVDeDFRMEZCZFVNc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNZVUZCWVN4cFFrRkJhVUlzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1QwRkJUeXhOUVVGTkxFTkJRVU1zUlVGQlJTeERRVU01U0N4RFFVRkRPMWxCUTBZc1RVRkJUU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTNoQ0xFTkJRVU03U1VGRFNDeERRVUZETzBsQlJVUTdPenM3T3pzN096dFBRVk5ITzBsQlEyZENMRXRCUVVzc1EwRkJReXhWUVVGVk8xRkJRMnBETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUenRaUVVObUxFMUJRVTBzU1VGQlNTeGhRVUZoTEVOQlFVTXNORU5CUVRSRExFTkJRVU1zUTBGQlF6dFJRVVY0UlN4TlFVRk5MR1ZCUVdVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4bFFVRmxMRXRCUVVzc1MwRkJTeXhEUVVGRE8xRkJSWFJGTEVsQlFVa3NRMEZCUXl4bFFVRmxMRVZCUVVVc1EwRkJRenRaUVVOeVFpeHJSVUZCYTBVN1dVRkRiRVVzVFVGQlRTeFBRVUZQTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGRGVFTXNWVUZCVlN4RlFVTldPMmRDUVVORkxHRkJRV0VzUlVGQlJTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhoUVVGaE8yRkJRMnBFTEVWQlEwUXNTMEZCV1N4RFFVTmlMRU5CUVVNN1dVRkRSaXhOUVVGTkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRaUVVONFJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRzFDUVVGdFFpeERRVUZETEZWQlFWVXNRMEZEYkVRc1IwRkJSeXhGUVVOSUxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCYjBJc1JVRkRha01zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZEV2l4RFFVRkRPMWxCUTBZc1RVRkJUU3hQUVVGUExFZEJRVWNzVDBGQlR5eERRVUZETEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0WlFVTm9SU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVODdaMEpCUTJZc1RVRkJUU3hKUVVGSkxHRkJRV0VzUTBGQlF5eHJRMEZCYTBNc1EwRkJReXhEUVVGRE8xbEJRemxFTEVsQlFVa3NRMEZCUXl4alFVRmpMRWRCUVVjc1RVRkJUU3hQUVVGUExFTkJRVU1zYTBKQlFXdENMRU5CUTNCRUxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMR0ZCUVdFc1EwRkRiRU1zUTBGQlF6dFpRVU5HTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGVrSXNRMEZCUXp0UlFVVkVMSE5DUVVGelFqdFJRVU4wUWl4MVJrRkJkVVk3VVVGRGRrWXNhMFpCUVd0R08xRkJRMnhHTEhGRVFVRnhSRHRSUVVWdVJEdFpRVU5GTEdGQlFXRXNRMEZCUXl4TlFVRk5PMWxCUTNCQ0xHRkJRV0VzUTBGQlF5eE5RVUZOTzFsQlEzQkNMR0ZCUVdFc1EwRkJReXhOUVVGTk8xbEJRM0JDTEhGQ1FVRnhRaXhEUVVGRExGVkJRVlU3V1VGRGFFTXNjVUpCUVhGQ0xFTkJRVU1zVlVGQlZUdFpRVU5vUXl4eFFrRkJjVUlzUTBGQlF5eFZRVUZWTzFOQlJXNURMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVTdXVUZEYmtJc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTzJkQ1FVTm1MRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRM0pDTEdsRlFVRnBSU3hEUVVOc1JTeERRVUZETzFsQlEwb3NTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETzJkQ1FVTjJRaXhOUVVGTkxFbEJRVWtzWVVGQllTeERRVU55UWl4VlFVRlZMRTFCUVUwc2FVSkJRV2xDTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1MwRkJTeXgxUTBGQmRVTXNRMEZETTBZc1EwRkJRenRaUVVWS0xFbEJRVWtzVlVGQlZTeEhRVUZITEUxQlFVMHNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8xbEJRM1pGTEVsQlFVa3NTMEZCU3l4SFFVRlJMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU03V1VGRE9VSXNUMEZCVHl4RFFVRkRMRlZCUVZVc1NVRkJTU3hMUVVGTExFdEJRVXNzVFVGQlRTeERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMmRDUVVOcVJDeExRVUZMTEVkQlFVY3NUVUZCVFN4RFFVRkRMR05CUVdNc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dG5Ra0ZEY2tNc1ZVRkJWU3hIUVVGSExFMUJRVTBzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhMUVVGTExFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTTdXVUZET1VRc1EwRkJRenRaUVVWRUxFbEJRVWtzUTBGQlF5eFZRVUZWTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU03WjBKQlEzaERMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVU5hTEhsQ1FVRjVRaXhOUVVGTkxDdENRVUVyUWl4RFFVTXZSQ3hEUVVGRE8yZENRVU5HTEU5QlFVODdXVUZEVkN4RFFVRkRPMWxCUTBRc1UwRkJVeXhaUVVGWkxFTkJRVU1zVFVGQll6dG5Ra0ZEYkVNc1VVRkJVU3hOUVVGTkxFVkJRVVVzUTBGQlF6dHZRa0ZEWml4TFFVRkxMSEZDUVVGeFFpeERRVUZETEZWQlFWVTdkMEpCUTI1RExFOUJRVThzWVVGQllTeERRVUZETEUxQlFVMHNRMEZCUXp0dlFrRkRPVUlzUzBGQlN5eHhRa0ZCY1VJc1EwRkJReXhWUVVGVk8zZENRVU51UXl4UFFVRlBMR0ZCUVdFc1EwRkJReXhOUVVGTkxFTkJRVU03YjBKQlF6bENMRXRCUVVzc2NVSkJRWEZDTEVOQlFVTXNWVUZCVlR0M1FrRkRia01zVDBGQlR5eGhRVUZoTEVOQlFVTXNUVUZCVFN4RFFVRkRPMjlDUVVNNVFqdDNRa0ZEUlN4UFFVRlBMRTFCUVUwc1EwRkJRenRuUWtGRGJFSXNRMEZCUXp0WlFVTklMRU5CUVVNN1dVRkZSQ3d3UkVGQk1FUTdXVUZETVVRc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZPMmRDUVVOeVJDeExRVUZMTEVWQlFVVXNTMEZCU3l4RlFVTldMRTFCUVZjc1JVRkRXQ3hQUVVFMFFpeEZRVU0xUWl4UlFVRmxMRVZCUTJZc1JVRkJSVHR2UWtGRFJpeHRSVUZCYlVVN2IwSkJRMjVGTEUxQlFVMHNUVUZCVFN4SFFVRkhMRTFCUVUwc1RVRkJUU3hEUVVGRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNVVUZCVVN4RFFVRkRMRU5CUVVNN2IwSkJSWEpFTEUxQlFVMHNTMEZCU3l4SFFVRnhRaXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdiMEpCUXpWRExITkZRVUZ6UlR0dlFrRkRkRVVzZVVSQlFYbEVPMjlDUVVONlJDd3dSVUZCTUVVN2IwSkJRekZGTEVsQlFVa3NRMEZCUXl4bFFVRmxMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVjBGQlZ5eERRVUZETEV0QlFVc3NRMEZCUXp0M1FrRkJSU3hQUVVGUExFMUJRVTBzUTBGQlF6dHZRa0ZGYWtVc2FVUkJRV2xFTzI5Q1FVTnFSQ3hOUVVGTkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEU5QlFVOHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlF6ZERMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1JVRkRia01zVFVGQlRTeERRVU5RTEVOQlFVTTdiMEpCUTBZc1RVRkJUU3hIUVVGSExFZEJRVWNzVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVONFFpeE5RVUZOTEZWQlFWVXNSMEZCVlN4RFFVRkRMRXRCUVVzc1JVRkJSU3haUVVGWkxFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN2IwSkJSVGRFTEVsQlFVa3NSMEZCUnl4RFFVRkRMR05CUVdNc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4RlFVRkZMRU5CUVVNN2QwSkJRelZETEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03YjBKQlF6RkNMRU5CUVVNN2IwSkJRMFFzU1VGQlNTeERRVUZETEdWQlFXVXNRMEZEYkVJc1ZVRkJWU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVU5pTEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkRZaXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlEySXNSMEZCUnl4VlFVRlZMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVU4wUWl4SFFVRkpMRTlCUVhORUxFTkJRek5FTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJWU3hGUVVGRkxFVkJRVVVzUTBGRGNrSXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkRVQ3d5UTBGQk1rTXNUVUZCVFN4UFFVRlBMRXRCUVVzc1EwRkJReXhKUVVGSkxFbEJRVWtzUzBGQlN5eFJRVUZSTEVkQlFVY3NTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkRMMFlzUTBGRFJpeERRVUZETzI5Q1FVTkdMRTlCUVU4c1RVRkJUU3hEUVVGRE8yZENRVU5vUWl4RFFVRkRPMkZCUTBZc1EwRkJReXhEUVVGRE8xRkJRMHdzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEVEN4RFFVRkRPME5CUTBZN1FVRkZSQ3hKUVVGSkxHMUNRVUZ0UWp0SlFVTnlRaXh0UWtGQmJVSXNRMEZCUXl4bFFVRmxMRU5CUVVNc1IwRkJSeXh2UWtGQmIwSXNRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN1hHNGdJRUZrWVhCMFpYSXNYRzRnSUVOdmJuUmxlSFIxWVd4QmNtZHpMRnh1SUNCRWFYTndZWFJqYUN4Y2JpQWdSWFpsYm5SSlpITXNYRzRnSUZWdWMzVndjRzl5ZEdWa1JYSnliM0lzWEc0Z0lFTnZiblJsZUhRc1hHNGdJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaeXhjYmlBZ1VHVnljMmx6ZEdWdVkyVkxaWGx6TEZ4dWZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyTnZjbVZjSWp0Y2JtbHRjRzl5ZENCN0lGQmxaWEpEYjI1bWFXY2dmU0JtY205dElGd2lMaTR2YzJoaGNtVmtMM1I1Y0dWelhDSTdYRzVwYlhCdmNuUWdleUJEYkdsbGJuUWdmU0JtY205dElGd2lRR2R5Y0dNdlozSndZeTFxYzF3aU8xeHVhVzF3YjNKMElIc2dSbUZpY21salEyeHBaVzUwUVdSaGNIUmxjaUI5SUdaeWIyMGdYQ0l1TDBaaFluSnBZME5zYVdWdWRFRmtZWEIwWlhKY0lqdGNibWx0Y0c5eWRDQjdYRzRnSUVKMWJHdERjblZrVDNCbGNtRjBhVzl1UzJWNWN5eGNiaUFnU1c1MFpYSnVZV3hGY25KdmNpeGNiaUFnVDNCbGNtRjBhVzl1UzJWNWN5eGNibjBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWWkxa1pXTnZjbUYwYjNKelhDSTdYRzVwYlhCdmNuUWdlMXh1SUNCRGFHRnBibU52WkdWRmRtVnVkQ3hjYmlBZ1EyeHZjMlZoWW14bFFYTjVibU5KZEdWeVlXSnNaU3hjYm4wZ1puSnZiU0JjSWtCb2VYQmxjbXhsWkdkbGNpOW1ZV0p5YVdNdFoyRjBaWGRoZVZ3aU8xeHVhVzF3YjNKMElIc2djR0Z5YzJWRmRtVnVkRTVoYldVZ2ZTQm1jbTl0SUZ3aUxpNHZjMmhoY21Wa0wyVjJaVzUwYzF3aU8xeHVhVzF3YjNKMElIc2dUVzlrWld3Z2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmxZMjl5WVhSdmNpMTJZV3hwWkdGMGFXOXVYQ0k3WEc1cGJYQnZjblFnZXlCRGIyNXpkSEoxWTNSdmNpQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR1ZqYjNKaGRHbHZibHdpTzF4dWFXMXdiM0owSUhzZ1JtRmljbWxqUTJ4cFpXNTBSbXhoWjNNZ2ZTQm1jbTl0SUZ3aUxpOTBlWEJsYzF3aU8xeHVYRzR2S2lwY2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCRmRtVnVkQ0JrYVhOd1lYUmphR1Z5SUdadmNpQkllWEJsY214bFpHZGxjaUJHWVdKeWFXTWdZMmhoYVc1amIyUmxJR1YyWlc1MGMxeHVJQ29nUUhOMWJXMWhjbmtnVEdsemRHVnVjeUJtYjNJZ1lXNWtJSEJ5YjJObGMzTmxjeUJsZG1WdWRITWdaVzFwZEhSbFpDQmllU0JHWVdKeWFXTWdZMmhoYVc1amIyUmxMQ0JrYVhOd1lYUmphR2x1WnlCMGFHVnRJSFJ2SUhKbFoybHpkR1Z5WldRZ2IySnpaWEoyWlhKelhHNGdLaUJBZEdWdGNHeGhkR1VnVUdWbGNrTnZibVpwWnlBdElFTnZibVpwWjNWeVlYUnBiMjRnZEhsd1pTQm1iM0lnWTI5dWJtVmpkR2x1WnlCMGJ5QmhJRVpoWW5KcFl5QndaV1Z5WEc0Z0tpQkFjR0Z5WVcwZ1kyeHBaVzUwSUMwZ1oxSlFReUJqYkdsbGJuUWdabTl5SUdOdmJtNWxZM1JwYm1jZ2RHOGdkR2hsSUVaaFluSnBZeUJ1WlhSM2IzSnJYRzRnS2lCQVkyeGhjM01nUm1GaWNtbGpRMnhwWlc1MFJHbHpjR0YwWTJoY2JpQXFJRUJsZUdGdGNHeGxYRzRnS2lCZ1lHQjBlWEJsYzJOeWFYQjBYRzRnS2lBdkx5QkRjbVZoZEdVZ1lTQnVaWGNnUm1GaWNtbGpSR2x6Y0dGMFkyZ2dhVzV6ZEdGdVkyVmNiaUFxSUdOdmJuTjBJR05zYVdWdWRDQTlJR0YzWVdsMElFWmhZbkpwWTBGa1lYQjBaWEl1WjJWMFEyeHBaVzUwS0hCbFpYSkRiMjVtYVdjcE8xeHVJQ29nWTI5dWMzUWdaR2x6Y0dGMFkyZ2dQU0J1WlhjZ1JtRmljbWxqUkdsemNHRjBZMmdvWTJ4cFpXNTBLVHRjYmlBcVhHNGdLaUF2THlCRGIyNW1hV2QxY21VZ2RHaGxJR1JwYzNCaGRHTm9JSGRwZEdnZ2NHVmxjaUJqYjI1bWFXZDFjbUYwYVc5dVhHNGdLaUJrYVhOd1lYUmphQzVqYjI1bWFXZDFjbVVvY0dWbGNrTnZibVpwWnlrN1hHNGdLbHh1SUNvZ0x5OGdVbVZuYVhOMFpYSWdZVzRnYjJKelpYSjJaWElnWm05eUlHRWdjM0JsWTJsbWFXTWdkR0ZpYkdVZ1lXNWtJR1YyWlc1MFhHNGdLaUJrYVhOd1lYUmphQzV2WW5ObGNuWmxLQ2QxYzJWeWN5Y3NJQ2RqY21WaGRHVW5MQ0FvYVdRcElEMCtJSHRjYmlBcUlDQWdZMjl1YzI5c1pTNXNiMmNvWUZWelpYSWdZM0psWVhSbFpEb2dKSHRwWkgxZ0tUdGNiaUFxSUgwcE8xeHVJQ3BjYmlBcUlDOHZJRk4wWVhKMElHeHBjM1JsYm1sdVp5Qm1iM0lnWlhabGJuUnpYRzRnS2lCaGQyRnBkQ0JrYVhOd1lYUmphQzV6ZEdGeWRDZ3BPMXh1SUNvZ1lHQmdYRzRnS2lCQWJXVnliV0ZwWkZ4dUlDb2djMlZ4ZFdWdVkyVkVhV0ZuY21GdFhHNGdLaUFnSUhCaGNuUnBZMmx3WVc1MElFTnNhV1Z1ZEZ4dUlDb2dJQ0J3WVhKMGFXTnBjR0Z1ZENCR1lXSnlhV05FYVhOd1lYUmphRnh1SUNvZ0lDQndZWEowYVdOcGNHRnVkQ0JIWVhSbGQyRjVYRzRnS2lBZ0lIQmhjblJwWTJsd1lXNTBJRTVsZEhkdmNtdGNiaUFxSUNBZ2NHRnlkR2xqYVhCaGJuUWdRMmhoYVc1amIyUmxYRzRnS2x4dUlDb2dJQ0JEYkdsbGJuUXRQajVHWVdKeWFXTkVhWE53WVhSamFEb2dibVYzSUVaaFluSnBZMFJwYzNCaGRHTm9LR05zYVdWdWRDbGNiaUFxSUNBZ1EyeHBaVzUwTFQ0K1JtRmljbWxqUkdsemNHRjBZMmc2SUdOdmJtWnBaM1Z5WlNod1pXVnlRMjl1Wm1sbktWeHVJQ29nSUNCRGJHbGxiblF0UGo1R1lXSnlhV05FYVhOd1lYUmphRG9nYjJKelpYSjJaU2gwWVdKc1pTd2daWFpsYm5Rc0lHTmhiR3hpWVdOcktWeHVJQ29nSUNCRGJHbGxiblF0UGo1R1lXSnlhV05FYVhOd1lYUmphRG9nYzNSaGNuUW9LVnh1SUNvZ0lDQkdZV0p5YVdORWFYTndZWFJqYUMwK1BrWmhZbkpwWTBScGMzQmhkR05vT2lCcGJtbDBhV0ZzYVhwbEtDbGNiaUFxSUNBZ1JtRmljbWxqUkdsemNHRjBZMmd0UGo1SFlYUmxkMkY1T2lCblpYUkhZWFJsZDJGNUtHTnZibVpwWnl3Z1kyeHBaVzUwS1Z4dUlDb2dJQ0JIWVhSbGQyRjVMVDQrVG1WMGQyOXlhem9nWjJWMFRtVjBkMjl5YXloamFHRnVibVZzS1Z4dUlDb2dJQ0JPWlhSM2IzSnJMVDQrVG1WMGQyOXlhem9nWjJWMFEyaGhhVzVqYjJSbFJYWmxiblJ6S0dOb1lXbHVZMjlrWlU1aGJXVXBYRzRnS2lBZ0lFWmhZbkpwWTBScGMzQmhkR05vTFQ0K1JtRmljbWxqUkdsemNHRjBZMmc2SUdoaGJtUnNaVVYyWlc1MGN5Z3BYRzRnS2lBZ0lHeHZiM0FnUm05eUlHVmhZMmdnWlhabGJuUmNiaUFxSUNBZ0lDQkRhR0ZwYm1OdlpHVXRMVDQrUm1GaWNtbGpSR2x6Y0dGMFkyZzZJRU5vWVdsdVkyOWtaVVYyWlc1MFhHNGdLaUFnSUNBZ1JtRmljbWxqUkdsemNHRjBZMmd0UGo1R1lXSnlhV05FYVhOd1lYUmphRG9nY0dGeWMyVkZkbVZ1ZEU1aGJXVW9aWFpsYm5ST1lXMWxLVnh1SUNvZ0lDQWdJRVpoWW5KcFkwUnBjM0JoZEdOb0xUNCtSbUZpY21salJHbHpjR0YwWTJnNklIQmhjbk5sVUdGNWJHOWhaQ2h3WVhsc2IyRmtLVnh1SUNvZ0lDQWdJRVpoWW5KcFkwUnBjM0JoZEdOb0xUNCtSbUZpY21salJHbHpjR0YwWTJnNklIVndaR0YwWlU5aWMyVnlkbVZ5Y3loMFlXSnNaU3dnWlhabGJuUXNJR2xrS1Z4dUlDb2dJQ0FnSUVaaFluSnBZMFJwYzNCaGRHTm9MUzArUGtOc2FXVnVkRG9nWTJGc2JHSmhZMnNvYVdRcFhHNGdLaUFnSUdWdVpGeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdSbUZpY21salEyeHBaVzUwUkdsemNHRjBZMmdnWlhoMFpXNWtjeUJFYVhOd1lYUmphRHhHWVdKeWFXTkRiR2xsYm5SQlpHRndkR1Z5UGlCN1hHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1JYWmxiblFnYkdsemRHVnVhVzVuSUhOMFlXTnJJR1p2Y2lCamFHRnBibU52WkdVZ1pYWmxiblJ6WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUd4cGMzUmxibWx1WjFOMFlXTnJQem9nUTJ4dmMyVmhZbXhsUVhONWJtTkpkR1Z5WVdKc1pUeERhR0ZwYm1OdlpHVkZkbVZ1ZEQ0N1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQlVaWGgwSUdSbFkyOWtaWElnWm05eUlHTnZiblpsY25ScGJtY2daWFpsYm5RZ2NHRjViRzloWkhNZ1puSnZiU0JpZVhSbGN5QjBieUJ6ZEhKcGJtZHpYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJR1JsWTI5a1pYSWdQU0J1WlhjZ1ZHVjRkRVJsWTI5a1pYSW9YQ0oxZEdZNFhDSXBPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnUTNKbFlYUmxjeUJoSUc1bGR5QkdZV0p5YVdORWFYTndZWFJqYUNCcGJuTjBZVzVqWlZ4dUlDQWdLaUJBYzNWdGJXRnllU0JKYm1sMGFXRnNhWHBsY3lCaElHUnBjM0JoZEdOb1pYSWdabTl5SUVaaFluSnBZeUJqYUdGcGJtTnZaR1VnWlhabGJuUnpYRzRnSUNBcUlFQndZWEpoYlNCN1EyeHBaVzUwZlNCamJHbGxiblFnTFNCblVsQkRJR05zYVdWdWRDQm1iM0lnWTI5dWJtVmpkR2x1WnlCMGJ5QjBhR1VnUm1GaWNtbGpJRzVsZEhkdmNtdGNiaUFnSUNvdlhHNGdJR052Ym5OMGNuVmpkRzl5S0hCeWIzUmxZM1JsWkNCamJHbGxiblE2SUVOc2FXVnVkQ2tnZTF4dUlDQWdJSE4xY0dWeUtDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlFTnNiM05sY3lCMGFHVWdaWFpsYm5RZ2JHbHpkR1Z1YVc1bklHTnZibTVsWTNScGIyNWNiaUFnSUNvZ1FITjFiVzFoY25rZ1UzUnZjSE1nYkdsemRHVnVhVzVuSUdadmNpQmphR0ZwYm1OdlpHVWdaWFpsYm5SeklHRnVaQ0J5Wld4bFlYTmxjeUJ5WlhOdmRYSmpaWE5jYmlBZ0lDb2dRSEpsZEhWeWJpQjdVSEp2YldselpUeDJiMmxrUG4wZ1VISnZiV2x6WlNCMGFHRjBJSEpsYzI5c2RtVnpJSGRvWlc0Z2RHaGxJR052Ym01bFkzUnBiMjRnYVhNZ1kyeHZjMlZrWEc0Z0lDQXFMMXh1SUNCdmRtVnljbWxrWlNCaGMzbHVZeUJqYkc5elpTaGNiaUFnSUNBdUxpNWpkSGhCY21kek9pQkRiMjUwWlhoMGRXRnNRWEpuY3p4RGIyNTBaWGgwUEVaaFluSnBZME5zYVdWdWRFWnNZV2R6UGo1Y2JpQWdLVG9nVUhKdmJXbHpaVHgyYjJsa1BpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCc2IyY3NJR04wZUVGeVozTTZJR3h2WjJkbFpFRnlaM01nZlNBOUlDaGNiaUFnSUNBZ0lHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHTjBlRUZ5WjNNc0lGQmxjbk5wYzNSbGJtTmxTMlY1Y3k1VFNGVlVSRTlYVGl3Z2RISjFaU2xjYmlBZ0lDQXBMbVp2Y2loMGFHbHpMbU5zYjNObEtUdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdZWGRoYVhRZ2MzVndaWEl1WTJ4dmMyVW9MaTR1Ykc5bloyVmtRWEpuY3lrN1hHNGdJQ0FnZlNCallYUmphQ0FvWlRvZ2RXNXJibTkzYmlrZ2UxeHVJQ0FnSUNBZ2JHOW5MbVZ5Y205eUtHQkdZV2xzWldRZ2RHOGdZMnh2YzJVZ1JtRmljbWxqSUhCeWIzaHBaWE1nWlhabGJuUWdiR2x6ZEdWdVpYSmdMQ0JsSUdGeklFVnljbTl5S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0hSb2FYTXViR2x6ZEdWdWFXNW5VM1JoWTJzcElIdGNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUdGM1lXbDBJSFJvYVhNdWJHbHpkR1Z1YVc1blUzUmhZMnN1WTJ4dmMyVW9LVHRjYmlBZ0lDQWdJSDBnWTJGMFkyZ2dLR1U2SUhWdWEyNXZkMjRwSUh0Y2JpQWdJQ0FnSUNBZ2JHOW5MbVZ5Y205eUtHQkdZV2xzWldRZ2RHOGdZMnh2YzJVZ1JtRmljbWxqSUdWMlpXNTBJR3hwYzNSbGJtVnlZQ3dnWlNCaGN5QkZjbkp2Y2lrN1hHNGdJQ0FnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG14cGMzUmxibWx1WjFOMFlXTnJJRDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdVR0Z5YzJWeklHVjJaVzUwSUhCaGVXeHZZV1FnWm5KdmJTQmlhVzVoY25rZ1ptOXliV0YwWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRU52Ym5abGNuUnpJR0VnVldsdWREaEJjbkpoZVNCamIyNTBZV2x1YVc1bklFcFRUMDRnZEc4Z1lXNGdiMkpxWldOMElIZHBkR2dnWVc0Z2FXUWdjSEp2Y0dWeWRIbGNiaUFnSUNvZ1FIQmhjbUZ0SUh0VmFXNTBPRUZ5Y21GNWZTQnFjMjl1UW5sMFpYTWdMU0JVYUdVZ1ltbHVZWEo1SUhCaGVXeHZZV1FnWm5KdmJTQjBhR1VnWTJoaGFXNWpiMlJsSUdWMlpXNTBYRzRnSUNBcUlFQnlaWFIxY200Z2Uzc2dhV1E2SUhOMGNtbHVaeUI5ZlNCVWFHVWdjR0Z5YzJWa0lIQmhlV3h2WVdRZ1kyOXVkR0ZwYm1sdVp5QjBhR1VnY21WamIzSmtJRWxFWEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUhCaGNuTmxVR0Y1Ykc5aFpDaHFjMjl1UW5sMFpYTTZJRlZwYm5RNFFYSnlZWGtwT2lCN0lHbGtPaUJ6ZEhKcGJtYzdJSEpsYzNWc2REODZJR0Z1ZVNCOUlIdGNiaUFnSUNCamIyNXpkQ0JxYzI5dUlEMGdkR2hwY3k1a1pXTnZaR1Z5TG1SbFkyOWtaU2hxYzI5dVFubDBaWE1wTzF4dUlDQWdJSEpsZEhWeWJpQktVMDlPTG5CaGNuTmxLR3B6YjI0cE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCVGRHRnlkSE1nYjJKelpYSjJhVzVuSUdGdUlHRmtZWEIwWlhKY2JpQWdJQ29nUUhOMWJXMWhjbmtnUTI5dWJtVmpkSE1nZEdocGN5QmthWE53WVhSamFDQjBieUJoYmlCaFpHRndkR1Z5SUhSdklHMXZibWwwYjNJZ2FYUnpJRzl3WlhKaGRHbHZibk5jYmlBZ0lDb2dRSEJoY21GdElIdEJaR0Z3ZEdWeVBHRnVlU3dnWVc1NUxDQmhibmtzSUdGdWVUNTlJRzlpYzJWeWRtVnlJQzBnVkdobElHRmtZWEIwWlhJZ2RHOGdiMkp6WlhKMlpWeHVJQ0FnS2lCQWNtVjBkWEp1SUh0MmIybGtmVnh1SUNBZ0tpOWNiaUFnYjNabGNuSnBaR1VnYjJKelpYSjJaU2h2WW5ObGNuWmxjam9nUVdSaGNIUmxjanhoYm5rc0lHRnVlU3dnWVc1NUxDQmhibmsrS1RvZ0tDa2dQVDRnZG05cFpDQjdYRzRnSUNBZ2FXWWdLQ0VvYjJKelpYSjJaWElnYVc1emRHRnVZMlZ2WmlCR1lXSnlhV05EYkdsbGJuUkJaR0Z3ZEdWeUtTbGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QlZibk4xY0hCdmNuUmxaRVZ5Y205eUtGeHVJQ0FnSUNBZ0lDQmNJazl1YkhrZ1JtRmljbWxqUTJ4cFpXNTBRV1JoY0hSbGNpQmpZVzRnWW1VZ2IySnpaWEoyWldRZ1lua2daR2x6Y0dGMFkyaGNJbHh1SUNBZ0lDQWdLVHRjYmlBZ0lDQnpkWEJsY2k1dlluTmxjblpsS0c5aWMyVnlkbVZ5SUdGeklFWmhZbkpwWTBOc2FXVnVkRUZrWVhCMFpYSXBPMXh1SUNBZ0lISmxkSFZ5YmlBb0tTQTlQaUIwYUdsekxuVnVUMkp6WlhKMlpTaHZZbk5sY25abGNpazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlGVndaR0YwWlhNZ2IySnpaWEoyWlhKeklHRmliM1YwSUdFZ1pHRjBZV0poYzJVZ1pYWmxiblJjYmlBZ0lDb2dRSE4xYlcxaGNua2dUbTkwYVdacFpYTWdiMkp6WlhKMlpYSnpJR0ZpYjNWMElHRWdZMmhoYm1kbElHbHVJSFJvWlNCa1lYUmhZbUZ6WlZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdkR0ZpYkdVZ0xTQlVhR1VnYm1GdFpTQnZaaUIwYUdVZ2RHRmliR1VnZDJobGNtVWdkR2hsSUdOb1lXNW5aU0J2WTJOMWNuSmxaRnh1SUNBZ0tpQkFjR0Z5WVcwZ2UwOXdaWEpoZEdsdmJrdGxlWE44UW5Wc2EwTnlkV1JQY0dWeVlYUnBiMjVMWlhsemZITjBjbWx1WjMwZ1pYWmxiblFnTFNCVWFHVWdkSGx3WlNCdlppQnZjR1Z5WVhScGIyNGdkR2hoZENCdlkyTjFjbkpsWkZ4dUlDQWdLaUJBY0dGeVlXMGdlMkZ1ZVgwZ2NHRjViRzloWkNBdElGUm9aU0JsZG1WdWRDQndZWGxzYjJGa1hHNGdJQ0FxSUVCeVpYUjFjbTRnZTFCeWIyMXBjMlU4ZG05cFpENTlJRUVnY0hKdmJXbHpaU0IwYUdGMElISmxjMjlzZG1WeklIZG9aVzRnWVd4c0lHOWljMlZ5ZG1WeWN5Qm9ZWFpsSUdKbFpXNGdibTkwYVdacFpXUmNiaUFnSUNvdlhHNGdJRzkyWlhKeWFXUmxJR0Z6ZVc1aklIVndaR0YwWlU5aWMyVnlkbVZ5Y3loY2JpQWdJQ0J0YjJSbGJEb2dRMjl1YzNSeWRXTjBiM0k4WVc1NVBpQjhJSE4wY21sdVp5eGNiaUFnSUNCbGRtVnVkRG9nVDNCbGNtRjBhVzl1UzJWNWN5QjhJRUoxYkd0RGNuVmtUM0JsY21GMGFXOXVTMlY1Y3lCOElITjBjbWx1Wnl4Y2JpQWdJQ0JwWkRvZ1JYWmxiblJKWkhNc1hHNGdJQ0FnTGk0dVlYSm5jem9nUTI5dWRHVjRkSFZoYkVGeVozTThRMjl1ZEdWNGREeEdZV0p5YVdORGJHbGxiblJHYkdGbmN6NCtYRzRnSUNrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQWdJR052Ym5OMElIc2diRzluTENCamRIaEJjbWR6SUgwZ1BTQkJaR0Z3ZEdWeUxteHZaME4wZUR4RGIyNTBaWGgwUEVaaFluSnBZME5zYVdWdWRFWnNZV2R6UGo0b1hHNGdJQ0FnSUNCMGFHbHpMblZ3WkdGMFpVOWljMlZ5ZG1WeWN5eGNiaUFnSUNBZ0lHVjJaVzUwTEZ4dUlDQWdJQ0FnWm1Gc2MyVXNYRzRnSUNBZ0lDQXVMaTVoY21kelhHNGdJQ0FnS1R0Y2JpQWdJQ0JwWmlBb0lYUm9hWE11WVdSaGNIUmxjaWtnZTF4dUlDQWdJQ0FnYkc5bkxuWmxjbUp2YzJVb1hHNGdJQ0FnSUNBZ0lHQk9ieUJoWkdGd2RHVnlJRzlpYzJWeWRtVmtJR1p2Y2lCa2FYTndZWFJqYURzZ2MydHBjSEJwYm1jZ2IySnpaWEoyWlhJZ2RYQmtZWFJsSUdadmNpQWtlM1I1Y0dWdlppQnRiMlJsYkNBOVBUMGdYQ0p6ZEhKcGJtZGNJaUEvSUcxdlpHVnNJRG9nVFc5a1pXd3VkR0ZpYkdWT1lXMWxLRzF2WkdWc0tYMDZKSHRsZG1WdWRIMWdYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ1lYZGhhWFFnZEdocGN5NWhaR0Z3ZEdWeUxuSmxabkpsYzJnb2JXOWtaV3dzSUdWMlpXNTBMQ0JwWkN3Z0xpNHVZM1I0UVhKbmN5azdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pUb2dkVzVyYm05M2Jpa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1lFWmhhV3hsWkNCMGJ5QnlaV1p5WlhOb0lHUnBjM0JoZEdOb09pQWtlMlY5WUNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJRY205alpYTnpaWE1nYVc1amIyMXBibWNnWTJoaGFXNWpiMlJsSUdWMlpXNTBjMXh1SUNBZ0tpQkFjM1Z0YldGeWVTQk1hWE4wWlc1eklHWnZjaUJsZG1WdWRITWdabkp2YlNCMGFHVWdZMmhoYVc1amIyUmxJR0Z1WkNCa2FYTndZWFJqYUdWeklIUm9aVzBnZEc4Z2NtVm5hWE4wWlhKbFpDQnZZbk5sY25abGNuTmNiaUFnSUNvZ1FISmxkSFZ5YmlCN1VISnZiV2x6WlR4MmIybGtQbjBnVUhKdmJXbHpaU0IwYUdGMElISmxjMjlzZG1WeklIZG9aVzRnWlhabGJuUWdhR0Z1Wkd4cGJtY2djM1J2Y0hOY2JpQWdJQ29nUUcxbGNtMWhhV1JjYmlBZ0lDb2djMlZ4ZFdWdVkyVkVhV0ZuY21GdFhHNGdJQ0FxSUNBZ2NHRnlkR2xqYVhCaGJuUWdSbUZpY21salJHbHpjR0YwWTJoY2JpQWdJQ29nSUNCd1lYSjBhV05wY0dGdWRDQkZkbVZ1ZEZOMFlXTnJYRzRnSUNBcUlDQWdjR0Z5ZEdsamFYQmhiblFnUlhabGJuUlFZWEp6WlhKY2JpQWdJQ29nSUNCd1lYSjBhV05wY0dGdWRDQlBZbk5sY25abGNuTmNiaUFnSUNwY2JpQWdJQ29nSUNCR1lXSnlhV05FYVhOd1lYUmphQzArUGtaaFluSnBZMFJwYzNCaGRHTm9PaUJvWVc1a2JHVkZkbVZ1ZEhNb0tWeHVJQ0FnS2lBZ0lFWmhZbkpwWTBScGMzQmhkR05vTFQ0K1JYWmxiblJUZEdGamF6b2dabTl5SUdGM1lXbDBJQ2hqYjI1emRDQmxkblFnYjJZZ2JHbHpkR1Z1YVc1blUzUmhZMnNwWEc0Z0lDQXFJQ0FnUlhabGJuUlRkR0ZqYXkwdFBqNUdZV0p5YVdORWFYTndZWFJqYURvZ1EyaGhhVzVqYjJSbFJYWmxiblJjYmlBZ0lDb2dJQ0JHWVdKeWFXTkVhWE53WVhSamFDMCtQa1YyWlc1MFVHRnljMlZ5T2lCd1lYSnpaVVYyWlc1MFRtRnRaU2hsZG5RdVpYWmxiblJPWVcxbEtWeHVJQ0FnS2lBZ0lFVjJaVzUwVUdGeWMyVnlMUzArUGtaaFluSnBZMFJwYzNCaGRHTm9PaUI3SUhSaFlteGxMQ0JsZG1WdWRDd2diM2R1WlhJZ2ZWeHVJQ0FnS2lBZ0lFWmhZbkpwWTBScGMzQmhkR05vTFQ0K1JtRmljbWxqUkdsemNHRjBZMmc2SUVOb1pXTnJJR2xtSUdWMlpXNTBJR2x6SUdadmNpQjBhR2x6SUUxVFVGeHVJQ0FnS2lBZ0lFWmhZbkpwWTBScGMzQmhkR05vTFQ0K1JtRmljbWxqUkdsemNHRjBZMmc2SUhCaGNuTmxVR0Y1Ykc5aFpDaGxkblF1Y0dGNWJHOWhaQ2xjYmlBZ0lDb2dJQ0JHWVdKeWFXTkVhWE53WVhSamFDMCtQazlpYzJWeWRtVnljem9nZFhCa1lYUmxUMkp6WlhKMlpYSnpLSFJoWW14bExDQmxkbVZ1ZEN3Z2NHRjViRzloWkM1cFpDbGNiaUFnSUNvZ0lDQlBZbk5sY25abGNuTXRMVDQrUm1GaWNtbGpSR2x6Y0dGMFkyZzZJRU5oYkd4aVlXTnJjeUJsZUdWamRYUmxaRnh1SUNBZ0tpOWNiaUFnY0hKdmRHVmpkR1ZrSUdGemVXNWpJR2hoYm1Sc1pVVjJaVzUwY3loY2JpQWdJQ0JqZEhoQmNtYy9PaUJEYjI1MFpYaDBQRVpoWW5KcFkwTnNhV1Z1ZEVac1lXZHpQbHh1SUNBcE9pQlFjbTl0YVhObFBIWnZhV1ErSUh0Y2JpQWdJQ0JwWmlBb0lYUm9hWE11YkdsemRHVnVhVzVuVTNSaFkyc3BYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY2JpQWdJQ0FnSUNBZ1lFVjJaVzUwSUhOMFlXTnJJRzV2ZENCcGJtbDBhV0ZzYVhwbFpDNGdSVzV6ZFhKbElIUm9ZWFFnWENKemRHRnlkRXhwYzNSbGJtbHVaMXdpSUdseklHTmhiR3hsWkNCaVpXWnZjbVVnWVhSMFpXMXdkR2x1WnlCMGFHbHpJRzl3WlhKaGRHbHZiaTVnWEc0Z0lDQWdJQ0FwTzF4dVhHNGdJQ0FnYVdZZ0tDRjBhR2x6TG1Ga1lYQjBaWElnZkh3Z0lYUm9hWE11WVdSaGNIUmxjaTVqYjI1bWFXY3BYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loZ1RtOGdZV1JoY0hSbGNpQm1iM1Z1WkM0Z2MyaHZkV3hrSUdKbElHbHRjRzl6YzJsaWJHVmdLVHRjYmx4dUlDQWdJR052Ym5OMElHTjBlQ0E5WEc0Z0lDQWdJQ0JqZEhoQmNtY2dmSHhjYmlBZ0lDQWdJQ2hoZDJGcGRDQjBhR2x6TG1Ga1lYQjBaWEl1WTI5dWRHVjRkQ2hjYmlBZ0lDQWdJQ0FnVDNCbGNtRjBhVzl1UzJWNWN5NVNSVUZFTEZ4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl5Y21Wc1lYUnBiMjVKWkRvZ2RHaHBjeTVoWkdGd2RHVnlMbU52Ym1acFp5NWphR0ZwYm1OdlpHVk9ZVzFsTEZ4dUlDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0lDQW9kR2hwY3k1dGIyUmxiSE1nSmlZZ2RHaHBjeTV0YjJSbGJITmJNRjBwSUh4OElDaE5iMlJsYkNCaGN5QjFibXR1YjNkdUlHRnpJRU52Ym5OMGNuVmpkRzl5S1Z4dUlDQWdJQ0FnS1NrN1hHNGdJQ0FnWTI5dWMzUWdiRzluSUQwZ2RHaHBjeTVzYjJjdVptOXlLSFJvYVhNdWFHRnVaR3hsUlhabGJuUnpLVHRjYmx4dUlDQWdJR3h2Wnk1cGJtWnZLRnh1SUNBZ0lDQWdZRXhwYzNSbGJtbHVaeUJtYjNJZ2FXNWpiMjFwYm1jZ1pYWmxiblJ6SUc5dUlHTm9ZV2x1WTI5a1pTQmNJaVI3ZEdocGN5NWhaR0Z3ZEdWeUxtTnZibVpwWnk1amFHRnBibU52WkdWT1lXMWxmVndpSUc5dUlHTm9ZVzV1Wld3Z1hDSWtlM1JvYVhNdVlXUmhjSFJsY2k1amIyNW1hV2N1WTJoaGJtNWxiSDFjSWk0dUxtQmNiaUFnSUNBcE8xeHVYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR1p2Y2lCaGQyRnBkQ0FvWTI5dWMzUWdaWFowSUc5bUlIUm9hWE11YkdsemRHVnVhVzVuVTNSaFkyc3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdleUIwWVdKc1pTd2daWFpsYm5Rc0lHOTNibVZ5SUgwZ1BTQndZWEp6WlVWMlpXNTBUbUZ0WlNobGRuUXVaWFpsYm5ST1lXMWxLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tGeHVJQ0FnSUNBZ0lDQWdJSFJvYVhNdVlXUmhjSFJsY2k1amIyNW1hV2MvTG0xemNFVjJaVzUwVDI1c2VTQW1KbHh1SUNBZ0lDQWdJQ0FnSUc5M2JtVnlJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ2IzZHVaWElnSVQwOUlIUm9hWE11WVdSaGNIUmxjaTVqYjI1bWFXYy9MbTF6Y0Vsa1hHNGdJQ0FnSUNBZ0lDbGNiaUFnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjR0Y1Ykc5aFpEb2dleUJwWkRvZ2MzUnlhVzVuT3lCeVpYTjFiSFEvT2lCaGJua2dmU0E5SUhSb2FYTXVjR0Z5YzJWUVlYbHNiMkZrS0Z4dUlDQWdJQ0FnSUNBZ0lHVjJkQzV3WVhsc2IyRmtYRzRnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdkR0Z5WjJWMFRXOWtaV3dnUFNCMFlXSnNaVnh1SUNBZ0lDQWdJQ0FnSUNBZ1B5Qk5iMlJsYkM1blpYUW9kR0ZpYkdVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0E2SUUxdlpHVnNMbWRsZENoMGFHbHpMbTF2WkdWc2Mxc3dYUzV1WVcxbEtUdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQnRiMlJsYkZKbFppQTlJSFJoY21kbGRFMXZaR1ZzSUQ4L0lDaDBZV0pzWlNCOGZDQjBhR2x6TG0xdlpHVnNjMXN3WFQ4dWJtRnRaU2s3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYjJKelpYSjJaWEpCY21keklEMGdjR0Y1Ykc5aFpDNXlaWE4xYkhRZ1B5QmJjR0Y1Ykc5aFpDNXlaWE4xYkhRc0lHTjBlRjBnT2lCYlkzUjRYVHRjYmlBZ0lDQWdJQ0FnSUNCaGQyRnBkQ0IwYUdsekxuVndaR0YwWlU5aWMyVnlkbVZ5Y3loY2JpQWdJQ0FnSUNBZ0lDQWdJRzF2WkdWc1VtVm1JR0Z6SUVOdmJuTjBjblZqZEc5eUlId2djM1J5YVc1bkxGeHVJQ0FnSUNBZ0lDQWdJQ0FnWlhabGJuUXNYRzRnSUNBZ0lDQWdJQ0FnSUNCd1lYbHNiMkZrTG1sa0lHRnpJSE4wY21sdVp5eGNiaUFnSUNBZ0lDQWdJQ0FnSUM0dUxpaHZZbk5sY25abGNrRnlaM01nWVhNZ1EyOXVkR1Y0ZEhWaGJFRnlaM004WVc1NVBpbGNiaUFnSUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnSUNCOUlHTmhkR05vSUNobE9pQjFibXR1YjNkdUtTQjdYRzRnSUNBZ0lDQWdJQ0FnYkc5bkxtVnljbTl5S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdZRVpoYVd4bFpDQjFjR1JoZEdVZ2IySnpaWEoyWVdKc1pYTWdabTl5SUhSaFlteGxJQ1I3ZEdGaWJHVjlJR1YyWlc1MElDUjdaWFpsYm5SOUlHbGtPaUFrZTNCaGVXeHZZV1F1YVdSOU9pQWtlMlY5WUZ4dUlDQWdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR05oZEdOb0lDaGxPaUJoYm5rcElIdGNiaUFnSUNBZ0lHeHZaeTVsY25KdmNpaGNiaUFnSUNBZ0lDQWdZRVpoYVd4bFpDQjBieUJ5WldGa0lHVjJaVzUwSUdadmNpQmphR0ZwYm1OdlpHVWdYQ0lrZTNSb2FYTXVZV1JoY0hSbGNpNWpiMjVtYVdjdVkyaGhhVzVqYjJSbFRtRnRaWDFjSWlCdmJpQmphR0Z1Ym1Wc0lGd2lKSHQwYUdsekxtRmtZWEIwWlhJdVkyOXVabWxuTG1Ob1lXNXVaV3g5WENJNklDUjdaWDFnWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1amJHOXpaU2hqZEhncE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnU1c1cGRHbGhiR2w2WlhNZ2RHaGxJR1YyWlc1MElHeHBjM1JsYm1WeVhHNGdJQ0FxSUVCemRXMXRZWEo1SUZObGRITWdkWEFnWlhabGJuUWdaR2x6Y0dGMFkyaHBibWNnWm05eUlIUm9aU0J2WW5ObGNuWmxaQ0JoWkdGd2RHVnlMaUJYYUdWdVhHNGdJQ0FxSUdCemVXNTBhR1YwYVdORmRtVnVkSE5nSUdseklIUnlkV1VnS0hSb1pTQmtaV1poZFd4MEtTQnVieUJuWVhSbGQyRjVJR052Ym01bFkzUnBiMjRnYVhNZ2IzQmxibVZrTzF4dUlDQWdLaUJwYm5OMFpXRmtJR1YyWlhKNUlFTlNWVVFnYjNCbGNtRjBhVzl1SUdseklIZHlZWEJ3WldRZ2QybDBhQ0JoSUZCeWIzaDVJSFJvWVhRZ1ptbHlaWE5jYmlBZ0lDb2dZSFZ3WkdGMFpVOWljMlZ5ZG1WeWMyQWdabTl5SUNvcVlXeHNLaW9nYlc5a1pXeHpMaUJYYUdWdUlHQnplVzUwYUdWMGFXTkZkbVZ1ZEhOZ0lHbHpJR1poYkhObElIUm9aVnh1SUNBZ0tpQmxlR2x6ZEdsdVp5Qm5ZWFJsZDJGNUxXSmhjMlZrSUdOb1lXbHVZMjlrWlMxbGRtVnVkQ0J6ZFdKelkzSnBjSFJwYjI0Z2FYTWdaWE4wWVdKc2FYTm9aV1FnWVc1a0lIUm9aVnh1SUNBZ0tpQnNiMk5oYkNCUWNtOTRlU0JtWVd4c1ltRmpheUJwY3lCc2FXMXBkR1ZrSUhSdklHWjFiR3g1TFhObFozSmxaMkYwWldRZ0tIUnlZVzV6YVdWdWRDa2diVzlrWld4eklHOXViSGt1WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMUJ5YjIxcGMyVThkbTlwWkQ1OUlGQnliMjFwYzJVZ2RHaGhkQ0J5WlhOdmJIWmxjeUIzYUdWdUlHbHVhWFJwWVd4cGVtRjBhVzl1SUdseklHTnZiWEJzWlhSbFhHNGdJQ0FxTDF4dUlDQndjbTkwWldOMFpXUWdiM1psY25KcFpHVWdZWE41Ym1NZ2FXNXBkR2xoYkdsNlpTZ3BPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCcFppQW9JWFJvYVhNdVlXUmhjSFJsY2lsY2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSmJuUmxjbTVoYkVWeWNtOXlLR0JPYnlCaFpHRndkR1Z5SUc5eUlHTnZibVpwWnlCdlluTmxjblpsWkNCbWIzSWdaR2x6Y0dGMFkyaGdLVHRjYmx4dUlDQWdJR052Ym5OMElITjViblJvWlhScFkwVjJaVzUwY3lBOUlIUm9hWE11WVdSaGNIUmxjaTVqYjI1bWFXY3VjM2x1ZEdobGRHbGpSWFpsYm5SeklDRTlQU0JtWVd4elpUdGNibHh1SUNBZ0lHbG1JQ2doYzNsdWRHaGxkR2xqUlhabGJuUnpLU0I3WEc0Z0lDQWdJQ0F2THlCSFlYUmxkMkY1TFdKaGMyVmtJR05vWVdsdVkyOWtaUzFsZG1WdWRDQnpkV0p6WTNKcGNIUnBiMjRnS0c1dmJpMXplVzUwYUdWMGFXTWdjR0YwYUNsY2JpQWdJQ0FnSUdOdmJuTjBJR052Ym5SbGVIUWdQU0JoZDJGcGRDQjBhR2x6TG1Ga1lYQjBaWEl1WTI5dWRHVjRkQ2hjYmlBZ0lDQWdJQ0FnWENKa2FYTndZWFJqYUZ3aUxGeHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5eWNtVnNZWFJwYjI1SlpEb2dkR2hwY3k1aFpHRndkR1Z5TG1OdmJtWnBaeTVqYUdGcGJtTnZaR1ZPWVcxbExGeHVJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdJQ0JOYjJSbGJDQmhjeUJoYm5sY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCamIyNXpkQ0I3SUdOMGVDQjlJRDBnZEdocGN5NXNiMmREZEhnb1cyTnZiblJsZUhSZExDQjBhR2x6TG1sdWFYUnBZV3hwZW1VcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnWjJGMFpYZGhlU0E5SUdGM1lXbDBJRVpoWW5KcFkwTnNhV1Z1ZEVGa1lYQjBaWEl1WjJWMFIyRjBaWGRoZVNoY2JpQWdJQ0FnSUNBZ1kzUjRMRnh1SUNBZ0lDQWdJQ0IwYUdsekxtRmtZWEIwWlhJdVkyOXVabWxuSUdGeklGQmxaWEpEYjI1bWFXY3NYRzRnSUNBZ0lDQWdJSFJvYVhNdVkyeHBaVzUwWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJQ0FnWTI5dWMzUWdibVYwZDI5eWF5QTlJR2RoZEdWM1lYa3VaMlYwVG1WMGQyOXlheWgwYUdsekxtRmtZWEIwWlhJdVkyOXVabWxuTG1Ob1lXNXVaV3dwTzF4dUlDQWdJQ0FnYVdZZ0tDRjBhR2x6TG1Ga1lYQjBaWElwWEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSmJuUmxjbTVoYkVWeWNtOXlLR0JPYnlCaFpHRndkR1Z5SUc5aWMyVnlkbVZrSUdadmNpQmthWE53WVhSamFHQXBPMXh1SUNBZ0lDQWdkR2hwY3k1c2FYTjBaVzVwYm1kVGRHRmpheUE5SUdGM1lXbDBJRzVsZEhkdmNtc3VaMlYwUTJoaGFXNWpiMlJsUlhabGJuUnpLRnh1SUNBZ0lDQWdJQ0IwYUdsekxtRmtZWEIwWlhJdVkyOXVabWxuTG1Ob1lXbHVZMjlrWlU1aGJXVmNiaUFnSUNBZ0lDazdYRzRnSUNBZ0lDQjBhR2x6TG1oaGJtUnNaVVYyWlc1MGN5aGpkSGdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUZCeWIzaDVJRU5TVlVRZ2JXVjBhRzlrY3k1Y2JpQWdJQ0F2THlEaWdLSWdjM2x1ZEdobGRHbGpSWFpsYm5SeklEMGdkSEoxWlNBZzRvYVNJRzV2ZEdsbWVTQm1iM0lnUVV4TUlHMXZaR1ZzY3lBb2NtVndiR0ZqWlhNZ1oyRjBaWGRoZVNCbGRtVnVkSE1nWlc1MGFYSmxiSGtwWEc0Z0lDQWdMeThnNG9DaUlITjViblJvWlhScFkwVjJaVzUwY3lBOUlHWmhiSE5sSU9LR2tpQnViM1JwWm5rZ2IyNXNlU0JtYjNJZ1puVnNiSGt0YzJWbmNtVm5ZWFJsWkNBb2RISmhibk5wWlc1MEtTQnRiMlJsYkhOY2JpQWdJQ0F2THlBZ0lDaDBhR1VnWjJGMFpYZGhlU0J6ZFdKelkzSnBjSFJwYjI0Z2FHRnVaR3hsY3lCd2RXSnNhV01nYlc5a1pXeHpLVnh1SUNBZ0lDaGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdUM0JsY21GMGFXOXVTMlY1Y3k1RFVrVkJWRVVzWEc0Z0lDQWdJQ0FnSUU5d1pYSmhkR2x2Ymt0bGVYTXVWVkJFUVZSRkxGeHVJQ0FnSUNBZ0lDQlBjR1Z5WVhScGIyNUxaWGx6TGtSRlRFVlVSU3hjYmlBZ0lDQWdJQ0FnUW5Wc2EwTnlkV1JQY0dWeVlYUnBiMjVMWlhsekxrTlNSVUZVUlY5QlRFd3NYRzRnSUNBZ0lDQWdJRUoxYkd0RGNuVmtUM0JsY21GMGFXOXVTMlY1Y3k1VlVFUkJWRVZmUVV4TUxGeHVJQ0FnSUNBZ0lDQkNkV3hyUTNKMVpFOXdaWEpoZEdsdmJrdGxlWE11UkVWTVJWUkZYMEZNVEN4Y2JpQWdJQ0FnSUYwZ1lYTWdLR3RsZVc5bUlFRmtZWEIwWlhJOFlXNTVMQ0JoYm5rc0lHRnVlU3dnWVc1NVBpbGJYVnh1SUNBZ0lDa3VabTl5UldGamFDZ29kRzlYY21Gd0tTQTlQaUI3WEc0Z0lDQWdJQ0JwWmlBb0lYUm9hWE11WVdSaGNIUmxjaWxjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YRzRnSUNBZ0lDQWdJQ0FnWUU1dklHRmtZWEIwWlhJZ2NISnZkbWxrWldRZ1ptOXlJSFJvWlNCbVlXeHNZbUZqYXlCdlppQm1kV3hzZVNCelpXZHlaV2RoZEdWa0lHMXZaR1ZzYzJCY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lHbG1JQ2doZEdocGN5NWhaR0Z3ZEdWeVczUnZWM0poY0YwcFhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0Z4dUlDQWdJQ0FnSUNBZ0lHQk5aWFJvYjJRZ0pIdDBiMWR5WVhCOUlHNXZkQ0JtYjNWdVpDQnBiaUFrZTNSb2FYTXVZV1JoY0hSbGNpNWhiR2xoYzMwZ1lXUmhjSFJsY2lCMGJ5QmlhVzVrSUU5aWMyVnlkbUZpYkdWeklFUnBjM0JoZEdOb1lGeHVJQ0FnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0JzWlhRZ1pHVnpZM0pwY0hSdmNpQTlJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2RHaHBjeTVoWkdGd2RHVnlMQ0IwYjFkeVlYQXBPMXh1SUNBZ0lDQWdiR1YwSUhCeWIzUnZPaUJoYm5rZ1BTQjBhR2x6TG1Ga1lYQjBaWEk3WEc0Z0lDQWdJQ0IzYUdsc1pTQW9JV1JsYzJOeWFYQjBiM0lnSmlZZ2NISnZkRzhnSVQwOUlFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVcElIdGNiaUFnSUNBZ0lDQWdjSEp2ZEc4Z1BTQlBZbXBsWTNRdVoyVjBVSEp2ZEc5MGVYQmxUMllvY0hKdmRHOHBPMXh1SUNBZ0lDQWdJQ0JrWlhOamNtbHdkRzl5SUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjaWh3Y205MGJ5d2dkRzlYY21Gd0tUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0NGa1pYTmpjbWx3ZEc5eUlIeDhJQ0ZrWlhOamNtbHdkRzl5TG5keWFYUmhZbXhsS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11Ykc5bkxtVnljbTl5S0Z4dUlDQWdJQ0FnSUNBZ0lHQkRiM1ZzWkNCdWIzUWdabWx1WkNCdFpYUm9iMlFnSkh0MGIxZHlZWEI5SUhSdklHSnBibVFnVDJKelpYSjJZV0pzWlhNZ1JHbHpjR0YwWTJoZ1hHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHWjFibU4wYVc5dUlHSjFiR3RVYjFOcGJtZHNaU2h0WlhSb2IyUTZJSE4wY21sdVp5a2dlMXh1SUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLRzFsZEdodlpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdRblZzYTBOeWRXUlBjR1Z5WVhScGIyNUxaWGx6TGtOU1JVRlVSVjlCVEV3NlhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdUM0JsY21GMGFXOXVTMlY1Y3k1RFVrVkJWRVU3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JDZFd4clEzSjFaRTl3WlhKaGRHbHZia3RsZVhNdVZWQkVRVlJGWDBGTVREcGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJQY0dWeVlYUnBiMjVMWlhsekxsVlFSRUZVUlR0Y2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUVKMWJHdERjblZrVDNCbGNtRjBhVzl1UzJWNWN5NUVSVXhGVkVWZlFVeE1PbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUU5d1pYSmhkR2x2Ymt0bGVYTXVSRVZNUlZSRk8xeHVJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYldWMGFHOWtPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUM4dklFQjBjeTFsZUhCbFkzUXRaWEp5YjNJZ1ltVmpZWFZ6WlNCMGFHVnlaU0JoY21VZ2NtVmhaQ0J2Ym14NUlIQnliM0JsY25ScFpYTmNiaUFnSUNBZ0lIUm9hWE11WVdSaGNIUmxjbHQwYjFkeVlYQmRJRDBnYm1WM0lGQnliM2g1S0hSb2FYTXVZV1JoY0hSbGNsdDBiMWR5WVhCZExDQjdYRzRnSUNBZ0lDQWdJR0Z3Y0d4NU9pQmhjM2x1WXlBb1hHNGdJQ0FnSUNBZ0lDQWdkR0Z5WjJWME9pQmhibmtzWEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjMEZ5WnpvZ1JtRmljbWxqUTJ4cFpXNTBRV1JoY0hSbGNpeGNiaUFnSUNBZ0lDQWdJQ0JoY21kQmNuSmhlVG9nWVc1NVcxMWNiaUFnSUNBZ0lDQWdLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVW5WdUlIUm9aU0J2Y21sbmFXNWhiQ0J0WlhSb2IyUWdkVzVqYUdGdVoyVmtJSE52SUhSeVlXNXphV1Z1ZENCa1lYUmhJR2x6SUhCeVpYTmxjblpsWkZ4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUhKbGMzVnNkQ0E5SUdGM1lXbDBJSFJoY21kbGRDNWhjSEJzZVNoMGFHbHpRWEpuTENCaGNtZEJjbkpoZVNrN1hHNWNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQmpiR0Y2ZWpvZ1EyOXVjM1J5ZFdOMGIzSThZVzU1UGlBOUlHRnlaMEZ5Y21GNVd6QmRPMXh1SUNBZ0lDQWdJQ0FnSUM4dklGZG9aVzRnYzNsdWRHaGxkR2xqUlhabGJuUnpJR2x6SUdaaGJITmxMQ0J3ZFdKc2FXTWdiVzlrWld4eklHVnRhWFFnWVNCamFHRnBibU52WkdVZ1pYWmxiblJjYmlBZ0lDQWdJQ0FnSUNBdkx5QnZiaUIwYUdVZ1kyOXVkSEpoWTNRZ2MybGtaVHNnYzJ0cGNDQjBhR1VnYkc5allXd2dabUZzYkdKaFkyc2dkRzhnWVhadmFXUmNiaUFnSUNBZ0lDQWdJQ0F2THlCa2IzVmliR1V0Ym05MGFXWnBZMkYwYVc5dUxpQlhhR1Z1SUhONWJuUm9aWFJwWTBWMlpXNTBjeUJwY3lCMGNuVmxJSGRsSUdoaGJtUnNaU0JoYkd3Z2JXOWtaV3h6TGx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2doYzNsdWRHaGxkR2xqUlhabGJuUnpJQ1ltSUNGTmIyUmxiQzVwYzFSeVlXNXphV1Z1ZENoamJHRjZlaWtwSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzVjYmlBZ0lDQWdJQ0FnSUNBdkx5QkRiMjUwWlhoMElHbHpJR0ZzZDJGNWN5QjBhR1VnYkdGemRDQmxiR1Z0Wlc1MElHOW1JR0Z5WjBGeWNtRjVYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdleUJzYjJjc0lHTjBlRUZ5WjNNc0lHTjBlQ0I5SUQwZ2RHaHBjMEZ5WjF0Y0lteHZaME4wZUZ3aVhTaGNiaUFnSUNBZ0lDQWdJQ0FnSUdGeVowRnljbUY1TG5Oc2FXTmxLR0Z5WjBGeWNtRjVMbXhsYm1kMGFDQXRJREVwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdkR0Z5WjJWMFhHNGdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JwWkhNZ1BTQmhjbWRCY25KaGVWc3hYVHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J5WlhOMWJIUkJjbWR6T2lCaGJubGJYU0E5SUZ0amJHRjZlaXdnWW5Wc2ExUnZVMmx1WjJ4bEtIUnZWM0poY0Nrc0lHbGtjMTA3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWTNSNExtZGxkRTl5Vlc1a1pXWnBibVZrS0Z3aWIySnpaWEoyWlVaMWJHeFNaWE4xYkhSY0lpa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEVGeVozTXVjSFZ6YUNoeVpYTjFiSFFwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxuVndaR0YwWlU5aWMyVnlkbVZ5Y3loY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RFRnlaM05iTUYwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUkJjbWR6V3pGZExGeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WemRXeDBRWEpuYzFzeVhTeGNiaUFnSUNBZ0lDQWdJQ0FnSUM0dUxuSmxjM1ZzZEVGeVozTXVjMnhwWTJVb015a3NYRzRnSUNBZ0lDQWdJQ0FnSUNBdUxpNG9ZM1I0UVhKbmN5QmhjeUJEYjI1MFpYaDBkV0ZzUVhKbmN6eERiMjUwWlhoMFBFWmhZbkpwWTBOc2FXVnVkRVpzWVdkelBqNHBYRzRnSUNBZ0lDQWdJQ0FnS1M1allYUmphQ2dvWlRvZ2RXNXJibTkzYmlrZ1BUNWNiaUFnSUNBZ0lDQWdJQ0FnSUd4dlp5NWxjbkp2Y2loY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWUVaaGFXeGxaQ0IwYnlCa2FYTndZWFJqYUNCdlluTmxjblpsY2lCeVpXWnlaWE5vSUdadmNpQWtlM1J2VjNKaGNIMGdiMjRnSkh0amJHRjZlaTV1WVcxbElIeDhJR05zWVhwNmZTQm1iM0lnSkh0cFpITjlPaUFrZTJWOVlGeHVJQ0FnSUNBZ0lDQWdJQ0FnS1Z4dUlDQWdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsYzNWc2REdGNiaUFnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDBwTzF4dUlDQjlYRzU5WEc1Y2JtbG1JQ2hHWVdKeWFXTkRiR2xsYm5SQlpHRndkR1Z5S1Z4dUlDQkdZV0p5YVdORGJHbGxiblJCWkdGd2RHVnlXMXdpWDJKaGMyVkVhWE53WVhSamFGd2lYU0E5SUVaaFluSnBZME5zYVdWdWRFUnBjM0JoZEdOb08xeHVJbDE5Il19
|
|
290
|
+
//# sourceMappingURL=FabricClientDispatch.js.map
|
|
291
|
+
//# sourceMappingURL=FabricClientDispatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FabricClientDispatch.js","sourceRoot":"","sources":["FabricClientDispatch.js"],"names":[],"mappings":"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"}
|
|
@@ -18,5 +18,5 @@ class FabricClientPaginator extends core_1.Paginator {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
exports.FabricClientPaginator = FabricClientPaginator;
|
|
21
|
-
//# sourceMappingURL=
|
|
22
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=FabricClientPaginator.js.map
|
|
22
|
+
//# sourceMappingURL=FabricClientPaginator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FabricClientPaginator.js","sourceRoot":"","sources":["FabricClientPaginator.js"],"names":[],"mappings":";;;AAAA,yCAA8D;AAC9D,MAAa,qBAAsB,SAAQ,gBAAS;IAChD,YAAY,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACnC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,6DAA6D;IAC7D,OAAO,CAAC,YAAY;QAChB,MAAM,IAAI,uBAAgB,CAAC,qGAAqG,CAAC,CAAC;IACtI,CAAC;IACD,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,6CAA6C;IACnF,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,GAAG;QACvB,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;CACJ;AAdD,sDAcC;AACD,iDAAiD"}
|