@decaf-ts/for-fabric 0.12.6 → 0.12.7
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 -3797
- package/dist/for-fabric.cjs.map +1 -0
- package/dist/for-fabric.js +2 -3901
- 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 +2 -2
- package/lib/cjs/client/FabricClientAdapter.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 +2 -2
- package/lib/cjs/client/FabricClientRepository.cjs.map +1 -0
- package/lib/cjs/client/FabricClientStatement.cjs +2 -2
- 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 +2 -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 +2 -2
- package/lib/cjs/client/index.cjs.map +1 -0
- package/lib/cjs/client/indexes/generation.cjs +2 -2
- 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/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 +3 -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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherLeaflet.cjs +2 -2
- package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherLeafletFile.cjs +2 -2
- package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherMarket.cjs +2 -2
- package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProduct.cjs +2 -2
- package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductImage.cjs +2 -2
- package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductShared.cjs +2 -2
- package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductStrength.cjs +2 -2
- 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 +2 -2
- 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 -2
- 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/contracts/ContractAdapter.cjs +2 -2
- 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 +2 -2
- 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 +14 -0
- package/lib/cjs/contracts/bootstrap.cjs.map +1 -0
- package/lib/cjs/contracts/crud/crud-contract.cjs +3 -2
- 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 +65 -0
- package/lib/cjs/contracts/fabric-overrides.cjs.map +1 -0
- package/lib/cjs/contracts/index.cjs +3 -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 +2 -2
- package/lib/cjs/shared/constants.cjs.map +1 -0
- package/lib/cjs/shared/decorators.cjs +2 -2
- 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 +2 -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 +2 -2
- 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 +1 -1
- package/lib/esm/client/FabricClientAdapter.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 +1 -1
- package/lib/esm/client/FabricClientRepository.js.map +1 -0
- package/lib/esm/client/FabricClientStatement.js +1 -1
- 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 +1 -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 +1 -1
- package/lib/esm/client/index.js.map +1 -0
- package/lib/esm/client/indexes/generation.js +1 -1
- 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/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 +2 -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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/lib/esm/contract/models/OtherBatchShared.js.map +1 -0
- package/lib/esm/contract/models/OtherLeaflet.js +1 -1
- package/lib/esm/contract/models/OtherLeaflet.js.map +1 -0
- package/lib/esm/contract/models/OtherLeafletFile.js +1 -1
- package/lib/esm/contract/models/OtherLeafletFile.js.map +1 -0
- package/lib/esm/contract/models/OtherMarket.js +1 -1
- package/lib/esm/contract/models/OtherMarket.js.map +1 -0
- package/lib/esm/contract/models/OtherProduct.js +1 -1
- package/lib/esm/contract/models/OtherProduct.js.map +1 -0
- package/lib/esm/contract/models/OtherProductImage.js +1 -1
- package/lib/esm/contract/models/OtherProductImage.js.map +1 -0
- package/lib/esm/contract/models/OtherProductShared.js +1 -1
- package/lib/esm/contract/models/OtherProductShared.js.map +1 -0
- package/lib/esm/contract/models/OtherProductStrength.js +1 -1
- 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 +1 -1
- package/lib/esm/contract/models/ProductStrength.js.map +1 -0
- package/lib/esm/contract/models/SegregatedDocument.js +1 -1
- 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 -1
- 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/contracts/ContractAdapter.js +1 -1
- 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 +1 -1
- 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 +11 -0
- package/lib/esm/contracts/bootstrap.js.map +1 -0
- package/lib/esm/contracts/crud/crud-contract.js +2 -1
- 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 +61 -0
- package/lib/esm/contracts/fabric-overrides.js.map +1 -0
- package/lib/esm/contracts/index.js +2 -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 +1 -1
- package/lib/esm/shared/constants.js.map +1 -0
- package/lib/esm/shared/decorators.js +1 -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 +1 -1
- 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 +1 -1
- package/lib/esm/version.js.map +1 -0
- package/lib/types/contract/index.d.cts +1 -0
- package/lib/types/contract/index.d.mts +1 -0
- package/lib/types/contracts/bootstrap.d.cts +10 -0
- package/lib/types/contracts/bootstrap.d.mts +10 -0
- package/lib/types/contracts/crud/crud-contract.d.cts +1 -0
- package/lib/types/contracts/crud/crud-contract.d.mts +1 -0
- package/lib/types/contracts/fabric-overrides.d.cts +1 -0
- package/lib/types/contracts/fabric-overrides.d.mts +1 -0
- package/lib/types/contracts/index.d.cts +1 -0
- package/lib/types/contracts/index.d.mts +1 -0
- package/package.json +16 -1
package/lib/cjs/cli-module.cjs
CHANGED
|
@@ -506,5 +506,5 @@ fabricCmd.addCommand(extractCollections);
|
|
|
506
506
|
function fabric() {
|
|
507
507
|
return fabricCmd;
|
|
508
508
|
}
|
|
509
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGktbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN4QyxPQUFPLE9BQU8sTUFBTSx3QkFBd0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsWUFBWSxHQUNiLGtDQUF5QjtBQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUNMLGVBQWUsRUFDZiwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGVBQWUsRUFDZixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLDRCQUE0QixHQUM3Qix1QkFBb0I7QUFDckIscUNBQTRCO0FBQzVCLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QixPQUFPLEVBQ0wsa0JBQWtCLElBQUksYUFBYSxFQUVuQyxnQkFBZ0IsRUFDaEIseUJBQXlCLEdBQzFCLHNDQUFtQztBQUdwQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRXJDLFNBQVMsdUJBQXVCO0lBQzlCLE9BQU87UUFDTCxJQUFJLEVBQUUsNEJBQTRCO1FBQ2xDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUTtZQUN4QixJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEUsTUFBTSxVQUFVLEdBQUc7Z0JBQ2pCLFlBQVk7Z0JBQ1osR0FBRyxZQUFZLEtBQUs7Z0JBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQzthQUNwQyxDQUFDO1lBRUYsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztvQkFDaEUsT0FBTyxTQUFTLENBQUM7Z0JBQ25CLENBQUM7WUFDSCxDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLE9BQU8sRUFBRTtLQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUM7S0FDeEIsV0FBVyxDQUFDLDJCQUEyQixDQUFDO0tBQ3hDLE1BQU0sQ0FBQyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsS0FBSyxDQUFDO0tBQ2pFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsbUNBQW1DLEVBQUUsS0FBSyxDQUFDO0tBQzdELE1BQU0sQ0FDTCxTQUFTLEVBQ1QscURBQXFELEVBQ3JELEtBQUssQ0FDTjtLQUNBLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUM7S0FDN0QsTUFBTSxDQUFDLFVBQVUsRUFBRSwwQ0FBMEMsRUFBRSxLQUFLLENBQUM7S0FDckUsTUFBTSxDQUNMLDJCQUEyQixFQUMzQixtRUFBbUUsRUFDbkUsaUJBQWlCLENBQ2xCO0tBQ0EsTUFBTSxDQUNMLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsZ0NBQWdDLENBQ2pDO0tBQ0EsTUFBTSxDQUFDLHVCQUF1QixFQUFFLGlDQUFpQyxFQUFFLEtBQUssQ0FBQztLQUN6RSxNQUFNLENBQUMsa0JBQWtCLEVBQUUsNEJBQTRCLEVBQUUsZUFBZSxDQUFDO0tBQ3pFLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSw2QkFBNkIsRUFBRSxhQUFhLENBQUM7S0FDekUsTUFBTSxDQUFDLGNBQWMsRUFBRSw0Q0FBNEMsRUFBRSxLQUFLLENBQUM7S0FDM0UsTUFBTSxDQUFDLFNBQVMsRUFBRSx3Q0FBd0MsRUFBRSxLQUFLLENBQUM7S0FDbEUsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFZLEVBQUUsRUFBRTtJQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNwQixFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUNuRSxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDeEIsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUN4RSxDQUFDO0lBRUYsSUFBSSxZQUFZLEdBQUcsU0FBUyxDQUFDO0lBRTdCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFFNUIsSUFBSTtJQUNGLHdDQUF3QztJQUN4QyxHQUFHO0lBQ0gsd0NBQXdDO0lBQ3hDLEtBQUs7SUFDTCx3Q0FBd0M7SUFDeEMsSUFBSTtJQUNKLHdDQUF3QztJQUN4QyxXQUFXLEVBQ1gsTUFBTTtJQUNOLHdDQUF3QztJQUN4QyxLQUFLO0lBQ0wsd0NBQXdDO0lBQ3hDLGlCQUFpQjtJQUNqQix3Q0FBd0M7SUFDeEMsS0FBSztJQUNMLHdDQUF3QztJQUN4QyxNQUFNLEVBRU4sWUFBWTtJQUNaLHdDQUF3QztJQUN4QyxVQUFVO0lBQ1Ysd0NBQXdDO0lBQ3hDLEtBQUssR0FDTixHQUFHLE9BQU8sQ0FBQztJQUNaLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzQyxJQUFJLENBQUM7UUFDSCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsWUFBWSxHQUFHLEVBQUU7aUJBQ2QsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQztpQkFDekQsUUFBUSxFQUFFLENBQUM7WUFFZCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUNuQyxnQkFBZ0IsRUFDaEIsQ0FBQyxDQUFNLEVBQUUsT0FBZSxFQUFFLEVBQUU7Z0JBQzFCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRW5DLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUN4QixPQUFPLENBQUMsSUFBSSxDQUNWLGtDQUFrQyxPQUFPLGNBQWMsQ0FDeEQsQ0FBQztvQkFDRixPQUFPLEVBQUUsQ0FBQztnQkFDWixDQUFDO2dCQUVELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQyxDQUNGLENBQUM7WUFFRixZQUFZLEdBQUcsUUFBUSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsR0FBRyxDQUFDLElBQUksQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBSyxDQUNQLHlCQUF5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLFlBQVksT0FBTyxFQUFFLENBQ3RGLENBQUM7SUFFRixZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7UUFDMUMsQ0FBQyxDQUFDLFlBQVk7UUFDZCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFFM0MsTUFBTSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMscURBQXFELE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEUsUUFBUSxDQUFDLFVBQVUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3QixJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsR0FBRyxDQUFDLElBQUksQ0FBQywwQkFBMEIsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM1QyxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxDQUM5QyxDQUFDO1FBQ0YsSUFBSSxDQUFDO1lBQ0gsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sSUFBSSxhQUFhLENBQ3JCLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FDcEUsQ0FBQztZQUNKLENBQUM7WUFFRCxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQ2hELFVBQVUsQ0FBQyxNQUFNLEVBQ2pCLEVBQUUsQ0FBQyxHQUFHLEVBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFDMUIsU0FBUyxFQUNULFlBQVksQ0FDYixDQUFDO1lBQ0YsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMvQixNQUFNLElBQUksYUFBYSxDQUNyQixZQUFZLENBQUMsTUFBTTtxQkFDaEIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDYixFQUFFLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FDekQ7cUJBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUNkLENBQUM7WUFDSixDQUFDO1lBRUQsTUFBTSxtQkFBbUIsR0FBdUI7Z0JBQzlDLEdBQUcsWUFBWSxDQUFDLE9BQU87Z0JBQ3ZCLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixNQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNO2dCQUM1QixXQUFXLEVBQUUsS0FBSztnQkFDbEIsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLGFBQWEsRUFBRSxLQUFLO2FBQ3JCLENBQUM7WUFDRixNQUFNLGlCQUFpQixHQUFHLEVBQUU7aUJBQ3pCLGtCQUFrQixDQUNqQjtnQkFDRSxHQUFHLFlBQVk7Z0JBQ2YsT0FBTyxFQUFFLG1CQUFtQjthQUM3QixFQUNELFVBQVUsRUFDVixDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQ2xDO2lCQUNBLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBRWhELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN2QixNQUFNLElBQUksYUFBYSxDQUNyQixvREFBb0QsVUFBVSxFQUFFLENBQ2pFLENBQUM7WUFDSixDQUFDO1lBRUQsNEJBQTRCLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDLENBQUM7WUFDaEUsTUFBTSxlQUFlLEdBQUcsTUFBTSxNQUFNLENBQUM7Z0JBQ25DLEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLE9BQU8sRUFBRTtvQkFDUCx1QkFBdUIsRUFBRTtvQkFDekIsT0FBTyxDQUFDO3dCQUNOLGlCQUFpQixFQUFFLElBQUk7d0JBQ3ZCLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7d0JBQ3BCLE1BQU0sRUFBRSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUU7cUJBQzVELENBQUM7aUJBQ0g7YUFDRixDQUFDLENBQUM7WUFDSCxHQUFHLENBQUMsSUFBSSxDQUNOLHVCQUF1QixNQUFNLGNBQWMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQ25FLENBQUM7WUFDRixNQUFNLGVBQWUsQ0FBQyxLQUFLLENBQUM7Z0JBQzFCLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQzFDLE1BQU0sRUFBRSxLQUFLO2dCQUNiLElBQUksRUFBRSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSztnQkFDaEMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLO2dCQUN4QyxzQkFBc0IsRUFBRSxDQUFDLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxFQUFFO29CQUM1RCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQzNCLGtCQUFrQixDQUNuQixDQUFDO29CQUVGLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7d0JBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3BCLFNBQVMsRUFDVCxJQUFJOzZCQUNELFFBQVEsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUM7NkJBQzNDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDOzZCQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDYixDQUFDO29CQUNKLENBQUM7b0JBRUQsT0FBTyxrQkFBa0IsQ0FBQztnQkFDNUIsQ0FBQzthQUNGLENBQUMsQ0FBQztZQUNILE1BQU0sZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hDLENBQUM7Z0JBQVMsQ0FBQztZQUNULEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztTQUFNLENBQUM7UUFDTiw0QkFBNEIsQ0FBQyxZQUFZLEVBQUU7WUFDekMsTUFBTSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQzVCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLGFBQWEsRUFBRSxVQUFVO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRztRQUNkLEtBQUssRUFBRSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQzVDLFdBQVcsRUFBRSxpREFBaUQ7UUFDOUQsYUFBYSxFQUFFLG9DQUFvQztRQUNuRCxLQUFLLEVBQUUsdUNBQXVDO1FBQzlDLElBQUksRUFBRSwwQkFBMEI7S0FDakMsQ0FBQztJQUVGLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztJQUM1QixNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQztJQUVwQyxlQUFlLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUM1QixlQUFlLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUMxQyxlQUFlLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUVsQyxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDNUIsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQzdCLE9BQU8sZUFBZSxDQUFDLE9BQU8sQ0FBQztJQUMvQixlQUFlLENBQUMsSUFBSSxHQUFHLE1BQU07UUFDM0IsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLO1FBQzVCLENBQUMsQ0FBQyxHQUFHLEtBQUssV0FBVyxDQUFDO0lBRXhCLEVBQUUsQ0FBQyxhQUFhLENBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLEVBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQ2hDLENBQUM7SUFFRixFQUFFLENBQUMsYUFBYSxDQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLEVBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FDcEMsQ0FBQztJQUVGLElBQUksS0FBSyxJQUFJLFlBQVk7UUFDdkIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUU5RCxHQUFHLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDdkQsUUFBUSxDQUFDLGFBQWEsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNsQyxRQUFRLENBQUMsK0JBQStCLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMzRCxHQUFHLENBQUMsSUFBSSxDQUNOLFlBQVksSUFBSSw4QkFBOEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUNyRSxDQUFDO0lBQ0YsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNSLEdBQUcsQ0FBQyxJQUFJLENBQUMseURBQXlELENBQUMsQ0FBQztRQUNwRSxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ3RCLEdBQUcsRUFBRSxNQUFNO1lBQ1gsR0FBRyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUU7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDO0FBRUwsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUU7S0FDakMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0tBQzFCLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQztLQUMzQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUM7S0FDL0MsTUFBTSxDQUFDLG1CQUFtQixFQUFFLCtDQUErQyxDQUFDO0tBQzVFLFdBQVcsQ0FDViwyRUFBMkUsQ0FDNUU7S0FDQSxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO0lBQzdCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ3BCLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQ25FLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBRTVCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxQyxHQUFHLENBQUMsS0FBSyxDQUNQLHlCQUF5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLFlBQVksT0FBTyxFQUFFLENBQ3RGLENBQUM7SUFFRix3Q0FBd0M7SUFDeEMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRXZDLE1BQU0sTUFBTSxHQUFVLEVBQUUsQ0FBQztJQUN6QixJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQXdCLEVBQUUsQ0FBQztJQUN2QyxNQUFNLFVBQVUsR0FBd0IsRUFBRSxDQUFDO0lBRTNDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNO1FBQ2xCLE1BQU0sSUFBSSxhQUFhLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUUxRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN4QixJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZixNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsY0FBYyxDQUFDLE1BQU0sb0JBQW9CLENBQUMsQ0FBQztJQUNoRSxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsV0FBVyxDQUFDLE1BQU0sd0JBQXdCLENBQUMsQ0FBQztJQUNqRSxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEQsR0FBRyxDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELFlBQVksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckMsZUFBZSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQztBQUVMLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQUU7S0FDckMsT0FBTyxDQUFDLHFCQUFxQixDQUFDO0tBQzlCLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQztLQUMzQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUM7S0FDL0MsTUFBTSxDQUFDLG1CQUFtQixFQUFFLCtDQUErQyxDQUFDO0tBQzVFLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxtQ0FBbUMsQ0FBQztLQUNoRSxNQUFNLENBQUMsc0JBQXNCLEVBQUUsY0FBYyxDQUFDO0tBQzlDLE1BQU0sQ0FDTCxzQkFBc0IsRUFDdEIsNktBQTZLLENBQzlLO0tBQ0EsV0FBVyxDQUNWLDJFQUEyRSxDQUM1RTtLQUNBLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBWSxFQUFFLEVBQUU7SUFDN0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDcEIsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDbkUsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFFNUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzlDLEdBQUcsQ0FBQyxLQUFLLENBQ1AseUJBQXlCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksWUFBWSxPQUFPLEVBQUUsQ0FDdEYsQ0FBQztJQUVGLHdDQUF3QztJQUN4QyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUUxRCxJQUFJLENBQUM7UUFDSCxJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDakQsNkRBQTZEO1FBQy9ELENBQUM7UUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1lBQ3BCLGNBQWM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO0lBQ3pCLElBQUksSUFBSSxFQUFFLENBQUM7UUFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksTUFBTSxFQUFFLENBQUM7UUFDWCxHQUFHLENBQUMsSUFBSSxDQUFDLHVCQUF1QixNQUFNLEtBQUssQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTTtRQUNsQixNQUFNLElBQUksYUFBYSxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFFMUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNwQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ1IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDckIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQzVCLENBQUM7SUFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsR0FBRyxDQUFDLElBQUksQ0FDTixxRUFBcUUsQ0FDdEUsQ0FBQztRQUNGLE9BQU87SUFDVCxDQUFDO0lBRUQsS0FBSyxVQUFVLE9BQU8sQ0FBQyxVQUFxQjtRQUMxQyxNQUFNLElBQUksR0FLSixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ3JCLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkIsTUFBTSxXQUFXLEdBQXdCLEVBQUUsQ0FBQztZQUM1QyxLQUFLLE1BQU0sR0FBRyxJQUFJLFVBQVUsSUFBSSxNQUFNLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQzdDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLGFBQWEsQ0FDcEMsS0FBSyxFQUNMLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxFQUNoQixFQUFFO2dCQUNGLElBQUk7Z0JBQ0oseURBQXlEO2dCQUN6RCwyREFBMkQ7Z0JBQzNELEtBQUs7Z0JBQ0wsQ0FBQyxDQUFDLFVBQVUsQ0FDYixDQUFDO1lBQ0osQ0FBQztZQUVELElBQUksZ0JBQWdCLEdBQWtDLFNBQVMsQ0FBQztZQUVoRSxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN0RCxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO29CQUMvQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FDM0MsR0FBRyxDQUNKLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO3dCQUM1QixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQU0sVUFBVSxDQUFDLFFBQW1COzRCQUFFLE9BQU8sSUFBSSxDQUFDO3dCQUM1RCxnQkFBZ0IsR0FBRyxDQUFRLENBQUM7d0JBQzVCLE9BQU8sS0FBSyxDQUFDO29CQUNmLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2lCQUM3QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7aUJBQ3RCLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixJQUFJLGFBQWE7Z0JBQ2YsR0FBRztxQkFDQSxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDM0IsSUFBSSxDQUFDLFNBQVMsYUFBYSxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2lCQUMzQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7aUJBQ3BCLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUVqQixHQUFHO2lCQUNBLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMzQixJQUFJLENBQUMsU0FBUyxXQUFXLCtCQUErQixDQUFDLENBQUM7WUFDN0QsSUFBSSxnQkFBZ0I7Z0JBQ2xCLEdBQUc7cUJBQ0EsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzNCLElBQUksQ0FDSCwrQkFBK0IsVUFBVSxFQUFFLFFBQWtCLEVBQUUsQ0FDaEUsQ0FBQztZQUVOLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2lCQUN2QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDeEQsSUFBSSxFQUFFLENBQUM7WUFDVixJQUFJLE9BQU8sR0FBeUIsRUFBRSxDQUFDO1lBQ3ZDLElBQUksVUFBVSxHQUF1QixFQUFFLENBQUM7WUFDeEMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ25CLEdBQUc7cUJBQ0EsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzNCLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO2dCQUNqRCxPQUFPLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RDLEdBQUc7cUJBQ0EsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzNCLElBQUksQ0FBQyxTQUFTLE9BQU8sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxDQUFDO2dCQUMzQyxVQUFVLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVDLEdBQUc7cUJBQ0EsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzNCLElBQUksQ0FBQyxTQUFTLFVBQVUsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFDRCxPQUFPO2dCQUNMLE9BQU87Z0JBQ1AsVUFBVTtnQkFDVixXQUFXLEVBQUUsT0FBTztnQkFDcEIsTUFBTSxFQUFFLGdCQUFnQjthQUN6QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTyxFQUFFLENBQUM7SUFDN0IsTUFBTSxVQUFVLEdBQUcsTUFBTSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sYUFBYSxHQUFHO1FBQ3BCLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMxRCxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLEVBQUU7UUFDeEMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0tBQzlCLENBQUM7SUFFekIsTUFBTSxrQkFBa0IsR0FBRztRQUN6QixHQUFHLElBQUksR0FBRyxDQUNSLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FDbEUsQ0FBQyxNQUFNLEVBQUU7S0FDWCxDQUFDO0lBRUYsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM5QixnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQ3JDLE1BQU0sRUFDTixVQUFVLEVBQ1YseUJBQXlCLENBQzFCLENBQUM7UUFDRixNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQyxJQUFJLENBQ3pDLE1BQU0sRUFDTix5QkFBeUIsQ0FDMUIsQ0FBQztRQUNGLEVBQUUsQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUNsRSxHQUFHLENBQUMsSUFBSSxDQUNOLFVBQVUsYUFBYSxDQUFDLE1BQU0sbUJBQW1CLHFCQUFxQixFQUFFLENBQ3pFLENBQUM7UUFDRixHQUFHLENBQUMsSUFBSSxDQUNOLGdDQUFnQyx5QkFBeUIsNkJBQTZCLENBQ3ZGLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDakIsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2RCxNQUFNLE9BQU8sR0FBd0IsQ0FBQyxHQUFHLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQ2xFLE9BQU8sQ0FDZSxDQUFDO1lBQ3pCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDcEIsWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0Qyx5QkFBeUIsQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVELEdBQUcsQ0FBQyxJQUFJLENBQ04sVUFBVSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLFVBQVUsRUFBRSxNQUFNLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUM1RyxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVMLE1BQU0sV0FBVyxHQUFHLElBQUksT0FBTyxFQUFFO0tBQzlCLElBQUksQ0FBQyxhQUFhLENBQUM7S0FDbkIsV0FBVyxDQUFDLG1EQUFtRCxDQUFDO0tBQ2hFLE1BQU0sQ0FDTCxzQkFBc0IsRUFDdEIsbURBQW1ELEVBQ25ELG1CQUFtQixDQUNwQjtLQUNBLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLENBQUM7S0FDN0UsTUFBTSxDQUFDLHFCQUFxQixFQUFFLHFDQUFxQyxFQUFFLElBQUksQ0FBQztLQUMxRSxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO0lBQzdCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ3BCLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQ25FLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBRTVCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsR0FBRyxDQUFDLEtBQUssQ0FDUCx5QkFBeUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxZQUFZLE9BQU8sRUFBRSxDQUN0RixDQUFDO0lBQ0Ysd0NBQXdDO0lBQ3hDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUMvQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNwQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVwQyxNQUFNLDBCQUEwQixDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUV6RSxHQUFHLENBQUMsSUFBSSxDQUNOLDhEQUE4RCxTQUFTLElBQUksQ0FDNUUsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUwsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUU7S0FDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0tBQ3ZCLFdBQVcsQ0FBQywrQkFBK0IsQ0FBQztLQUM1QyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsNEJBQTRCLENBQUM7S0FDdkQsTUFBTSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsQ0FBQztLQUMxQyxNQUFNLENBQ0wsK0JBQStCLEVBQy9CLGtFQUFrRSxDQUNuRTtLQUNBLE1BQU0sQ0FDTCw2QkFBNkIsRUFDN0Isc0VBQXNFLEVBQ3RFLEtBQUssQ0FDTjtLQUNBLE1BQU0sQ0FDTCwwQkFBMEIsRUFDMUIsNEVBQTRFLEVBQzVFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FDdEU7S0FDQSxNQUFNLENBQ0wsa0JBQWtCLEVBQ2xCLDBCQUEwQixFQUMxQix3Q0FBd0MsQ0FDekM7S0FDQSxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO0lBQzdCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ3BCLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQ25FLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBRTVCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxQyxHQUFHLENBQUMsS0FBSyxDQUNQLHlCQUF5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLFlBQVksT0FBTyxFQUFFLENBQ3RGLENBQUM7SUFFRixNQUFNLEVBQ0osSUFBSSxFQUNKLEtBQUssRUFDTCxLQUFLLEVBQ0wsYUFBYTtJQUNiLDZEQUE2RDtJQUM3RCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBQ2xCLEdBQUcsT0FBTyxDQUFDO0lBQ1osTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVqQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRTFFLElBQUksUUFBZ0IsQ0FBQztJQUVyQixJQUFJLENBQUM7UUFDSCxRQUFRLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDbEUsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQUUsUUFBUSxHQUFHLENBQUMsQ0FBQzs7WUFDN0IsUUFBUSxJQUFJLENBQUMsQ0FBQztRQUNuQiw2REFBNkQ7SUFDL0QsQ0FBQztJQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7UUFDcEIsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNmLENBQUM7SUFDRCxFQUFFO0lBQ0YsMEJBQTBCO0lBQzFCLHdDQUF3QztJQUN4QyxxQkFBcUI7SUFDckIsSUFBSTtJQUVKLElBQUksQ0FBQztRQUNILEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxFQUFFLENBQUM7WUFDM0IsZUFBZSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUIsZUFBZSxDQUNiLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxLQUFLLGNBQWM7Z0JBQ3JCLENBQUMsQ0FBQyxpQkFBaUI7Z0JBQ25CLENBQUMsQ0FBQyx5QkFBeUIsRUFDN0IsUUFBUSxFQUNSLE9BQU8sRUFDUCxpQkFBaUIsQ0FDbEIsQ0FBQztRQUNKLENBQUM7UUFDRCxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQUMsT0FBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixHQUFHLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxlQUFlLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUM5RCxDQUFDLENBQUMsQ0FBQztBQUVMLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQUU7S0FDcEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO0tBQzNCLFdBQVcsQ0FBQyxtREFBbUQsQ0FBQztLQUNoRSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixDQUFDO0tBQ2xFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSw4QkFBOEIsRUFBRSxPQUFPLENBQUM7S0FDakUsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFZLEVBQUUsRUFBRTtJQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNwQixFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUNuRSxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztJQUU1QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDOUMsR0FBRyxDQUFDLEtBQUssQ0FDUCx5QkFBeUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxZQUFZLE9BQU8sRUFBRSxDQUN0RixDQUFDO0lBQ0YsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDaEMsUUFBUSxDQUFDLGFBQWEsR0FBRyxxQkFBcUIsTUFBTSxFQUFFLEVBQUU7UUFDdEQsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7S0FDbkIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFTCxNQUFNLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRTtLQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDO0tBQ2xCLE9BQU8sQ0FBQyxRQUFRLENBQUM7S0FDakIsV0FBVyxDQUNWLG1FQUFtRSxDQUNwRSxDQUFDO0FBRUosU0FBUyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNyQyxTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3JDLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDbEMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNyQyxTQUFTLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDeEMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBRXpDLE1BQU0sQ0FBQyxPQUFPLFVBQVUsTUFBTTtJQUM1QixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gXCJjb21tYW5kZXJcIjtcbmltcG9ydCB7IExvZ2dpbmcsIHRvUGFzY2FsQ2FzZSB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IFBsdWdpbiwgcm9sbHVwIH0gZnJvbSBcInJvbGx1cFwiO1xuaW1wb3J0IHJlcGxhY2UgZnJvbSBcIkByb2xsdXAvcGx1Z2luLXJlcGxhY2VcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IsIFNlcmlhbGl6YXRpb25FcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHtcbiAgZ2VuZXJhdGVNb2RlbERlc2lnbkRvY3MsXG4gIGdlbmVyYXRlTW9kZWxJbmRleGVzLFxuICByZWFkTW9kZWxGaWxlLFxuICByZWFkTW9kZWxGb2xkZXJzLFxuICB3cml0ZURlc2lnbkRvY3MsXG4gIHdyaXRlSW5kZXhlcyxcbn0gZnJvbSBcIi4vY2xpZW50L2luZGV4ZXNcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtcbiAgYXBwcm92ZUNvbnRyYWN0LFxuICBlbnN1cmVJbmZyYXN0cnVjdHVyZUJvb3RlZCxcbiAgaW5zdGFsbENvbnRyYWN0LFxuICBwYWNrYWdlQ29udHJhY3QsXG4gIGNvbW1pdENoYWluY29kZSxcbiAgZ2V0Q29udHJhY3RTdGFydENvbW1hbmQsXG4gIGNvbXBpbGVXaXRoVHNjb25maWdPdmVycmlkZXMsXG59IGZyb20gXCIuL2NsaS11dGlsc1wiO1xuaW1wb3J0IFwiLi9zaGFyZWQvb3ZlcnJpZGVzXCI7XG5pbXBvcnQgdHMgZnJvbSBcInR5cGVzY3JpcHRcIjtcbmltcG9ydCB7XG4gIGV4dHJhY3RDb2xsZWN0aW9ucyBhcyBleENvbGxlY3Rpb25zLFxuICBQcml2YXRlQ29sbGVjdGlvbixcbiAgd3JpdGVDb2xsZWN0aW9ucyxcbiAgd3JpdGVDb2xsZWN0aW9uRGVzaWduRG9jcyxcbn0gZnJvbSBcIi4vY2xpZW50L2NvbGxlY3Rpb25zL2luZGV4XCI7XG5pbXBvcnQgeyBDb3VjaERCRGVzaWduRG9jLCBDcmVhdGVJbmRleFJlcXVlc3QgfSBmcm9tIFwiQGRlY2FmLXRzL2Zvci1jb3VjaGRiXCI7XG5cbmNvbnN0IGxvZ2dlciA9IExvZ2dpbmcuZm9yKFwiZmFicmljXCIpO1xuXG5mdW5jdGlvbiByZXNvbHZlQnVuZGxlZEpzSW1wb3J0cygpOiBQbHVnaW4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IFwicmVzb2x2ZS1idW5kbGVkLWpzLWltcG9ydHNcIixcbiAgICByZXNvbHZlSWQoc291cmNlLCBpbXBvcnRlcikge1xuICAgICAgaWYgKCFpbXBvcnRlciB8fCAhc291cmNlLnN0YXJ0c1dpdGgoXCIuXCIpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXNvbHZlZFBhdGggPSBwYXRoLnJlc29sdmUocGF0aC5kaXJuYW1lKGltcG9ydGVyKSwgc291cmNlKTtcbiAgICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBbXG4gICAgICAgIHJlc29sdmVkUGF0aCxcbiAgICAgICAgYCR7cmVzb2x2ZWRQYXRofS5qc2AsXG4gICAgICAgIHBhdGguam9pbihyZXNvbHZlZFBhdGgsIFwiaW5kZXguanNcIiksXG4gICAgICBdO1xuXG4gICAgICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBjYW5kaWRhdGVzKSB7XG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKGNhbmRpZGF0ZSkgJiYgZnMuc3RhdFN5bmMoY2FuZGlkYXRlKS5pc0ZpbGUoKSkge1xuICAgICAgICAgIHJldHVybiBjYW5kaWRhdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSxcbiAgfTtcbn1cblxuY29uc3QgY29tcGlsZUNvbW1hbmQgPSBuZXcgQ29tbWFuZCgpXG4gIC5uYW1lKFwiY29tcGlsZS1jb250cmFjdFwiKVxuICAuZGVzY3JpcHRpb24oXCJDcmVhdGVzIGEgZ2xvYmFsIGNvbnRyYWN0XCIpXG4gIC5vcHRpb24oXCItLWRldlwiLCBcImNvbXBpbGVzIGNvbnRyYWN0cyB3aXRob3V0IG1pbmlmaWNhdGlvblwiLCBmYWxzZSlcbiAgLm9wdGlvbihcIi0tZGVidWdcIiwgXCJtYWtlcyBhdHRhY2hpbmcgZGVidWdnZXIgcG9zc2libGVcIiwgZmFsc2UpXG4gIC5vcHRpb24oXG4gICAgXCItLWNjYWFzXCIsXG4gICAgXCJBanVzdHMgdGhlIHBhY2thZ2UgY29tbWFuZHMgdG8gYmUgZGVwbG95ZWQgYXMgY2NhYXNcIixcbiAgICBmYWxzZVxuICApXG4gIC5vcHRpb24oXCItLW5hbWUgPFN0cmluZz5cIiwgXCJjb250cmFjdCBuYW1lXCIsIFwiZ2xvYmFsLWNvbnRyYWN0XCIpXG4gIC5vcHRpb24oXCItLWJ1bmRsZVwiLCBcIkJ1bmRsZXMgd2l0aCByb2xsdXAgaW5zdGVhZCBvZiB1c2luZyB0c2NcIiwgZmFsc2UpXG4gIC5vcHRpb24oXG4gICAgXCItLXRzLWNvbmZpZy1maWxlIDxzdHJpbmc+XCIsXG4gICAgXCJyZWxhdGl2ZSBwYXRoIHRvIHRoZSB0cyBjb25maWcgZmlsZSBiYXNlZCBvbiBjd2Qgb3IgYWJzb2x1dGUgcGF0aFwiLFxuICAgIFwiLi90c2NvbmZpZy5qc29uXCJcbiAgKVxuICAub3B0aW9uKFxuICAgIFwiLS1kZXNjcmlwdGlvbiA8U3RyaW5nPlwiLFxuICAgIFwiY29udHJhY3QgZGVzY3JpcHRpb25cIixcbiAgICBcIkdsb2JhbCBjb250cmFjdCBpbXBsZW1lbnRhdGlvblwiXG4gIClcbiAgLm9wdGlvbihcIi0tc3RyaXAtY29udHJhY3QtbmFtZVwiLCBcInN0cmlwIGNvbnRyYWN0IG5hbWUgZnJvbSBvdXRwdXRcIiwgZmFsc2UpXG4gIC5vcHRpb24oXCItLWlucHV0IDxTdHJpbmc+XCIsIFwiaW5wdXQgZm9sZGVyIGZvciBjb250cmFjdHNcIiwgXCJsaWIvY29udHJhY3RzXCIpXG4gIC5vcHRpb24oXCItLW91dHB1dCA8U3RyaW5nPlwiLCBcIm91dHB1dCBmb2xkZXIgZm9yIGNvbnRyYWN0c1wiLCBcIi4vY29udHJhY3RzXCIpXG4gIC5vcHRpb24oXCItLXNvdXJjZW1hcHNcIiwgXCJpbmNsdWRlcyBzb3VyY2VtYXBzIGluIHRoZSBjb21waWxlZCBvdXRwdXRcIiwgZmFsc2UpXG4gIC5vcHRpb24oXCItLW5wbXJjXCIsIFwiaW5jbHVkZXMgLm5wbXJjIGluIHRoZSBjb21waWxlZCBvdXRwdXRcIiwgZmFsc2UpXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHBrZ0xvY2sgPSBKU09OLnBhcnNlKFxuICAgICAgZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UtbG9jay5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGxldCBucG1yY0NvbnRlbnQgPSB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG5cbiAgICBsZXQge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgZGV2LFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgZGVidWcsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBuYW1lLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBvdXRwdXQsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBpbnB1dCxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgIHN0cmlwQ29udHJhY3ROYW1lLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgY2NhYXMsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBidW5kbGUsXG5cbiAgICAgIHRzQ29uZmlnRmlsZSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgIHNvdXJjZW1hcHMsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBucG1yYyxcbiAgICB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBsb2cgPSBsb2dnZXIuZm9yKFwiY29tcGlsZS1jb250cmFjdFwiKTtcbiAgICB0cnkge1xuICAgICAgaWYgKG5wbXJjKSB7XG4gICAgICAgIG5wbXJjQ29udGVudCA9IGZzXG4gICAgICAgICAgLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCIubnBtcmNcIiksIFwidXRmLThcIilcbiAgICAgICAgICAudG9TdHJpbmcoKTtcblxuICAgICAgICBjb25zdCByZXBsYWNlZCA9IG5wbXJjQ29udGVudC5yZXBsYWNlKFxuICAgICAgICAgIC9cXCRcXHsoW159XSspXFx9L2csXG4gICAgICAgICAgKF86IGFueSwgdmFyTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHByb2Nlc3MuZW52W3Zhck5hbWVdO1xuXG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgYFdhcm5pbmc6IEVudmlyb25tZW50IHZhcmlhYmxlIFwiJHt2YXJOYW1lfVwiIGlzIG5vdCBzZXRgXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIG5wbXJjQ29udGVudCA9IHJlcGxhY2VkO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgbG9nLmluZm8oYE5vIC5ucG1yYyBmaWxlIGZvdW5kLCBza2lwcGluZyBjb3B5aW5nIC5ucG1yYyB0byBvdXRwdXRgKTtcbiAgICB9XG5cbiAgICBsb2cuZGVidWcoXG4gICAgICBgcnVubmluZyB3aXRoIG9wdGlvbnM6ICR7SlNPTi5zdHJpbmdpZnkob3B0aW9ucyl9IGZvciAke3BrZy5uYW1lfSB2ZXJzaW9uICR7dmVyc2lvbn1gXG4gICAgKTtcblxuICAgIHRzQ29uZmlnRmlsZSA9IHBhdGguaXNBYnNvbHV0ZSh0c0NvbmZpZ0ZpbGUpXG4gICAgICA/IHRzQ29uZmlnRmlsZVxuICAgICAgOiBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgdHNDb25maWdGaWxlKTtcblxuICAgIG91dHB1dCA9IHN0cmlwQ29udHJhY3ROYW1lID8gb3V0cHV0IDogcGF0aC5qb2luKG91dHB1dCwgbmFtZSk7XG4gICAgbG9nLmluZm8oYERlbGV0aW5nIGV4aXN0aW5nIG91dHB1dCBmb2xkZXIgKGlmIGV4aXN0cykgdW5kZXIgJHtvdXRwdXR9YCk7XG4gICAgZXhlY1N5bmMoYHJtIC1yZiAke291dHB1dH1gKTtcbiAgICBpZiAoYnVuZGxlKSB7XG4gICAgICBsb2cuaW5mbyhgYnVuZGxpbmcgY29udHJhY3QgZnJvbSAke2lucHV0fWApO1xuICAgICAgY29uc3QgdGVtcEJ1bmRsZURpciA9IGZzLm1rZHRlbXBTeW5jKFxuICAgICAgICBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCIuY29udHJhY3QtYnVuZGxlLVwiKVxuICAgICAgKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGlucHV0RW50cnkgPSBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgaW5wdXQsIFwiaW5kZXgudHNcIik7XG4gICAgICAgIGNvbnN0IGNvbmZpZ0ZpbGUgPSB0cy5yZWFkQ29uZmlnRmlsZSh0c0NvbmZpZ0ZpbGUsIHRzLnN5cy5yZWFkRmlsZSk7XG4gICAgICAgIGlmIChjb25maWdGaWxlLmVycm9yKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgICB0cy5mbGF0dGVuRGlhZ25vc3RpY01lc3NhZ2VUZXh0KGNvbmZpZ0ZpbGUuZXJyb3IubWVzc2FnZVRleHQsIFwiXFxuXCIpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcnNlZENvbmZpZyA9IHRzLnBhcnNlSnNvbkNvbmZpZ0ZpbGVDb250ZW50KFxuICAgICAgICAgIGNvbmZpZ0ZpbGUuY29uZmlnLFxuICAgICAgICAgIHRzLnN5cyxcbiAgICAgICAgICBwYXRoLmRpcm5hbWUodHNDb25maWdGaWxlKSxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgdHNDb25maWdGaWxlXG4gICAgICAgICk7XG4gICAgICAgIGlmIChwYXJzZWRDb25maWcuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgcGFyc2VkQ29uZmlnLmVycm9yc1xuICAgICAgICAgICAgICAubWFwKChlcnJvcikgPT5cbiAgICAgICAgICAgICAgICB0cy5mbGF0dGVuRGlhZ25vc3RpY01lc3NhZ2VUZXh0KGVycm9yLm1lc3NhZ2VUZXh0LCBcIlxcblwiKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRlbXBDb21waWxlck9wdGlvbnM6IHRzLkNvbXBpbGVyT3B0aW9ucyA9IHtcbiAgICAgICAgICAuLi5wYXJzZWRDb25maWcub3B0aW9ucyxcbiAgICAgICAgICBvdXREaXI6IHRlbXBCdW5kbGVEaXIsXG4gICAgICAgICAgbW9kdWxlOiB0cy5Nb2R1bGVLaW5kLkVTTmV4dCxcbiAgICAgICAgICBkZWNsYXJhdGlvbjogZmFsc2UsXG4gICAgICAgICAgc291cmNlTWFwOiBmYWxzZSxcbiAgICAgICAgICBpbmxpbmVTb3VyY2VzOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgYnVuZGxlZEVudHJ5UG9pbnQgPSB0c1xuICAgICAgICAgIC5nZXRPdXRwdXRGaWxlTmFtZXMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC4uLnBhcnNlZENvbmZpZyxcbiAgICAgICAgICAgICAgb3B0aW9uczogdGVtcENvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbnB1dEVudHJ5LFxuICAgICAgICAgICAgIXRzLnN5cy51c2VDYXNlU2Vuc2l0aXZlRmlsZU5hbWVzXG4gICAgICAgICAgKVxuICAgICAgICAgIC5maW5kKChmaWxlTmFtZSkgPT4gZmlsZU5hbWUuZW5kc1dpdGgoXCIuanNcIikpO1xuXG4gICAgICAgIGlmICghYnVuZGxlZEVudHJ5UG9pbnQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICAgIGBGYWlsZWQgdG8gZGV0ZXJtaW5lIHRoZSBlbWl0dGVkIGJ1bmRsZSBlbnRyeSBmb3IgJHtpbnB1dEVudHJ5fWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29tcGlsZVdpdGhUc2NvbmZpZ092ZXJyaWRlcyh0c0NvbmZpZ0ZpbGUsIHRlbXBDb21waWxlck9wdGlvbnMpO1xuICAgICAgICBjb25zdCBidW5kbGVkQ29udHJhY3QgPSBhd2FpdCByb2xsdXAoe1xuICAgICAgICAgIGlucHV0OiBidW5kbGVkRW50cnlQb2ludCxcbiAgICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgICByZXNvbHZlQnVuZGxlZEpzSW1wb3J0cygpLFxuICAgICAgICAgICAgcmVwbGFjZSh7XG4gICAgICAgICAgICAgIHByZXZlbnRBc3NpZ25tZW50OiB0cnVlLFxuICAgICAgICAgICAgICBkZWxpbWl0ZXJzOiBbXCJcIiwgXCJcIl0sXG4gICAgICAgICAgICAgIHZhbHVlczogeyBcIiMjVkVSU0lPTiMjXCI6IHZlcnNpb24sIFwiIyNQQUNLQUdFIyNcIjogcGtnLm5hbWUgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBsb2cuaW5mbyhcbiAgICAgICAgICBgd2l0aGluZyBjb250cmFjdCB0byAke291dHB1dH0gd2l0aCBuYW1lICR7dG9QYXNjYWxDYXNlKG5hbWUpfS5qc2BcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgYnVuZGxlZENvbnRyYWN0LndyaXRlKHtcbiAgICAgICAgICBmaWxlOiBgJHtvdXRwdXR9LyR7dG9QYXNjYWxDYXNlKG5hbWUpfS5qc2AsXG4gICAgICAgICAgZm9ybWF0OiBcInVtZFwiLFxuICAgICAgICAgIG5hbWU6IGAke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgLFxuICAgICAgICAgIHNvdXJjZW1hcDogc291cmNlbWFwcyA/IFwiaW5saW5lXCIgOiBmYWxzZSxcbiAgICAgICAgICBzb3VyY2VtYXBQYXRoVHJhbnNmb3JtOiAocmVsYXRpdmVTb3VyY2VQYXRoLCBzb3VyY2VtYXBQYXRoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhYnNvbHV0ZVNvdXJjZVBhdGggPSBwYXRoLnJlc29sdmUoXG4gICAgICAgICAgICAgIHBhdGguZGlybmFtZShzb3VyY2VtYXBQYXRoKSxcbiAgICAgICAgICAgICAgcmVsYXRpdmVTb3VyY2VQYXRoXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoYWJzb2x1dGVTb3VyY2VQYXRoLnN0YXJ0c1dpdGgodGVtcEJ1bmRsZURpcikpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHBhdGgucG9zaXguam9pbihcbiAgICAgICAgICAgICAgICBcIi5idW5kbGVcIixcbiAgICAgICAgICAgICAgICBwYXRoXG4gICAgICAgICAgICAgICAgICAucmVsYXRpdmUodGVtcEJ1bmRsZURpciwgYWJzb2x1dGVTb3VyY2VQYXRoKVxuICAgICAgICAgICAgICAgICAgLnNwbGl0KHBhdGguc2VwKVxuICAgICAgICAgICAgICAgICAgLmpvaW4oXCIvXCIpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZWxhdGl2ZVNvdXJjZVBhdGg7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IGJ1bmRsZWRDb250cmFjdC5jbG9zZSgpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgZnMucm1TeW5jKHRlbXBCdW5kbGVEaXIsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29tcGlsZVdpdGhUc2NvbmZpZ092ZXJyaWRlcyh0c0NvbmZpZ0ZpbGUsIHtcbiAgICAgICAgb3V0RGlyOiBvdXRwdXQsXG4gICAgICAgIG1vZHVsZTogdHMuTW9kdWxlS2luZC5FU05leHQsXG4gICAgICAgIGRlY2xhcmF0aW9uOiBmYWxzZSxcbiAgICAgICAgc291cmNlTWFwOiBzb3VyY2VtYXBzLFxuICAgICAgICBpbmxpbmVTb3VyY2VzOiBzb3VyY2VtYXBzLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2NyaXB0cyA9IHtcbiAgICAgIHN0YXJ0OiBnZXRDb250cmFjdFN0YXJ0Q29tbWFuZChkZWJ1ZywgY2NhYXMpLFxuICAgICAgXCJzdGFydDpkZXZcIjogXCJmYWJyaWMtY2hhaW5jb2RlLW5vZGUgc3RhcnQgLS10bHMuZW5hYmxlZCBmYWxzZVwiLFxuICAgICAgXCJzdGFydDp3YXRjaFwiOiAnbm9kZW1vbiAtLWV4ZWMgXCJucG0gcnVuIHN0YXJ0OmRldlwiJyxcbiAgICAgIGJ1aWxkOiAnZWNobyBcIk5vIG5lZWQgdG8gYnVpbGQgdGhlIGNoYWluY29kZVwiJyxcbiAgICAgIGxpbnQ6IFwiZXNsaW50IC4gLS1maXggLS1leHQgLmpzXCIsXG4gICAgfTtcblxuICAgIGNvbnN0IGNvbnRyYWN0UGFja2FnZSA9IHBrZztcbiAgICBjb25zdCBjb250cmFjdFBhY2thZ2VMb2NrID0gcGtnTG9jaztcblxuICAgIGNvbnRyYWN0UGFja2FnZS5uYW1lID0gbmFtZTtcbiAgICBjb250cmFjdFBhY2thZ2UuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICBjb250cmFjdFBhY2thZ2Uuc2NyaXB0cyA9IHNjcmlwdHM7XG5cbiAgICBkZWxldGUgY29udHJhY3RQYWNrYWdlLnR5cGU7XG4gICAgZGVsZXRlIGNvbnRyYWN0UGFja2FnZS50eXBlcztcbiAgICBkZWxldGUgY29udHJhY3RQYWNrYWdlLmV4cG9ydHM7XG4gICAgY29udHJhY3RQYWNrYWdlLm1haW4gPSBidW5kbGVcbiAgICAgID8gYCR7dG9QYXNjYWxDYXNlKG5hbWUpfS5qc2BcbiAgICAgIDogYCR7aW5wdXR9L2luZGV4LmpzYDtcblxuICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4ob3V0cHV0LCBcInBhY2thZ2UuanNvblwiKSxcbiAgICAgIEpTT04uc3RyaW5naWZ5KGNvbnRyYWN0UGFja2FnZSlcbiAgICApO1xuXG4gICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgIHBhdGguam9pbihvdXRwdXQsIFwicGFja2FnZS1sb2NrLmpzb25cIiksXG4gICAgICBKU09OLnN0cmluZ2lmeShjb250cmFjdFBhY2thZ2VMb2NrKVxuICAgICk7XG5cbiAgICBpZiAobnBtcmMgJiYgbnBtcmNDb250ZW50KVxuICAgICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4ob3V0cHV0LCBcIi5ucG1yY1wiKSwgbnBtcmNDb250ZW50KTtcblxuICAgIGxvZy5pbmZvKGBJbnN0YWxsaW5nIGFuZCBzaHJpbmt3cmFwcGluZyBkZXBlbmRlbmNpZXNgKTtcbiAgICBleGVjU3luYyhgbnBtIGluc3RhbGxgLCB7IGN3ZDogb3V0cHV0IH0pO1xuICAgIGV4ZWNTeW5jKGBucG0gc2hyaW5rd3JhcGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgZXhlY1N5bmMoXCJybSAtcmYgbm9kZV9tb2R1bGVzXCIsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oYGRlbGV0aW5nIHRlbXAgZm9sZGVyc2ApO1xuICAgIGV4ZWNTeW5jKGBybSAtcmYgLi9saWIgJiYgcm0gLXJmIC4vZGlzdGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oXG4gICAgICBgQ29udHJhY3QgJHtuYW1lfSBjb21waWxlZCBzdWNjZXNzZnVsbHkhIGluICR7cGF0aC5yZXNvbHZlKG91dHB1dCl9YFxuICAgICk7XG4gICAgaWYgKGRldikge1xuICAgICAgbG9nLmluZm8oYGRldiBtb2RlIGVuYWJsZWQuIGluc3RhbGxpbmcgZGVwZW5kZW5jaWVzIGZvciBkZWJ1Z2dpbmdgKTtcbiAgICAgIGV4ZWNTeW5jKGBucG0gaW5zdGFsbGAsIHtcbiAgICAgICAgY3dkOiBvdXRwdXQsXG4gICAgICAgIGVudjogeyAuLi5wcm9jZXNzLmVudiwgTk9ERV9FTlY6IFwicHJvZHVjdGlvblwiIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG5jb25zdCBleHRyYWN0SW5kZXhlcyA9IG5ldyBDb21tYW5kKClcbiAgLmNvbW1hbmQoXCJleHRyYWN0LWluZGV4ZXNcIilcbiAgLm9wdGlvbihcIi0tZmlsZSBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmaWxlXCIpXG4gIC5vcHRpb24oXCItLWZvbGRlciBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmb2xkZXJcIilcbiAgLm9wdGlvbihcIi0tb3V0RGlyIDxTdHJpbmc+XCIsIFwidGhlIG91dGRpci4gc2hvdWxkIG1hdGNoIHlvdXIgY29udHJhY3QgZm9sZGVyXCIpXG4gIC5kZXNjcmlwdGlvbihcbiAgICBcIkNyZWF0ZXMgYSB0aGUgSlNPTiBpbmRleCBmaWxlcyB0byBiZSBzdWJtaXR0ZWQgdG8gYWxvbmcgd2l0aCB0aGUgY29udHJhY3RcIlxuICApXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJleHRyYWN0LWluZGV4ZXNcIik7XG4gICAgbG9nLmRlYnVnKFxuICAgICAgYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YFxuICAgICk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgbGV0IHsgZmlsZSwgZm9sZGVyLCBvdXREaXIgfSA9IG9wdGlvbnM7XG5cbiAgICBjb25zdCBtb2RlbHM6IGFueVtdID0gW107XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIG1vZGVscy5wdXNoKC4uLnJlYWRNb2RlbEZpbGUoZmlsZSkpO1xuICAgIH1cblxuICAgIGlmIChmb2xkZXIpIHtcbiAgICAgIGxvZy5pbmZvKGBMb2FkaW5nIG1vZGVscyBmcm9tICR7Zm9sZGVyfS4uLmApO1xuICAgICAgbW9kZWxzLnB1c2goLi4uKGF3YWl0IHJlYWRNb2RlbEZvbGRlcnMoZm9sZGVyKSkpO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBjb25zdCBkZXNpZ25Eb2NzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cbiAgICBpZiAoIWZpbGUgJiYgIWZvbGRlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBNdXN0IHBhc3MgYSBmaWxlIG9yIGEgZm9sZGVyYCk7XG5cbiAgICBmb3IgKGNvbnN0IG0gb2YgbW9kZWxzKSB7XG4gICAgICBsb2cudmVyYm9zZShgRXh0cmFjdGluZyBpbmRleGVzIGZvciB0YWJsZSAke01vZGVsLnRhYmxlTmFtZShtKX1gKTtcbiAgICAgIGNvbnN0IGluZGV4ZXMgPSBnZW5lcmF0ZU1vZGVsSW5kZXhlcyhtKTtcbiAgICAgIGluZGV4ZXMuZm9yRWFjaCgoaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGluZGV4Lm5hbWUpIHtcbiAgICAgICAgICByZXN1bHRbaW5kZXgubmFtZV0gPSBpbmRleDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jcyhtLCBkZXNpZ25Eb2NzKTtcbiAgICB9XG4gICAgY29uc3QgaW5kZXhlc1RvV3JpdGUgPSBPYmplY3QudmFsdWVzKHJlc3VsdCk7XG4gICAgY29uc3QgZG9jc1RvV3JpdGUgPSBPYmplY3QudmFsdWVzKGRlc2lnbkRvY3MpO1xuICAgIGxvZy52ZXJib3NlKGBGb3VuZCAke2luZGV4ZXNUb1dyaXRlLmxlbmd0aH0gaW5kZXhlcyB0byBjcmVhdGVgKTtcbiAgICBsb2cudmVyYm9zZShgRm91bmQgJHtkb2NzVG9Xcml0ZS5sZW5ndGh9IGRlc2lnbiBkb2NzIHRvIGNyZWF0ZWApO1xuICAgIGxvZy5kZWJ1ZyhgSW5kZXhlczogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQpfWApO1xuICAgIGxvZy5kZWJ1ZyhgRGVzaWduRG9jczogJHtKU09OLnN0cmluZ2lmeShkZXNpZ25Eb2NzKX1gKTtcbiAgICB3cml0ZUluZGV4ZXMoaW5kZXhlc1RvV3JpdGUsIG91dERpcik7XG4gICAgd3JpdGVEZXNpZ25Eb2NzKGRvY3NUb1dyaXRlLCBvdXREaXIpO1xuICB9KTtcblxuY29uc3QgZXh0cmFjdENvbGxlY3Rpb25zID0gbmV3IENvbW1hbmQoKVxuICAuY29tbWFuZChcImV4dHJhY3QtY29sbGVjdGlvbnNcIilcbiAgLm9wdGlvbihcIi0tZmlsZSBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmaWxlXCIpXG4gIC5vcHRpb24oXCItLWZvbGRlciBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmb2xkZXJcIilcbiAgLm9wdGlvbihcIi0tb3V0RGlyIDxTdHJpbmc+XCIsIFwidGhlIG91dGRpci4gc2hvdWxkIG1hdGNoIHlvdXIgY29udHJhY3QgZm9sZGVyXCIpXG4gIC5vcHRpb24oXCItLW1zcElkcyA8U3RyaW5nPlwiLCBcInNpbmdsZSBtc3BJZCBvciBzdHJpbmdpZmllZCBhcnJheVwiKVxuICAub3B0aW9uKFwiLS1tYWluTXNwSWQgPFN0cmluZz5cIiwgXCJzaW5nbGUgbXNwSWRcIilcbiAgLm9wdGlvbihcbiAgICBcIi0tb3ZlcnJpZGVzIFtTdHJpbmddXCIsXG4gICAgXCJzdHJpbmdpZmllZCBvdmVycmlkZSBvYmplY3Qge3JlcXVpcmVkUGVlckNvdW50OiBudW1iZXIsIG1heFBlZXJDb3VudDogbnVtYmVyLCBibG9ja1RvTGl2ZTogbnVtYmVyLCBtZW1iZXJPbmx5UmVhZDogbnVtYmVyLCBtZW1iZXJPbmx5V3JpdGU6IG51bWJlciwgZW5kb3JzZW1lbnRQb2xpY3k6ICB7fX1cIlxuICApXG4gIC5kZXNjcmlwdGlvbihcbiAgICBcIkNyZWF0ZXMgYSB0aGUgSlNPTiBpbmRleCBmaWxlcyB0byBiZSBzdWJtaXR0ZWQgdG8gYWxvbmcgd2l0aCB0aGUgY29udHJhY3RcIlxuICApXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJleHRyYWN0LWNvbGxlY3Rpb25zXCIpO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWBcbiAgICApO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCB7IGZpbGUsIGZvbGRlciwgb3V0RGlyLCBtc3BJZHMsIG1haW5Nc3BJZCB9ID0gb3B0aW9ucztcblxuICAgIHRyeSB7XG4gICAgICB0cnkge1xuICAgICAgICBtc3BJZHMgPSBtc3BJZHMgPyBKU09OLnBhcnNlKG1zcElkcykgOiB1bmRlZmluZWQ7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgLy8gIGRvIG5vdGhpbmdcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKGBVbmFibGUgdG8gZXh0cmFjdCBtc3BpZHM6ICAke2V9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgbW9kZWxzOiBhbnlbXSA9IFtdO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICBtb2RlbHMucHVzaCguLi5yZWFkTW9kZWxGaWxlKGZpbGUpKTtcbiAgICB9XG5cbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICBsb2cuaW5mbyhgTG9hZGluZyBtb2RlbHMgZnJvbSAke2ZvbGRlcn0uLi5gKTtcbiAgICAgIG1vZGVscy5wdXNoKC4uLihhd2FpdCByZWFkTW9kZWxGb2xkZXJzKGZvbGRlcikpKTtcbiAgICB9XG5cbiAgICBpZiAoIWZpbGUgJiYgIWZvbGRlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBNdXN0IHBhc3MgYSBmaWxlIG9yIGEgZm9sZGVyYCk7XG5cbiAgICBjb25zdCBpbmplY3RhYmxlTW9kZWxzID0gbW9kZWxzLmZpbHRlcihcbiAgICAgIChtb2RlbCkgPT5cbiAgICAgICAgTW9kZWwuaXNTaGFyZWQobW9kZWwpIHx8XG4gICAgICAgIE1vZGVsLmlzUHJpdmF0ZShtb2RlbCkgfHxcbiAgICAgICAgISFNb2RlbC5taXJyb3JlZEF0KG1vZGVsKVxuICAgICk7XG4gICAgaWYgKCFpbmplY3RhYmxlTW9kZWxzLmxlbmd0aCkge1xuICAgICAgbG9nLmluZm8oXG4gICAgICAgIGBObyBzaGFyZWQsIHByaXZhdGUsIG9yIG1pcnJvcmVkIG1vZGVscyBmb3VuZCB0byBleHRyYWN0IGNvbGxlY3Rpb25zYFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiBnZXRDb2xzKG1zcElkc0xpc3Q/OiBzdHJpbmdbXSkge1xuICAgICAgY29uc3QgY29sczoge1xuICAgICAgICBpbmRleGVzOiBDcmVhdGVJbmRleFJlcXVlc3RbXTtcbiAgICAgICAgZGVzaWduRG9jczogQ291Y2hEQkRlc2lnbkRvY1tdO1xuICAgICAgICBtaXJyb3I/OiBQcml2YXRlQ29sbGVjdGlvbjtcbiAgICAgICAgY29sbGVjdGlvbnM6IFByaXZhdGVDb2xsZWN0aW9uW107XG4gICAgICB9W10gPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgaW5qZWN0YWJsZU1vZGVscy5tYXAoYXN5bmMgKGNsYXp6KSA9PiB7XG4gICAgICAgICAgY29uc3QgdGFibGVOYW1lID0gTW9kZWwudGFibGVOYW1lKGNsYXp6KTtcbiAgICAgICAgICBjb25zdCBtaXJyb3JNZXRhID0gTW9kZWwubWlycm9yZWRBdChjbGF6eik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyh0YWJsZU5hbWUpO1xuICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgICAgICAgZm9yIChjb25zdCBtc3Agb2YgbXNwSWRzTGlzdCB8fCBtc3BJZHMgfHwgW10pIHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb25zW21zcF0gPSBhd2FpdCBleENvbGxlY3Rpb25zKFxuICAgICAgICAgICAgICBjbGF6eixcbiAgICAgICAgICAgICAgW21zcCwgbWFpbk1zcElkXSxcbiAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgICAgLy8gICBzaGFyZWRDb2xzOiBPYmplY3QuYXNzaWduKHt9LCBvdmVycmlkZXMuc2hhcmVkQ29scyksXG4gICAgICAgICAgICAgIC8vICAgcHJpdmF0ZUNvbHM6IE9iamVjdC5hc3NpZ24oe30sIG92ZXJyaWRlcy5wcml2YXRlQ29scyksXG4gICAgICAgICAgICAgIC8vIH0sXG4gICAgICAgICAgICAgICEhbWlycm9yTWV0YVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgbWlycm9yQ29sbGVjdGlvbjogUHJpdmF0ZUNvbGxlY3Rpb24gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgICBpZiAobWlycm9yTWV0YSkge1xuICAgICAgICAgICAgY29sbGVjdGlvbnNbbWFpbk1zcElkXSA9IGNvbGxlY3Rpb25zW21haW5Nc3BJZF0gfHwge307XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhjb2xsZWN0aW9ucykuZm9yRWFjaCgobXNwOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbnNbbWFpbk1zcElkXS5wcml2YXRlcyA9IGNvbGxlY3Rpb25zW1xuICAgICAgICAgICAgICAgIG1zcFxuICAgICAgICAgICAgICBdLnByaXZhdGVzPy5maWx0ZXIoKHA6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwLm5hbWUgIT09IChtaXJyb3JNZXRhLnJlc29sdmVyIGFzIHN0cmluZykpIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIG1pcnJvckNvbGxlY3Rpb24gPSBwIGFzIGFueTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgcHJpdmF0ZXNDb3VudCA9IE9iamVjdC52YWx1ZXMoY29sbGVjdGlvbnMpXG4gICAgICAgICAgICAubWFwKChjKSA9PiBjLnByaXZhdGVzKVxuICAgICAgICAgICAgLmZsYXQoKS5sZW5ndGg7XG4gICAgICAgICAgaWYgKHByaXZhdGVzQ291bnQpXG4gICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAuaW5mbyhgRm91bmQgJHtwcml2YXRlc0NvdW50fSBwcml2YXRlIGNvbGxlY3Rpb25zIHRvIGNyZWF0ZWApO1xuICAgICAgICAgIGNvbnN0IHNoYXJlZENvdW50ID0gT2JqZWN0LnZhbHVlcyhjb2xsZWN0aW9ucylcbiAgICAgICAgICAgIC5tYXAoKGMpID0+IGMuc2hhcmVkKVxuICAgICAgICAgICAgLmZsYXQoKS5sZW5ndGg7XG5cbiAgICAgICAgICBsb2dcbiAgICAgICAgICAgIC5mb3IoTW9kZWwudGFibGVOYW1lKGNsYXp6KSlcbiAgICAgICAgICAgIC5pbmZvKGBGb3VuZCAke3NoYXJlZENvdW50fSBzaGFyZWQgY29sbGVjdGlvbnMgdG8gY3JlYXRlYCk7XG4gICAgICAgICAgaWYgKG1pcnJvckNvbGxlY3Rpb24pXG4gICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAuaW5mbyhcbiAgICAgICAgICAgICAgICBgRm91bmQgb25lIG1pcnJvciBjb2xsZWN0aW9uICR7bWlycm9yTWV0YT8ucmVzb2x2ZXIgYXMgc3RyaW5nfWBcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnN0IGNvbExpc3QgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25zKVxuICAgICAgICAgICAgLm1hcCgoYykgPT4gWy4uLihjLnByaXZhdGVzIHx8IFtdKSwgLi4uKGMuc2hhcmVkIHx8IFtdKV0pXG4gICAgICAgICAgICAuZmxhdCgpO1xuICAgICAgICAgIGxldCBpbmRleGVzOiBDcmVhdGVJbmRleFJlcXVlc3RbXSA9IFtdO1xuICAgICAgICAgIGxldCBkZXNpZ25Eb2NzOiBDb3VjaERCRGVzaWduRG9jW10gPSBbXTtcbiAgICAgICAgICBpZiAoY29sTGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGxvZ1xuICAgICAgICAgICAgICAuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpXG4gICAgICAgICAgICAgIC52ZXJib3NlKGBnZW5lcmF0aW5nIGluZGV4ZXMgZm9yIGNvbGxlY3Rpb25zYCk7XG4gICAgICAgICAgICBpbmRleGVzID0gZ2VuZXJhdGVNb2RlbEluZGV4ZXMoY2xhenopO1xuICAgICAgICAgICAgbG9nXG4gICAgICAgICAgICAgIC5mb3IoTW9kZWwudGFibGVOYW1lKGNsYXp6KSlcbiAgICAgICAgICAgICAgLmluZm8oYGZvdW5kICR7aW5kZXhlcy5sZW5ndGh9IGluZGV4ZXNgKTtcbiAgICAgICAgICAgIGRlc2lnbkRvY3MgPSBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jcyhjbGF6eik7XG4gICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAuaW5mbyhgZm91bmQgJHtkZXNpZ25Eb2NzLmxlbmd0aH0gZGVzaWduIGRvY3NgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGluZGV4ZXMsXG4gICAgICAgICAgICBkZXNpZ25Eb2NzLFxuICAgICAgICAgICAgY29sbGVjdGlvbnM6IGNvbExpc3QsXG4gICAgICAgICAgICBtaXJyb3I6IG1pcnJvckNvbGxlY3Rpb24sXG4gICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gY29scztcbiAgICB9XG5cbiAgICBjb25zdCBjb2xzID0gYXdhaXQgZ2V0Q29scygpO1xuICAgIGNvbnN0IG9ubHlNaXJyb3IgPSBhd2FpdCBnZXRDb2xzKFttYWluTXNwSWRdKTtcblxuICAgIGNvbnN0IGNvbGxlY3Rpb25zVG8gPSBbXG4gICAgICAuLi5vbmx5TWlycm9yLmZpbHRlcigoYykgPT4gYy5taXJyb3IpLm1hcCgoYykgPT4gYy5taXJyb3IpLFxuICAgICAgLi4uY29scy5tYXAoKGMpID0+IGMuY29sbGVjdGlvbnMpLmZsYXQoKSxcbiAgICAgIC4uLmNvbHMuZmlsdGVyKChjKSA9PiBjLm1pcnJvcikubWFwKChjKSA9PiBjLm1pcnJvciksXG4gICAgXSBhcyBQcml2YXRlQ29sbGVjdGlvbltdO1xuXG4gICAgY29uc3QgdW5pcXVlQnlDb2xsZWN0aW9uID0gW1xuICAgICAgLi4ubmV3IE1hcChcbiAgICAgICAgY29sbGVjdGlvbnNUby5tYXAoKGl0ZW06IFByaXZhdGVDb2xsZWN0aW9uKSA9PiBbaXRlbS5uYW1lLCBpdGVtXSlcbiAgICAgICkudmFsdWVzKCksXG4gICAgXTtcblxuICAgIGlmICh1bmlxdWVCeUNvbGxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICB3cml0ZUNvbGxlY3Rpb25zKHVuaXF1ZUJ5Q29sbGVjdGlvbiwgb3V0RGlyKTtcbiAgICAgIGNvbnN0IG1ldGFDb2xsZWN0aW9uc0NvbmZpZyA9IHBhdGguam9pbihcbiAgICAgICAgb3V0RGlyLFxuICAgICAgICBcIk1FVEEtSU5GXCIsXG4gICAgICAgIFwiY29sbGVjdGlvbnNfY29uZmlnLmpzb25cIlxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNvbnRyYWN0Q29sbGVjdGlvbnNDb25maWcgPSBwYXRoLmpvaW4oXG4gICAgICAgIG91dERpcixcbiAgICAgICAgXCJjb2xsZWN0aW9uc19jb25maWcuanNvblwiXG4gICAgICApO1xuICAgICAgZnMuY29weUZpbGVTeW5jKG1ldGFDb2xsZWN0aW9uc0NvbmZpZywgY29udHJhY3RDb2xsZWN0aW9uc0NvbmZpZyk7XG4gICAgICBsb2cuaW5mbyhcbiAgICAgICAgYFN0b3JlZCAke2NvbGxlY3Rpb25zVG8ubGVuZ3RofSBjb2xsZWN0aW9ucyB0byAke21ldGFDb2xsZWN0aW9uc0NvbmZpZ31gXG4gICAgICApO1xuICAgICAgbG9nLmluZm8oXG4gICAgICAgIGBDb3BpZWQgY29sbGVjdGlvbnNfY29uZmlnIHRvICR7Y29udHJhY3RDb2xsZWN0aW9uc0NvbmZpZ30gYWxvbmdzaWRlIHRoZSBwYWNrYWdlLmpzb25gXG4gICAgICApO1xuXG4gICAgICBjb2xzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgY29uc3QgeyBpbmRleGVzLCBkZXNpZ25Eb2NzLCBjb2xsZWN0aW9ucywgbWlycm9yIH0gPSBjO1xuICAgICAgICBjb25zdCB0b0luZGV4OiBQcml2YXRlQ29sbGVjdGlvbltdID0gWy4uLmNvbGxlY3Rpb25zLCBtaXJyb3JdLmZpbHRlcihcbiAgICAgICAgICBCb29sZWFuXG4gICAgICAgICkgYXMgUHJpdmF0ZUNvbGxlY3Rpb25bXTtcbiAgICAgICAgdG9JbmRleC5mb3JFYWNoKChpKSA9PiB7XG4gICAgICAgICAgd3JpdGVJbmRleGVzKGluZGV4ZXMsIG91dERpciwgaS5uYW1lKTtcbiAgICAgICAgICB3cml0ZUNvbGxlY3Rpb25EZXNpZ25Eb2NzKGRlc2lnbkRvY3MgfHwgW10sIG91dERpciwgaS5uYW1lKTtcbiAgICAgICAgICBsb2cuaW5mbyhcbiAgICAgICAgICAgIGBTdG9yZWQgJHtpbmRleGVzPy5sZW5ndGggfHwgMH0gaW5kZXhlcyBhbmQgJHtkZXNpZ25Eb2NzPy5sZW5ndGggfHwgMH0gZGVzaWduIGRvY3MgdG8gY29sbGVjdGlvbiAke2kubmFtZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG5jb25zdCBlbnN1cmVJbmZyYSA9IG5ldyBDb21tYW5kKClcbiAgLm5hbWUoXCJhd2FpdC1pbmZyYVwiKVxuICAuZGVzY3JpcHRpb24oXCJ3YWl0cyBmb3IgdGhlIGluZnJhc3RydWN0dXJlIHRvIGJlIHVwIGFuZCBydW5uaW5nXCIpXG4gIC5vcHRpb24oXG4gICAgXCItLWNvbnRhaW5lciA8U3RyaW5nPlwiLFxuICAgIFwiZG9ja2VyIGNvbnRhaW5lciBuYW1lIHRvIHRlc3QgKHVzdWFsbHkgbGFzdCBwZWVyKVwiLFxuICAgIFwiYm9vdC1vcmctYy1wZWVyLTBcIlxuICApXG4gIC5vcHRpb24oXCItLXRpbWVvdXQgPFN0cmluZz5cIiwgXCJ0aW1lb3V0IGJldHdlZW4gdGVzdHMgaW4gbWlsbGlzZWNvbmRzXCIsIFwiNTAwMFwiKVxuICAub3B0aW9uKFwiLS1hdHRlbXB0cyA8U3RyaW5nPlwiLCBcIm51bWJlciBvZiBhdHRlbXB0cyBiZWZvcmUgZ2l2aW5nIHVwXCIsIFwiMTBcIilcbiAgLmFjdGlvbihhc3luYyAob3B0aW9uczogYW55KSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShcbiAgICAgIGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLmpzb25cIiksIFwidXRmLThcIilcbiAgICApO1xuXG4gICAgY29uc3QgdmVyc2lvbiA9IHBrZy52ZXJzaW9uO1xuXG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImF3YWl0LWluZnJhXCIpO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWBcbiAgICApO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBsZXQgeyBjb250YWluZXIsIHRpbWVvdXQsIGF0dGVtcHRzIH0gPSBvcHRpb25zO1xuICAgIHRpbWVvdXQgPSBwYXJzZUludCh0aW1lb3V0KSB8fCA1MDAwO1xuICAgIGF0dGVtcHRzID0gcGFyc2VJbnQoYXR0ZW1wdHMpIHx8IDEwO1xuXG4gICAgYXdhaXQgZW5zdXJlSW5mcmFzdHJ1Y3R1cmVCb290ZWQoXCJib290LW9yZy1jLXBlZXItMFwiLCB0aW1lb3V0LCBhdHRlbXB0cyk7XG5cbiAgICBsb2cuaW5mbyhcbiAgICAgIGBJbmZyYXN0cnVjdHVyZSBib290ZWQgc3VjY2Vzc2Z1bGx5IChhY2NvcmRpbmcgdG8gY29udGFpbmVyICR7Y29udGFpbmVyfSkhYFxuICAgICk7XG4gIH0pO1xuXG5jb25zdCBkZXBsb3lDb250cmFjdCA9IG5ldyBDb21tYW5kKClcbiAgLm5hbWUoXCJkZXBsb3ktY29udHJhY3RcIilcbiAgLmRlc2NyaXB0aW9uKFwiZGVwbG95cyB0aGUgc2VsZWN0ZWQgY29udHJhY3RcIilcbiAgLm9wdGlvbihcIi0tbmFtZSA8U3RyaW5nPlwiLCBcIkNvbnRyYWN0IE5hbWUgKGFuZCBmb2xkZXIpXCIpXG4gIC5vcHRpb24oXCItLWlucHV0IDxTdHJpbmc+XCIsIFwiaW5wdXQgZm9sZGVyXCIpXG4gIC5vcHRpb24oXG4gICAgXCItLWNvbGxlY3Rpb25zLWNvbmZpZyA8U3RyaW5nPlwiLFxuICAgIFwicGF0aCB0byBjb2xsZWN0aW9uc19jb25maWcuanNvbiB0byBjb25maWd1cmUgcHJpdmF0ZSBjb2xsZWN0aW9uc1wiXG4gIClcbiAgLm9wdGlvbihcbiAgICBcIi0taW5jcmVtZW50VmVyc2lvbiA8U3RyaW5nPlwiLFxuICAgIFwiKHRydWUgfCBmYWxzZSkgaWYgc2hvdWxkIHVzZSB2ZXJzaW9uIG9yIHNlcXVlbmNlIHRvIHVwZGF0ZSBjb250cmFjdHNcIixcbiAgICBmYWxzZVxuICApXG4gIC5vcHRpb24oXG4gICAgXCItLXRyYWNrZXJGb2xkZXIgPFN0cmluZz5cIixcbiAgICBcImNvbnRyYWN0IHZlcnNpb24gdHJhY2tlciBmb2xkZXIgKHNob3VsZCBiZSBkZWxldGVkIG9uIGluZnJhc3RydWN0dXJlOmRvd24pXCIsXG4gICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwidGVzdHNcIiwgXCJpbnRlZ3JhdGlvblwiLCBcImNoYWluY29kZVRyYWNrZXJzXCIpXG4gIClcbiAgLm9wdGlvbihcbiAgICBcIi0tcGVlcnMgPFN0cmluZz5cIixcbiAgICBcImNvbW1hIHNlcGFyYXRlZCBwZWVyIGlkc1wiLFxuICAgIFwib3JnLWEtcGVlci0wLG9yZy1iLXBlZXItMCxvcmctYy1wZWVyLTBcIlxuICApXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJkZXBsb3ktY29udHJhY3RcIik7XG4gICAgbG9nLmRlYnVnKFxuICAgICAgYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YFxuICAgICk7XG5cbiAgICBjb25zdCB7XG4gICAgICBuYW1lLFxuICAgICAgaW5wdXQsXG4gICAgICBwZWVycyxcbiAgICAgIHRyYWNrZXJGb2xkZXIsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICBpbmNyZW1lbnRWZXJzaW9uLFxuICAgICAgY29sbGVjdGlvbnNDb25maWcsXG4gICAgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgcGVlcklkcyA9IHBlZXJzLnNwbGl0KFwiLFwiKTtcblxuICAgIGNvbnN0IGNvdW50UGF0aCA9IHBhdGgucmVzb2x2ZShwYXRoLmpvaW4odHJhY2tlckZvbGRlciwgYCR7bmFtZX0uY291bnRgKSk7XG5cbiAgICBsZXQgc2VxdWVuY2U6IG51bWJlcjtcblxuICAgIHRyeSB7XG4gICAgICBzZXF1ZW5jZSA9IHBhcnNlSW50KGZzLnJlYWRGaWxlU3luYyhjb3VudFBhdGgpLnRvU3RyaW5nKFwidXRmLThcIikpO1xuICAgICAgaWYgKGlzTmFOKHNlcXVlbmNlKSkgc2VxdWVuY2UgPSAxO1xuICAgICAgZWxzZSBzZXF1ZW5jZSArPSAxO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHNlcXVlbmNlID0gMTtcbiAgICB9XG4gICAgLy9cbiAgICAvLyBpZiAoaW5jcmVtZW50VmVyc2lvbikge1xuICAgIC8vICAgdmVyc2lvbiA9IHZlcnNpb24gKyBgLSR7c2VxdWVuY2V9YDtcbiAgICAvLyAgIC8vIHNlcXVlbmNlID0gMTtcbiAgICAvLyB9XG5cbiAgICB0cnkge1xuICAgICAgZm9yIChjb25zdCBwZWVyIG9mIHBlZXJJZHMpIHtcbiAgICAgICAgcGFja2FnZUNvbnRyYWN0KHBlZXIsIGlucHV0LCBuYW1lLCB2ZXJzaW9uKTtcbiAgICAgICAgaW5zdGFsbENvbnRyYWN0KHBlZXIsIG5hbWUpO1xuICAgICAgICBhcHByb3ZlQ29udHJhY3QoXG4gICAgICAgICAgcGVlcixcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHBlZXIgPT09IFwib3JnLWEtcGVlci0wXCJcbiAgICAgICAgICAgID8gXCJ0bHMtY2EtY2VydC5wZW1cIlxuICAgICAgICAgICAgOiBcIm9yZGVyZXItdGxzLWNhLWNlcnQucGVtXCIsXG4gICAgICAgICAgc2VxdWVuY2UsXG4gICAgICAgICAgdmVyc2lvbixcbiAgICAgICAgICBjb2xsZWN0aW9uc0NvbmZpZ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgZnMud3JpdGVGaWxlU3luYyhjb3VudFBhdGgsIHNlcXVlbmNlLnRvU3RyaW5nKCkpO1xuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICBsb2cuZXJyb3IoXCJFcnJvciBkZXBsb3lpbmcgY29udHJhY3Q6XCIsIGVycik7XG4gICAgfVxuICAgIGNvbW1pdENoYWluY29kZShuYW1lLCBzZXF1ZW5jZSwgdmVyc2lvbiwgY29sbGVjdGlvbnNDb25maWcpO1xuICB9KTtcblxuY29uc3QgZ2V0Q3J5cHRvTWF0ZXJpYWwgPSBuZXcgQ29tbWFuZCgpXG4gIC5uYW1lKFwiZ2V0LWNyeXB0by1tYXRlcmlhbFwiKVxuICAuZGVzY3JpcHRpb24oXCJjb3BpZXMgdGhlIGNyeXB0byBtYXRlcmlhbCB0byB0aGUgc2VsZWN0ZWQgZm9sZGVyXCIpXG4gIC5vcHRpb24oXCItLWZvbGRlciA8U3RyaW5nPlwiLCBcIm91dHB1dCBmb2xkZXJcIiwgXCJkb2NrZXIvZG9ja2VyLWRhdGFcIilcbiAgLm9wdGlvbihcIi0tb3JnIFtTdHJpbmddXCIsIFwidGhlIG9yZy9wZWVyIHRvIGV4dHJhY3QgZnJvbVwiLCBcIm9yZy1hXCIpXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJnZXQtY3J5cHRvLW1hdGVyaWFsXCIpO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWBcbiAgICApO1xuICAgIGNvbnN0IHsgZm9sZGVyLCBvcmcgfSA9IG9wdGlvbnM7XG4gICAgZXhlY1N5bmMoYGRvY2tlciBjcCAke29yZ306L3dlYXZlci9jbGllbnQvLiAke2ZvbGRlcn1gLCB7XG4gICAgICBjd2Q6IHByb2Nlc3MuY3dkKCksXG4gICAgfSk7XG4gIH0pO1xuXG5jb25zdCBmYWJyaWNDbWQgPSBuZXcgQ29tbWFuZCgpXG4gIC5uYW1lKFwiZm9yLWZhYnJpY1wiKVxuICAuY29tbWFuZChcImZhYnJpY1wiKVxuICAuZGVzY3JpcHRpb24oXG4gICAgXCJleHBvc2VzIHNldmVyYWwgY29tbWFuZHMgdG8gaGVscCBtYW5hZ2UgdGhlIGZhYnJpYyBpbmZyYXN0cnVjdHVyZVwiXG4gICk7XG5cbmZhYnJpY0NtZC5hZGRDb21tYW5kKGNvbXBpbGVDb21tYW5kKTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGV4dHJhY3RJbmRleGVzKTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGVuc3VyZUluZnJhKTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGRlcGxveUNvbnRyYWN0KTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGdldENyeXB0b01hdGVyaWFsKTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGV4dHJhY3RDb2xsZWN0aW9ucyk7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZhYnJpYygpIHtcbiAgcmV0dXJuIGZhYnJpY0NtZDtcbn1cbiJdfQ==
|
|
510
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNsaS1tb2R1bGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFtZkEseUJBRUM7QUFyZkQseUNBQW9DO0FBQ3BDLCtDQUEwRDtBQUMxRCxpREFBeUM7QUFDekMsNENBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4QixtQ0FBZ0M7QUFDaEMsNEVBQTZDO0FBQzdDLDJEQUE0RTtBQUM1RSx3REFBMko7QUFDM0oseUVBQXVEO0FBQ3ZELGlEQUF3TDtBQUN4TCx1Q0FBcUM7QUFDckMsNERBQTRCO0FBQzVCLDREQUFrSTtBQUNsSSxNQUFNLE1BQU0sR0FBRyxpQkFBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNyQyxTQUFTLHVCQUF1QjtJQUM1QixPQUFPO1FBQ0gsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVE7WUFDdEIsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUNELE1BQU0sWUFBWSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNsRSxNQUFNLFVBQVUsR0FBRztnQkFDZixZQUFZO2dCQUNaLEdBQUcsWUFBWSxLQUFLO2dCQUNwQixjQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7YUFDdEMsQ0FBQztZQUNGLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksWUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxZQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7b0JBQzlELE9BQU8s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bUUsQ0FBQyxDQUFDO0FBQ3RGLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDckMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNyQyxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ2xDLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDckMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3hDLFNBQVMsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUN6QyxTQUF3QixNQUFNO0lBQzFCLE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUM7QUFDRCwwbjJEQUEwbjJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gXCJjb21tYW5kZXJcIjtcbmltcG9ydCB7IExvZ2dpbmcsIHRvUGFzY2FsQ2FzZSB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IHJvbGx1cCB9IGZyb20gXCJyb2xsdXBcIjtcbmltcG9ydCByZXBsYWNlIGZyb20gXCJAcm9sbHVwL3BsdWdpbi1yZXBsYWNlXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yLCBTZXJpYWxpemF0aW9uRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IGdlbmVyYXRlTW9kZWxEZXNpZ25Eb2NzLCBnZW5lcmF0ZU1vZGVsSW5kZXhlcywgcmVhZE1vZGVsRmlsZSwgcmVhZE1vZGVsRm9sZGVycywgd3JpdGVEZXNpZ25Eb2NzLCB3cml0ZUluZGV4ZXMsIH0gZnJvbSBcIi4vY2xpZW50L2luZGV4ZXMvaW5kZXguanNcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgYXBwcm92ZUNvbnRyYWN0LCBlbnN1cmVJbmZyYXN0cnVjdHVyZUJvb3RlZCwgaW5zdGFsbENvbnRyYWN0LCBwYWNrYWdlQ29udHJhY3QsIGNvbW1pdENoYWluY29kZSwgZ2V0Q29udHJhY3RTdGFydENvbW1hbmQsIGNvbXBpbGVXaXRoVHNjb25maWdPdmVycmlkZXMsIH0gZnJvbSBcIi4vY2xpLXV0aWxzLmpzXCI7XG5pbXBvcnQgXCIuL3NoYXJlZC9vdmVycmlkZXMvaW5kZXguanNcIjtcbmltcG9ydCB0cyBmcm9tIFwidHlwZXNjcmlwdFwiO1xuaW1wb3J0IHsgZXh0cmFjdENvbGxlY3Rpb25zIGFzIGV4Q29sbGVjdGlvbnMsIHdyaXRlQ29sbGVjdGlvbnMsIHdyaXRlQ29sbGVjdGlvbkRlc2lnbkRvY3MsIH0gZnJvbSBcIi4vY2xpZW50L2NvbGxlY3Rpb25zL2luZGV4LmpzXCI7XG5jb25zdCBsb2dnZXIgPSBMb2dnaW5nLmZvcihcImZhYnJpY1wiKTtcbmZ1bmN0aW9uIHJlc29sdmVCdW5kbGVkSnNJbXBvcnRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IFwicmVzb2x2ZS1idW5kbGVkLWpzLWltcG9ydHNcIixcbiAgICAgICAgcmVzb2x2ZUlkKHNvdXJjZSwgaW1wb3J0ZXIpIHtcbiAgICAgICAgICAgIGlmICghaW1wb3J0ZXIgfHwgIXNvdXJjZS5zdGFydHNXaXRoKFwiLlwiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWRQYXRoID0gcGF0aC5yZXNvbHZlKHBhdGguZGlybmFtZShpbXBvcnRlciksIHNvdXJjZSk7XG4gICAgICAgICAgICBjb25zdCBjYW5kaWRhdGVzID0gW1xuICAgICAgICAgICAgICAgIHJlc29sdmVkUGF0aCxcbiAgICAgICAgICAgICAgICBgJHtyZXNvbHZlZFBhdGh9LmpzYCxcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4ocmVzb2x2ZWRQYXRoLCBcImluZGV4LmpzXCIpLFxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyhjYW5kaWRhdGUpICYmIGZzLnN0YXRTeW5jKGNhbmRpZGF0ZSkuaXNGaWxlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbmRpZGF0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuY29uc3QgY29tcGlsZUNvbW1hbmQgPSBuZXcgQ29tbWFuZCgpXG4gICAgLm5hbWUoXCJjb21waWxlLWNvbnRyYWN0XCIpXG4gICAgLmRlc2NyaXB0aW9uKFwiQ3JlYXRlcyBhIGdsb2JhbCBjb250cmFjdFwiKVxuICAgIC5vcHRpb24oXCItLWRldlwiLCBcImNvbXBpbGVzIGNvbnRyYWN0cyB3aXRob3V0IG1pbmlmaWNhdGlvblwiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS1kZWJ1Z1wiLCBcIm1ha2VzIGF0dGFjaGluZyBkZWJ1Z2dlciBwb3NzaWJsZVwiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS1jY2Fhc1wiLCBcIkFqdXN0cyB0aGUgcGFja2FnZSBjb21tYW5kcyB0byBiZSBkZXBsb3llZCBhcyBjY2Fhc1wiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS1uYW1lIDxTdHJpbmc+XCIsIFwiY29udHJhY3QgbmFtZVwiLCBcImdsb2JhbC1jb250cmFjdFwiKVxuICAgIC5vcHRpb24oXCItLWJ1bmRsZVwiLCBcIkJ1bmRsZXMgd2l0aCByb2xsdXAgaW5zdGVhZCBvZiB1c2luZyB0c2NcIiwgZmFsc2UpXG4gICAgLm9wdGlvbihcIi0tdHMtY29uZmlnLWZpbGUgPHN0cmluZz5cIiwgXCJyZWxhdGl2ZSBwYXRoIHRvIHRoZSB0cyBjb25maWcgZmlsZSBiYXNlZCBvbiBjd2Qgb3IgYWJzb2x1dGUgcGF0aFwiLCBcIi4vdHNjb25maWcuanNvblwiKVxuICAgIC5vcHRpb24oXCItLWRlc2NyaXB0aW9uIDxTdHJpbmc+XCIsIFwiY29udHJhY3QgZGVzY3JpcHRpb25cIiwgXCJHbG9iYWwgY29udHJhY3QgaW1wbGVtZW50YXRpb25cIilcbiAgICAub3B0aW9uKFwiLS1zdHJpcC1jb250cmFjdC1uYW1lXCIsIFwic3RyaXAgY29udHJhY3QgbmFtZSBmcm9tIG91dHB1dFwiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS1pbnB1dCA8U3RyaW5nPlwiLCBcImlucHV0IGZvbGRlciBmb3IgY29udHJhY3RzXCIsIFwibGliL2NvbnRyYWN0c1wiKVxuICAgIC5vcHRpb24oXCItLW91dHB1dCA8U3RyaW5nPlwiLCBcIm91dHB1dCBmb2xkZXIgZm9yIGNvbnRyYWN0c1wiLCBcIi4vY29udHJhY3RzXCIpXG4gICAgLm9wdGlvbihcIi0tc291cmNlbWFwc1wiLCBcImluY2x1ZGVzIHNvdXJjZW1hcHMgaW4gdGhlIGNvbXBpbGVkIG91dHB1dFwiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS1ucG1yY1wiLCBcImluY2x1ZGVzIC5ucG1yYyBpbiB0aGUgY29tcGlsZWQgb3V0cHV0XCIsIGZhbHNlKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBwa2cgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLmpzb25cIiksIFwidXRmLThcIikpO1xuICAgIGNvbnN0IHBrZ0xvY2sgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLWxvY2suanNvblwiKSwgXCJ1dGYtOFwiKSk7XG4gICAgbGV0IG5wbXJjQ29udGVudCA9IHVuZGVmaW5lZDtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgbGV0IHsgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGRldiwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGRlYnVnLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgbmFtZSwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGRlc2NyaXB0aW9uLCBvdXRwdXQsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBpbnB1dCwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIHN0cmlwQ29udHJhY3ROYW1lLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgY2NhYXMsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBidW5kbGUsIHRzQ29uZmlnRmlsZSwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIHNvdXJjZW1hcHMsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBucG1yYywgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImNvbXBpbGUtY29udHJhY3RcIik7XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKG5wbXJjKSB7XG4gICAgICAgICAgICBucG1yY0NvbnRlbnQgPSBmc1xuICAgICAgICAgICAgICAgIC5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLm5wbXJjXCIpLCBcInV0Zi04XCIpXG4gICAgICAgICAgICAgICAgLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICBjb25zdCByZXBsYWNlZCA9IG5wbXJjQ29udGVudC5yZXBsYWNlKC9cXCRcXHsoW159XSspXFx9L2csIChfLCB2YXJOYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwcm9jZXNzLmVudlt2YXJOYW1lXTtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFdhcm5pbmc6IEVudmlyb25tZW50IHZhcmlhYmxlIFwiJHt2YXJOYW1lfVwiIGlzIG5vdCBzZXRgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbnBtcmNDb250ZW50ID0gcmVwbGFjZWQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2gge1xuICAgICAgICBsb2cuaW5mbyhgTm8gLm5wbXJjIGZpbGUgZm91bmQsIHNraXBwaW5nIGNvcHlpbmcgLm5wbXJjIHRvIG91dHB1dGApO1xuICAgIH1cbiAgICBsb2cuZGVidWcoYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YCk7XG4gICAgdHNDb25maWdGaWxlID0gcGF0aC5pc0Fic29sdXRlKHRzQ29uZmlnRmlsZSlcbiAgICAgICAgPyB0c0NvbmZpZ0ZpbGVcbiAgICAgICAgOiBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgdHNDb25maWdGaWxlKTtcbiAgICBvdXRwdXQgPSBzdHJpcENvbnRyYWN0TmFtZSA/IG91dHB1dCA6IHBhdGguam9pbihvdXRwdXQsIG5hbWUpO1xuICAgIGxvZy5pbmZvKGBEZWxldGluZyBleGlzdGluZyBvdXRwdXQgZm9sZGVyIChpZiBleGlzdHMpIHVuZGVyICR7b3V0cHV0fWApO1xuICAgIGV4ZWNTeW5jKGBybSAtcmYgJHtvdXRwdXR9YCk7XG4gICAgaWYgKGJ1bmRsZSkge1xuICAgICAgICBsb2cuaW5mbyhgYnVuZGxpbmcgY29udHJhY3QgZnJvbSAke2lucHV0fWApO1xuICAgICAgICBjb25zdCB0ZW1wQnVuZGxlRGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLmNvbnRyYWN0LWJ1bmRsZS1cIikpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRFbnRyeSA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBpbnB1dCwgXCJpbmRleC50c1wiKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZ0ZpbGUgPSB0cy5yZWFkQ29uZmlnRmlsZSh0c0NvbmZpZ0ZpbGUsIHRzLnN5cy5yZWFkRmlsZSk7XG4gICAgICAgICAgICBpZiAoY29uZmlnRmlsZS5lcnJvcikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKHRzLmZsYXR0ZW5EaWFnbm9zdGljTWVzc2FnZVRleHQoY29uZmlnRmlsZS5lcnJvci5tZXNzYWdlVGV4dCwgXCJcXG5cIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcGFyc2VkQ29uZmlnID0gdHMucGFyc2VKc29uQ29uZmlnRmlsZUNvbnRlbnQoY29uZmlnRmlsZS5jb25maWcsIHRzLnN5cywgcGF0aC5kaXJuYW1lKHRzQ29uZmlnRmlsZSksIHVuZGVmaW5lZCwgdHNDb25maWdGaWxlKTtcbiAgICAgICAgICAgIGlmIChwYXJzZWRDb25maWcuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKHBhcnNlZENvbmZpZy5lcnJvcnNcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoZXJyb3IpID0+IHRzLmZsYXR0ZW5EaWFnbm9zdGljTWVzc2FnZVRleHQoZXJyb3IubWVzc2FnZVRleHQsIFwiXFxuXCIpKVxuICAgICAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB0ZW1wQ29tcGlsZXJPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIC4uLnBhcnNlZENvbmZpZy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIG91dERpcjogdGVtcEJ1bmRsZURpcixcbiAgICAgICAgICAgICAgICBtb2R1bGU6IHRzLk1vZHVsZUtpbmQuRVNOZXh0LFxuICAgICAgICAgICAgICAgIGRlY2xhcmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBzb3VyY2VNYXA6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGlubGluZVNvdXJjZXM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGJ1bmRsZWRFbnRyeVBvaW50ID0gdHNcbiAgICAgICAgICAgICAgICAuZ2V0T3V0cHV0RmlsZU5hbWVzKHtcbiAgICAgICAgICAgICAgICAuLi5wYXJzZWRDb25maWcsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdGVtcENvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgICAgIH0sIGlucHV0RW50cnksICF0cy5zeXMudXNlQ2FzZVNlbnNpdGl2ZUZpbGVOYW1lcylcbiAgICAgICAgICAgICAgICAuZmluZCgoZmlsZU5hbWUpID0+IGZpbGVOYW1lLmVuZHNXaXRoKFwiLmpzXCIpKTtcbiAgICAgICAgICAgIGlmICghYnVuZGxlZEVudHJ5UG9pbnQpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIGRldGVybWluZSB0aGUgZW1pdHRlZCBidW5kbGUgZW50cnkgZm9yICR7aW5wdXRFbnRyeX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbXBpbGVXaXRoVHNjb25maWdPdmVycmlkZXModHNDb25maWdGaWxlLCB0ZW1wQ29tcGlsZXJPcHRpb25zKTtcbiAgICAgICAgICAgIGNvbnN0IGJ1bmRsZWRDb250cmFjdCA9IGF3YWl0IHJvbGx1cCh7XG4gICAgICAgICAgICAgICAgaW5wdXQ6IGJ1bmRsZWRFbnRyeVBvaW50LFxuICAgICAgICAgICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUJ1bmRsZWRKc0ltcG9ydHMoKSxcbiAgICAgICAgICAgICAgICAgICAgcmVwbGFjZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmV2ZW50QXNzaWdubWVudDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGltaXRlcnM6IFtcIlwiLCBcIlwiXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczogeyBcIiMjVkVSU0lPTiMjXCI6IHZlcnNpb24sIFwiIyNQQUNLQUdFIyNcIjogcGtnLm5hbWUgfSxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbG9nLmluZm8oYHdpdGhpbmcgY29udHJhY3QgdG8gJHtvdXRwdXR9IHdpdGggbmFtZSAke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgKTtcbiAgICAgICAgICAgIGF3YWl0IGJ1bmRsZWRDb250cmFjdC53cml0ZSh7XG4gICAgICAgICAgICAgICAgZmlsZTogYCR7b3V0cHV0fS8ke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgLFxuICAgICAgICAgICAgICAgIGZvcm1hdDogXCJ1bWRcIixcbiAgICAgICAgICAgICAgICBuYW1lOiBgJHt0b1Bhc2NhbENhc2UobmFtZSl9LmpzYCxcbiAgICAgICAgICAgICAgICBzb3VyY2VtYXA6IHNvdXJjZW1hcHMgPyBcImlubGluZVwiIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgc291cmNlbWFwUGF0aFRyYW5zZm9ybTogKHJlbGF0aXZlU291cmNlUGF0aCwgc291cmNlbWFwUGF0aCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhYnNvbHV0ZVNvdXJjZVBhdGggPSBwYXRoLnJlc29sdmUocGF0aC5kaXJuYW1lKHNvdXJjZW1hcFBhdGgpLCByZWxhdGl2ZVNvdXJjZVBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYWJzb2x1dGVTb3VyY2VQYXRoLnN0YXJ0c1dpdGgodGVtcEJ1bmRsZURpcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwYXRoLnBvc2l4LmpvaW4oXCIuYnVuZGxlXCIsIHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVsYXRpdmUodGVtcEJ1bmRsZURpciwgYWJzb2x1dGVTb3VyY2VQYXRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdChwYXRoLnNlcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbihcIi9cIikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWxhdGl2ZVNvdXJjZVBhdGg7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYXdhaXQgYnVuZGxlZENvbnRyYWN0LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBmcy5ybVN5bmModGVtcEJ1bmRsZURpciwgeyByZWN1cnNpdmU6IHRydWUsIGZvcmNlOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb21waWxlV2l0aFRzY29uZmlnT3ZlcnJpZGVzKHRzQ29uZmlnRmlsZSwge1xuICAgICAgICAgICAgb3V0RGlyOiBvdXRwdXQsXG4gICAgICAgICAgICBtb2R1bGU6IHRzLk1vZHVsZUtpbmQuRVNOZXh0LFxuICAgICAgICAgICAgZGVjbGFyYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgc291cmNlTWFwOiBzb3VyY2VtYXBzLFxuICAgICAgICAgICAgaW5saW5lU291cmNlczogc291cmNlbWFwcyxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHNjcmlwdHMgPSB7XG4gICAgICAgIHN0YXJ0OiBnZXRDb250cmFjdFN0YXJ0Q29tbWFuZChkZWJ1ZywgY2NhYXMpLFxuICAgICAgICBcInN0YXJ0OmRldlwiOiBcImZhYnJpYy1jaGFpbmNvZGUtbm9kZSBzdGFydCAtLXRscy5lbmFibGVkIGZhbHNlXCIsXG4gICAgICAgIFwic3RhcnQ6d2F0Y2hcIjogJ25vZGVtb24gLS1leGVjIFwibnBtIHJ1biBzdGFydDpkZXZcIicsXG4gICAgICAgIGJ1aWxkOiAnZWNobyBcIk5vIG5lZWQgdG8gYnVpbGQgdGhlIGNoYWluY29kZVwiJyxcbiAgICAgICAgbGludDogXCJlc2xpbnQgLiAtLWZpeCAtLWV4dCAuanNcIixcbiAgICB9O1xuICAgIGNvbnN0IGNvbnRyYWN0UGFja2FnZSA9IHBrZztcbiAgICBjb25zdCBjb250cmFjdFBhY2thZ2VMb2NrID0gcGtnTG9jaztcbiAgICBjb250cmFjdFBhY2thZ2UubmFtZSA9IG5hbWU7XG4gICAgY29udHJhY3RQYWNrYWdlLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgY29udHJhY3RQYWNrYWdlLnNjcmlwdHMgPSBzY3JpcHRzO1xuICAgIGRlbGV0ZSBjb250cmFjdFBhY2thZ2UudHlwZTtcbiAgICBkZWxldGUgY29udHJhY3RQYWNrYWdlLnR5cGVzO1xuICAgIGRlbGV0ZSBjb250cmFjdFBhY2thZ2UuZXhwb3J0cztcbiAgICBjb250cmFjdFBhY2thZ2UubWFpbiA9IGJ1bmRsZVxuICAgICAgICA/IGAke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgXG4gICAgICAgIDogYCR7aW5wdXR9L2luZGV4LmpzYDtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXQsIFwicGFja2FnZS5qc29uXCIpLCBKU09OLnN0cmluZ2lmeShjb250cmFjdFBhY2thZ2UpKTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXQsIFwicGFja2FnZS1sb2NrLmpzb25cIiksIEpTT04uc3RyaW5naWZ5KGNvbnRyYWN0UGFja2FnZUxvY2spKTtcbiAgICBpZiAobnBtcmMgJiYgbnBtcmNDb250ZW50KVxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXQsIFwiLm5wbXJjXCIpLCBucG1yY0NvbnRlbnQpO1xuICAgIGxvZy5pbmZvKGBJbnN0YWxsaW5nIGFuZCBzaHJpbmt3cmFwcGluZyBkZXBlbmRlbmNpZXNgKTtcbiAgICBleGVjU3luYyhgbnBtIGluc3RhbGxgLCB7IGN3ZDogb3V0cHV0IH0pO1xuICAgIGV4ZWNTeW5jKGBucG0gc2hyaW5rd3JhcGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgZXhlY1N5bmMoXCJybSAtcmYgbm9kZV9tb2R1bGVzXCIsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oYGRlbGV0aW5nIHRlbXAgZm9sZGVyc2ApO1xuICAgIGV4ZWNTeW5jKGBybSAtcmYgLi9saWIgJiYgcm0gLXJmIC4vZGlzdGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oYENvbnRyYWN0ICR7bmFtZX0gY29tcGlsZWQgc3VjY2Vzc2Z1bGx5ISBpbiAke3BhdGgucmVzb2x2ZShvdXRwdXQpfWApO1xuICAgIGlmIChkZXYpIHtcbiAgICAgICAgbG9nLmluZm8oYGRldiBtb2RlIGVuYWJsZWQuIGluc3RhbGxpbmcgZGVwZW5kZW5jaWVzIGZvciBkZWJ1Z2dpbmdgKTtcbiAgICAgICAgZXhlY1N5bmMoYG5wbSBpbnN0YWxsYCwge1xuICAgICAgICAgICAgY3dkOiBvdXRwdXQsXG4gICAgICAgICAgICBlbnY6IHsgLi4ucHJvY2Vzcy5lbnYsIE5PREVfRU5WOiBcInByb2R1Y3Rpb25cIiB9LFxuICAgICAgICB9KTtcbiAgICB9XG59KTtcbmNvbnN0IGV4dHJhY3RJbmRleGVzID0gbmV3IENvbW1hbmQoKVxuICAgIC5jb21tYW5kKFwiZXh0cmFjdC1pbmRleGVzXCIpXG4gICAgLm9wdGlvbihcIi0tZmlsZSBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmaWxlXCIpXG4gICAgLm9wdGlvbihcIi0tZm9sZGVyIFtTdHJpbmddXCIsIFwidGhlIG1vZGVsIGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLW91dERpciA8U3RyaW5nPlwiLCBcInRoZSBvdXRkaXIuIHNob3VsZCBtYXRjaCB5b3VyIGNvbnRyYWN0IGZvbGRlclwiKVxuICAgIC5kZXNjcmlwdGlvbihcIkNyZWF0ZXMgYSB0aGUgSlNPTiBpbmRleCBmaWxlcyB0byBiZSBzdWJtaXR0ZWQgdG8gYWxvbmcgd2l0aCB0aGUgY29udHJhY3RcIilcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpKTtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImV4dHJhY3QtaW5kZXhlc1wiKTtcbiAgICBsb2cuZGVidWcoYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCB7IGZpbGUsIGZvbGRlciwgb3V0RGlyIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IG1vZGVscyA9IFtdO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIG1vZGVscy5wdXNoKC4uLnJlYWRNb2RlbEZpbGUoZmlsZSkpO1xuICAgIH1cbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIGxvZy5pbmZvKGBMb2FkaW5nIG1vZGVscyBmcm9tICR7Zm9sZGVyfS4uLmApO1xuICAgICAgICBtb2RlbHMucHVzaCguLi4oYXdhaXQgcmVhZE1vZGVsRm9sZGVycyhmb2xkZXIpKSk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGNvbnN0IGRlc2lnbkRvY3MgPSB7fTtcbiAgICBpZiAoIWZpbGUgJiYgIWZvbGRlcilcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE11c3QgcGFzcyBhIGZpbGUgb3IgYSBmb2xkZXJgKTtcbiAgICBmb3IgKGNvbnN0IG0gb2YgbW9kZWxzKSB7XG4gICAgICAgIGxvZy52ZXJib3NlKGBFeHRyYWN0aW5nIGluZGV4ZXMgZm9yIHRhYmxlICR7TW9kZWwudGFibGVOYW1lKG0pfWApO1xuICAgICAgICBjb25zdCBpbmRleGVzID0gZ2VuZXJhdGVNb2RlbEluZGV4ZXMobSk7XG4gICAgICAgIGluZGV4ZXMuZm9yRWFjaCgoaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleC5uYW1lKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2luZGV4Lm5hbWVdID0gaW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jcyhtLCBkZXNpZ25Eb2NzKTtcbiAgICB9XG4gICAgY29uc3QgaW5kZXhlc1RvV3JpdGUgPSBPYmplY3QudmFsdWVzKHJlc3VsdCk7XG4gICAgY29uc3QgZG9jc1RvV3JpdGUgPSBPYmplY3QudmFsdWVzKGRlc2lnbkRvY3MpO1xuICAgIGxvZy52ZXJib3NlKGBGb3VuZCAke2luZGV4ZXNUb1dyaXRlLmxlbmd0aH0gaW5kZXhlcyB0byBjcmVhdGVgKTtcbiAgICBsb2cudmVyYm9zZShgRm91bmQgJHtkb2NzVG9Xcml0ZS5sZW5ndGh9IGRlc2lnbiBkb2NzIHRvIGNyZWF0ZWApO1xuICAgIGxvZy5kZWJ1ZyhgSW5kZXhlczogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQpfWApO1xuICAgIGxvZy5kZWJ1ZyhgRGVzaWduRG9jczogJHtKU09OLnN0cmluZ2lmeShkZXNpZ25Eb2NzKX1gKTtcbiAgICB3cml0ZUluZGV4ZXMoaW5kZXhlc1RvV3JpdGUsIG91dERpcik7XG4gICAgd3JpdGVEZXNpZ25Eb2NzKGRvY3NUb1dyaXRlLCBvdXREaXIpO1xufSk7XG5jb25zdCBleHRyYWN0Q29sbGVjdGlvbnMgPSBuZXcgQ29tbWFuZCgpXG4gICAgLmNvbW1hbmQoXCJleHRyYWN0LWNvbGxlY3Rpb25zXCIpXG4gICAgLm9wdGlvbihcIi0tZmlsZSBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmaWxlXCIpXG4gICAgLm9wdGlvbihcIi0tZm9sZGVyIFtTdHJpbmddXCIsIFwidGhlIG1vZGVsIGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLW91dERpciA8U3RyaW5nPlwiLCBcInRoZSBvdXRkaXIuIHNob3VsZCBtYXRjaCB5b3VyIGNvbnRyYWN0IGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLW1zcElkcyA8U3RyaW5nPlwiLCBcInNpbmdsZSBtc3BJZCBvciBzdHJpbmdpZmllZCBhcnJheVwiKVxuICAgIC5vcHRpb24oXCItLW1haW5Nc3BJZCA8U3RyaW5nPlwiLCBcInNpbmdsZSBtc3BJZFwiKVxuICAgIC5vcHRpb24oXCItLW92ZXJyaWRlcyBbU3RyaW5nXVwiLCBcInN0cmluZ2lmaWVkIG92ZXJyaWRlIG9iamVjdCB7cmVxdWlyZWRQZWVyQ291bnQ6IG51bWJlciwgbWF4UGVlckNvdW50OiBudW1iZXIsIGJsb2NrVG9MaXZlOiBudW1iZXIsIG1lbWJlck9ubHlSZWFkOiBudW1iZXIsIG1lbWJlck9ubHlXcml0ZTogbnVtYmVyLCBlbmRvcnNlbWVudFBvbGljeTogIHt9fVwiKVxuICAgIC5kZXNjcmlwdGlvbihcIkNyZWF0ZXMgYSB0aGUgSlNPTiBpbmRleCBmaWxlcyB0byBiZSBzdWJtaXR0ZWQgdG8gYWxvbmcgd2l0aCB0aGUgY29udHJhY3RcIilcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpKTtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImV4dHJhY3QtY29sbGVjdGlvbnNcIik7XG4gICAgbG9nLmRlYnVnKGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBsZXQgeyBmaWxlLCBmb2xkZXIsIG91dERpciwgbXNwSWRzLCBtYWluTXNwSWQgfSA9IG9wdGlvbnM7XG4gICAgdHJ5IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIG1zcElkcyA9IG1zcElkcyA/IEpTT04ucGFyc2UobXNwSWRzKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgLy8gIGRvIG5vdGhpbmdcbiAgICAgICAgfVxuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKGBVbmFibGUgdG8gZXh0cmFjdCBtc3BpZHM6ICAke2V9YCk7XG4gICAgfVxuICAgIGNvbnN0IG1vZGVscyA9IFtdO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIG1vZGVscy5wdXNoKC4uLnJlYWRNb2RlbEZpbGUoZmlsZSkpO1xuICAgIH1cbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIGxvZy5pbmZvKGBMb2FkaW5nIG1vZGVscyBmcm9tICR7Zm9sZGVyfS4uLmApO1xuICAgICAgICBtb2RlbHMucHVzaCguLi4oYXdhaXQgcmVhZE1vZGVsRm9sZGVycyhmb2xkZXIpKSk7XG4gICAgfVxuICAgIGlmICghZmlsZSAmJiAhZm9sZGVyKVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTXVzdCBwYXNzIGEgZmlsZSBvciBhIGZvbGRlcmApO1xuICAgIGNvbnN0IGluamVjdGFibGVNb2RlbHMgPSBtb2RlbHMuZmlsdGVyKChtb2RlbCkgPT4gTW9kZWwuaXNTaGFyZWQobW9kZWwpIHx8XG4gICAgICAgIE1vZGVsLmlzUHJpdmF0ZShtb2RlbCkgfHxcbiAgICAgICAgISFNb2RlbC5taXJyb3JlZEF0KG1vZGVsKSk7XG4gICAgaWYgKCFpbmplY3RhYmxlTW9kZWxzLmxlbmd0aCkge1xuICAgICAgICBsb2cuaW5mbyhgTm8gc2hhcmVkLCBwcml2YXRlLCBvciBtaXJyb3JlZCBtb2RlbHMgZm91bmQgdG8gZXh0cmFjdCBjb2xsZWN0aW9uc2ApO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGFzeW5jIGZ1bmN0aW9uIGdldENvbHMobXNwSWRzTGlzdCkge1xuICAgICAgICBjb25zdCBjb2xzID0gYXdhaXQgUHJvbWlzZS5hbGwoaW5qZWN0YWJsZU1vZGVscy5tYXAoYXN5bmMgKGNsYXp6KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YWJsZU5hbWUgPSBNb2RlbC50YWJsZU5hbWUoY2xhenopO1xuICAgICAgICAgICAgY29uc3QgbWlycm9yTWV0YSA9IE1vZGVsLm1pcnJvcmVkQXQoY2xhenopO1xuICAgICAgICAgICAgY29uc29sZS5sb2codGFibGVOYW1lKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb25zID0ge307XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG1zcCBvZiBtc3BJZHNMaXN0IHx8IG1zcElkcyB8fCBbXSkge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25zW21zcF0gPSBhd2FpdCBleENvbGxlY3Rpb25zKGNsYXp6LCBbbXNwLCBtYWluTXNwSWRdLCB7fSwgXG4gICAgICAgICAgICAgICAgLy8ge1xuICAgICAgICAgICAgICAgIC8vICAgc2hhcmVkQ29sczogT2JqZWN0LmFzc2lnbih7fSwgb3ZlcnJpZGVzLnNoYXJlZENvbHMpLFxuICAgICAgICAgICAgICAgIC8vICAgcHJpdmF0ZUNvbHM6IE9iamVjdC5hc3NpZ24oe30sIG92ZXJyaWRlcy5wcml2YXRlQ29scyksXG4gICAgICAgICAgICAgICAgLy8gfSxcbiAgICAgICAgICAgICAgICAhIW1pcnJvck1ldGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IG1pcnJvckNvbGxlY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBpZiAobWlycm9yTWV0YSkge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25zW21haW5Nc3BJZF0gPSBjb2xsZWN0aW9uc1ttYWluTXNwSWRdIHx8IHt9O1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGNvbGxlY3Rpb25zKS5mb3JFYWNoKChtc3ApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbnNbbWFpbk1zcElkXS5wcml2YXRlcyA9IGNvbGxlY3Rpb25zW21zcF0ucHJpdmF0ZXM/LmZpbHRlcigocCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHAubmFtZSAhPT0gbWlycm9yTWV0YS5yZXNvbHZlcilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pcnJvckNvbGxlY3Rpb24gPSBwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHByaXZhdGVzQ291bnQgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25zKVxuICAgICAgICAgICAgICAgIC5tYXAoKGMpID0+IGMucHJpdmF0ZXMpXG4gICAgICAgICAgICAgICAgLmZsYXQoKS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAocHJpdmF0ZXNDb3VudClcbiAgICAgICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAgICAgICAuaW5mbyhgRm91bmQgJHtwcml2YXRlc0NvdW50fSBwcml2YXRlIGNvbGxlY3Rpb25zIHRvIGNyZWF0ZWApO1xuICAgICAgICAgICAgY29uc3Qgc2hhcmVkQ291bnQgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25zKVxuICAgICAgICAgICAgICAgIC5tYXAoKGMpID0+IGMuc2hhcmVkKVxuICAgICAgICAgICAgICAgIC5mbGF0KCkubGVuZ3RoO1xuICAgICAgICAgICAgbG9nXG4gICAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAgIC5pbmZvKGBGb3VuZCAke3NoYXJlZENvdW50fSBzaGFyZWQgY29sbGVjdGlvbnMgdG8gY3JlYXRlYCk7XG4gICAgICAgICAgICBpZiAobWlycm9yQ29sbGVjdGlvbilcbiAgICAgICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAgICAgICAuaW5mbyhgRm91bmQgb25lIG1pcnJvciBjb2xsZWN0aW9uICR7bWlycm9yTWV0YT8ucmVzb2x2ZXJ9YCk7XG4gICAgICAgICAgICBjb25zdCBjb2xMaXN0ID0gT2JqZWN0LnZhbHVlcyhjb2xsZWN0aW9ucylcbiAgICAgICAgICAgICAgICAubWFwKChjKSA9PiBbLi4uKGMucHJpdmF0ZXMgfHwgW10pLCAuLi4oYy5zaGFyZWQgfHwgW10pXSlcbiAgICAgICAgICAgICAgICAuZmxhdCgpO1xuICAgICAgICAgICAgbGV0IGluZGV4ZXMgPSBbXTtcbiAgICAgICAgICAgIGxldCBkZXNpZ25Eb2NzID0gW107XG4gICAgICAgICAgICBpZiAoY29sTGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAgICAgICAudmVyYm9zZShgZ2VuZXJhdGluZyBpbmRleGVzIGZvciBjb2xsZWN0aW9uc2ApO1xuICAgICAgICAgICAgICAgIGluZGV4ZXMgPSBnZW5lcmF0ZU1vZGVsSW5kZXhlcyhjbGF6eik7XG4gICAgICAgICAgICAgICAgbG9nXG4gICAgICAgICAgICAgICAgICAgIC5mb3IoTW9kZWwudGFibGVOYW1lKGNsYXp6KSlcbiAgICAgICAgICAgICAgICAgICAgLmluZm8oYGZvdW5kICR7aW5kZXhlcy5sZW5ndGh9IGluZGV4ZXNgKTtcbiAgICAgICAgICAgICAgICBkZXNpZ25Eb2NzID0gZ2VuZXJhdGVNb2RlbERlc2lnbkRvY3MoY2xhenopO1xuICAgICAgICAgICAgICAgIGxvZ1xuICAgICAgICAgICAgICAgICAgICAuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpXG4gICAgICAgICAgICAgICAgICAgIC5pbmZvKGBmb3VuZCAke2Rlc2lnbkRvY3MubGVuZ3RofSBkZXNpZ24gZG9jc2ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgICAgICAgIGRlc2lnbkRvY3MsXG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbnM6IGNvbExpc3QsXG4gICAgICAgICAgICAgICAgbWlycm9yOiBtaXJyb3JDb2xsZWN0aW9uLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSkpO1xuICAgICAgICByZXR1cm4gY29scztcbiAgICB9XG4gICAgY29uc3QgY29scyA9IGF3YWl0IGdldENvbHMoKTtcbiAgICBjb25zdCBvbmx5TWlycm9yID0gYXdhaXQgZ2V0Q29scyhbbWFpbk1zcElkXSk7XG4gICAgY29uc3QgY29sbGVjdGlvbnNUbyA9IFtcbiAgICAgICAgLi4ub25seU1pcnJvci5maWx0ZXIoKGMpID0+IGMubWlycm9yKS5tYXAoKGMpID0+IGMubWlycm9yKSxcbiAgICAgICAgLi4uY29scy5tYXAoKGMpID0+IGMuY29sbGVjdGlvbnMpLmZsYXQoKSxcbiAgICAgICAgLi4uY29scy5maWx0ZXIoKGMpID0+IGMubWlycm9yKS5tYXAoKGMpID0+IGMubWlycm9yKSxcbiAgICBdO1xuICAgIGNvbnN0IHVuaXF1ZUJ5Q29sbGVjdGlvbiA9IFtcbiAgICAgICAgLi4ubmV3IE1hcChjb2xsZWN0aW9uc1RvLm1hcCgoaXRlbSkgPT4gW2l0ZW0ubmFtZSwgaXRlbV0pKS52YWx1ZXMoKSxcbiAgICBdO1xuICAgIGlmICh1bmlxdWVCeUNvbGxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICAgIHdyaXRlQ29sbGVjdGlvbnModW5pcXVlQnlDb2xsZWN0aW9uLCBvdXREaXIpO1xuICAgICAgICBjb25zdCBtZXRhQ29sbGVjdGlvbnNDb25maWcgPSBwYXRoLmpvaW4ob3V0RGlyLCBcIk1FVEEtSU5GXCIsIFwiY29sbGVjdGlvbnNfY29uZmlnLmpzb25cIik7XG4gICAgICAgIGNvbnN0IGNvbnRyYWN0Q29sbGVjdGlvbnNDb25maWcgPSBwYXRoLmpvaW4ob3V0RGlyLCBcImNvbGxlY3Rpb25zX2NvbmZpZy5qc29uXCIpO1xuICAgICAgICBmcy5jb3B5RmlsZVN5bmMobWV0YUNvbGxlY3Rpb25zQ29uZmlnLCBjb250cmFjdENvbGxlY3Rpb25zQ29uZmlnKTtcbiAgICAgICAgbG9nLmluZm8oYFN0b3JlZCAke2NvbGxlY3Rpb25zVG8ubGVuZ3RofSBjb2xsZWN0aW9ucyB0byAke21ldGFDb2xsZWN0aW9uc0NvbmZpZ31gKTtcbiAgICAgICAgbG9nLmluZm8oYENvcGllZCBjb2xsZWN0aW9uc19jb25maWcgdG8gJHtjb250cmFjdENvbGxlY3Rpb25zQ29uZmlnfSBhbG9uZ3NpZGUgdGhlIHBhY2thZ2UuanNvbmApO1xuICAgICAgICBjb2xzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgaW5kZXhlcywgZGVzaWduRG9jcywgY29sbGVjdGlvbnMsIG1pcnJvciB9ID0gYztcbiAgICAgICAgICAgIGNvbnN0IHRvSW5kZXggPSBbLi4uY29sbGVjdGlvbnMsIG1pcnJvcl0uZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAgICAgdG9JbmRleC5mb3JFYWNoKChpKSA9PiB7XG4gICAgICAgICAgICAgICAgd3JpdGVJbmRleGVzKGluZGV4ZXMsIG91dERpciwgaS5uYW1lKTtcbiAgICAgICAgICAgICAgICB3cml0ZUNvbGxlY3Rpb25EZXNpZ25Eb2NzKGRlc2lnbkRvY3MgfHwgW10sIG91dERpciwgaS5uYW1lKTtcbiAgICAgICAgICAgICAgICBsb2cuaW5mbyhgU3RvcmVkICR7aW5kZXhlcz8ubGVuZ3RoIHx8IDB9IGluZGV4ZXMgYW5kICR7ZGVzaWduRG9jcz8ubGVuZ3RoIHx8IDB9IGRlc2lnbiBkb2NzIHRvIGNvbGxlY3Rpb24gJHtpLm5hbWV9YCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufSk7XG5jb25zdCBlbnN1cmVJbmZyYSA9IG5ldyBDb21tYW5kKClcbiAgICAubmFtZShcImF3YWl0LWluZnJhXCIpXG4gICAgLmRlc2NyaXB0aW9uKFwid2FpdHMgZm9yIHRoZSBpbmZyYXN0cnVjdHVyZSB0byBiZSB1cCBhbmQgcnVubmluZ1wiKVxuICAgIC5vcHRpb24oXCItLWNvbnRhaW5lciA8U3RyaW5nPlwiLCBcImRvY2tlciBjb250YWluZXIgbmFtZSB0byB0ZXN0ICh1c3VhbGx5IGxhc3QgcGVlcilcIiwgXCJib290LW9yZy1jLXBlZXItMFwiKVxuICAgIC5vcHRpb24oXCItLXRpbWVvdXQgPFN0cmluZz5cIiwgXCJ0aW1lb3V0IGJldHdlZW4gdGVzdHMgaW4gbWlsbGlzZWNvbmRzXCIsIFwiNTAwMFwiKVxuICAgIC5vcHRpb24oXCItLWF0dGVtcHRzIDxTdHJpbmc+XCIsIFwibnVtYmVyIG9mIGF0dGVtcHRzIGJlZm9yZSBnaXZpbmcgdXBcIiwgXCIxMFwiKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBwa2cgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLmpzb25cIiksIFwidXRmLThcIikpO1xuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcbiAgICBjb25zdCBsb2cgPSBsb2dnZXIuZm9yKFwiYXdhaXQtaW5mcmFcIik7XG4gICAgbG9nLmRlYnVnKGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBsZXQgeyBjb250YWluZXIsIHRpbWVvdXQsIGF0dGVtcHRzIH0gPSBvcHRpb25zO1xuICAgIHRpbWVvdXQgPSBwYXJzZUludCh0aW1lb3V0KSB8fCA1MDAwO1xuICAgIGF0dGVtcHRzID0gcGFyc2VJbnQoYXR0ZW1wdHMpIHx8IDEwO1xuICAgIGF3YWl0IGVuc3VyZUluZnJhc3RydWN0dXJlQm9vdGVkKFwiYm9vdC1vcmctYy1wZWVyLTBcIiwgdGltZW91dCwgYXR0ZW1wdHMpO1xuICAgIGxvZy5pbmZvKGBJbmZyYXN0cnVjdHVyZSBib290ZWQgc3VjY2Vzc2Z1bGx5IChhY2NvcmRpbmcgdG8gY29udGFpbmVyICR7Y29udGFpbmVyfSkhYCk7XG59KTtcbmNvbnN0IGRlcGxveUNvbnRyYWN0ID0gbmV3IENvbW1hbmQoKVxuICAgIC5uYW1lKFwiZGVwbG95LWNvbnRyYWN0XCIpXG4gICAgLmRlc2NyaXB0aW9uKFwiZGVwbG95cyB0aGUgc2VsZWN0ZWQgY29udHJhY3RcIilcbiAgICAub3B0aW9uKFwiLS1uYW1lIDxTdHJpbmc+XCIsIFwiQ29udHJhY3QgTmFtZSAoYW5kIGZvbGRlcilcIilcbiAgICAub3B0aW9uKFwiLS1pbnB1dCA8U3RyaW5nPlwiLCBcImlucHV0IGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLWNvbGxlY3Rpb25zLWNvbmZpZyA8U3RyaW5nPlwiLCBcInBhdGggdG8gY29sbGVjdGlvbnNfY29uZmlnLmpzb24gdG8gY29uZmlndXJlIHByaXZhdGUgY29sbGVjdGlvbnNcIilcbiAgICAub3B0aW9uKFwiLS1pbmNyZW1lbnRWZXJzaW9uIDxTdHJpbmc+XCIsIFwiKHRydWUgfCBmYWxzZSkgaWYgc2hvdWxkIHVzZSB2ZXJzaW9uIG9yIHNlcXVlbmNlIHRvIHVwZGF0ZSBjb250cmFjdHNcIiwgZmFsc2UpXG4gICAgLm9wdGlvbihcIi0tdHJhY2tlckZvbGRlciA8U3RyaW5nPlwiLCBcImNvbnRyYWN0IHZlcnNpb24gdHJhY2tlciBmb2xkZXIgKHNob3VsZCBiZSBkZWxldGVkIG9uIGluZnJhc3RydWN0dXJlOmRvd24pXCIsIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInRlc3RzXCIsIFwiaW50ZWdyYXRpb25cIiwgXCJjaGFpbmNvZGVUcmFja2Vyc1wiKSlcbiAgICAub3B0aW9uKFwiLS1wZWVycyA8U3RyaW5nPlwiLCBcImNvbW1hIHNlcGFyYXRlZCBwZWVyIGlkc1wiLCBcIm9yZy1hLXBlZXItMCxvcmctYi1wZWVyLTAsb3JnLWMtcGVlci0wXCIpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UuanNvblwiKSwgXCJ1dGYtOFwiKSk7XG4gICAgY29uc3QgdmVyc2lvbiA9IHBrZy52ZXJzaW9uO1xuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJkZXBsb3ktY29udHJhY3RcIik7XG4gICAgbG9nLmRlYnVnKGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICAgIGNvbnN0IHsgbmFtZSwgaW5wdXQsIHBlZXJzLCB0cmFja2VyRm9sZGVyLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgaW5jcmVtZW50VmVyc2lvbiwgY29sbGVjdGlvbnNDb25maWcsIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IHBlZXJJZHMgPSBwZWVycy5zcGxpdChcIixcIik7XG4gICAgY29uc3QgY291bnRQYXRoID0gcGF0aC5yZXNvbHZlKHBhdGguam9pbih0cmFja2VyRm9sZGVyLCBgJHtuYW1lfS5jb3VudGApKTtcbiAgICBsZXQgc2VxdWVuY2U7XG4gICAgdHJ5IHtcbiAgICAgICAgc2VxdWVuY2UgPSBwYXJzZUludChmcy5yZWFkRmlsZVN5bmMoY291bnRQYXRoKS50b1N0cmluZyhcInV0Zi04XCIpKTtcbiAgICAgICAgaWYgKGlzTmFOKHNlcXVlbmNlKSlcbiAgICAgICAgICAgIHNlcXVlbmNlID0gMTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgc2VxdWVuY2UgKz0gMTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICBzZXF1ZW5jZSA9IDE7XG4gICAgfVxuICAgIC8vXG4gICAgLy8gaWYgKGluY3JlbWVudFZlcnNpb24pIHtcbiAgICAvLyAgIHZlcnNpb24gPSB2ZXJzaW9uICsgYC0ke3NlcXVlbmNlfWA7XG4gICAgLy8gICAvLyBzZXF1ZW5jZSA9IDE7XG4gICAgLy8gfVxuICAgIHRyeSB7XG4gICAgICAgIGZvciAoY29uc3QgcGVlciBvZiBwZWVySWRzKSB7XG4gICAgICAgICAgICBwYWNrYWdlQ29udHJhY3QocGVlciwgaW5wdXQsIG5hbWUsIHZlcnNpb24pO1xuICAgICAgICAgICAgaW5zdGFsbENvbnRyYWN0KHBlZXIsIG5hbWUpO1xuICAgICAgICAgICAgYXBwcm92ZUNvbnRyYWN0KHBlZXIsIG5hbWUsIHBlZXIgPT09IFwib3JnLWEtcGVlci0wXCJcbiAgICAgICAgICAgICAgICA/IFwidGxzLWNhLWNlcnQucGVtXCJcbiAgICAgICAgICAgICAgICA6IFwib3JkZXJlci10bHMtY2EtY2VydC5wZW1cIiwgc2VxdWVuY2UsIHZlcnNpb24sIGNvbGxlY3Rpb25zQ29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKGNvdW50UGF0aCwgc2VxdWVuY2UudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgbG9nLmVycm9yKFwiRXJyb3IgZGVwbG95aW5nIGNvbnRyYWN0OlwiLCBlcnIpO1xuICAgIH1cbiAgICBjb21taXRDaGFpbmNvZGUobmFtZSwgc2VxdWVuY2UsIHZlcnNpb24sIGNvbGxlY3Rpb25zQ29uZmlnKTtcbn0pO1xuY29uc3QgZ2V0Q3J5cHRvTWF0ZXJpYWwgPSBuZXcgQ29tbWFuZCgpXG4gICAgLm5hbWUoXCJnZXQtY3J5cHRvLW1hdGVyaWFsXCIpXG4gICAgLmRlc2NyaXB0aW9uKFwiY29waWVzIHRoZSBjcnlwdG8gbWF0ZXJpYWwgdG8gdGhlIHNlbGVjdGVkIGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLWZvbGRlciA8U3RyaW5nPlwiLCBcIm91dHB1dCBmb2xkZXJcIiwgXCJkb2NrZXIvZG9ja2VyLWRhdGFcIilcbiAgICAub3B0aW9uKFwiLS1vcmcgW1N0cmluZ11cIiwgXCJ0aGUgb3JnL3BlZXIgdG8gZXh0cmFjdCBmcm9tXCIsIFwib3JnLWFcIilcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpKTtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImdldC1jcnlwdG8tbWF0ZXJpYWxcIik7XG4gICAgbG9nLmRlYnVnKGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICAgIGNvbnN0IHsgZm9sZGVyLCBvcmcgfSA9IG9wdGlvbnM7XG4gICAgZXhlY1N5bmMoYGRvY2tlciBjcCAke29yZ306L3dlYXZlci9jbGllbnQvLiAke2ZvbGRlcn1gLCB7XG4gICAgICAgIGN3ZDogcHJvY2Vzcy5jd2QoKSxcbiAgICB9KTtcbn0pO1xuY29uc3QgZmFicmljQ21kID0gbmV3IENvbW1hbmQoKVxuICAgIC5uYW1lKFwiZm9yLWZhYnJpY1wiKVxuICAgIC5jb21tYW5kKFwiZmFicmljXCIpXG4gICAgLmRlc2NyaXB0aW9uKFwiZXhwb3NlcyBzZXZlcmFsIGNvbW1hbmRzIHRvIGhlbHAgbWFuYWdlIHRoZSBmYWJyaWMgaW5mcmFzdHJ1Y3R1cmVcIik7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChjb21waWxlQ29tbWFuZCk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChleHRyYWN0SW5kZXhlcyk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChlbnN1cmVJbmZyYSk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChkZXBsb3lDb250cmFjdCk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChnZXRDcnlwdG9NYXRlcmlhbCk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChleHRyYWN0Q29sbGVjdGlvbnMpO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZmFicmljKCkge1xuICAgIHJldHVybiBmYWJyaWNDbWQ7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lZMnhwTFcxdlpIVnNaUzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1TDNOeVl5OWpiR2t0Ylc5a2RXeGxMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFOUJRVThzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4WFFVRlhMRU5CUVVNN1FVRkRjRU1zVDBGQlR5eEZRVUZGTEU5QlFVOHNSVUZCUlN4WlFVRlpMRVZCUVVVc1RVRkJUU3h0UWtGQmJVSXNRMEZCUXp0QlFVTXhSQ3hQUVVGUExFVkJRVVVzVVVGQlVTeEZRVUZGTEUxQlFVMHNaVUZCWlN4RFFVRkRPMEZCUTNwRExFOUJRVThzUlVGQlJTeE5RVUZOTEVsQlFVa3NRMEZCUXp0QlFVTndRaXhQUVVGUExFbEJRVWtzVFVGQlRTeE5RVUZOTEVOQlFVTTdRVUZEZUVJc1QwRkJUeXhGUVVGVkxFMUJRVTBzUlVGQlJTeE5RVUZOTEZGQlFWRXNRMEZCUXp0QlFVTjRReXhQUVVGUExFOUJRVThzVFVGQlRTeDNRa0ZCZDBJc1EwRkJRenRCUVVNM1F5eFBRVUZQTEVWQlFVVXNZVUZCWVN4RlFVRkZMR3RDUVVGclFpeEZRVUZGTEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGRE5VVXNUMEZCVHl4RlFVTk1MSFZDUVVGMVFpeEZRVU4yUWl4dlFrRkJiMElzUlVGRGNFSXNZVUZCWVN4RlFVTmlMR2RDUVVGblFpeEZRVU5vUWl4bFFVRmxMRVZCUTJZc1dVRkJXU3hIUVVOaUxHdERRVUY1UWp0QlFVTXhRaXhQUVVGUExFVkJRVVVzUzBGQlN5eEZRVUZGTEUxQlFVMHNaME5CUVdkRExFTkJRVU03UVVGRGRrUXNUMEZCVHl4RlFVTk1MR1ZCUVdVc1JVRkRaaXd3UWtGQk1FSXNSVUZETVVJc1pVRkJaU3hGUVVObUxHVkJRV1VzUlVGRFppeGxRVUZsTEVWQlEyWXNkVUpCUVhWQ0xFVkJRM1pDTERSQ1FVRTBRaXhIUVVNM1FpeDFRa0ZCYjBJN1FVRkRja0lzY1VOQlFUUkNPMEZCUXpWQ0xFOUJRVThzUlVGQlJTeE5RVUZOTEZsQlFWa3NRMEZCUXp0QlFVTTFRaXhQUVVGUExFVkJRMHdzYTBKQlFXdENMRWxCUVVrc1lVRkJZU3hGUVVWdVF5eG5Ra0ZCWjBJc1JVRkRhRUlzZVVKQlFYbENMRWRCUXpGQ0xITkRRVUZ0UXp0QlFVZHdReXhOUVVGTkxFMUJRVTBzUjBGQlJ5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJSWEpETEZOQlFWTXNkVUpCUVhWQ08wbEJRemxDTEU5QlFVODdVVUZEVEN4SlFVRkpMRVZCUVVVc05FSkJRVFJDTzFGQlEyeERMRk5CUVZNc1EwRkJReXhOUVVGTkxFVkJRVVVzVVVGQlVUdFpRVU40UWl4SlFVRkpMRU5CUVVNc1VVRkJVU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRE8yZENRVU42UXl4UFFVRlBMRWxCUVVrc1EwRkJRenRaUVVOa0xFTkJRVU03V1VGRlJDeE5RVUZOTEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNVVUZCVVN4RFFVRkRMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGJFVXNUVUZCVFN4VlFVRlZMRWRCUVVjN1owSkJRMnBDTEZsQlFWazdaMEpCUTFvc1IwRkJSeXhaUVVGWkxFdEJRVXM3WjBKQlEzQkNMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTEZWQlFWVXNRMEZCUXp0aFFVTndReXhEUVVGRE8xbEJSVVlzUzBGQlN5eE5RVUZOTEZOQlFWTXNTVUZCU1N4VlFVRlZMRVZCUVVVc1EwRkJRenRuUWtGRGJrTXNTVUZCU1N4RlFVRkZMRU5CUVVNc1ZVRkJWU3hEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVXNRMEZCUXp0dlFrRkRhRVVzVDBGQlR5eFRRVUZUTEVOQlFVTTdaMEpCUTI1Q0xFTkJRVU03V1VGRFNDeERRVUZETzFsQlJVUXNUMEZCVHl4SlFVRkpMRU5CUVVNN1VVRkRaQ3hEUVVGRE8wdEJRMFlzUTBGQlF6dEJRVU5LTEVOQlFVTTdRVUZGUkN4TlFVRk5MR05CUVdNc1IwRkJSeXhKUVVGSkxFOUJRVThzUlVGQlJUdExRVU5xUXl4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTTdTMEZEZUVJc1YwRkJWeXhEUVVGRExESkNRVUV5UWl4RFFVRkRPMHRCUTNoRExFMUJRVTBzUTBGQlF5eFBRVUZQTEVWQlFVVXNlVU5CUVhsRExFVkJRVVVzUzBGQlN5eERRVUZETzB0QlEycEZMRTFCUVUwc1EwRkJReXhUUVVGVExFVkJRVVVzYlVOQlFXMURMRVZCUVVVc1MwRkJTeXhEUVVGRE8wdEJRemRFTEUxQlFVMHNRMEZEVEN4VFFVRlRMRVZCUTFRc2NVUkJRWEZFTEVWQlEzSkVMRXRCUVVzc1EwRkRUanRMUVVOQkxFMUJRVTBzUTBGQlF5eHBRa0ZCYVVJc1JVRkJSU3hsUVVGbExFVkJRVVVzYVVKQlFXbENMRU5CUVVNN1MwRkROMFFzVFVGQlRTeERRVUZETEZWQlFWVXNSVUZCUlN3d1EwRkJNRU1zUlVGQlJTeExRVUZMTEVOQlFVTTdTMEZEY2tVc1RVRkJUU3hEUVVOTUxESkNRVUV5UWl4RlFVTXpRaXh0UlVGQmJVVXNSVUZEYmtVc2FVSkJRV2xDTEVOQlEyeENPMHRCUTBFc1RVRkJUU3hEUVVOTUxIZENRVUYzUWl4RlFVTjRRaXh6UWtGQmMwSXNSVUZEZEVJc1owTkJRV2RETEVOQlEycERPMHRCUTBFc1RVRkJUU3hEUVVGRExIVkNRVUYxUWl4RlFVRkZMR2xEUVVGcFF5eEZRVUZGTEV0QlFVc3NRMEZCUXp0TFFVTjZSU3hOUVVGTkxFTkJRVU1zYTBKQlFXdENMRVZCUVVVc05FSkJRVFJDTEVWQlFVVXNaVUZCWlN4RFFVRkRPMHRCUTNwRkxFMUJRVTBzUTBGQlF5eHRRa0ZCYlVJc1JVRkJSU3cyUWtGQk5rSXNSVUZCUlN4aFFVRmhMRU5CUVVNN1MwRkRla1VzVFVGQlRTeERRVUZETEdOQlFXTXNSVUZCUlN3MFEwRkJORU1zUlVGQlJTeExRVUZMTEVOQlFVTTdTMEZETTBVc1RVRkJUU3hEUVVGRExGTkJRVk1zUlVGQlJTeDNRMEZCZDBNc1JVRkJSU3hMUVVGTExFTkJRVU03UzBGRGJFVXNUVUZCVFN4RFFVRkRMRXRCUVVzc1JVRkJSU3hQUVVGWkxFVkJRVVVzUlVGQlJUdEpRVU0zUWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVU53UWl4RlFVRkZMRU5CUVVNc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxHTkJRV01zUTBGQlF5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVTnVSU3hEUVVGRE8wbEJSVVlzVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkRlRUlzUlVGQlJTeERRVUZETEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUlN4dFFrRkJiVUlzUTBGQlF5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVTjRSU3hEUVVGRE8wbEJSVVlzU1VGQlNTeFpRVUZaTEVkQlFVY3NVMEZCVXl4RFFVRkRPMGxCUlRkQ0xFMUJRVTBzVDBGQlR5eEhRVUZITEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNN1NVRkZOVUlzU1VGQlNUdEpRVU5HTEhkRFFVRjNRenRKUVVONFF5eEhRVUZITzBsQlEwZ3NkME5CUVhkRE8wbEJRM2hETEV0QlFVczdTVUZEVEN4M1EwRkJkME03U1VGRGVFTXNTVUZCU1R0SlFVTktMSGREUVVGM1F6dEpRVU40UXl4WFFVRlhMRVZCUTFnc1RVRkJUVHRKUVVOT0xIZERRVUYzUXp0SlFVTjRReXhMUVVGTE8wbEJRMHdzZDBOQlFYZERPMGxCUTNoRExHbENRVUZwUWp0SlFVTnFRaXgzUTBGQmQwTTdTVUZEZUVNc1MwRkJTenRKUVVOTUxIZERRVUYzUXp0SlFVTjRReXhOUVVGTkxFVkJSVTRzV1VGQldUdEpRVU5hTEhkRFFVRjNRenRKUVVONFF5eFZRVUZWTzBsQlExWXNkME5CUVhkRE8wbEJRM2hETEV0QlFVc3NSMEZEVGl4SFFVRkhMRTlCUVU4c1EwRkJRenRKUVVOYUxFMUJRVTBzUjBGQlJ5eEhRVUZITEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNRMEZCUXp0SlFVTXpReXhKUVVGSkxFTkJRVU03VVVGRFNDeEpRVUZKTEV0QlFVc3NSVUZCUlN4RFFVRkRPMWxCUTFZc1dVRkJXU3hIUVVGSExFVkJRVVU3YVVKQlEyUXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4RlFVRkZMRkZCUVZFc1EwRkJReXhGUVVGRkxFOUJRVThzUTBGQlF6dHBRa0ZEZWtRc1VVRkJVU3hGUVVGRkxFTkJRVU03V1VGRlpDeE5RVUZOTEZGQlFWRXNSMEZCUnl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVOdVF5eG5Ra0ZCWjBJc1JVRkRhRUlzUTBGQlF5eERRVUZOTEVWQlFVVXNUMEZCWlN4RlFVRkZMRVZCUVVVN1owSkJRekZDTEUxQlFVMHNTMEZCU3l4SFFVRkhMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdaMEpCUlc1RExFbEJRVWtzUzBGQlN5eExRVUZMTEZOQlFWTXNSVUZCUlN4RFFVRkRPMjlDUVVONFFpeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVTldMR3REUVVGclF5eFBRVUZQTEdOQlFXTXNRMEZEZUVRc1EwRkJRenR2UWtGRFJpeFBRVUZQTEVWQlFVVXNRMEZCUXp0blFrRkRXaXhEUVVGRE8yZENRVVZFTEU5QlFVOHNTMEZCU3l4RFFVRkRPMWxCUTJZc1EwRkJReXhEUVVOR0xFTkJRVU03V1VGRlJpeFpRVUZaTEVkQlFVY3NVVUZCVVN4RFFVRkRPMUZCUXpGQ0xFTkJRVU03U1VGRFNDeERRVUZETzBsQlFVTXNUVUZCVFN4RFFVRkRPMUZCUTFBc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eDVSRUZCZVVRc1EwRkJReXhEUVVGRE8wbEJRM1JGTEVOQlFVTTdTVUZGUkN4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVOUUxIbENRVUY1UWl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVThzUTBGQlF5eFJRVUZSTEVkQlFVY3NRMEZCUXl4SlFVRkpMRmxCUVZrc1QwRkJUeXhGUVVGRkxFTkJRM1JHTEVOQlFVTTdTVUZGUml4WlFVRlpMRWRCUVVjc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFpRVUZaTEVOQlFVTTdVVUZETVVNc1EwRkJReXhEUVVGRExGbEJRVms3VVVGRFpDeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlFVVXNXVUZCV1N4RFFVRkRMRU5CUVVNN1NVRkZNME1zVFVGQlRTeEhRVUZITEdsQ1FVRnBRaXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpsRUxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNjVVJCUVhGRUxFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTTdTVUZEZUVVc1VVRkJVU3hEUVVGRExGVkJRVlVzVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTTNRaXhKUVVGSkxFMUJRVTBzUlVGQlJTeERRVUZETzFGQlExZ3NSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXd3UWtGQk1FSXNTMEZCU3l4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVNMVF5eE5RVUZOTEdGQlFXRXNSMEZCUnl4RlFVRkZMRU5CUVVNc1YwRkJWeXhEUVVOc1F5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeHRRa0ZCYlVJc1EwRkJReXhEUVVNNVF5eERRVUZETzFGQlEwWXNTVUZCU1N4RFFVRkRPMWxCUTBnc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEZWQlFWVXNRMEZCUXl4RFFVRkRPMWxCUTJ4RkxFMUJRVTBzVlVGQlZTeEhRVUZITEVWQlFVVXNRMEZCUXl4alFVRmpMRU5CUVVNc1dVRkJXU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1dVRkRjRVVzU1VGQlNTeFZRVUZWTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNN1owSkJRM0pDTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUTNKQ0xFVkJRVVVzUTBGQlF5dzBRa0ZCTkVJc1EwRkJReXhWUVVGVkxFTkJRVU1zUzBGQlN5eERRVUZETEZkQlFWY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkRjRVVzUTBGQlF6dFpRVU5LTEVOQlFVTTdXVUZGUkN4TlFVRk5MRmxCUVZrc1IwRkJSeXhGUVVGRkxFTkJRVU1zTUVKQlFUQkNMRU5CUTJoRUxGVkJRVlVzUTBGQlF5eE5RVUZOTEVWQlEycENMRVZCUVVVc1EwRkJReXhIUVVGSExFVkJRMDRzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4WlFVRlpMRU5CUVVNc1JVRkRNVUlzVTBGQlV5eEZRVU5VTEZsQlFWa3NRMEZEWWl4RFFVRkRPMWxCUTBZc1NVRkJTU3haUVVGWkxFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMmRDUVVNdlFpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXhaUVVGWkxFTkJRVU1zVFVGQlRUdHhRa0ZEYUVJc1IwRkJSeXhEUVVGRExFTkJRVU1zUzBGQlN5eEZRVUZGTEVWQlFVVXNRMEZEWWl4RlFVRkZMRU5CUVVNc05FSkJRVFJDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRmRCUVZjc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGRGVrUTdjVUpCUTBFc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVU5rTEVOQlFVTTdXVUZEU2l4RFFVRkRPMWxCUlVRc1RVRkJUU3h0UWtGQmJVSXNSMEZCZFVJN1owSkJRemxETEVkQlFVY3NXVUZCV1N4RFFVRkRMRTlCUVU4N1owSkJRM1pDTEUxQlFVMHNSVUZCUlN4aFFVRmhPMmRDUVVOeVFpeE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhOUVVGTk8yZENRVU0xUWl4WFFVRlhMRVZCUVVVc1MwRkJTenRuUWtGRGJFSXNVMEZCVXl4RlFVRkZMRXRCUVVzN1owSkJRMmhDTEdGQlFXRXNSVUZCUlN4TFFVRkxPMkZCUTNKQ0xFTkJRVU03V1VGRFJpeE5RVUZOTEdsQ1FVRnBRaXhIUVVGSExFVkJRVVU3YVVKQlEzcENMR3RDUVVGclFpeERRVU5xUWp0blFrRkRSU3hIUVVGSExGbEJRVms3WjBKQlEyWXNUMEZCVHl4RlFVRkZMRzFDUVVGdFFqdGhRVU0zUWl4RlFVTkVMRlZCUVZVc1JVRkRWaXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNlVUpCUVhsQ0xFTkJRMnhETzJsQ1FVTkJMRWxCUVVrc1EwRkJReXhEUVVGRExGRkJRVkVzUlVGQlJTeEZRVUZGTEVOQlFVTXNVVUZCVVN4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlJXaEVMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNSVUZCUlN4RFFVRkRPMmRDUVVOMlFpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXh2UkVGQmIwUXNWVUZCVlN4RlFVRkZMRU5CUTJwRkxFTkJRVU03V1VGRFNpeERRVUZETzFsQlJVUXNORUpCUVRSQ0xFTkJRVU1zV1VGQldTeEZRVUZGTEcxQ1FVRnRRaXhEUVVGRExFTkJRVU03V1VGRGFFVXNUVUZCVFN4bFFVRmxMRWRCUVVjc1RVRkJUU3hOUVVGTkxFTkJRVU03WjBKQlEyNURMRXRCUVVzc1JVRkJSU3hwUWtGQmFVSTdaMEpCUTNoQ0xFOUJRVThzUlVGQlJUdHZRa0ZEVUN4MVFrRkJkVUlzUlVGQlJUdHZRa0ZEZWtJc1QwRkJUeXhEUVVGRE8zZENRVU5PTEdsQ1FVRnBRaXhGUVVGRkxFbEJRVWs3ZDBKQlEzWkNMRlZCUVZVc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTTdkMEpCUTNCQ0xFMUJRVTBzUlVGQlJTeEZRVUZGTEdGQlFXRXNSVUZCUlN4UFFVRlBMRVZCUVVVc1lVRkJZU3hGUVVGRkxFZEJRVWNzUTBGQlF5eEpRVUZKTEVWQlFVVTdjVUpCUXpWRUxFTkJRVU03YVVKQlEwZzdZVUZEUml4RFFVRkRMRU5CUVVNN1dVRkRTQ3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVU5PTEhWQ1FVRjFRaXhOUVVGTkxHTkJRV01zV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUTI1RkxFTkJRVU03V1VGRFJpeE5RVUZOTEdWQlFXVXNRMEZCUXl4TFFVRkxMRU5CUVVNN1owSkJRekZDTEVsQlFVa3NSVUZCUlN4SFFVRkhMRTFCUVUwc1NVRkJTU3haUVVGWkxFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVczdaMEpCUXpGRExFMUJRVTBzUlVGQlJTeExRVUZMTzJkQ1FVTmlMRWxCUVVrc1JVRkJSU3hIUVVGSExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3p0blFrRkRhRU1zVTBGQlV5eEZRVUZGTEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTzJkQ1FVTjRReXh6UWtGQmMwSXNSVUZCUlN4RFFVRkRMR3RDUVVGclFpeEZRVUZGTEdGQlFXRXNSVUZCUlN4RlFVRkZPMjlDUVVNMVJDeE5RVUZOTEd0Q1FVRnJRaXhIUVVGSExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlEzSkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zWVVGQllTeERRVUZETEVWQlF6TkNMR3RDUVVGclFpeERRVU51UWl4RFFVRkRPMjlDUVVWR0xFbEJRVWtzYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hEUVVGRExHRkJRV0VzUTBGQlF5eEZRVUZGTEVOQlFVTTdkMEpCUTJwRUxFOUJRVThzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUTNCQ0xGTkJRVk1zUlVGRFZDeEpRVUZKT3paQ1FVTkVMRkZCUVZFc1EwRkJReXhoUVVGaExFVkJRVVVzYTBKQlFXdENMRU5CUVVNN05rSkJRek5ETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRE96WkNRVU5tTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkRZaXhEUVVGRE8yOUNRVU5LTEVOQlFVTTdiMEpCUlVRc1QwRkJUeXhyUWtGQmEwSXNRMEZCUXp0blFrRkROVUlzUTBGQlF6dGhRVU5HTEVOQlFVTXNRMEZCUXp0WlFVTklMRTFCUVUwc1pVRkJaU3hEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETzFGQlEyaERMRU5CUVVNN1owSkJRVk1zUTBGQlF6dFpRVU5VTEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1lVRkJZU3hGUVVGRkxFVkJRVVVzVTBGQlV5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF6dFJRVU0zUkN4RFFVRkRPMGxCUTBnc1EwRkJRenRUUVVGTkxFTkJRVU03VVVGRFRpdzBRa0ZCTkVJc1EwRkJReXhaUVVGWkxFVkJRVVU3V1VGRGVrTXNUVUZCVFN4RlFVRkZMRTFCUVUwN1dVRkRaQ3hOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEZWQlFWVXNRMEZCUXl4TlFVRk5PMWxCUXpWQ0xGZEJRVmNzUlVGQlJTeExRVUZMTzFsQlEyeENMRk5CUVZNc1JVRkJSU3hWUVVGVk8xbEJRM0pDTEdGQlFXRXNSVUZCUlN4VlFVRlZPMU5CUXpGQ0xFTkJRVU1zUTBGQlF6dEpRVU5NTEVOQlFVTTdTVUZGUkN4TlFVRk5MRTlCUVU4c1IwRkJSenRSUVVOa0xFdEJRVXNzUlVGQlJTeDFRa0ZCZFVJc1EwRkJReXhMUVVGTExFVkJRVVVzUzBGQlN5eERRVUZETzFGQlF6VkRMRmRCUVZjc1JVRkJSU3hwUkVGQmFVUTdVVUZET1VRc1lVRkJZU3hGUVVGRkxHOURRVUZ2UXp0UlFVTnVSQ3hMUVVGTExFVkJRVVVzZFVOQlFYVkRPMUZCUXpsRExFbEJRVWtzUlVGQlJTd3dRa0ZCTUVJN1MwRkRha01zUTBGQlF6dEpRVVZHTEUxQlFVMHNaVUZCWlN4SFFVRkhMRWRCUVVjc1EwRkJRenRKUVVNMVFpeE5RVUZOTEcxQ1FVRnRRaXhIUVVGSExFOUJRVThzUTBGQlF6dEpRVVZ3UXl4bFFVRmxMRU5CUVVNc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF6dEpRVU0xUWl4bFFVRmxMRU5CUVVNc1YwRkJWeXhIUVVGSExGZEJRVmNzUTBGQlF6dEpRVU14UXl4bFFVRmxMRU5CUVVNc1QwRkJUeXhIUVVGSExFOUJRVThzUTBGQlF6dEpRVVZzUXl4UFFVRlBMR1ZCUVdVc1EwRkJReXhKUVVGSkxFTkJRVU03U1VGRE5VSXNUMEZCVHl4bFFVRmxMRU5CUVVNc1MwRkJTeXhEUVVGRE8wbEJRemRDTEU5QlFVOHNaVUZCWlN4RFFVRkRMRTlCUVU4c1EwRkJRenRKUVVNdlFpeGxRVUZsTEVOQlFVTXNTVUZCU1N4SFFVRkhMRTFCUVUwN1VVRkRNMElzUTBGQlF5eERRVUZETEVkQlFVY3NXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTE8xRkJRelZDTEVOQlFVTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1YwRkJWeXhEUVVGRE8wbEJSWGhDTEVWQlFVVXNRMEZCUXl4aFFVRmhMRU5CUTJRc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNZMEZCWXl4RFFVRkRMRVZCUTJwRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNaVUZCWlN4RFFVRkRMRU5CUTJoRExFTkJRVU03U1VGRlJpeEZRVUZGTEVOQlFVTXNZVUZCWVN4RFFVTmtMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEcxQ1FVRnRRaXhEUVVGRExFVkJRM1JETEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNRMEZEY0VNc1EwRkJRenRKUVVWR0xFbEJRVWtzUzBGQlN5eEpRVUZKTEZsQlFWazdVVUZEZGtJc1JVRkJSU3hEUVVGRExHRkJRV0VzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hSUVVGUkxFTkJRVU1zUlVGQlJTeFpRVUZaTEVOQlFVTXNRMEZCUXp0SlFVVTVSQ3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETERSRFFVRTBReXhEUVVGRExFTkJRVU03U1VGRGRrUXNVVUZCVVN4RFFVRkRMR0ZCUVdFc1JVRkJSU3hGUVVGRkxFZEJRVWNzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRPMGxCUTNwRExGRkJRVkVzUTBGQlF5eG5Ra0ZCWjBJc1JVRkJSU3hGUVVGRkxFZEJRVWNzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRPMGxCUXpWRExGRkJRVkVzUTBGQlF5eHhRa0ZCY1VJc1JVRkJSU3hGUVVGRkxFZEJRVWNzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRPMGxCUTJwRUxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlF6dEpRVU5zUXl4UlFVRlJMRU5CUVVNc0swSkJRU3RDTEVWQlFVVXNSVUZCUlN4SFFVRkhMRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVU16UkN4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVOT0xGbEJRVmtzU1VGQlNTdzRRa0ZCT0VJc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4RFFVTnlSU3hEUVVGRE8wbEJRMFlzU1VGQlNTeEhRVUZITEVWQlFVVXNRMEZCUXp0UlFVTlNMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zZVVSQlFYbEVMRU5CUVVNc1EwRkJRenRSUVVOd1JTeFJRVUZSTEVOQlFVTXNZVUZCWVN4RlFVRkZPMWxCUTNSQ0xFZEJRVWNzUlVGQlJTeE5RVUZOTzFsQlExZ3NSMEZCUnl4RlFVRkZMRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEZGQlFWRXNSVUZCUlN4WlFVRlpMRVZCUVVVN1UwRkRhRVFzUTBGQlF5eERRVUZETzBsQlEwd3NRMEZCUXp0QlFVTklMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVXdzVFVGQlRTeGpRVUZqTEVkQlFVY3NTVUZCU1N4UFFVRlBMRVZCUVVVN1MwRkRha01zVDBGQlR5eERRVUZETEdsQ1FVRnBRaXhEUVVGRE8wdEJRekZDTEUxQlFVMHNRMEZCUXl4cFFrRkJhVUlzUlVGQlJTeG5Ra0ZCWjBJc1EwRkJRenRMUVVNelF5eE5RVUZOTEVOQlFVTXNiVUpCUVcxQ0xFVkJRVVVzYTBKQlFXdENMRU5CUVVNN1MwRkRMME1zVFVGQlRTeERRVUZETEcxQ1FVRnRRaXhGUVVGRkxDdERRVUVyUXl4RFFVRkRPMHRCUXpWRkxGZEJRVmNzUTBGRFZpd3lSVUZCTWtVc1EwRkROVVU3UzBGRFFTeE5RVUZOTEVOQlFVTXNTMEZCU3l4RlFVRkZMRTlCUVZrc1JVRkJSU3hGUVVGRk8wbEJRemRDTEUxQlFVMHNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRM0JDTEVWQlFVVXNRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVc1kwRkJZeXhEUVVGRExFVkJRVVVzVDBGQlR5eERRVUZETEVOQlEyNUZMRU5CUVVNN1NVRkZSaXhOUVVGTkxFOUJRVThzUjBGQlJ5eEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRPMGxCUlRWQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXp0SlFVTXhReXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVU5RTEhsQ1FVRjVRaXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEU5QlFVOHNRMEZCUXl4UlFVRlJMRWRCUVVjc1EwRkJReXhKUVVGSkxGbEJRVmtzVDBGQlR5eEZRVUZGTEVOQlEzUkdMRU5CUVVNN1NVRkZSaXgzUTBGQmQwTTdTVUZEZUVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWRCUVVjc1QwRkJUeXhEUVVGRE8wbEJSWFpETEUxQlFVMHNUVUZCVFN4SFFVRlZMRVZCUVVVc1EwRkJRenRKUVVONlFpeEpRVUZKTEVsQlFVa3NSVUZCUlN4RFFVRkRPMUZCUTFRc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEdGQlFXRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM1JETEVOQlFVTTdTVUZGUkN4SlFVRkpMRTFCUVUwc1JVRkJSU3hEUVVGRE8xRkJRMWdzUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4MVFrRkJkVUlzVFVGQlRTeExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTTNReXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4TlFVRk5MR2RDUVVGblFpeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOdVJDeERRVUZETzBsQlEwUXNUVUZCVFN4TlFVRk5MRWRCUVhkQ0xFVkJRVVVzUTBGQlF6dEpRVU4yUXl4TlFVRk5MRlZCUVZVc1IwRkJkMElzUlVGQlJTeERRVUZETzBsQlJUTkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTzFGQlEyeENMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRVU1zT0VKQlFUaENMRU5CUVVNc1EwRkJRenRKUVVVeFJDeExRVUZMTEUxQlFVMHNRMEZCUXl4SlFVRkpMRTFCUVUwc1JVRkJSU3hEUVVGRE8xRkJRM1pDTEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1owTkJRV2RETEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlEyeEZMRTFCUVUwc1QwRkJUeXhIUVVGSExHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM2hETEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhMUVVGTExFVkJRVVVzUlVGQlJUdFpRVU40UWl4SlFVRkpMRXRCUVVzc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF6dG5Ra0ZEWml4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXp0WlFVTTNRaXhEUVVGRE8xRkJRMGdzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEU0N4MVFrRkJkVUlzUTBGQlF5eERRVUZETEVWQlFVVXNWVUZCVlN4RFFVRkRMRU5CUVVNN1NVRkRla01zUTBGQlF6dEpRVU5FTEUxQlFVMHNZMEZCWXl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdTVUZETjBNc1RVRkJUU3hYUVVGWExFZEJRVWNzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRKUVVNNVF5eEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRk5CUVZNc1kwRkJZeXhEUVVGRExFMUJRVTBzYjBKQlFXOUNMRU5CUVVNc1EwRkJRenRKUVVOb1JTeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRk5CUVZNc1YwRkJWeXhEUVVGRExFMUJRVTBzZDBKQlFYZENMRU5CUVVNc1EwRkJRenRKUVVOcVJTeEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMRmxCUVZrc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRhRVFzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4bFFVRmxMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMGxCUTNaRUxGbEJRVmtzUTBGQlF5eGpRVUZqTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkRja01zWlVGQlpTeERRVUZETEZkQlFWY3NSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRCUVVOMlF5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVVk1MRTFCUVUwc2EwSkJRV3RDTEVkQlFVY3NTVUZCU1N4UFFVRlBMRVZCUVVVN1MwRkRja01zVDBGQlR5eERRVUZETEhGQ1FVRnhRaXhEUVVGRE8wdEJRemxDTEUxQlFVMHNRMEZCUXl4cFFrRkJhVUlzUlVGQlJTeG5Ra0ZCWjBJc1EwRkJRenRMUVVNelF5eE5RVUZOTEVOQlFVTXNiVUpCUVcxQ0xFVkJRVVVzYTBKQlFXdENMRU5CUVVNN1MwRkRMME1zVFVGQlRTeERRVUZETEcxQ1FVRnRRaXhGUVVGRkxDdERRVUVyUXl4RFFVRkRPMHRCUXpWRkxFMUJRVTBzUTBGQlF5eHRRa0ZCYlVJc1JVRkJSU3h0UTBGQmJVTXNRMEZCUXp0TFFVTm9SU3hOUVVGTkxFTkJRVU1zYzBKQlFYTkNMRVZCUVVVc1kwRkJZeXhEUVVGRE8wdEJRemxETEUxQlFVMHNRMEZEVEN4elFrRkJjMElzUlVGRGRFSXNOa3RCUVRaTExFTkJRemxMTzB0QlEwRXNWMEZCVnl4RFFVTldMREpGUVVFeVJTeERRVU0xUlR0TFFVTkJMRTFCUVUwc1EwRkJReXhMUVVGTExFVkJRVVVzVDBGQldTeEZRVUZGTEVWQlFVVTdTVUZETjBJc1RVRkJUU3hIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZEY0VJc1JVRkJSU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeGpRVUZqTEVOQlFVTXNSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkRia1VzUTBGQlF6dEpRVVZHTEUxQlFVMHNUMEZCVHl4SFFVRkhMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU03U1VGRk5VSXNUVUZCVFN4SFFVRkhMRWRCUVVjc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhEUVVGRE8wbEJRemxETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUTFBc2VVSkJRWGxDTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhEUVVGRExGRkJRVkVzUjBGQlJ5eERRVUZETEVsQlFVa3NXVUZCV1N4UFFVRlBMRVZCUVVVc1EwRkRkRVlzUTBGQlF6dEpRVVZHTEhkRFFVRjNRenRKUVVONFF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3hOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEZOQlFWTXNSVUZCUlN4SFFVRkhMRTlCUVU4c1EwRkJRenRKUVVVeFJDeEpRVUZKTEVOQlFVTTdVVUZEU0N4SlFVRkpMRU5CUVVNN1dVRkRTQ3hOUVVGTkxFZEJRVWNzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRMRU5CUVVNN1dVRkRha1FzTmtSQlFUWkVPMUZCUXk5RUxFTkJRVU03VVVGQlF5eFBRVUZQTEVOQlFWVXNSVUZCUlN4RFFVRkRPMWxCUTNCQ0xHTkJRV003VVVGRGFFSXNRMEZCUXp0SlFVTklMRU5CUVVNN1NVRkJReXhQUVVGUExFTkJRVlVzUlVGQlJTeERRVUZETzFGQlEzQkNMRTFCUVUwc1NVRkJTU3hyUWtGQmEwSXNRMEZCUXl3NFFrRkJPRUlzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTnNSU3hEUVVGRE8wbEJSVVFzVFVGQlRTeE5RVUZOTEVkQlFWVXNSVUZCUlN4RFFVRkRPMGxCUTNwQ0xFbEJRVWtzU1VGQlNTeEZRVUZGTEVOQlFVTTdVVUZEVkN4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzWVVGQllTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRkRU1zUTBGQlF6dEpRVVZFTEVsQlFVa3NUVUZCVFN4RlFVRkZMRU5CUVVNN1VVRkRXQ3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEhWQ1FVRjFRaXhOUVVGTkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlF6ZERMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNaMEpCUVdkQ0xFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTI1RUxFTkJRVU03U1VGRlJDeEpRVUZKTEVOQlFVTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1RVRkJUVHRSUVVOc1FpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVRkRMRGhDUVVFNFFpeERRVUZETEVOQlFVTTdTVUZGTVVRc1RVRkJUU3huUWtGQlowSXNSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVOd1F5eERRVUZETEV0QlFVc3NSVUZCUlN4RlFVRkZMRU5CUTFJc1MwRkJTeXhEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZEY2tJc1MwRkJTeXhEUVVGRExGTkJRVk1zUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZEZEVJc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUXpWQ0xFTkJRVU03U1VGRFJpeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdVVUZETjBJc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGRFRpeHhSVUZCY1VVc1EwRkRkRVVzUTBGQlF6dFJRVU5HTEU5QlFVODdTVUZEVkN4RFFVRkRPMGxCUlVRc1MwRkJTeXhWUVVGVkxFOUJRVThzUTBGQlF5eFZRVUZ4UWp0UlFVTXhReXhOUVVGTkxFbEJRVWtzUjBGTFNpeE5RVUZOTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUTNKQ0xHZENRVUZuUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFVkJRVVVzUzBGQlN5eEZRVUZGTEVWQlFVVTdXVUZEYmtNc1RVRkJUU3hUUVVGVExFZEJRVWNzUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVONlF5eE5RVUZOTEZWQlFWVXNSMEZCUnl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFsQlJUTkRMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdXVUZEZGtJc1RVRkJUU3hYUVVGWExFZEJRWGRDTEVWQlFVVXNRMEZCUXp0WlFVTTFReXhMUVVGTExFMUJRVTBzUjBGQlJ5eEpRVUZKTEZWQlFWVXNTVUZCU1N4TlFVRk5MRWxCUVVrc1JVRkJSU3hGUVVGRkxFTkJRVU03WjBKQlF6ZERMRmRCUVZjc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eE5RVUZOTEdGQlFXRXNRMEZEY0VNc1MwRkJTeXhGUVVOTUxFTkJRVU1zUjBGQlJ5eEZRVUZGTEZOQlFWTXNRMEZCUXl4RlFVTm9RaXhGUVVGRk8yZENRVU5HTEVsQlFVazdaMEpCUTBvc2VVUkJRWGxFTzJkQ1FVTjZSQ3d5UkVGQk1rUTdaMEpCUXpORUxFdEJRVXM3WjBKQlEwd3NRMEZCUXl4RFFVRkRMRlZCUVZVc1EwRkRZaXhEUVVGRE8xbEJRMG9zUTBGQlF6dFpRVVZFTEVsQlFVa3NaMEpCUVdkQ0xFZEJRV3RETEZOQlFWTXNRMEZCUXp0WlFVVm9SU3hKUVVGSkxGVkJRVlVzUlVGQlJTeERRVUZETzJkQ1FVTm1MRmRCUVZjc1EwRkJReXhUUVVGVExFTkJRVU1zUjBGQlJ5eFhRVUZYTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8yZENRVU4wUkN4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRWRCUVZjc1JVRkJSU3hGUVVGRk8yOUNRVU12UXl4WFFVRlhMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zVVVGQlVTeEhRVUZITEZkQlFWY3NRMEZETTBNc1IwRkJSeXhEUVVOS0xFTkJRVU1zVVVGQlVTeEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVUwc1JVRkJSU3hGUVVGRk8zZENRVU0xUWl4SlFVRkpMRU5CUVVNc1EwRkJReXhKUVVGSkxFdEJRVTBzVlVGQlZTeERRVUZETEZGQlFXMUNPelJDUVVGRkxFOUJRVThzU1VGQlNTeERRVUZETzNkQ1FVTTFSQ3huUWtGQlowSXNSMEZCUnl4RFFVRlJMRU5CUVVNN2QwSkJRelZDTEU5QlFVOHNTMEZCU3l4RFFVRkRPMjlDUVVObUxFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTk1MRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMHdzUTBGQlF6dFpRVVZFTEUxQlFVMHNZVUZCWVN4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zVjBGQlZ5eERRVUZETzJsQ1FVTTNReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhSUVVGUkxFTkJRVU03YVVKQlEzUkNMRWxCUVVrc1JVRkJSU3hEUVVGRExFMUJRVTBzUTBGQlF6dFpRVU5xUWl4SlFVRkpMR0ZCUVdFN1owSkJRMllzUjBGQlJ6dHhRa0ZEUVN4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0eFFrRkRNMElzU1VGQlNTeERRVUZETEZOQlFWTXNZVUZCWVN4blEwRkJaME1zUTBGQlF5eERRVUZETzFsQlEyeEZMRTFCUVUwc1YwRkJWeXhIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RFFVRkRPMmxDUVVNelF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTTdhVUpCUTNCQ0xFbEJRVWtzUlVGQlJTeERRVUZETEUxQlFVMHNRMEZCUXp0WlFVVnFRaXhIUVVGSE8ybENRVU5CTEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzJsQ1FVTXpRaXhKUVVGSkxFTkJRVU1zVTBGQlV5eFhRVUZYTEN0Q1FVRXJRaXhEUVVGRExFTkJRVU03V1VGRE4wUXNTVUZCU1N4blFrRkJaMEk3WjBKQlEyeENMRWRCUVVjN2NVSkJRMEVzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03Y1VKQlF6TkNMRWxCUVVrc1EwRkRTQ3dyUWtGQkswSXNWVUZCVlN4RlFVRkZMRkZCUVd0Q0xFVkJRVVVzUTBGRGFFVXNRMEZCUXp0WlFVVk9MRTFCUVUwc1QwRkJUeXhIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RFFVRkRPMmxDUVVOMlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4UlFVRlJMRWxCUVVrc1JVRkJSU3hEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dHBRa0ZEZUVRc1NVRkJTU3hGUVVGRkxFTkJRVU03V1VGRFZpeEpRVUZKTEU5QlFVOHNSMEZCZVVJc1JVRkJSU3hEUVVGRE8xbEJRM1pETEVsQlFVa3NWVUZCVlN4SFFVRjFRaXhGUVVGRkxFTkJRVU03V1VGRGVFTXNTVUZCU1N4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU03WjBKQlEyNUNMRWRCUVVjN2NVSkJRMEVzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03Y1VKQlF6TkNMRTlCUVU4c1EwRkJReXh2UTBGQmIwTXNRMEZCUXl4RFFVRkRPMmRDUVVOcVJDeFBRVUZQTEVkQlFVY3NiMEpCUVc5Q0xFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdaMEpCUTNSRExFZEJRVWM3Y1VKQlEwRXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdjVUpCUXpOQ0xFbEJRVWtzUTBGQlF5eFRRVUZUTEU5QlFVOHNRMEZCUXl4TlFVRk5MRlZCUVZVc1EwRkJReXhEUVVGRE8yZENRVU16UXl4VlFVRlZMRWRCUVVjc2RVSkJRWFZDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1owSkJRelZETEVkQlFVYzdjVUpCUTBFc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eFRRVUZUTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN2NVSkJRek5DTEVsQlFVa3NRMEZCUXl4VFFVRlRMRlZCUVZVc1EwRkJReXhOUVVGTkxHTkJRV01zUTBGQlF5eERRVUZETzFsQlEzQkVMRU5CUVVNN1dVRkRSQ3hQUVVGUE8yZENRVU5NTEU5QlFVODdaMEpCUTFBc1ZVRkJWVHRuUWtGRFZpeFhRVUZYTEVWQlFVVXNUMEZCVHp0blFrRkRjRUlzVFVGQlRTeEZRVUZGTEdkQ1FVRm5RanRoUVVONlFpeERRVUZETzFGQlEwb3NRMEZCUXl4RFFVRkRMRU5CUTBnc1EwRkJRenRSUVVOR0xFOUJRVThzU1VGQlNTeERRVUZETzBsQlEyUXNRMEZCUXp0SlFVVkVMRTFCUVUwc1NVRkJTU3hIUVVGSExFMUJRVTBzVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZETjBJc1RVRkJUU3hWUVVGVkxFZEJRVWNzVFVGQlRTeFBRVUZQTEVOQlFVTXNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSVGxETEUxQlFVMHNZVUZCWVN4SFFVRkhPMUZCUTNCQ0xFZEJRVWNzVlVGQlZTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVNeFJDeEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVU3VVVGRGVFTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzB0QlF6bENMRU5CUVVNN1NVRkZla0lzVFVGQlRTeHJRa0ZCYTBJc1IwRkJSenRSUVVONlFpeEhRVUZITEVsQlFVa3NSMEZCUnl4RFFVTlNMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEpRVUYxUWl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkRiRVVzUTBGQlF5eE5RVUZOTEVWQlFVVTdTMEZEV0N4RFFVRkRPMGxCUlVZc1NVRkJTU3hyUWtGQmEwSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRSUVVNNVFpeG5Ra0ZCWjBJc1EwRkJReXhyUWtGQmEwSXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVNM1F5eE5RVUZOTEhGQ1FVRnhRaXhIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlEzSkRMRTFCUVUwc1JVRkRUaXhWUVVGVkxFVkJRMVlzZVVKQlFYbENMRU5CUXpGQ0xFTkJRVU03VVVGRFJpeE5RVUZOTEhsQ1FVRjVRaXhIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlEzcERMRTFCUVUwc1JVRkRUaXg1UWtGQmVVSXNRMEZETVVJc1EwRkJRenRSUVVOR0xFVkJRVVVzUTBGQlF5eFpRVUZaTEVOQlFVTXNjVUpCUVhGQ0xFVkJRVVVzZVVKQlFYbENMRU5CUVVNc1EwRkJRenRSUVVOc1JTeEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVTk9MRlZCUVZVc1lVRkJZU3hEUVVGRExFMUJRVTBzYlVKQlFXMUNMSEZDUVVGeFFpeEZRVUZGTEVOQlEzcEZMRU5CUVVNN1VVRkRSaXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVU5PTEdkRFFVRm5ReXg1UWtGQmVVSXNOa0pCUVRaQ0xFTkJRM1pHTEVOQlFVTTdVVUZGUml4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZEYWtJc1RVRkJUU3hGUVVGRkxFOUJRVThzUlVGQlJTeFZRVUZWTEVWQlFVVXNWMEZCVnl4RlFVRkZMRTFCUVUwc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU4yUkN4TlFVRk5MRTlCUVU4c1IwRkJkMElzUTBGQlF5eEhRVUZITEZkQlFWY3NSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRMnhGTEU5QlFVOHNRMEZEWlN4RFFVRkRPMWxCUTNwQ0xFOUJRVThzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSVHRuUWtGRGNFSXNXVUZCV1N4RFFVRkRMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMmRDUVVOMFF5eDVRa0ZCZVVJc1EwRkJReXhWUVVGVkxFbEJRVWtzUlVGQlJTeEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03WjBKQlF6VkVMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRMDRzVlVGQlZTeFBRVUZQTEVWQlFVVXNUVUZCVFN4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEZWQlFWVXNSVUZCUlN4TlFVRk5MRWxCUVVrc1EwRkJReXc0UWtGQk9FSXNRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVNMVJ5eERRVUZETzFsQlEwb3NRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRUQ3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5NTEVOQlFVTTdRVUZEU0N4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVWTUxFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NUMEZCVHl4RlFVRkZPMHRCUXpsQ0xFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTTdTMEZEYmtJc1YwRkJWeXhEUVVGRExHMUVRVUZ0UkN4RFFVRkRPMHRCUTJoRkxFMUJRVTBzUTBGRFRDeHpRa0ZCYzBJc1JVRkRkRUlzYlVSQlFXMUVMRVZCUTI1RUxHMUNRVUZ0UWl4RFFVTndRanRMUVVOQkxFMUJRVTBzUTBGQlF5eHZRa0ZCYjBJc1JVRkJSU3gxUTBGQmRVTXNSVUZCUlN4TlFVRk5MRU5CUVVNN1MwRkROMFVzVFVGQlRTeERRVUZETEhGQ1FVRnhRaXhGUVVGRkxIRkRRVUZ4UXl4RlFVRkZMRWxCUVVrc1EwRkJRenRMUVVNeFJTeE5RVUZOTEVOQlFVTXNTMEZCU3l4RlFVRkZMRTlCUVZrc1JVRkJSU3hGUVVGRk8wbEJRemRDTEUxQlFVMHNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRM0JDTEVWQlFVVXNRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVc1kwRkJZeXhEUVVGRExFVkJRVVVzVDBGQlR5eERRVUZETEVOQlEyNUZMRU5CUVVNN1NVRkZSaXhOUVVGTkxFOUJRVThzUjBGQlJ5eEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRPMGxCUlRWQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU03U1VGRGRFTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkRVQ3g1UWtGQmVVSXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhQUVVGUExFTkJRVU1zVVVGQlVTeEhRVUZITEVOQlFVTXNTVUZCU1N4WlFVRlpMRTlCUVU4c1JVRkJSU3hEUVVOMFJpeERRVUZETzBsQlEwWXNkME5CUVhkRE8wbEJRM2hETEVsQlFVa3NSVUZCUlN4VFFVRlRMRVZCUVVVc1QwRkJUeXhGUVVGRkxGRkJRVkVzUlVGQlJTeEhRVUZITEU5QlFVOHNRMEZCUXp0SlFVTXZReXhQUVVGUExFZEJRVWNzVVVGQlVTeERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRWxCUVVrc1EwRkJRenRKUVVOd1F5eFJRVUZSTEVkQlFVY3NVVUZCVVN4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF6dEpRVVZ3UXl4TlFVRk5MREJDUVVFd1FpeERRVUZETEcxQ1FVRnRRaXhGUVVGRkxFOUJRVThzUlVGQlJTeFJRVUZSTEVOQlFVTXNRMEZCUXp0SlFVVjZSU3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVU5PTERoRVFVRTRSQ3hUUVVGVExFbEJRVWtzUTBGRE5VVXNRMEZCUXp0QlFVTktMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVXdzVFVGQlRTeGpRVUZqTEVkQlFVY3NTVUZCU1N4UFFVRlBMRVZCUVVVN1MwRkRha01zU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRE8wdEJRM1pDTEZkQlFWY3NRMEZCUXl3clFrRkJLMElzUTBGQlF6dExRVU0xUXl4TlFVRk5MRU5CUVVNc2FVSkJRV2xDTEVWQlFVVXNORUpCUVRSQ0xFTkJRVU03UzBGRGRrUXNUVUZCVFN4RFFVRkRMR3RDUVVGclFpeEZRVUZGTEdOQlFXTXNRMEZCUXp0TFFVTXhReXhOUVVGTkxFTkJRMHdzSzBKQlFTdENMRVZCUXk5Q0xHdEZRVUZyUlN4RFFVTnVSVHRMUVVOQkxFMUJRVTBzUTBGRFRDdzJRa0ZCTmtJc1JVRkROMElzYzBWQlFYTkZMRVZCUTNSRkxFdEJRVXNzUTBGRFRqdExRVU5CTEUxQlFVMHNRMEZEVEN3d1FrRkJNRUlzUlVGRE1VSXNORVZCUVRSRkxFVkJRelZGTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTEU5QlFVOHNSVUZCUlN4aFFVRmhMRVZCUVVVc2JVSkJRVzFDTEVOQlFVTXNRMEZEZEVVN1MwRkRRU3hOUVVGTkxFTkJRMHdzYTBKQlFXdENMRVZCUTJ4Q0xEQkNRVUV3UWl4RlFVTXhRaXgzUTBGQmQwTXNRMEZEZWtNN1MwRkRRU3hOUVVGTkxFTkJRVU1zUzBGQlN5eEZRVUZGTEU5QlFWa3NSVUZCUlN4RlFVRkZPMGxCUXpkQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUTNCQ0xFVkJRVVVzUTBGQlF5eFpRVUZaTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlFVVXNZMEZCWXl4RFFVRkRMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRMjVGTEVOQlFVTTdTVUZGUml4TlFVRk5MRTlCUVU4c1IwRkJSeXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETzBsQlJUVkNMRTFCUVUwc1IwRkJSeXhIUVVGSExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zUTBGQlF6dEpRVU14UXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVOUUxIbENRVUY1UWl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVThzUTBGQlF5eFJRVUZSTEVkQlFVY3NRMEZCUXl4SlFVRkpMRmxCUVZrc1QwRkJUeXhGUVVGRkxFTkJRM1JHTEVOQlFVTTdTVUZGUml4TlFVRk5MRVZCUTBvc1NVRkJTU3hGUVVOS0xFdEJRVXNzUlVGRFRDeExRVUZMTEVWQlEwd3NZVUZCWVR0SlFVTmlMRFpFUVVFMlJEdEpRVU0zUkN4blFrRkJaMElzUlVGRGFFSXNhVUpCUVdsQ0xFZEJRMnhDTEVkQlFVY3NUMEZCVHl4RFFVRkRPMGxCUTFvc1RVRkJUU3hQUVVGUExFZEJRVWNzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVWcVF5eE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNZVUZCWVN4RlFVRkZMRWRCUVVjc1NVRkJTU3hSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETzBsQlJURkZMRWxCUVVrc1VVRkJaMElzUTBGQlF6dEpRVVZ5UWl4SlFVRkpMRU5CUVVNN1VVRkRTQ3hSUVVGUkxFZEJRVWNzVVVGQlVTeERRVUZETEVWQlFVVXNRMEZCUXl4WlFVRlpMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRiRVVzU1VGQlNTeExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVRkRPMWxCUVVVc1VVRkJVU3hIUVVGSExFTkJRVU1zUTBGQlF6czdXVUZETjBJc1VVRkJVU3hKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU51UWl3MlJFRkJOa1E3U1VGREwwUXNRMEZCUXp0SlFVRkRMRTlCUVU4c1EwRkJWU3hGUVVGRkxFTkJRVU03VVVGRGNFSXNVVUZCVVN4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVObUxFTkJRVU03U1VGRFJDeEZRVUZGTzBsQlEwWXNNRUpCUVRCQ08wbEJRekZDTEhkRFFVRjNRenRKUVVONFF5eHhRa0ZCY1VJN1NVRkRja0lzU1VGQlNUdEpRVVZLTEVsQlFVa3NRMEZCUXp0UlFVTklMRXRCUVVzc1RVRkJUU3hKUVVGSkxFbEJRVWtzVDBGQlR5eEZRVUZGTEVOQlFVTTdXVUZETTBJc1pVRkJaU3hEUVVGRExFbEJRVWtzUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRE8xbEJRelZETEdWQlFXVXNRMEZCUXl4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03V1VGRE5VSXNaVUZCWlN4RFFVTmlMRWxCUVVrc1JVRkRTaXhKUVVGSkxFVkJRMG9zU1VGQlNTeExRVUZMTEdOQlFXTTdaMEpCUTNKQ0xFTkJRVU1zUTBGQlF5eHBRa0ZCYVVJN1owSkJRMjVDTEVOQlFVTXNRMEZCUXl4NVFrRkJlVUlzUlVGRE4wSXNVVUZCVVN4RlFVTlNMRTlCUVU4c1JVRkRVQ3hwUWtGQmFVSXNRMEZEYkVJc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRFJDeEZRVUZGTEVOQlFVTXNZVUZCWVN4RFFVRkRMRk5CUVZNc1JVRkJSU3hSUVVGUkxFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTnVSQ3hEUVVGRE8wbEJRVU1zVDBGQlR5eEhRVUZSTEVWQlFVVXNRMEZCUXp0UlFVTnNRaXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETERKQ1FVRXlRaXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzBsQlF6bERMRU5CUVVNN1NVRkRSQ3hsUVVGbExFTkJRVU1zU1VGQlNTeEZRVUZGTEZGQlFWRXNSVUZCUlN4UFFVRlBMRVZCUVVVc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXp0QlFVTTVSQ3hEUVVGRExFTkJRVU1zUTBGQlF6dEJRVVZNTEUxQlFVMHNhVUpCUVdsQ0xFZEJRVWNzU1VGQlNTeFBRVUZQTEVWQlFVVTdTMEZEY0VNc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRPMHRCUXpOQ0xGZEJRVmNzUTBGQlF5eHRSRUZCYlVRc1EwRkJRenRMUVVOb1JTeE5RVUZOTEVOQlFVTXNiVUpCUVcxQ0xFVkJRVVVzWlVGQlpTeEZRVUZGTEc5Q1FVRnZRaXhEUVVGRE8wdEJRMnhGTEUxQlFVMHNRMEZCUXl4blFrRkJaMElzUlVGQlJTdzRRa0ZCT0VJc1JVRkJSU3hQUVVGUExFTkJRVU03UzBGRGFrVXNUVUZCVFN4RFFVRkRMRXRCUVVzc1JVRkJSU3hQUVVGWkxFVkJRVVVzUlVGQlJUdEpRVU0zUWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVU53UWl4RlFVRkZMRU5CUVVNc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxHTkJRV01zUTBGQlF5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVTnVSU3hEUVVGRE8wbEJSVVlzVFVGQlRTeFBRVUZQTEVkQlFVY3NSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJRenRKUVVVMVFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRU5CUVVNN1NVRkRPVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZEVUN4NVFrRkJlVUlzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1VVRkJVU3hIUVVGSExFTkJRVU1zU1VGQlNTeFpRVUZaTEU5QlFVOHNSVUZCUlN4RFFVTjBSaXhEUVVGRE8wbEJRMFlzVFVGQlRTeEZRVUZGTEUxQlFVMHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU03U1VGRGFFTXNVVUZCVVN4RFFVRkRMR0ZCUVdFc1IwRkJSeXh4UWtGQmNVSXNUVUZCVFN4RlFVRkZMRVZCUVVVN1VVRkRkRVFzUjBGQlJ5eEZRVUZGTEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVN1MwRkRia0lzUTBGQlF5eERRVUZETzBGQlEwd3NRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkZUQ3hOUVVGTkxGTkJRVk1zUjBGQlJ5eEpRVUZKTEU5QlFVOHNSVUZCUlR0TFFVTTFRaXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETzB0QlEyeENMRTlCUVU4c1EwRkJReXhSUVVGUkxFTkJRVU03UzBGRGFrSXNWMEZCVnl4RFFVTldMRzFGUVVGdFJTeERRVU53UlN4RFFVRkRPMEZCUlVvc1UwRkJVeXhEUVVGRExGVkJRVlVzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXp0QlFVTnlReXhUUVVGVExFTkJRVU1zVlVGQlZTeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRPMEZCUTNKRExGTkJRVk1zUTBGQlF5eFZRVUZWTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNN1FVRkRiRU1zVTBGQlV5eERRVUZETEZWQlFWVXNRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkJRenRCUVVOeVF5eFRRVUZUTEVOQlFVTXNWVUZCVlN4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVOQlFVTTdRVUZEZUVNc1UwRkJVeXhEUVVGRExGVkJRVlVzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRE8wRkJSWHBETEUxQlFVMHNRMEZCUXl4UFFVRlBMRlZCUVZVc1RVRkJUVHRKUVVNMVFpeFBRVUZQTEZOQlFWTXNRMEZCUXp0QlFVTnVRaXhEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dRMjl0YldGdVpDQjlJR1p5YjIwZ1hDSmpiMjF0WVc1a1pYSmNJanRjYm1sdGNHOXlkQ0I3SUV4dloyZHBibWNzSUhSdlVHRnpZMkZzUTJGelpTQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZiRzluWjJsdVoxd2lPMXh1YVcxd2IzSjBJSHNnWlhobFkxTjVibU1nZlNCbWNtOXRJRndpWTJocGJHUmZjSEp2WTJWemMxd2lPMXh1YVcxd2IzSjBJR1p6SUdaeWIyMGdYQ0ptYzF3aU8xeHVhVzF3YjNKMElIQmhkR2dnWm5KdmJTQmNJbkJoZEdoY0lqdGNibWx0Y0c5eWRDQjdJRkJzZFdkcGJpd2djbTlzYkhWd0lIMGdabkp2YlNCY0luSnZiR3gxY0Z3aU8xeHVhVzF3YjNKMElISmxjR3hoWTJVZ1puSnZiU0JjSWtCeWIyeHNkWEF2Y0d4MVoybHVMWEpsY0d4aFkyVmNJanRjYm1sdGNHOXlkQ0I3SUVsdWRHVnlibUZzUlhKeWIzSXNJRk5sY21saGJHbDZZWFJwYjI1RmNuSnZjaUI5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WkdJdFpHVmpiM0poZEc5eWMxd2lPMXh1YVcxd2IzSjBJSHRjYmlBZ1oyVnVaWEpoZEdWTmIyUmxiRVJsYzJsbmJrUnZZM01zWEc0Z0lHZGxibVZ5WVhSbFRXOWtaV3hKYm1SbGVHVnpMRnh1SUNCeVpXRmtUVzlrWld4R2FXeGxMRnh1SUNCeVpXRmtUVzlrWld4R2IyeGtaWEp6TEZ4dUlDQjNjbWwwWlVSbGMybG5ia1J2WTNNc1hHNGdJSGR5YVhSbFNXNWtaWGhsY3l4Y2JuMGdabkp2YlNCY0lpNHZZMnhwWlc1MEwybHVaR1Y0WlhOY0lqdGNibWx0Y0c5eWRDQjdJRTF2WkdWc0lIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGIzSXRkbUZzYVdSaGRHbHZibHdpTzF4dWFXMXdiM0owSUh0Y2JpQWdZWEJ3Y205MlpVTnZiblJ5WVdOMExGeHVJQ0JsYm5OMWNtVkpibVp5WVhOMGNuVmpkSFZ5WlVKdmIzUmxaQ3hjYmlBZ2FXNXpkR0ZzYkVOdmJuUnlZV04wTEZ4dUlDQndZV05yWVdkbFEyOXVkSEpoWTNRc1hHNGdJR052YlcxcGRFTm9ZV2x1WTI5a1pTeGNiaUFnWjJWMFEyOXVkSEpoWTNSVGRHRnlkRU52YlcxaGJtUXNYRzRnSUdOdmJYQnBiR1ZYYVhSb1ZITmpiMjVtYVdkUGRtVnljbWxrWlhNc1hHNTlJR1p5YjIwZ1hDSXVMMk5zYVMxMWRHbHNjMXdpTzF4dWFXMXdiM0owSUZ3aUxpOXphR0Z5WldRdmIzWmxjbkpwWkdWelhDSTdYRzVwYlhCdmNuUWdkSE1nWm5KdmJTQmNJblI1Y0dWelkzSnBjSFJjSWp0Y2JtbHRjRzl5ZENCN1hHNGdJR1Y0ZEhKaFkzUkRiMnhzWldOMGFXOXVjeUJoY3lCbGVFTnZiR3hsWTNScGIyNXpMRnh1SUNCUWNtbDJZWFJsUTI5c2JHVmpkR2x2Yml4Y2JpQWdkM0pwZEdWRGIyeHNaV04wYVc5dWN5eGNiaUFnZDNKcGRHVkRiMnhzWldOMGFXOXVSR1Z6YVdkdVJHOWpjeXhjYm4wZ1puSnZiU0JjSWk0dlkyeHBaVzUwTDJOdmJHeGxZM1JwYjI1ekwybHVaR1Y0WENJN1hHNXBiWEJ2Y25RZ2V5QkRiM1ZqYUVSQ1JHVnphV2R1Ukc5akxDQkRjbVZoZEdWSmJtUmxlRkpsY1hWbGMzUWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlp2Y2kxamIzVmphR1JpWENJN1hHNWNibU52Ym5OMElHeHZaMmRsY2lBOUlFeHZaMmRwYm1jdVptOXlLRndpWm1GaWNtbGpYQ0lwTzF4dVhHNW1kVzVqZEdsdmJpQnlaWE52YkhabFFuVnVaR3hsWkVwelNXMXdiM0owY3lncE9pQlFiSFZuYVc0Z2UxeHVJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lHNWhiV1U2SUZ3aWNtVnpiMngyWlMxaWRXNWtiR1ZrTFdwekxXbHRjRzl5ZEhOY0lpeGNiaUFnSUNCeVpYTnZiSFpsU1dRb2MyOTFjbU5sTENCcGJYQnZjblJsY2lrZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0ZwYlhCdmNuUmxjaUI4ZkNBaGMyOTFjbU5sTG5OMFlYSjBjMWRwZEdnb1hDSXVYQ0lwS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JqYjI1emRDQnlaWE52YkhabFpGQmhkR2dnUFNCd1lYUm9MbkpsYzI5c2RtVW9jR0YwYUM1a2FYSnVZVzFsS0dsdGNHOXlkR1Z5S1N3Z2MyOTFjbU5sS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJR05oYm1ScFpHRjBaWE1nUFNCYlhHNGdJQ0FnSUNBZ0lISmxjMjlzZG1Wa1VHRjBhQ3hjYmlBZ0lDQWdJQ0FnWUNSN2NtVnpiMngyWldSUVlYUm9mUzVxYzJBc1hHNGdJQ0FnSUNBZ0lIQmhkR2d1YW05cGJpaHlaWE52YkhabFpGQmhkR2dzSUZ3aWFXNWtaWGd1YW5OY0lpa3NYRzRnSUNBZ0lDQmRPMXh1WEc0Z0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUdOaGJtUnBaR0YwWlNCdlppQmpZVzVrYVdSaGRHVnpLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaG1jeTVsZUdsemRITlRlVzVqS0dOaGJtUnBaR0YwWlNrZ0ppWWdabk11YzNSaGRGTjVibU1vWTJGdVpHbGtZWFJsS1M1cGMwWnBiR1VvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmpZVzVrYVdSaGRHVTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnZlN4Y2JpQWdmVHRjYm4xY2JseHVZMjl1YzNRZ1kyOXRjR2xzWlVOdmJXMWhibVFnUFNCdVpYY2dRMjl0YldGdVpDZ3BYRzRnSUM1dVlXMWxLRndpWTI5dGNHbHNaUzFqYjI1MGNtRmpkRndpS1Z4dUlDQXVaR1Z6WTNKcGNIUnBiMjRvWENKRGNtVmhkR1Z6SUdFZ1oyeHZZbUZzSUdOdmJuUnlZV04wWENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFdSbGRsd2lMQ0JjSW1OdmJYQnBiR1Z6SUdOdmJuUnlZV04wY3lCM2FYUm9iM1YwSUcxcGJtbG1hV05oZEdsdmJsd2lMQ0JtWVd4elpTbGNiaUFnTG05d2RHbHZiaWhjSWkwdFpHVmlkV2RjSWl3Z1hDSnRZV3RsY3lCaGRIUmhZMmhwYm1jZ1pHVmlkV2RuWlhJZ2NHOXpjMmxpYkdWY0lpd2dabUZzYzJVcFhHNGdJQzV2Y0hScGIyNG9YRzRnSUNBZ1hDSXRMV05qWVdGelhDSXNYRzRnSUNBZ1hDSkJhblZ6ZEhNZ2RHaGxJSEJoWTJ0aFoyVWdZMjl0YldGdVpITWdkRzhnWW1VZ1pHVndiRzk1WldRZ1lYTWdZMk5oWVhOY0lpeGNiaUFnSUNCbVlXeHpaVnh1SUNBcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFc1aGJXVWdQRk4wY21sdVp6NWNJaXdnWENKamIyNTBjbUZqZENCdVlXMWxYQ0lzSUZ3aVoyeHZZbUZzTFdOdmJuUnlZV04wWENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFdKMWJtUnNaVndpTENCY0lrSjFibVJzWlhNZ2QybDBhQ0J5YjJ4c2RYQWdhVzV6ZEdWaFpDQnZaaUIxYzJsdVp5QjBjMk5jSWl3Z1ptRnNjMlVwWEc0Z0lDNXZjSFJwYjI0b1hHNGdJQ0FnWENJdExYUnpMV052Ym1acFp5MW1hV3hsSUR4emRISnBibWMrWENJc1hHNGdJQ0FnWENKeVpXeGhkR2wyWlNCd1lYUm9JSFJ2SUhSb1pTQjBjeUJqYjI1bWFXY2dabWxzWlNCaVlYTmxaQ0J2YmlCamQyUWdiM0lnWVdKemIyeDFkR1VnY0dGMGFGd2lMRnh1SUNBZ0lGd2lMaTkwYzJOdmJtWnBaeTVxYzI5dVhDSmNiaUFnS1Z4dUlDQXViM0IwYVc5dUtGeHVJQ0FnSUZ3aUxTMWtaWE5qY21sd2RHbHZiaUE4VTNSeWFXNW5QbHdpTEZ4dUlDQWdJRndpWTI5dWRISmhZM1FnWkdWelkzSnBjSFJwYjI1Y0lpeGNiaUFnSUNCY0lrZHNiMkpoYkNCamIyNTBjbUZqZENCcGJYQnNaVzFsYm5SaGRHbHZibHdpWEc0Z0lDbGNiaUFnTG05d2RHbHZiaWhjSWkwdGMzUnlhWEF0WTI5dWRISmhZM1F0Ym1GdFpWd2lMQ0JjSW5OMGNtbHdJR052Ym5SeVlXTjBJRzVoYldVZ1puSnZiU0J2ZFhSd2RYUmNJaXdnWm1Gc2MyVXBYRzRnSUM1dmNIUnBiMjRvWENJdExXbHVjSFYwSUR4VGRISnBibWMrWENJc0lGd2lhVzV3ZFhRZ1ptOXNaR1Z5SUdadmNpQmpiMjUwY21GamRITmNJaXdnWENKc2FXSXZZMjl1ZEhKaFkzUnpYQ0lwWEc0Z0lDNXZjSFJwYjI0b1hDSXRMVzkxZEhCMWRDQThVM1J5YVc1blBsd2lMQ0JjSW05MWRIQjFkQ0JtYjJ4a1pYSWdabTl5SUdOdmJuUnlZV04wYzF3aUxDQmNJaTR2WTI5dWRISmhZM1J6WENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFhOdmRYSmpaVzFoY0hOY0lpd2dYQ0pwYm1Oc2RXUmxjeUJ6YjNWeVkyVnRZWEJ6SUdsdUlIUm9aU0JqYjIxd2FXeGxaQ0J2ZFhSd2RYUmNJaXdnWm1Gc2MyVXBYRzRnSUM1dmNIUnBiMjRvWENJdExXNXdiWEpqWENJc0lGd2lhVzVqYkhWa1pYTWdMbTV3YlhKaklHbHVJSFJvWlNCamIyMXdhV3hsWkNCdmRYUndkWFJjSWl3Z1ptRnNjMlVwWEc0Z0lDNWhZM1JwYjI0b1lYTjVibU1nS0c5d2RHbHZibk02SUdGdWVTa2dQVDRnZTF4dUlDQWdJR052Ym5OMElIQnJaeUE5SUVwVFQwNHVjR0Z5YzJVb1hHNGdJQ0FnSUNCbWN5NXlaV0ZrUm1sc1pWTjVibU1vY0dGMGFDNXFiMmx1S0hCeWIyTmxjM011WTNka0tDa3NJRndpY0dGamEyRm5aUzVxYzI5dVhDSXBMQ0JjSW5WMFppMDRYQ0lwWEc0Z0lDQWdLVHRjYmx4dUlDQWdJR052Ym5OMElIQnJaMHh2WTJzZ1BTQktVMDlPTG5CaGNuTmxLRnh1SUNBZ0lDQWdabk11Y21WaFpFWnBiR1ZUZVc1aktIQmhkR2d1YW05cGJpaHdjbTlqWlhOekxtTjNaQ2dwTENCY0luQmhZMnRoWjJVdGJHOWpheTVxYzI5dVhDSXBMQ0JjSW5WMFppMDRYQ0lwWEc0Z0lDQWdLVHRjYmx4dUlDQWdJR3hsZENCdWNHMXlZME52Ym5SbGJuUWdQU0IxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0JqYjI1emRDQjJaWEp6YVc5dUlEMGdjR3RuTG5abGNuTnBiMjQ3WEc1Y2JpQWdJQ0JzWlhRZ2UxeHVJQ0FnSUNBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElIQnlaV1psY2kxamIyNXpkRnh1SUNBZ0lDQWdaR1YyTEZ4dUlDQWdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUhCeVpXWmxjaTFqYjI1emRGeHVJQ0FnSUNBZ1pHVmlkV2NzWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnY0hKbFptVnlMV052Ym5OMFhHNGdJQ0FnSUNCdVlXMWxMRnh1SUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJSEJ5WldabGNpMWpiMjV6ZEZ4dUlDQWdJQ0FnWkdWelkzSnBjSFJwYjI0c1hHNGdJQ0FnSUNCdmRYUndkWFFzWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnY0hKbFptVnlMV052Ym5OMFhHNGdJQ0FnSUNCcGJuQjFkQ3hjYmlBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J3Y21WbVpYSXRZMjl1YzNSY2JpQWdJQ0FnSUhOMGNtbHdRMjl1ZEhKaFkzUk9ZVzFsTEZ4dUlDQWdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUhCeVpXWmxjaTFqYjI1emRGeHVJQ0FnSUNBZ1kyTmhZWE1zWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnY0hKbFptVnlMV052Ym5OMFhHNGdJQ0FnSUNCaWRXNWtiR1VzWEc1Y2JpQWdJQ0FnSUhSelEyOXVabWxuUm1sc1pTeGNiaUFnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQndjbVZtWlhJdFkyOXVjM1JjYmlBZ0lDQWdJSE52ZFhKalpXMWhjSE1zWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnY0hKbFptVnlMV052Ym5OMFhHNGdJQ0FnSUNCdWNHMXlZeXhjYmlBZ0lDQjlJRDBnYjNCMGFXOXVjenRjYmlBZ0lDQmpiMjV6ZENCc2IyY2dQU0JzYjJkblpYSXVabTl5S0Z3aVkyOXRjR2xzWlMxamIyNTBjbUZqZEZ3aUtUdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdhV1lnS0c1d2JYSmpLU0I3WEc0Z0lDQWdJQ0FnSUc1d2JYSmpRMjl1ZEdWdWRDQTlJR1p6WEc0Z0lDQWdJQ0FnSUNBZ0xuSmxZV1JHYVd4bFUzbHVZeWh3WVhSb0xtcHZhVzRvY0hKdlkyVnpjeTVqZDJRb0tTd2dYQ0l1Ym5CdGNtTmNJaWtzSUZ3aWRYUm1MVGhjSWlsY2JpQWdJQ0FnSUNBZ0lDQXVkRzlUZEhKcGJtY29LVHRjYmx4dUlDQWdJQ0FnSUNCamIyNXpkQ0J5WlhCc1lXTmxaQ0E5SUc1d2JYSmpRMjl1ZEdWdWRDNXlaWEJzWVdObEtGeHVJQ0FnSUNBZ0lDQWdJQzljWENSY1hIc29XMTU5WFNzcFhGeDlMMmNzWEc0Z0lDQWdJQ0FnSUNBZ0tGODZJR0Z1ZVN3Z2RtRnlUbUZ0WlRvZ2MzUnlhVzVuS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0IyWVd4MVpTQTlJSEJ5YjJObGMzTXVaVzUyVzNaaGNrNWhiV1ZkTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RtRnNkV1VnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWUZkaGNtNXBibWM2SUVWdWRtbHliMjV0Wlc1MElIWmhjbWxoWW14bElGd2lKSHQyWVhKT1lXMWxmVndpSUdseklHNXZkQ0J6WlhSZ1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJjSWx3aU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkbUZzZFdVN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FwTzF4dVhHNGdJQ0FnSUNBZ0lHNXdiWEpqUTI5dWRHVnVkQ0E5SUhKbGNHeGhZMlZrTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWTJGMFkyZ2dlMXh1SUNBZ0lDQWdiRzluTG1sdVptOG9ZRTV2SUM1dWNHMXlZeUJtYVd4bElHWnZkVzVrTENCemEybHdjR2x1WnlCamIzQjVhVzVuSUM1dWNHMXlZeUIwYnlCdmRYUndkWFJnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JzYjJjdVpHVmlkV2NvWEc0Z0lDQWdJQ0JnY25WdWJtbHVaeUIzYVhSb0lHOXdkR2x2Ym5NNklDUjdTbE5QVGk1emRISnBibWRwWm5rb2IzQjBhVzl1Y3lsOUlHWnZjaUFrZTNCclp5NXVZVzFsZlNCMlpYSnphVzl1SUNSN2RtVnljMmx2Ym4xZ1hHNGdJQ0FnS1R0Y2JseHVJQ0FnSUhSelEyOXVabWxuUm1sc1pTQTlJSEJoZEdndWFYTkJZbk52YkhWMFpTaDBjME52Ym1acFowWnBiR1VwWEc0Z0lDQWdJQ0EvSUhSelEyOXVabWxuUm1sc1pWeHVJQ0FnSUNBZ09pQndZWFJvTG1wdmFXNG9jSEp2WTJWemN5NWpkMlFvS1N3Z2RITkRiMjVtYVdkR2FXeGxLVHRjYmx4dUlDQWdJRzkxZEhCMWRDQTlJSE4wY21sd1EyOXVkSEpoWTNST1lXMWxJRDhnYjNWMGNIVjBJRG9nY0dGMGFDNXFiMmx1S0c5MWRIQjFkQ3dnYm1GdFpTazdYRzRnSUNBZ2JHOW5MbWx1Wm04b1lFUmxiR1YwYVc1bklHVjRhWE4wYVc1bklHOTFkSEIxZENCbWIyeGtaWElnS0dsbUlHVjRhWE4wY3lrZ2RXNWtaWElnSkh0dmRYUndkWFI5WUNrN1hHNGdJQ0FnWlhobFkxTjVibU1vWUhKdElDMXlaaUFrZTI5MWRIQjFkSDFnS1R0Y2JpQWdJQ0JwWmlBb1luVnVaR3hsS1NCN1hHNGdJQ0FnSUNCc2IyY3VhVzVtYnloZ1luVnVaR3hwYm1jZ1kyOXVkSEpoWTNRZ1puSnZiU0FrZTJsdWNIVjBmV0FwTzF4dUlDQWdJQ0FnWTI5dWMzUWdkR1Z0Y0VKMWJtUnNaVVJwY2lBOUlHWnpMbTFyWkhSbGJYQlRlVzVqS0Z4dUlDQWdJQ0FnSUNCd1lYUm9MbXB2YVc0b2NISnZZMlZ6Y3k1amQyUW9LU3dnWENJdVkyOXVkSEpoWTNRdFluVnVaR3hsTFZ3aUtWeHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR2x1Y0hWMFJXNTBjbmtnUFNCd1lYUm9MbkpsYzI5c2RtVW9jSEp2WTJWemN5NWpkMlFvS1N3Z2FXNXdkWFFzSUZ3aWFXNWtaWGd1ZEhOY0lpazdYRzRnSUNBZ0lDQWdJR052Ym5OMElHTnZibVpwWjBacGJHVWdQU0IwY3k1eVpXRmtRMjl1Wm1sblJtbHNaU2gwYzBOdmJtWnBaMFpwYkdVc0lIUnpMbk41Y3k1eVpXRmtSbWxzWlNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hqYjI1bWFXZEdhV3hsTG1WeWNtOXlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFbHVkR1Z5Ym1Gc1JYSnliM0lvWEc0Z0lDQWdJQ0FnSUNBZ0lDQjBjeTVtYkdGMGRHVnVSR2xoWjI1dmMzUnBZMDFsYzNOaFoyVlVaWGgwS0dOdmJtWnBaMFpwYkdVdVpYSnliM0l1YldWemMyRm5aVlJsZUhRc0lGd2lYRnh1WENJcFhHNGdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHTnZibk4wSUhCaGNuTmxaRU52Ym1acFp5QTlJSFJ6TG5CaGNuTmxTbk52YmtOdmJtWnBaMFpwYkdWRGIyNTBaVzUwS0Z4dUlDQWdJQ0FnSUNBZ0lHTnZibVpwWjBacGJHVXVZMjl1Wm1sbkxGeHVJQ0FnSUNBZ0lDQWdJSFJ6TG5ONWN5eGNiaUFnSUNBZ0lDQWdJQ0J3WVhSb0xtUnBjbTVoYldVb2RITkRiMjVtYVdkR2FXeGxLU3hjYmlBZ0lDQWdJQ0FnSUNCMWJtUmxabWx1WldRc1hHNGdJQ0FnSUNBZ0lDQWdkSE5EYjI1bWFXZEdhV3hsWEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2h3WVhKelpXUkRiMjVtYVdjdVpYSnliM0p6TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdjR0Z5YzJWa1EyOXVabWxuTG1WeWNtOXljMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXViV0Z3S0NobGNuSnZjaWtnUFQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGN5NW1iR0YwZEdWdVJHbGhaMjV2YzNScFkwMWxjM05oWjJWVVpYaDBLR1Z5Y205eUxtMWxjM05oWjJWVVpYaDBMQ0JjSWx4Y2Jsd2lLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDNXFiMmx1S0Z3aVhGeHVYQ0lwWEc0Z0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSFJsYlhCRGIyMXdhV3hsY2s5d2RHbHZibk02SUhSekxrTnZiWEJwYkdWeVQzQjBhVzl1Y3lBOUlIdGNiaUFnSUNBZ0lDQWdJQ0F1TGk1d1lYSnpaV1JEYjI1bWFXY3ViM0IwYVc5dWN5eGNiaUFnSUNBZ0lDQWdJQ0J2ZFhSRWFYSTZJSFJsYlhCQ2RXNWtiR1ZFYVhJc1hHNGdJQ0FnSUNBZ0lDQWdiVzlrZFd4bE9pQjBjeTVOYjJSMWJHVkxhVzVrTGtWVFRtVjRkQ3hjYmlBZ0lDQWdJQ0FnSUNCa1pXTnNZWEpoZEdsdmJqb2dabUZzYzJVc1hHNGdJQ0FnSUNBZ0lDQWdjMjkxY21ObFRXRndPaUJtWVd4elpTeGNiaUFnSUNBZ0lDQWdJQ0JwYm14cGJtVlRiM1Z5WTJWek9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1luVnVaR3hsWkVWdWRISjVVRzlwYm5RZ1BTQjBjMXh1SUNBZ0lDQWdJQ0FnSUM1blpYUlBkWFJ3ZFhSR2FXeGxUbUZ0WlhNb1hHNGdJQ0FnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzR1TG5CaGNuTmxaRU52Ym1acFp5eGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2IzQjBhVzl1Y3pvZ2RHVnRjRU52YlhCcGJHVnlUM0IwYVc5dWN5eGNiaUFnSUNBZ0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwYm5CMWRFVnVkSEo1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJWFJ6TG5ONWN5NTFjMlZEWVhObFUyVnVjMmwwYVhabFJtbHNaVTVoYldWelhHNGdJQ0FnSUNBZ0lDQWdLVnh1SUNBZ0lDQWdJQ0FnSUM1bWFXNWtLQ2htYVd4bFRtRnRaU2tnUFQ0Z1ptbHNaVTVoYldVdVpXNWtjMWRwZEdnb1hDSXVhbk5jSWlrcE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNnaFluVnVaR3hsWkVWdWRISjVVRzlwYm5RcElIdGNiaUFnSUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnU1c1MFpYSnVZV3hGY25KdmNpaGNiaUFnSUNBZ0lDQWdJQ0FnSUdCR1lXbHNaV1FnZEc4Z1pHVjBaWEp0YVc1bElIUm9aU0JsYldsMGRHVmtJR0oxYm1Sc1pTQmxiblJ5ZVNCbWIzSWdKSHRwYm5CMWRFVnVkSEo1ZldCY2JpQWdJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1kyOXRjR2xzWlZkcGRHaFVjMk52Ym1acFowOTJaWEp5YVdSbGN5aDBjME52Ym1acFowWnBiR1VzSUhSbGJYQkRiMjF3YVd4bGNrOXdkR2x2Ym5NcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCaWRXNWtiR1ZrUTI5dWRISmhZM1FnUFNCaGQyRnBkQ0J5YjJ4c2RYQW9lMXh1SUNBZ0lDQWdJQ0FnSUdsdWNIVjBPaUJpZFc1a2JHVmtSVzUwY25sUWIybHVkQ3hjYmlBZ0lDQWdJQ0FnSUNCd2JIVm5hVzV6T2lCYlhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhOdmJIWmxRblZ1Wkd4bFpFcHpTVzF3YjNKMGN5Z3BMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVndiR0ZqWlNoN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhCeVpYWmxiblJCYzNOcFoyNXRaVzUwT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hwYldsMFpYSnpPaUJiWENKY0lpd2dYQ0pjSWwwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxjem9nZXlCY0lpTWpWa1ZTVTBsUFRpTWpYQ0k2SUhabGNuTnBiMjRzSUZ3aUl5TlFRVU5MUVVkRkl5TmNJam9nY0d0bkxtNWhiV1VnZlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnSUNBZ0lGMHNYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNCc2IyY3VhVzVtYnloY2JpQWdJQ0FnSUNBZ0lDQmdkMmwwYUdsdVp5QmpiMjUwY21GamRDQjBieUFrZTI5MWRIQjFkSDBnZDJsMGFDQnVZVzFsSUNSN2RHOVFZWE5qWVd4RFlYTmxLRzVoYldVcGZTNXFjMkJjYmlBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ1lYZGhhWFFnWW5WdVpHeGxaRU52Ym5SeVlXTjBMbmR5YVhSbEtIdGNiaUFnSUNBZ0lDQWdJQ0JtYVd4bE9pQmdKSHR2ZFhSd2RYUjlMeVI3ZEc5UVlYTmpZV3hEWVhObEtHNWhiV1VwZlM1cWMyQXNYRzRnSUNBZ0lDQWdJQ0FnWm05eWJXRjBPaUJjSW5WdFpGd2lMRnh1SUNBZ0lDQWdJQ0FnSUc1aGJXVTZJR0FrZTNSdlVHRnpZMkZzUTJGelpTaHVZVzFsS1gwdWFuTmdMRnh1SUNBZ0lDQWdJQ0FnSUhOdmRYSmpaVzFoY0RvZ2MyOTFjbU5sYldGd2N5QS9JRndpYVc1c2FXNWxYQ0lnT2lCbVlXeHpaU3hjYmlBZ0lDQWdJQ0FnSUNCemIzVnlZMlZ0WVhCUVlYUm9WSEpoYm5ObWIzSnRPaUFvY21Wc1lYUnBkbVZUYjNWeVkyVlFZWFJvTENCemIzVnlZMlZ0WVhCUVlYUm9LU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmhZbk52YkhWMFpWTnZkWEpqWlZCaGRHZ2dQU0J3WVhSb0xuSmxjMjlzZG1Vb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhCaGRHZ3VaR2x5Ym1GdFpTaHpiM1Z5WTJWdFlYQlFZWFJvS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21Wc1lYUnBkbVZUYjNWeVkyVlFZWFJvWEc0Z0lDQWdJQ0FnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWVdKemIyeDFkR1ZUYjNWeVkyVlFZWFJvTG5OMFlYSjBjMWRwZEdnb2RHVnRjRUoxYm1Sc1pVUnBjaWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEJoZEdndWNHOXphWGd1YW05cGJpaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmNJaTVpZFc1a2JHVmNJaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3WVhSb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXVjbVZzWVhScGRtVW9kR1Z0Y0VKMWJtUnNaVVJwY2l3Z1lXSnpiMngxZEdWVGIzVnlZMlZRWVhSb0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMbk53YkdsMEtIQmhkR2d1YzJWd0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMbXB2YVc0b1hDSXZYQ0lwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpXeGhkR2wyWlZOdmRYSmpaVkJoZEdnN1hHNGdJQ0FnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNBZ0lHRjNZV2wwSUdKMWJtUnNaV1JEYjI1MGNtRmpkQzVqYkc5elpTZ3BPMXh1SUNBZ0lDQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQWdJQ0FnWm5NdWNtMVRlVzVqS0hSbGJYQkNkVzVrYkdWRWFYSXNJSHNnY21WamRYSnphWFpsT2lCMGNuVmxMQ0JtYjNKalpUb2dkSEoxWlNCOUtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWTI5dGNHbHNaVmRwZEdoVWMyTnZibVpwWjA5MlpYSnlhV1JsY3loMGMwTnZibVpwWjBacGJHVXNJSHRjYmlBZ0lDQWdJQ0FnYjNWMFJHbHlPaUJ2ZFhSd2RYUXNYRzRnSUNBZ0lDQWdJRzF2WkhWc1pUb2dkSE11VFc5a2RXeGxTMmx1WkM1RlUwNWxlSFFzWEc0Z0lDQWdJQ0FnSUdSbFkyeGhjbUYwYVc5dU9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUNBZ2MyOTFjbU5sVFdGd09pQnpiM1Z5WTJWdFlYQnpMRnh1SUNBZ0lDQWdJQ0JwYm14cGJtVlRiM1Z5WTJWek9pQnpiM1Z5WTJWdFlYQnpMRnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2MyTnlhWEIwY3lBOUlIdGNiaUFnSUNBZ0lITjBZWEowT2lCblpYUkRiMjUwY21GamRGTjBZWEowUTI5dGJXRnVaQ2hrWldKMVp5d2dZMk5oWVhNcExGeHVJQ0FnSUNBZ1hDSnpkR0Z5ZERwa1pYWmNJam9nWENKbVlXSnlhV010WTJoaGFXNWpiMlJsTFc1dlpHVWdjM1JoY25RZ0xTMTBiSE11Wlc1aFlteGxaQ0JtWVd4elpWd2lMRnh1SUNBZ0lDQWdYQ0p6ZEdGeWREcDNZWFJqYUZ3aU9pQW5ibTlrWlcxdmJpQXRMV1Y0WldNZ1hDSnVjRzBnY25WdUlITjBZWEowT21SbGRsd2lKeXhjYmlBZ0lDQWdJR0oxYVd4a09pQW5aV05vYnlCY0lrNXZJRzVsWldRZ2RHOGdZblZwYkdRZ2RHaGxJR05vWVdsdVkyOWtaVndpSnl4Y2JpQWdJQ0FnSUd4cGJuUTZJRndpWlhOc2FXNTBJQzRnTFMxbWFYZ2dMUzFsZUhRZ0xtcHpYQ0lzWEc0Z0lDQWdmVHRjYmx4dUlDQWdJR052Ym5OMElHTnZiblJ5WVdOMFVHRmphMkZuWlNBOUlIQnJaenRjYmlBZ0lDQmpiMjV6ZENCamIyNTBjbUZqZEZCaFkydGhaMlZNYjJOcklEMGdjR3RuVEc5amF6dGNibHh1SUNBZ0lHTnZiblJ5WVdOMFVHRmphMkZuWlM1dVlXMWxJRDBnYm1GdFpUdGNiaUFnSUNCamIyNTBjbUZqZEZCaFkydGhaMlV1WkdWelkzSnBjSFJwYjI0Z1BTQmtaWE5qY21sd2RHbHZianRjYmlBZ0lDQmpiMjUwY21GamRGQmhZMnRoWjJVdWMyTnlhWEIwY3lBOUlITmpjbWx3ZEhNN1hHNWNiaUFnSUNCa1pXeGxkR1VnWTI5dWRISmhZM1JRWVdOcllXZGxMblI1Y0dVN1hHNGdJQ0FnWkdWc1pYUmxJR052Ym5SeVlXTjBVR0ZqYTJGblpTNTBlWEJsY3p0Y2JpQWdJQ0JrWld4bGRHVWdZMjl1ZEhKaFkzUlFZV05yWVdkbExtVjRjRzl5ZEhNN1hHNGdJQ0FnWTI5dWRISmhZM1JRWVdOcllXZGxMbTFoYVc0Z1BTQmlkVzVrYkdWY2JpQWdJQ0FnSUQ4Z1lDUjdkRzlRWVhOallXeERZWE5sS0c1aGJXVXBmUzVxYzJCY2JpQWdJQ0FnSURvZ1lDUjdhVzV3ZFhSOUwybHVaR1Y0TG1wellEdGNibHh1SUNBZ0lHWnpMbmR5YVhSbFJtbHNaVk41Ym1Nb1hHNGdJQ0FnSUNCd1lYUm9MbXB2YVc0b2IzVjBjSFYwTENCY0luQmhZMnRoWjJVdWFuTnZibHdpS1N4Y2JpQWdJQ0FnSUVwVFQwNHVjM1J5YVc1bmFXWjVLR052Ym5SeVlXTjBVR0ZqYTJGblpTbGNiaUFnSUNBcE8xeHVYRzRnSUNBZ1puTXVkM0pwZEdWR2FXeGxVM2x1WXloY2JpQWdJQ0FnSUhCaGRHZ3VhbTlwYmlodmRYUndkWFFzSUZ3aWNHRmphMkZuWlMxc2IyTnJMbXB6YjI1Y0lpa3NYRzRnSUNBZ0lDQktVMDlPTG5OMGNtbHVaMmxtZVNoamIyNTBjbUZqZEZCaFkydGhaMlZNYjJOcktWeHVJQ0FnSUNrN1hHNWNiaUFnSUNCcFppQW9ibkJ0Y21NZ0ppWWdibkJ0Y21ORGIyNTBaVzUwS1Z4dUlDQWdJQ0FnWm5NdWQzSnBkR1ZHYVd4bFUzbHVZeWh3WVhSb0xtcHZhVzRvYjNWMGNIVjBMQ0JjSWk1dWNHMXlZMXdpS1N3Z2JuQnRjbU5EYjI1MFpXNTBLVHRjYmx4dUlDQWdJR3h2Wnk1cGJtWnZLR0JKYm5OMFlXeHNhVzVuSUdGdVpDQnphSEpwYm10M2NtRndjR2x1WnlCa1pYQmxibVJsYm1OcFpYTmdLVHRjYmlBZ0lDQmxlR1ZqVTNsdVl5aGdibkJ0SUdsdWMzUmhiR3hnTENCN0lHTjNaRG9nYjNWMGNIVjBJSDBwTzF4dUlDQWdJR1Y0WldOVGVXNWpLR0J1Y0cwZ2MyaHlhVzVyZDNKaGNHQXNJSHNnWTNka09pQnZkWFJ3ZFhRZ2ZTazdYRzRnSUNBZ1pYaGxZMU41Ym1Nb1hDSnliU0F0Y21ZZ2JtOWtaVjl0YjJSMWJHVnpYQ0lzSUhzZ1kzZGtPaUJ2ZFhSd2RYUWdmU2s3WEc0Z0lDQWdiRzluTG1sdVptOG9ZR1JsYkdWMGFXNW5JSFJsYlhBZ1ptOXNaR1Z5YzJBcE8xeHVJQ0FnSUdWNFpXTlRlVzVqS0dCeWJTQXRjbVlnTGk5c2FXSWdKaVlnY20wZ0xYSm1JQzR2WkdsemRHQXNJSHNnWTNka09pQnZkWFJ3ZFhRZ2ZTazdYRzRnSUNBZ2JHOW5MbWx1Wm04b1hHNGdJQ0FnSUNCZ1EyOXVkSEpoWTNRZ0pIdHVZVzFsZlNCamIyMXdhV3hsWkNCemRXTmpaWE56Wm5Wc2JIa2hJR2x1SUNSN2NHRjBhQzV5WlhOdmJIWmxLRzkxZEhCMWRDbDlZRnh1SUNBZ0lDazdYRzRnSUNBZ2FXWWdLR1JsZGlrZ2UxeHVJQ0FnSUNBZ2JHOW5MbWx1Wm04b1lHUmxkaUJ0YjJSbElHVnVZV0pzWldRdUlHbHVjM1JoYkd4cGJtY2daR1Z3Wlc1a1pXNWphV1Z6SUdadmNpQmtaV0oxWjJkcGJtZGdLVHRjYmlBZ0lDQWdJR1Y0WldOVGVXNWpLR0J1Y0cwZ2FXNXpkR0ZzYkdBc0lIdGNiaUFnSUNBZ0lDQWdZM2RrT2lCdmRYUndkWFFzWEc0Z0lDQWdJQ0FnSUdWdWRqb2dleUF1TGk1d2NtOWpaWE56TG1WdWRpd2dUazlFUlY5RlRsWTZJRndpY0hKdlpIVmpkR2x2Ymx3aUlIMHNYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzVqYjI1emRDQmxlSFJ5WVdOMFNXNWtaWGhsY3lBOUlHNWxkeUJEYjIxdFlXNWtLQ2xjYmlBZ0xtTnZiVzFoYm1Rb1hDSmxlSFJ5WVdOMExXbHVaR1Y0WlhOY0lpbGNiaUFnTG05d2RHbHZiaWhjSWkwdFptbHNaU0JiVTNSeWFXNW5YVndpTENCY0luUm9aU0J0YjJSbGJDQm1hV3hsWENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFdadmJHUmxjaUJiVTNSeWFXNW5YVndpTENCY0luUm9aU0J0YjJSbGJDQm1iMnhrWlhKY0lpbGNiaUFnTG05d2RHbHZiaWhjSWkwdGIzVjBSR2x5SUR4VGRISnBibWMrWENJc0lGd2lkR2hsSUc5MWRHUnBjaTRnYzJodmRXeGtJRzFoZEdOb0lIbHZkWElnWTI5dWRISmhZM1FnWm05c1pHVnlYQ0lwWEc0Z0lDNWtaWE5qY21sd2RHbHZiaWhjYmlBZ0lDQmNJa055WldGMFpYTWdZU0IwYUdVZ1NsTlBUaUJwYm1SbGVDQm1hV3hsY3lCMGJ5QmlaU0J6ZFdKdGFYUjBaV1FnZEc4Z1lXeHZibWNnZDJsMGFDQjBhR1VnWTI5dWRISmhZM1JjSWx4dUlDQXBYRzRnSUM1aFkzUnBiMjRvWVhONWJtTWdLRzl3ZEdsdmJuTTZJR0Z1ZVNrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUhCclp5QTlJRXBUVDA0dWNHRnljMlVvWEc0Z0lDQWdJQ0JtY3k1eVpXRmtSbWxzWlZONWJtTW9jR0YwYUM1cWIybHVLSEJ5YjJObGMzTXVZM2RrS0Nrc0lGd2ljR0ZqYTJGblpTNXFjMjl1WENJcExDQmNJblYwWmkwNFhDSXBYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHTnZibk4wSUhabGNuTnBiMjRnUFNCd2EyY3VkbVZ5YzJsdmJqdGNibHh1SUNBZ0lHTnZibk4wSUd4dlp5QTlJR3h2WjJkbGNpNW1iM0lvWENKbGVIUnlZV04wTFdsdVpHVjRaWE5jSWlrN1hHNGdJQ0FnYkc5bkxtUmxZblZuS0Z4dUlDQWdJQ0FnWUhKMWJtNXBibWNnZDJsMGFDQnZjSFJwYjI1ek9pQWtlMHBUVDA0dWMzUnlhVzVuYVdaNUtHOXdkR2x2Ym5NcGZTQm1iM0lnSkh0d2EyY3VibUZ0WlgwZ2RtVnljMmx2YmlBa2UzWmxjbk5wYjI1OVlGeHVJQ0FnSUNrN1hHNWNiaUFnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2NISmxabVZ5TFdOdmJuTjBYRzRnSUNBZ2JHVjBJSHNnWm1sc1pTd2dabTlzWkdWeUxDQnZkWFJFYVhJZ2ZTQTlJRzl3ZEdsdmJuTTdYRzVjYmlBZ0lDQmpiMjV6ZENCdGIyUmxiSE02SUdGdWVWdGRJRDBnVzEwN1hHNGdJQ0FnYVdZZ0tHWnBiR1VwSUh0Y2JpQWdJQ0FnSUcxdlpHVnNjeTV3ZFhOb0tDNHVMbkpsWVdSTmIyUmxiRVpwYkdVb1ptbHNaU2twTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobWIyeGtaWElwSUh0Y2JpQWdJQ0FnSUd4dlp5NXBibVp2S0dCTWIyRmthVzVuSUcxdlpHVnNjeUJtY205dElDUjdabTlzWkdWeWZTNHVMbUFwTzF4dUlDQWdJQ0FnYlc5a1pXeHpMbkIxYzJnb0xpNHVLR0YzWVdsMElISmxZV1JOYjJSbGJFWnZiR1JsY25Nb1ptOXNaR1Z5S1NrcE8xeHVJQ0FnSUgxY2JpQWdJQ0JqYjI1emRDQnlaWE4xYkhRNklGSmxZMjl5WkR4emRISnBibWNzSUdGdWVUNGdQU0I3ZlR0Y2JpQWdJQ0JqYjI1emRDQmtaWE5wWjI1RWIyTnpPaUJTWldOdmNtUThjM1J5YVc1bkxDQmhibmsrSUQwZ2UzMDdYRzVjYmlBZ0lDQnBaaUFvSVdacGJHVWdKaVlnSVdadmJHUmxjaWxjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJKYm5SbGNtNWhiRVZ5Y205eUtHQk5kWE4wSUhCaGMzTWdZU0JtYVd4bElHOXlJR0VnWm05c1pHVnlZQ2s3WEc1Y2JpQWdJQ0JtYjNJZ0tHTnZibk4wSUcwZ2IyWWdiVzlrWld4ektTQjdYRzRnSUNBZ0lDQnNiMmN1ZG1WeVltOXpaU2hnUlhoMGNtRmpkR2x1WnlCcGJtUmxlR1Z6SUdadmNpQjBZV0pzWlNBa2UwMXZaR1ZzTG5SaFlteGxUbUZ0WlNodEtYMWdLVHRjYmlBZ0lDQWdJR052Ym5OMElHbHVaR1Y0WlhNZ1BTQm5aVzVsY21GMFpVMXZaR1ZzU1c1a1pYaGxjeWh0S1R0Y2JpQWdJQ0FnSUdsdVpHVjRaWE11Wm05eVJXRmphQ2dvYVc1a1pYZ3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR2x1WkdWNExtNWhiV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWE4xYkhSYmFXNWtaWGd1Ym1GdFpWMGdQU0JwYm1SbGVEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0JuWlc1bGNtRjBaVTF2WkdWc1JHVnphV2R1Ukc5amN5aHRMQ0JrWlhOcFoyNUViMk56S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ2FXNWtaWGhsYzFSdlYzSnBkR1VnUFNCUFltcGxZM1F1ZG1Gc2RXVnpLSEpsYzNWc2RDazdYRzRnSUNBZ1kyOXVjM1FnWkc5amMxUnZWM0pwZEdVZ1BTQlBZbXBsWTNRdWRtRnNkV1Z6S0dSbGMybG5ia1J2WTNNcE8xeHVJQ0FnSUd4dlp5NTJaWEppYjNObEtHQkdiM1Z1WkNBa2UybHVaR1Y0WlhOVWIxZHlhWFJsTG14bGJtZDBhSDBnYVc1a1pYaGxjeUIwYnlCamNtVmhkR1ZnS1R0Y2JpQWdJQ0JzYjJjdWRtVnlZbTl6WlNoZ1JtOTFibVFnSkh0a2IyTnpWRzlYY21sMFpTNXNaVzVuZEdoOUlHUmxjMmxuYmlCa2IyTnpJSFJ2SUdOeVpXRjBaV0FwTzF4dUlDQWdJR3h2Wnk1a1pXSjFaeWhnU1c1a1pYaGxjem9nSkh0S1UwOU9Mbk4wY21sdVoybG1lU2h5WlhOMWJIUXBmV0FwTzF4dUlDQWdJR3h2Wnk1a1pXSjFaeWhnUkdWemFXZHVSRzlqY3pvZ0pIdEtVMDlPTG5OMGNtbHVaMmxtZVNoa1pYTnBaMjVFYjJOektYMWdLVHRjYmlBZ0lDQjNjbWwwWlVsdVpHVjRaWE1vYVc1a1pYaGxjMVJ2VjNKcGRHVXNJRzkxZEVScGNpazdYRzRnSUNBZ2QzSnBkR1ZFWlhOcFoyNUViMk56S0dSdlkzTlViMWR5YVhSbExDQnZkWFJFYVhJcE8xeHVJQ0I5S1R0Y2JseHVZMjl1YzNRZ1pYaDBjbUZqZEVOdmJHeGxZM1JwYjI1eklEMGdibVYzSUVOdmJXMWhibVFvS1Z4dUlDQXVZMjl0YldGdVpDaGNJbVY0ZEhKaFkzUXRZMjlzYkdWamRHbHZibk5jSWlsY2JpQWdMbTl3ZEdsdmJpaGNJaTB0Wm1sc1pTQmJVM1J5YVc1blhWd2lMQ0JjSW5Sb1pTQnRiMlJsYkNCbWFXeGxYQ0lwWEc0Z0lDNXZjSFJwYjI0b1hDSXRMV1p2YkdSbGNpQmJVM1J5YVc1blhWd2lMQ0JjSW5Sb1pTQnRiMlJsYkNCbWIyeGtaWEpjSWlsY2JpQWdMbTl3ZEdsdmJpaGNJaTB0YjNWMFJHbHlJRHhUZEhKcGJtYytYQ0lzSUZ3aWRHaGxJRzkxZEdScGNpNGdjMmh2ZFd4a0lHMWhkR05vSUhsdmRYSWdZMjl1ZEhKaFkzUWdabTlzWkdWeVhDSXBYRzRnSUM1dmNIUnBiMjRvWENJdExXMXpjRWxrY3lBOFUzUnlhVzVuUGx3aUxDQmNJbk5wYm1kc1pTQnRjM0JKWkNCdmNpQnpkSEpwYm1kcFptbGxaQ0JoY25KaGVWd2lLVnh1SUNBdWIzQjBhVzl1S0Z3aUxTMXRZV2x1VFhOd1NXUWdQRk4wY21sdVp6NWNJaXdnWENKemFXNW5iR1VnYlhOd1NXUmNJaWxjYmlBZ0xtOXdkR2x2YmloY2JpQWdJQ0JjSWkwdGIzWmxjbkpwWkdWeklGdFRkSEpwYm1kZFhDSXNYRzRnSUNBZ1hDSnpkSEpwYm1kcFptbGxaQ0J2ZG1WeWNtbGtaU0J2WW1wbFkzUWdlM0psY1hWcGNtVmtVR1ZsY2tOdmRXNTBPaUJ1ZFcxaVpYSXNJRzFoZUZCbFpYSkRiM1Z1ZERvZ2JuVnRZbVZ5TENCaWJHOWphMVJ2VEdsMlpUb2diblZ0WW1WeUxDQnRaVzFpWlhKUGJteDVVbVZoWkRvZ2JuVnRZbVZ5TENCdFpXMWlaWEpQYm14NVYzSnBkR1U2SUc1MWJXSmxjaXdnWlc1a2IzSnpaVzFsYm5SUWIyeHBZM2s2SUNCN2ZYMWNJbHh1SUNBcFhHNGdJQzVrWlhOamNtbHdkR2x2YmloY2JpQWdJQ0JjSWtOeVpXRjBaWE1nWVNCMGFHVWdTbE5QVGlCcGJtUmxlQ0JtYVd4bGN5QjBieUJpWlNCemRXSnRhWFIwWldRZ2RHOGdZV3h2Ym1jZ2QybDBhQ0IwYUdVZ1kyOXVkSEpoWTNSY0lseHVJQ0FwWEc0Z0lDNWhZM1JwYjI0b1lYTjVibU1nS0c5d2RHbHZibk02SUdGdWVTa2dQVDRnZTF4dUlDQWdJR052Ym5OMElIQnJaeUE5SUVwVFQwNHVjR0Z5YzJVb1hHNGdJQ0FnSUNCbWN5NXlaV0ZrUm1sc1pWTjVibU1vY0dGMGFDNXFiMmx1S0hCeWIyTmxjM011WTNka0tDa3NJRndpY0dGamEyRm5aUzVxYzI5dVhDSXBMQ0JjSW5WMFppMDRYQ0lwWEc0Z0lDQWdLVHRjYmx4dUlDQWdJR052Ym5OMElIWmxjbk5wYjI0Z1BTQndhMmN1ZG1WeWMybHZianRjYmx4dUlDQWdJR052Ym5OMElHeHZaeUE5SUd4dloyZGxjaTVtYjNJb1hDSmxlSFJ5WVdOMExXTnZiR3hsWTNScGIyNXpYQ0lwTzF4dUlDQWdJR3h2Wnk1a1pXSjFaeWhjYmlBZ0lDQWdJR0J5ZFc1dWFXNW5JSGRwZEdnZ2IzQjBhVzl1Y3pvZ0pIdEtVMDlPTG5OMGNtbHVaMmxtZVNodmNIUnBiMjV6S1gwZ1ptOXlJQ1I3Y0d0bkxtNWhiV1Y5SUhabGNuTnBiMjRnSkh0MlpYSnphVzl1ZldCY2JpQWdJQ0FwTzF4dVhHNGdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUhCeVpXWmxjaTFqYjI1emRGeHVJQ0FnSUd4bGRDQjdJR1pwYkdVc0lHWnZiR1JsY2l3Z2IzVjBSR2x5TENCdGMzQkpaSE1zSUcxaGFXNU5jM0JKWkNCOUlEMGdiM0IwYVc5dWN6dGNibHh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQnRjM0JKWkhNZ1BTQnRjM0JKWkhNZ1B5QktVMDlPTG5CaGNuTmxLRzF6Y0Vsa2N5a2dPaUIxYm1SbFptbHVaV1E3WEc0Z0lDQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCQWRIbHdaWE5qY21sd2RDMWxjMnhwYm5RdmJtOHRkVzUxYzJWa0xYWmhjbk5jYmlBZ0lDQWdJSDBnWTJGMFkyZ2dLR1U2SUhWdWEyNXZkMjRwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdJR1J2SUc1dmRHaHBibWRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR05oZEdOb0lDaGxPaUIxYm10dWIzZHVLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnVTJWeWFXRnNhWHBoZEdsdmJrVnljbTl5S0dCVmJtRmliR1VnZEc4Z1pYaDBjbUZqZENCdGMzQnBaSE02SUNBa2UyVjlZQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2JXOWtaV3h6T2lCaGJubGJYU0E5SUZ0ZE8xeHVJQ0FnSUdsbUlDaG1hV3hsS1NCN1hHNGdJQ0FnSUNCdGIyUmxiSE11Y0hWemFDZ3VMaTV5WldGa1RXOWtaV3hHYVd4bEtHWnBiR1VwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1ptOXNaR1Z5S1NCN1hHNGdJQ0FnSUNCc2IyY3VhVzVtYnloZ1RHOWhaR2x1WnlCdGIyUmxiSE1nWm5KdmJTQWtlMlp2YkdSbGNuMHVMaTVnS1R0Y2JpQWdJQ0FnSUcxdlpHVnNjeTV3ZFhOb0tDNHVMaWhoZDJGcGRDQnlaV0ZrVFc5a1pXeEdiMnhrWlhKektHWnZiR1JsY2lrcEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9JV1pwYkdVZ0ppWWdJV1p2YkdSbGNpbGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0dCTmRYTjBJSEJoYzNNZ1lTQm1hV3hsSUc5eUlHRWdabTlzWkdWeVlDazdYRzVjYmlBZ0lDQmpiMjV6ZENCcGJtcGxZM1JoWW14bFRXOWtaV3h6SUQwZ2JXOWtaV3h6TG1acGJIUmxjaWhjYmlBZ0lDQWdJQ2h0YjJSbGJDa2dQVDVjYmlBZ0lDQWdJQ0FnVFc5a1pXd3VhWE5UYUdGeVpXUW9iVzlrWld3cElIeDhYRzRnSUNBZ0lDQWdJRTF2WkdWc0xtbHpVSEpwZG1GMFpTaHRiMlJsYkNrZ2ZIeGNiaUFnSUNBZ0lDQWdJU0ZOYjJSbGJDNXRhWEp5YjNKbFpFRjBLRzF2WkdWc0tWeHVJQ0FnSUNrN1hHNGdJQ0FnYVdZZ0tDRnBibXBsWTNSaFlteGxUVzlrWld4ekxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ2JHOW5MbWx1Wm04b1hHNGdJQ0FnSUNBZ0lHQk9ieUJ6YUdGeVpXUXNJSEJ5YVhaaGRHVXNJRzl5SUcxcGNuSnZjbVZrSUcxdlpHVnNjeUJtYjNWdVpDQjBieUJsZUhSeVlXTjBJR052Ykd4bFkzUnBiMjV6WUZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhjM2x1WXlCbWRXNWpkR2x2YmlCblpYUkRiMnh6S0cxemNFbGtjMHhwYzNRL09pQnpkSEpwYm1kYlhTa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1kyOXNjem9nZTF4dUlDQWdJQ0FnSUNCcGJtUmxlR1Z6T2lCRGNtVmhkR1ZKYm1SbGVGSmxjWFZsYzNSYlhUdGNiaUFnSUNBZ0lDQWdaR1Z6YVdkdVJHOWpjem9nUTI5MVkyaEVRa1JsYzJsbmJrUnZZMXRkTzF4dUlDQWdJQ0FnSUNCdGFYSnliM0kvT2lCUWNtbDJZWFJsUTI5c2JHVmpkR2x2Ymp0Y2JpQWdJQ0FnSUNBZ1kyOXNiR1ZqZEdsdmJuTTZJRkJ5YVhaaGRHVkRiMnhzWldOMGFXOXVXMTA3WEc0Z0lDQWdJQ0I5VzEwZ1BTQmhkMkZwZENCUWNtOXRhWE5sTG1Gc2JDaGNiaUFnSUNBZ0lDQWdhVzVxWldOMFlXSnNaVTF2WkdWc2N5NXRZWEFvWVhONWJtTWdLR05zWVhwNktTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnZEdGaWJHVk9ZVzFsSUQwZ1RXOWtaV3d1ZEdGaWJHVk9ZVzFsS0dOc1lYcDZLVHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J0YVhKeWIzSk5aWFJoSUQwZ1RXOWtaV3d1YldseWNtOXlaV1JCZENoamJHRjZlaWs3WEc1Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6YjJ4bExteHZaeWgwWVdKc1pVNWhiV1VwTzF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUdOdmJHeGxZM1JwYjI1ek9pQlNaV052Y21ROGMzUnlhVzVuTENCaGJuaytJRDBnZTMwN1hHNGdJQ0FnSUNBZ0lDQWdabTl5SUNoamIyNXpkQ0J0YzNBZ2IyWWdiWE53U1dSelRHbHpkQ0I4ZkNCdGMzQkpaSE1nZkh3Z1cxMHBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZiR3hsWTNScGIyNXpXMjF6Y0YwZ1BTQmhkMkZwZENCbGVFTnZiR3hsWTNScGIyNXpLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiR0Y2ZWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnVzIxemNDd2diV0ZwYmsxemNFbGtYU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdlMzBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z0lDQnphR0Z5WldSRGIyeHpPaUJQWW1wbFkzUXVZWE56YVdkdUtIdDlMQ0J2ZG1WeWNtbGtaWE11YzJoaGNtVmtRMjlzY3lrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklDQWdjSEpwZG1GMFpVTnZiSE02SUU5aWFtVmpkQzVoYzNOcFoyNG9lMzBzSUc5MlpYSnlhV1JsY3k1d2NtbDJZWFJsUTI5c2N5a3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJSDBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0VoYldseWNtOXlUV1YwWVZ4dUlDQWdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JzWlhRZ2JXbHljbTl5UTI5c2JHVmpkR2x2YmpvZ1VISnBkbUYwWlVOdmJHeGxZM1JwYjI0Z2ZDQjFibVJsWm1sdVpXUWdQU0IxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYldseWNtOXlUV1YwWVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2JHVmpkR2x2Ym5OYmJXRnBiazF6Y0Vsa1hTQTlJR052Ykd4bFkzUnBiMjV6VzIxaGFXNU5jM0JKWkYwZ2ZId2dlMzA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQlBZbXBsWTNRdWEyVjVjeWhqYjJ4c1pXTjBhVzl1Y3lrdVptOXlSV0ZqYUNnb2JYTndPaUJ6ZEhKcGJtY3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2JHVmpkR2x2Ym5OYmJXRnBiazF6Y0Vsa1hTNXdjbWwyWVhSbGN5QTlJR052Ykd4bFkzUnBiMjV6VzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxemNGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCZExuQnlhWFpoZEdWelB5NW1hV3gwWlhJb0tIQTZJR0Z1ZVNrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNod0xtNWhiV1VnSVQwOUlDaHRhWEp5YjNKTlpYUmhMbkpsYzI5c2RtVnlJR0Z6SUhOMGNtbHVaeWtwSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHMXBjbkp2Y2tOdmJHeGxZM1JwYjI0Z1BTQndJR0Z6SUdGdWVUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjSEpwZG1GMFpYTkRiM1Z1ZENBOUlFOWlhbVZqZEM1MllXeDFaWE1vWTI5c2JHVmpkR2x2Ym5NcFhHNGdJQ0FnSUNBZ0lDQWdJQ0F1YldGd0tDaGpLU0E5UGlCakxuQnlhWFpoZEdWektWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG1ac1lYUW9LUzVzWlc1bmRHZzdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIQnlhWFpoZEdWelEyOTFiblFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnNiMmRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMbVp2Y2loTmIyUmxiQzUwWVdKc1pVNWhiV1VvWTJ4aGVub3BLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXVhVzVtYnloZ1JtOTFibVFnSkh0d2NtbDJZWFJsYzBOdmRXNTBmU0J3Y21sMllYUmxJR052Ykd4bFkzUnBiMjV6SUhSdklHTnlaV0YwWldBcE8xeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElITm9ZWEpsWkVOdmRXNTBJRDBnVDJKcVpXTjBMblpoYkhWbGN5aGpiMnhzWldOMGFXOXVjeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDNXRZWEFvS0dNcElEMCtJR011YzJoaGNtVmtLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtWnNZWFFvS1M1c1pXNW5kR2c3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnNiMmRjYmlBZ0lDQWdJQ0FnSUNBZ0lDNW1iM0lvVFc5a1pXd3VkR0ZpYkdWT1lXMWxLR05zWVhwNktTbGNiaUFnSUNBZ0lDQWdJQ0FnSUM1cGJtWnZLR0JHYjNWdVpDQWtlM05vWVhKbFpFTnZkVzUwZlNCemFHRnlaV1FnWTI5c2JHVmpkR2x2Ym5NZ2RHOGdZM0psWVhSbFlDazdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHMXBjbkp2Y2tOdmJHeGxZM1JwYjI0cFhHNGdJQ0FnSUNBZ0lDQWdJQ0JzYjJkY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTG1admNpaE5iMlJsYkM1MFlXSnNaVTVoYldVb1kyeGhlbm9wS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1YVc1bWJ5aGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmdSbTkxYm1RZ2IyNWxJRzFwY25KdmNpQmpiMnhzWldOMGFXOXVJQ1I3YldseWNtOXlUV1YwWVQ4dWNtVnpiMngyWlhJZ1lYTWdjM1J5YVc1bmZXQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0tUdGNibHh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR052YkV4cGMzUWdQU0JQWW1wbFkzUXVkbUZzZFdWektHTnZiR3hsWTNScGIyNXpLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtMWhjQ2dvWXlrZ1BUNGdXeTR1TGloakxuQnlhWFpoZEdWeklIeDhJRnRkS1N3Z0xpNHVLR011YzJoaGNtVmtJSHg4SUZ0ZEtWMHBYRzRnSUNBZ0lDQWdJQ0FnSUNBdVpteGhkQ2dwTzF4dUlDQWdJQ0FnSUNBZ0lHeGxkQ0JwYm1SbGVHVnpPaUJEY21WaGRHVkpibVJsZUZKbGNYVmxjM1JiWFNBOUlGdGRPMXh1SUNBZ0lDQWdJQ0FnSUd4bGRDQmtaWE5wWjI1RWIyTnpPaUJEYjNWamFFUkNSR1Z6YVdkdVJHOWpXMTBnUFNCYlhUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1kyOXNUR2x6ZEM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3h2WjF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1Wm05eUtFMXZaR1ZzTG5SaFlteGxUbUZ0WlNoamJHRjZlaWtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzUyWlhKaWIzTmxLR0JuWlc1bGNtRjBhVzVuSUdsdVpHVjRaWE1nWm05eUlHTnZiR3hsWTNScGIyNXpZQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBibVJsZUdWeklEMGdaMlZ1WlhKaGRHVk5iMlJsYkVsdVpHVjRaWE1vWTJ4aGVub3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JHOW5YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDNW1iM0lvVFc5a1pXd3VkR0ZpYkdWT1lXMWxLR05zWVhwNktTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0xtbHVabThvWUdadmRXNWtJQ1I3YVc1a1pYaGxjeTVzWlc1bmRHaDlJR2x1WkdWNFpYTmdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjMmxuYmtSdlkzTWdQU0JuWlc1bGNtRjBaVTF2WkdWc1JHVnphV2R1Ukc5amN5aGpiR0Y2ZWlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzYjJkY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTG1admNpaE5iMlJsYkM1MFlXSnNaVTVoYldVb1kyeGhlbm9wS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1YVc1bWJ5aGdabTkxYm1RZ0pIdGtaWE5wWjI1RWIyTnpMbXhsYm1kMGFIMGdaR1Z6YVdkdUlHUnZZM05nS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbHVaR1Y0WlhNc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOcFoyNUViMk56TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdZMjlzYkdWamRHbHZibk02SUdOdmJFeHBjM1FzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnRhWEp5YjNJNklHMXBjbkp2Y2tOdmJHeGxZM1JwYjI0c1hHNGdJQ0FnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJQ0FnZlNsY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWTI5c2N6dGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0JqYjJ4eklEMGdZWGRoYVhRZ1oyVjBRMjlzY3lncE8xeHVJQ0FnSUdOdmJuTjBJRzl1YkhsTmFYSnliM0lnUFNCaGQyRnBkQ0JuWlhSRGIyeHpLRnR0WVdsdVRYTndTV1JkS1R0Y2JseHVJQ0FnSUdOdmJuTjBJR052Ykd4bFkzUnBiMjV6Vkc4Z1BTQmJYRzRnSUNBZ0lDQXVMaTV2Ym14NVRXbHljbTl5TG1acGJIUmxjaWdvWXlrZ1BUNGdZeTV0YVhKeWIzSXBMbTFoY0Nnb1l5a2dQVDRnWXk1dGFYSnliM0lwTEZ4dUlDQWdJQ0FnTGk0dVkyOXNjeTV0WVhBb0tHTXBJRDArSUdNdVkyOXNiR1ZqZEdsdmJuTXBMbVpzWVhRb0tTeGNiaUFnSUNBZ0lDNHVMbU52YkhNdVptbHNkR1Z5S0NoaktTQTlQaUJqTG0xcGNuSnZjaWt1YldGd0tDaGpLU0E5UGlCakxtMXBjbkp2Y2lrc1hHNGdJQ0FnWFNCaGN5QlFjbWwyWVhSbFEyOXNiR1ZqZEdsdmJsdGRPMXh1WEc0Z0lDQWdZMjl1YzNRZ2RXNXBjWFZsUW5sRGIyeHNaV04wYVc5dUlEMGdXMXh1SUNBZ0lDQWdMaTR1Ym1WM0lFMWhjQ2hjYmlBZ0lDQWdJQ0FnWTI5c2JHVmpkR2x2Ym5OVWJ5NXRZWEFvS0dsMFpXMDZJRkJ5YVhaaGRHVkRiMnhzWldOMGFXOXVLU0E5UGlCYmFYUmxiUzV1WVcxbExDQnBkR1Z0WFNsY2JpQWdJQ0FnSUNrdWRtRnNkV1Z6S0Nrc1hHNGdJQ0FnWFR0Y2JseHVJQ0FnSUdsbUlDaDFibWx4ZFdWQ2VVTnZiR3hsWTNScGIyNHViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQjNjbWwwWlVOdmJHeGxZM1JwYjI1ektIVnVhWEYxWlVKNVEyOXNiR1ZqZEdsdmJpd2diM1YwUkdseUtUdGNiaUFnSUNBZ0lHTnZibk4wSUcxbGRHRkRiMnhzWldOMGFXOXVjME52Ym1acFp5QTlJSEJoZEdndWFtOXBiaWhjYmlBZ0lDQWdJQ0FnYjNWMFJHbHlMRnh1SUNBZ0lDQWdJQ0JjSWsxRlZFRXRTVTVHWENJc1hHNGdJQ0FnSUNBZ0lGd2lZMjlzYkdWamRHbHZibk5mWTI5dVptbG5MbXB6YjI1Y0lseHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lHTnZibk4wSUdOdmJuUnlZV04wUTI5c2JHVmpkR2x2Ym5ORGIyNW1hV2NnUFNCd1lYUm9MbXB2YVc0b1hHNGdJQ0FnSUNBZ0lHOTFkRVJwY2l4Y2JpQWdJQ0FnSUNBZ1hDSmpiMnhzWldOMGFXOXVjMTlqYjI1bWFXY3Vhbk52Ymx3aVhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ1puTXVZMjl3ZVVacGJHVlRlVzVqS0cxbGRHRkRiMnhzWldOMGFXOXVjME52Ym1acFp5d2dZMjl1ZEhKaFkzUkRiMnhzWldOMGFXOXVjME52Ym1acFp5azdYRzRnSUNBZ0lDQnNiMmN1YVc1bWJ5aGNiaUFnSUNBZ0lDQWdZRk4wYjNKbFpDQWtlMk52Ykd4bFkzUnBiMjV6Vkc4dWJHVnVaM1JvZlNCamIyeHNaV04wYVc5dWN5QjBieUFrZTIxbGRHRkRiMnhzWldOMGFXOXVjME52Ym1acFozMWdYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdiRzluTG1sdVptOG9YRzRnSUNBZ0lDQWdJR0JEYjNCcFpXUWdZMjlzYkdWamRHbHZibk5mWTI5dVptbG5JSFJ2SUNSN1kyOXVkSEpoWTNSRGIyeHNaV04wYVc5dWMwTnZibVpwWjMwZ1lXeHZibWR6YVdSbElIUm9aU0J3WVdOcllXZGxMbXB6YjI1Z1hHNGdJQ0FnSUNBcE8xeHVYRzRnSUNBZ0lDQmpiMnh6TG1admNrVmhZMmdvS0dNcElEMCtJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdleUJwYm1SbGVHVnpMQ0JrWlhOcFoyNUViMk56TENCamIyeHNaV04wYVc5dWN5d2diV2x5Y205eUlIMGdQU0JqTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0IwYjBsdVpHVjRPaUJRY21sMllYUmxRMjlzYkdWamRHbHZibHRkSUQwZ1d5NHVMbU52Ykd4bFkzUnBiMjV6TENCdGFYSnliM0pkTG1acGJIUmxjaWhjYmlBZ0lDQWdJQ0FnSUNCQ2IyOXNaV0Z1WEc0Z0lDQWdJQ0FnSUNrZ1lYTWdVSEpwZG1GMFpVTnZiR3hsWTNScGIyNWJYVHRjYmlBZ0lDQWdJQ0FnZEc5SmJtUmxlQzVtYjNKRllXTm9LQ2hwS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnZDNKcGRHVkpibVJsZUdWektHbHVaR1Y0WlhNc0lHOTFkRVJwY2l3Z2FTNXVZVzFsS1R0Y2JpQWdJQ0FnSUNBZ0lDQjNjbWwwWlVOdmJHeGxZM1JwYjI1RVpYTnBaMjVFYjJOektHUmxjMmxuYmtSdlkzTWdmSHdnVzEwc0lHOTFkRVJwY2l3Z2FTNXVZVzFsS1R0Y2JpQWdJQ0FnSUNBZ0lDQnNiMmN1YVc1bWJ5aGNiaUFnSUNBZ0lDQWdJQ0FnSUdCVGRHOXlaV1FnSkh0cGJtUmxlR1Z6UHk1c1pXNW5kR2dnZkh3Z01IMGdhVzVrWlhobGN5QmhibVFnSkh0a1pYTnBaMjVFYjJOelB5NXNaVzVuZEdnZ2ZId2dNSDBnWkdWemFXZHVJR1J2WTNNZ2RHOGdZMjlzYkdWamRHbHZiaUFrZTJrdWJtRnRaWDFnWEc0Z0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc0Z0lIMHBPMXh1WEc1amIyNXpkQ0JsYm5OMWNtVkpibVp5WVNBOUlHNWxkeUJEYjIxdFlXNWtLQ2xjYmlBZ0xtNWhiV1VvWENKaGQyRnBkQzFwYm1aeVlWd2lLVnh1SUNBdVpHVnpZM0pwY0hScGIyNG9YQ0ozWVdsMGN5Qm1iM0lnZEdobElHbHVabkpoYzNSeWRXTjBkWEpsSUhSdklHSmxJSFZ3SUdGdVpDQnlkVzV1YVc1blhDSXBYRzRnSUM1dmNIUnBiMjRvWEc0Z0lDQWdYQ0l0TFdOdmJuUmhhVzVsY2lBOFUzUnlhVzVuUGx3aUxGeHVJQ0FnSUZ3aVpHOWphMlZ5SUdOdmJuUmhhVzVsY2lCdVlXMWxJSFJ2SUhSbGMzUWdLSFZ6ZFdGc2JIa2diR0Z6ZENCd1pXVnlLVndpTEZ4dUlDQWdJRndpWW05dmRDMXZjbWN0WXkxd1pXVnlMVEJjSWx4dUlDQXBYRzRnSUM1dmNIUnBiMjRvWENJdExYUnBiV1Z2ZFhRZ1BGTjBjbWx1Wno1Y0lpd2dYQ0owYVcxbGIzVjBJR0psZEhkbFpXNGdkR1Z6ZEhNZ2FXNGdiV2xzYkdselpXTnZibVJ6WENJc0lGd2lOVEF3TUZ3aUtWeHVJQ0F1YjNCMGFXOXVLRndpTFMxaGRIUmxiWEIwY3lBOFUzUnlhVzVuUGx3aUxDQmNJbTUxYldKbGNpQnZaaUJoZEhSbGJYQjBjeUJpWldadmNtVWdaMmwyYVc1bklIVndYQ0lzSUZ3aU1UQmNJaWxjYmlBZ0xtRmpkR2x2YmloaGMzbHVZeUFvYjNCMGFXOXVjem9nWVc1NUtTQTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2NHdG5JRDBnU2xOUFRpNXdZWEp6WlNoY2JpQWdJQ0FnSUdaekxuSmxZV1JHYVd4bFUzbHVZeWh3WVhSb0xtcHZhVzRvY0hKdlkyVnpjeTVqZDJRb0tTd2dYQ0p3WVdOcllXZGxMbXB6YjI1Y0lpa3NJRndpZFhSbUxUaGNJaWxjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2RtVnljMmx2YmlBOUlIQnJaeTUyWlhKemFXOXVPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JHOW5JRDBnYkc5bloyVnlMbVp2Y2loY0ltRjNZV2wwTFdsdVpuSmhYQ0lwTzF4dUlDQWdJR3h2Wnk1a1pXSjFaeWhjYmlBZ0lDQWdJR0J5ZFc1dWFXNW5JSGRwZEdnZ2IzQjBhVzl1Y3pvZ0pIdEtVMDlPTG5OMGNtbHVaMmxtZVNodmNIUnBiMjV6S1gwZ1ptOXlJQ1I3Y0d0bkxtNWhiV1Y5SUhabGNuTnBiMjRnSkh0MlpYSnphVzl1ZldCY2JpQWdJQ0FwTzF4dUlDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J3Y21WbVpYSXRZMjl1YzNSY2JpQWdJQ0JzWlhRZ2V5QmpiMjUwWVdsdVpYSXNJSFJwYldWdmRYUXNJR0YwZEdWdGNIUnpJSDBnUFNCdmNIUnBiMjV6TzF4dUlDQWdJSFJwYldWdmRYUWdQU0J3WVhKelpVbHVkQ2gwYVcxbGIzVjBLU0I4ZkNBMU1EQXdPMXh1SUNBZ0lHRjBkR1Z0Y0hSeklEMGdjR0Z5YzJWSmJuUW9ZWFIwWlcxd2RITXBJSHg4SURFd08xeHVYRzRnSUNBZ1lYZGhhWFFnWlc1emRYSmxTVzVtY21GemRISjFZM1IxY21WQ2IyOTBaV1FvWENKaWIyOTBMVzl5WnkxakxYQmxaWEl0TUZ3aUxDQjBhVzFsYjNWMExDQmhkSFJsYlhCMGN5azdYRzVjYmlBZ0lDQnNiMmN1YVc1bWJ5aGNiaUFnSUNBZ0lHQkpibVp5WVhOMGNuVmpkSFZ5WlNCaWIyOTBaV1FnYzNWalkyVnpjMloxYkd4NUlDaGhZMk52Y21ScGJtY2dkRzhnWTI5dWRHRnBibVZ5SUNSN1kyOXVkR0ZwYm1WeWZTa2hZRnh1SUNBZ0lDazdYRzRnSUgwcE8xeHVYRzVqYjI1emRDQmtaWEJzYjNsRGIyNTBjbUZqZENBOUlHNWxkeUJEYjIxdFlXNWtLQ2xjYmlBZ0xtNWhiV1VvWENKa1pYQnNiM2t0WTI5dWRISmhZM1JjSWlsY2JpQWdMbVJsYzJOeWFYQjBhVzl1S0Z3aVpHVndiRzk1Y3lCMGFHVWdjMlZzWldOMFpXUWdZMjl1ZEhKaFkzUmNJaWxjYmlBZ0xtOXdkR2x2YmloY0lpMHRibUZ0WlNBOFUzUnlhVzVuUGx3aUxDQmNJa052Ym5SeVlXTjBJRTVoYldVZ0tHRnVaQ0JtYjJ4a1pYSXBYQ0lwWEc0Z0lDNXZjSFJwYjI0b1hDSXRMV2x1Y0hWMElEeFRkSEpwYm1jK1hDSXNJRndpYVc1d2RYUWdabTlzWkdWeVhDSXBYRzRnSUM1dmNIUnBiMjRvWEc0Z0lDQWdYQ0l0TFdOdmJHeGxZM1JwYjI1ekxXTnZibVpwWnlBOFUzUnlhVzVuUGx3aUxGeHVJQ0FnSUZ3aWNHRjBhQ0IwYnlCamIyeHNaV04wYVc5dWMxOWpiMjVtYVdjdWFuTnZiaUIwYnlCamIyNW1hV2QxY21VZ2NISnBkbUYwWlNCamIyeHNaV04wYVc5dWMxd2lYRzRnSUNsY2JpQWdMbTl3ZEdsdmJpaGNiaUFnSUNCY0lpMHRhVzVqY21WdFpXNTBWbVZ5YzJsdmJpQThVM1J5YVc1blBsd2lMRnh1SUNBZ0lGd2lLSFJ5ZFdVZ2ZDQm1ZV3h6WlNrZ2FXWWdjMmh2ZFd4a0lIVnpaU0IyWlhKemFXOXVJRzl5SUhObGNYVmxibU5sSUhSdklIVndaR0YwWlNCamIyNTBjbUZqZEhOY0lpeGNiaUFnSUNCbVlXeHpaVnh1SUNBcFhHNGdJQzV2Y0hScGIyNG9YRzRnSUNBZ1hDSXRMWFJ5WVdOclpYSkdiMnhrWlhJZ1BGTjBjbWx1Wno1Y0lpeGNiaUFnSUNCY0ltTnZiblJ5WVdOMElIWmxjbk5wYjI0Z2RISmhZMnRsY2lCbWIyeGtaWElnS0hOb2IzVnNaQ0JpWlNCa1pXeGxkR1ZrSUc5dUlHbHVabkpoYzNSeWRXTjBkWEpsT21SdmQyNHBYQ0lzWEc0Z0lDQWdjR0YwYUM1cWIybHVLSEJ5YjJObGMzTXVZM2RrS0Nrc0lGd2lkR1Z6ZEhOY0lpd2dYQ0pwYm5SbFozSmhkR2x2Ymx3aUxDQmNJbU5vWVdsdVkyOWtaVlJ5WVdOclpYSnpYQ0lwWEc0Z0lDbGNiaUFnTG05d2RHbHZiaWhjYmlBZ0lDQmNJaTB0Y0dWbGNuTWdQRk4wY21sdVp6NWNJaXhjYmlBZ0lDQmNJbU52YlcxaElITmxjR0Z5WVhSbFpDQndaV1Z5SUdsa2Mxd2lMRnh1SUNBZ0lGd2liM0puTFdFdGNHVmxjaTB3TEc5eVp5MWlMWEJsWlhJdE1DeHZjbWN0WXkxd1pXVnlMVEJjSWx4dUlDQXBYRzRnSUM1aFkzUnBiMjRvWVhONWJtTWdLRzl3ZEdsdmJuTTZJR0Z1ZVNrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUhCclp5QTlJRXBUVDA0dWNHRnljMlVvWEc0Z0lDQWdJQ0JtY3k1eVpXRmtSbWxzWlZONWJtTW9jR0YwYUM1cWIybHVLSEJ5YjJObGMzTXVZM2RrS0Nrc0lGd2ljR0ZqYTJGblpTNXFjMjl1WENJcExDQmNJblYwWmkwNFhDSXBYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHTnZibk4wSUhabGNuTnBiMjRnUFNCd2EyY3VkbVZ5YzJsdmJqdGNibHh1SUNBZ0lHTnZibk4wSUd4dlp5QTlJR3h2WjJkbGNpNW1iM0lvWENKa1pYQnNiM2t0WTI5dWRISmhZM1JjSWlrN1hHNGdJQ0FnYkc5bkxtUmxZblZuS0Z4dUlDQWdJQ0FnWUhKMWJtNXBibWNnZDJsMGFDQnZjSFJwYjI1ek9pQWtlMHBUVDA0dWMzUnlhVzVuYVdaNUtHOXdkR2x2Ym5NcGZTQm1iM0lnSkh0d2EyY3VibUZ0WlgwZ2RtVnljMmx2YmlBa2UzWmxjbk5wYjI1OVlGeHVJQ0FnSUNrN1hHNWNiaUFnSUNCamIyNXpkQ0I3WEc0Z0lDQWdJQ0J1WVcxbExGeHVJQ0FnSUNBZ2FXNXdkWFFzWEc0Z0lDQWdJQ0J3WldWeWN5eGNiaUFnSUNBZ0lIUnlZV05yWlhKR2IyeGtaWElzWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1dkxYVnVkWE5sWkMxMllYSnpYRzRnSUNBZ0lDQnBibU55WlcxbGJuUldaWEp6YVc5dUxGeHVJQ0FnSUNBZ1kyOXNiR1ZqZEdsdmJuTkRiMjVtYVdjc1hHNGdJQ0FnZlNBOUlHOXdkR2x2Ym5NN1hHNGdJQ0FnWTI5dWMzUWdjR1ZsY2tsa2N5QTlJSEJsWlhKekxuTndiR2wwS0Z3aUxGd2lLVHRjYmx4dUlDQWdJR052Ym5OMElHTnZkVzUwVUdGMGFDQTlJSEJoZEdndWNtVnpiMngyWlNod1lYUm9MbXB2YVc0b2RISmhZMnRsY2tadmJHUmxjaXdnWUNSN2JtRnRaWDB1WTI5MWJuUmdLU2s3WEc1Y2JpQWdJQ0JzWlhRZ2MyVnhkV1Z1WTJVNklHNTFiV0psY2p0Y2JseHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQnpaWEYxWlc1alpTQTlJSEJoY25ObFNXNTBLR1p6TG5KbFlXUkdhV3hsVTNsdVl5aGpiM1Z1ZEZCaGRHZ3BMblJ2VTNSeWFXNW5LRndpZFhSbUxUaGNJaWtwTzF4dUlDQWdJQ0FnYVdZZ0tHbHpUbUZPS0hObGNYVmxibU5sS1NrZ2MyVnhkV1Z1WTJVZ1BTQXhPMXh1SUNBZ0lDQWdaV3h6WlNCelpYRjFaVzVqWlNBclBTQXhPMXh1SUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRUIwZVhCbGMyTnlhWEIwTFdWemJHbHVkQzl1YnkxMWJuVnpaV1F0ZG1GeWMxeHVJQ0FnSUgwZ1kyRjBZMmdnS0dVNklIVnVhMjV2ZDI0cElIdGNiaUFnSUNBZ0lITmxjWFZsYm1ObElEMGdNVHRjYmlBZ0lDQjlYRzRnSUNBZ0x5OWNiaUFnSUNBdkx5QnBaaUFvYVc1amNtVnRaVzUwVm1WeWMybHZiaWtnZTF4dUlDQWdJQzh2SUNBZ2RtVnljMmx2YmlBOUlIWmxjbk5wYjI0Z0t5QmdMU1I3YzJWeGRXVnVZMlY5WUR0Y2JpQWdJQ0F2THlBZ0lDOHZJSE5sY1hWbGJtTmxJRDBnTVR0Y2JpQWdJQ0F2THlCOVhHNWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdabTl5SUNoamIyNXpkQ0J3WldWeUlHOW1JSEJsWlhKSlpITXBJSHRjYmlBZ0lDQWdJQ0FnY0dGamEyRm5aVU52Ym5SeVlXTjBLSEJsWlhJc0lHbHVjSFYwTENCdVlXMWxMQ0IyWlhKemFXOXVLVHRjYmlBZ0lDQWdJQ0FnYVc1emRHRnNiRU52Ym5SeVlXTjBLSEJsWlhJc0lHNWhiV1VwTzF4dUlDQWdJQ0FnSUNCaGNIQnliM1psUTI5dWRISmhZM1FvWEc0Z0lDQWdJQ0FnSUNBZ2NHVmxjaXhjYmlBZ0lDQWdJQ0FnSUNCdVlXMWxMRnh1SUNBZ0lDQWdJQ0FnSUhCbFpYSWdQVDA5SUZ3aWIzSm5MV0V0Y0dWbGNpMHdYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lEOGdYQ0owYkhNdFkyRXRZMlZ5ZEM1d1pXMWNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ09pQmNJbTl5WkdWeVpYSXRkR3h6TFdOaExXTmxjblF1Y0dWdFhDSXNYRzRnSUNBZ0lDQWdJQ0FnYzJWeGRXVnVZMlVzWEc0Z0lDQWdJQ0FnSUNBZ2RtVnljMmx2Yml4Y2JpQWdJQ0FnSUNBZ0lDQmpiMnhzWldOMGFXOXVjME52Ym1acFoxeHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdabk11ZDNKcGRHVkdhV3hsVTNsdVl5aGpiM1Z1ZEZCaGRHZ3NJSE5sY1hWbGJtTmxMblJ2VTNSeWFXNW5LQ2twTzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1Z5Y2pvZ1lXNTVLU0I3WEc0Z0lDQWdJQ0JzYjJjdVpYSnliM0lvWENKRmNuSnZjaUJrWlhCc2IzbHBibWNnWTI5dWRISmhZM1E2WENJc0lHVnljaWs3WEc0Z0lDQWdmVnh1SUNBZ0lHTnZiVzFwZEVOb1lXbHVZMjlrWlNodVlXMWxMQ0J6WlhGMVpXNWpaU3dnZG1WeWMybHZiaXdnWTI5c2JHVmpkR2x2Ym5ORGIyNW1hV2NwTzF4dUlDQjlLVHRjYmx4dVkyOXVjM1FnWjJWMFEzSjVjSFJ2VFdGMFpYSnBZV3dnUFNCdVpYY2dRMjl0YldGdVpDZ3BYRzRnSUM1dVlXMWxLRndpWjJWMExXTnllWEIwYnkxdFlYUmxjbWxoYkZ3aUtWeHVJQ0F1WkdWelkzSnBjSFJwYjI0b1hDSmpiM0JwWlhNZ2RHaGxJR055ZVhCMGJ5QnRZWFJsY21saGJDQjBieUIwYUdVZ2MyVnNaV04wWldRZ1ptOXNaR1Z5WENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFdadmJHUmxjaUE4VTNSeWFXNW5QbHdpTENCY0ltOTFkSEIxZENCbWIyeGtaWEpjSWl3Z1hDSmtiMk5yWlhJdlpHOWphMlZ5TFdSaGRHRmNJaWxjYmlBZ0xtOXdkR2x2YmloY0lpMHRiM0puSUZ0VGRISnBibWRkWENJc0lGd2lkR2hsSUc5eVp5OXdaV1Z5SUhSdklHVjRkSEpoWTNRZ1puSnZiVndpTENCY0ltOXlaeTFoWENJcFhHNGdJQzVoWTNScGIyNG9ZWE41Ym1NZ0tHOXdkR2x2Ym5NNklHRnVlU2tnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSEJyWnlBOUlFcFRUMDR1Y0dGeWMyVW9YRzRnSUNBZ0lDQm1jeTV5WldGa1JtbHNaVk41Ym1Nb2NHRjBhQzVxYjJsdUtIQnliMk5sYzNNdVkzZGtLQ2tzSUZ3aWNHRmphMkZuWlM1cWMyOXVYQ0lwTENCY0luVjBaaTA0WENJcFhHNGdJQ0FnS1R0Y2JseHVJQ0FnSUdOdmJuTjBJSFpsY25OcGIyNGdQU0J3YTJjdWRtVnljMmx2Ymp0Y2JseHVJQ0FnSUdOdmJuTjBJR3h2WnlBOUlHeHZaMmRsY2k1bWIzSW9YQ0puWlhRdFkzSjVjSFJ2TFcxaGRHVnlhV0ZzWENJcE8xeHVJQ0FnSUd4dlp5NWtaV0oxWnloY2JpQWdJQ0FnSUdCeWRXNXVhVzVuSUhkcGRHZ2diM0IwYVc5dWN6b2dKSHRLVTA5T0xuTjBjbWx1WjJsbWVTaHZjSFJwYjI1ektYMGdabTl5SUNSN2NHdG5MbTVoYldWOUlIWmxjbk5wYjI0Z0pIdDJaWEp6YVc5dWZXQmNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJSHNnWm05c1pHVnlMQ0J2Y21jZ2ZTQTlJRzl3ZEdsdmJuTTdYRzRnSUNBZ1pYaGxZMU41Ym1Nb1lHUnZZMnRsY2lCamNDQWtlMjl5WjMwNkwzZGxZWFpsY2k5amJHbGxiblF2TGlBa2UyWnZiR1JsY24xZ0xDQjdYRzRnSUNBZ0lDQmpkMlE2SUhCeWIyTmxjM011WTNka0tDa3NYRzRnSUNBZ2ZTazdYRzRnSUgwcE8xeHVYRzVqYjI1emRDQm1ZV0p5YVdORGJXUWdQU0J1WlhjZ1EyOXRiV0Z1WkNncFhHNGdJQzV1WVcxbEtGd2labTl5TFdaaFluSnBZMXdpS1Z4dUlDQXVZMjl0YldGdVpDaGNJbVpoWW5KcFkxd2lLVnh1SUNBdVpHVnpZM0pwY0hScGIyNG9YRzRnSUNBZ1hDSmxlSEJ2YzJWeklITmxkbVZ5WVd3Z1kyOXRiV0Z1WkhNZ2RHOGdhR1ZzY0NCdFlXNWhaMlVnZEdobElHWmhZbkpwWXlCcGJtWnlZWE4wY25WamRIVnlaVndpWEc0Z0lDazdYRzVjYm1aaFluSnBZME50WkM1aFpHUkRiMjF0WVc1a0tHTnZiWEJwYkdWRGIyMXRZVzVrS1R0Y2JtWmhZbkpwWTBOdFpDNWhaR1JEYjIxdFlXNWtLR1Y0ZEhKaFkzUkpibVJsZUdWektUdGNibVpoWW5KcFkwTnRaQzVoWkdSRGIyMXRZVzVrS0dWdWMzVnlaVWx1Wm5KaEtUdGNibVpoWW5KcFkwTnRaQzVoWkdSRGIyMXRZVzVrS0dSbGNHeHZlVU52Ym5SeVlXTjBLVHRjYm1aaFluSnBZME50WkM1aFpHUkRiMjF0WVc1a0tHZGxkRU55ZVhCMGIwMWhkR1Z5YVdGc0tUdGNibVpoWW5KcFkwTnRaQzVoWkdSRGIyMXRZVzVrS0dWNGRISmhZM1JEYjJ4c1pXTjBhVzl1Y3lrN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElHWjFibU4wYVc5dUlHWmhZbkpwWXlncElIdGNiaUFnY21WMGRYSnVJR1poWW5KcFkwTnRaRHRjYm4xY2JpSmRmUT09Il19
|
|
509
|
+
//# sourceMappingURL=cli-module.js.map
|
|
510
|
+
//# sourceMappingURL=cli-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-module.js","sourceRoot":"","sources":["cli-module.js"],"names":[],"mappings":"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"}
|