@decaf-ts/for-fabric 0.13.31-experimental.3 → 0.13.32
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 -4001
- package/dist/for-fabric.cjs.map +1 -0
- package/dist/for-fabric.js +2 -4111
- 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/FabricClientContext.cjs +2 -2
- package/lib/cjs/client/FabricClientContext.cjs.map +1 -0
- package/lib/cjs/client/FabricClientDispatch.cjs +2 -2
- package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -0
- package/lib/cjs/client/FabricClientPaginator.cjs +2 -2
- package/lib/cjs/client/FabricClientPaginator.cjs.map +1 -0
- package/lib/cjs/client/FabricClientRepository.cjs +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/OtherLeafletContract.cjs +2 -2
- package/lib/cjs/contract/OtherLeafletContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherLeafletFileContract.cjs +2 -2
- package/lib/cjs/contract/OtherLeafletFileContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherMarketContract.cjs +2 -2
- package/lib/cjs/contract/OtherMarketContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductImageContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductImageContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductSharedContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductSharedContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +1 -0
- package/lib/cjs/contract/Product.cjs +2 -2
- package/lib/cjs/contract/Product.cjs.map +1 -0
- package/lib/cjs/contract/ProductContract.cjs +2 -2
- package/lib/cjs/contract/ProductContract.cjs.map +1 -0
- package/lib/cjs/contract/ProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/ProductStrengthContract.cjs.map +1 -0
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +1 -0
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +1 -0
- package/lib/cjs/contract/User.cjs +2 -2
- package/lib/cjs/contract/User.cjs.map +1 -0
- package/lib/cjs/contract/UserContract.cjs +2 -2
- package/lib/cjs/contract/UserContract.cjs.map +1 -0
- package/lib/cjs/contract/index.cjs +2 -2
- package/lib/cjs/contract/index.cjs.map +1 -0
- package/lib/cjs/contract/logging-context.cjs +2 -2
- package/lib/cjs/contract/logging-context.cjs.map +1 -0
- package/lib/cjs/contract/models/Audit.cjs +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/contract/trackedModels/History.cjs +2 -2
- package/lib/cjs/contract/trackedModels/History.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherAudit.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherAudit.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherMarket.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherMarket.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProduct.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProduct.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProductImage.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProductImage.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProductShared.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProductShared.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs.map +1 -0
- package/lib/cjs/contracts/ContractAdapter.cjs +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 +2 -2
- package/lib/cjs/contracts/bootstrap.cjs.map +1 -0
- package/lib/cjs/contracts/crud/crud-contract.cjs +2 -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 +2 -2
- package/lib/cjs/contracts/fabric-overrides.cjs.map +1 -0
- package/lib/cjs/contracts/index.cjs +2 -2
- package/lib/cjs/contracts/index.cjs.map +1 -0
- package/lib/cjs/contracts/logging.cjs +2 -2
- package/lib/cjs/contracts/logging.cjs.map +1 -0
- package/lib/cjs/contracts/overrides.cjs +2 -2
- package/lib/cjs/contracts/overrides.cjs.map +1 -0
- package/lib/cjs/contracts/types.cjs +2 -2
- package/lib/cjs/contracts/types.cjs.map +1 -0
- package/lib/cjs/contracts/uuid.cjs +2 -2
- package/lib/cjs/contracts/uuid.cjs.map +1 -0
- package/lib/cjs/index.cjs +2 -2
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/cjs/shared/ClientSerializer.cjs +2 -2
- package/lib/cjs/shared/ClientSerializer.cjs.map +1 -0
- package/lib/cjs/shared/DeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/DeterministicSerializer.cjs.map +1 -0
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +1 -0
- package/lib/cjs/shared/constants.cjs +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 +5 -5
- package/lib/cjs/version.cjs.map +1 -0
- package/lib/esm/bin/cli.js +1 -1
- package/lib/esm/bin/cli.js.map +1 -0
- package/lib/esm/cli-module.js +1 -1
- package/lib/esm/cli-module.js.map +1 -0
- package/lib/esm/cli-utils.js +1 -1
- package/lib/esm/cli-utils.js.map +1 -0
- package/lib/esm/client/FabricClientAdapter.js +1 -1
- package/lib/esm/client/FabricClientAdapter.js.map +1 -0
- package/lib/esm/client/FabricClientContext.js +1 -1
- package/lib/esm/client/FabricClientContext.js.map +1 -0
- package/lib/esm/client/FabricClientDispatch.js +1 -1
- package/lib/esm/client/FabricClientDispatch.js.map +1 -0
- package/lib/esm/client/FabricClientPaginator.js +1 -1
- package/lib/esm/client/FabricClientPaginator.js.map +1 -0
- package/lib/esm/client/FabricClientRepository.js +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/OtherLeafletContract.js +1 -1
- package/lib/esm/contract/OtherLeafletContract.js.map +1 -0
- package/lib/esm/contract/OtherLeafletFileContract.js +1 -1
- package/lib/esm/contract/OtherLeafletFileContract.js.map +1 -0
- package/lib/esm/contract/OtherMarketContract.js +1 -1
- package/lib/esm/contract/OtherMarketContract.js.map +1 -0
- package/lib/esm/contract/OtherProductContract.js +1 -1
- package/lib/esm/contract/OtherProductContract.js.map +1 -0
- package/lib/esm/contract/OtherProductImageContract.js +1 -1
- package/lib/esm/contract/OtherProductImageContract.js.map +1 -0
- package/lib/esm/contract/OtherProductSharedContract.js +1 -1
- package/lib/esm/contract/OtherProductSharedContract.js.map +1 -0
- package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
- package/lib/esm/contract/OtherProductStrengthContract.js.map +1 -0
- package/lib/esm/contract/Product.js +1 -1
- package/lib/esm/contract/Product.js.map +1 -0
- package/lib/esm/contract/ProductContract.js +1 -1
- package/lib/esm/contract/ProductContract.js.map +1 -0
- package/lib/esm/contract/ProductStrengthContract.js +1 -1
- package/lib/esm/contract/ProductStrengthContract.js.map +1 -0
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +1 -0
- package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
- package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +1 -0
- package/lib/esm/contract/User.js +1 -1
- package/lib/esm/contract/User.js.map +1 -0
- package/lib/esm/contract/UserContract.js +1 -1
- package/lib/esm/contract/UserContract.js.map +1 -0
- package/lib/esm/contract/index.js +1 -1
- package/lib/esm/contract/index.js.map +1 -0
- package/lib/esm/contract/logging-context.js +1 -1
- package/lib/esm/contract/logging-context.js.map +1 -0
- package/lib/esm/contract/models/Audit.js +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/contract/trackedModels/History.js +1 -1
- package/lib/esm/contract/trackedModels/History.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherAudit.js +1 -1
- package/lib/esm/contract/trackedModels/OtherAudit.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherBatchShared.js +1 -1
- package/lib/esm/contract/trackedModels/OtherBatchShared.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherLeaflet.js +1 -1
- package/lib/esm/contract/trackedModels/OtherLeaflet.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherLeafletFile.js +1 -1
- package/lib/esm/contract/trackedModels/OtherLeafletFile.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherMarket.js +1 -1
- package/lib/esm/contract/trackedModels/OtherMarket.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProduct.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProduct.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProductImage.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProductImage.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProductShared.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProductShared.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProductStrength.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProductStrength.js.map +1 -0
- package/lib/esm/contracts/ContractAdapter.js +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 +1 -1
- package/lib/esm/contracts/bootstrap.js.map +1 -0
- package/lib/esm/contracts/crud/crud-contract.js +1 -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 +1 -1
- package/lib/esm/contracts/fabric-overrides.js.map +1 -0
- package/lib/esm/contracts/index.js +1 -1
- package/lib/esm/contracts/index.js.map +1 -0
- package/lib/esm/contracts/logging.js +1 -1
- package/lib/esm/contracts/logging.js.map +1 -0
- package/lib/esm/contracts/overrides.js +1 -1
- package/lib/esm/contracts/overrides.js.map +1 -0
- package/lib/esm/contracts/types.js +1 -1
- package/lib/esm/contracts/types.js.map +1 -0
- package/lib/esm/contracts/uuid.js +1 -1
- package/lib/esm/contracts/uuid.js.map +1 -0
- package/lib/esm/index.js +1 -1
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/shared/ClientSerializer.js +1 -1
- package/lib/esm/shared/ClientSerializer.js.map +1 -0
- package/lib/esm/shared/DeterministicSerializer.js +1 -1
- package/lib/esm/shared/DeterministicSerializer.js.map +1 -0
- package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.js.map +1 -0
- package/lib/esm/shared/constants.js +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 +4 -4
- package/lib/esm/version.js.map +1 -0
- package/lib/types/version.d.cts +3 -3
- package/lib/types/version.d.mts +3 -3
- package/package.json +1 -1
package/lib/cjs/cli-module.cjs
CHANGED
|
@@ -715,5 +715,5 @@ fabricCmd.addCommand(getCopyToPTP);
|
|
|
715
715
|
function fabric() {
|
|
716
716
|
return fabricCmd;
|
|
717
717
|
}
|
|
718
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGktbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUQsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN4QyxPQUFPLFFBQVEsTUFBTSx5QkFBeUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxPQUFPLE1BQU0sd0JBQXdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFlBQVksR0FDYixrQ0FBeUI7QUFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZELE9BQU8sRUFDTCxlQUFlLEVBQ2YsMEJBQTBCLEVBQzFCLGVBQWUsRUFDZixlQUFlLEVBQ2YsZUFBZSxFQUNmLHVCQUF1QixFQUN2Qiw0QkFBNEIsR0FDN0IsdUJBQW9CO0FBQ3JCLHFDQUE0QjtBQUM1QixPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUIsT0FBTyxFQUNMLGtCQUFrQixJQUFJLGFBQWEsRUFFbkMsZ0JBQWdCLEVBQ2hCLHlC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QUFFLElBQUk7UUFDVCxLQUFLLEVBQUUsU0FBUztLQUNqQixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVMLE1BQU0sU0FBUyxHQUFHLElBQUksT0FBTyxFQUFFO0tBQzVCLElBQUksQ0FBQyxZQUFZLENBQUM7S0FDbEIsT0FBTyxDQUFDLFFBQVEsQ0FBQztLQUNqQixXQUFXLENBQ1YsbUVBQW1FLENBQ3BFLENBQUM7QUFFSixTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3JDLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDckMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNsQyxTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3JDLFNBQVMsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUN4QyxTQUFTLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDekMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUVuQyxNQUFNLENBQUMsT0FBTyxVQUFVLE1BQU07SUFDNUIsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1hbmQgfSBmcm9tIFwiY29tbWFuZGVyXCI7XG5pbXBvcnQgeyBMb2dnaW5nLCB0b1Bhc2NhbENhc2UgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcImNoaWxkX3Byb2Nlc3NcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBidWlsdGluTW9kdWxlcywgY3JlYXRlUmVxdWlyZSB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuaW1wb3J0IHsgUGx1Z2luLCByb2xsdXAgfSBmcm9tIFwicm9sbHVwXCI7XG5pbXBvcnQgY29tbW9uanMgZnJvbSBcIkByb2xsdXAvcGx1Z2luLWNvbW1vbmpzXCI7XG5pbXBvcnQgeyBub2RlUmVzb2x2ZSB9IGZyb20gXCJAcm9sbHVwL3BsdWdpbi1ub2RlLXJlc29sdmVcIjtcbmltcG9ydCByZXBsYWNlIGZyb20gXCJAcm9sbHVwL3BsdWdpbi1yZXBsYWNlXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yLCBTZXJpYWxpemF0aW9uRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7XG4gIGdlbmVyYXRlTW9kZWxEZXNpZ25Eb2NzLFxuICBnZW5lcmF0ZU1vZGVsSW5kZXhlcyxcbiAgcmVhZE1vZGVsRmlsZSxcbiAgcmVhZE1vZGVsRm9sZGVycyxcbiAgd3JpdGVEZXNpZ25Eb2NzLFxuICB3cml0ZUluZGV4ZXMsXG59IGZyb20gXCIuL2NsaWVudC9pbmRleGVzXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7XG4gIGFwcHJvdmVDb250cmFjdCxcbiAgZW5zdXJlSW5mcmFzdHJ1Y3R1cmVCb290ZWQsXG4gIGluc3RhbGxDb250cmFjdCxcbiAgcGFja2FnZUNvbnRyYWN0LFxuICBjb21taXRDaGFpbmNvZGUsXG4gIGdldENvbnRyYWN0U3RhcnRDb21tYW5kLFxuICBjb21waWxlV2l0aFRzY29uZmlnT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi9jbGktdXRpbHNcIjtcbmltcG9ydCBcIi4vc2hhcmVkL292ZXJyaWRlc1wiO1xuaW1wb3J0IHRzIGZyb20gXCJ0eXBlc2NyaXB0XCI7XG5pbXBvcnQge1xuICBleHRyYWN0Q29sbGVjdGlvbnMgYXMgZXhDb2xsZWN0aW9ucyxcbiAgUHJpdmF0ZUNvbGxlY3Rpb24sXG4gIHdyaXRlQ29sbGVjdGlvbnMsXG4gIHdyaXRlQ29sbGVjdGlvbkRlc2lnbkRvY3MsXG59IGZyb20gXCIuL2NsaWVudC9jb2xsZWN0aW9ucy9pbmRleFwiO1xuaW1wb3J0IHsgQ291Y2hEQkRlc2lnbkRvYywgQ3JlYXRlSW5kZXhSZXF1ZXN0IH0gZnJvbSBcIkBkZWNhZi10cy9mb3ItY291Y2hkYlwiO1xuXG5jb25zdCBsb2dnZXIgPSBMb2dnaW5nLmZvcihcImZhYnJpY1wiKTtcblxuZnVuY3Rpb24gcmVzb2x2ZUJ1bmRsZWRKc0ltcG9ydHMoKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBcInJlc29sdmUtYnVuZGxlZC1qcy1pbXBvcnRzXCIsXG4gICAgcmVzb2x2ZUlkKHNvdXJjZSwgaW1wb3J0ZXIpIHtcbiAgICAgIGlmICghaW1wb3J0ZXIgfHwgIXNvdXJjZS5zdGFydHNXaXRoKFwiLlwiKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzb2x2ZWRQYXRoID0gcGF0aC5yZXNvbHZlKHBhdGguZGlybmFtZShpbXBvcnRlciksIHNvdXJjZSk7XG4gICAgICBjb25zdCBjYW5kaWRhdGVzID0gW1xuICAgICAgICByZXNvbHZlZFBhdGgsXG4gICAgICAgIGAke3Jlc29sdmVkUGF0aH0uanNgLFxuICAgICAgICBwYXRoLmpvaW4ocmVzb2x2ZWRQYXRoLCBcImluZGV4LmpzXCIpLFxuICAgICAgXTtcblxuICAgICAgZm9yIChjb25zdCBjYW5kaWRhdGUgb2YgY2FuZGlkYXRlcykge1xuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyhjYW5kaWRhdGUpICYmIGZzLnN0YXRTeW5jKGNhbmRpZGF0ZSkuaXNGaWxlKCkpIHtcbiAgICAgICAgICByZXR1cm4gY2FuZGlkYXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVEZWNhZlBhY2thZ2VJbXBvcnRzKCk6IFBsdWdpbiB7XG4gIGNvbnN0IGNvbnRyYWN0UmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoXG4gICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBcInJlc29sdmUtZGVjYWYtcGFja2FnZS1pbXBvcnRzXCIsXG4gICAgcmVzb2x2ZUlkKHNvdXJjZSkge1xuICAgICAgaWYgKCFzb3VyY2Uuc3RhcnRzV2l0aChcIkBkZWNhZi10cy9cIikpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBjb250cmFjdFJlcXVpcmUucmVzb2x2ZShzb3VyY2UpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG5cbmNvbnN0IGZhYnJpY1BlZXJEZXBlbmRlbmNpZXMgPSBuZXcgU2V0KFtcbiAgXCJAZ3JwYy9ncnBjLWpzXCIsXG4gIFwiQGh5cGVybGVkZ2VyL2ZhYnJpYy1nYXRld2F5XCIsXG4gIFwiQHBlY3VsaWFyL3dlYmNyeXB0b1wiLFxuICBcImZhYnJpYy1jYS1jbGllbnRcIixcbiAgXCJmYWJyaWMtY29tbW9uXCIsXG4gIFwiZmFicmljLWNvbnRyYWN0LWFwaVwiLFxuICBcImZhYnJpYy1uZXR3b3JrXCIsXG4gIFwiZmFicmljLXNoaW1cIixcbiAgXCJmYWJyaWMtc2hpbS1hcGlcIixcbl0pO1xuXG5mdW5jdGlvbiBpc05vZGVCdWlsdGluKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IGlkLnN0YXJ0c1dpdGgoXCJub2RlOlwiKSA/IGlkLnNsaWNlKDUpIDogaWQ7XG4gIHJldHVybiBidWlsdGluTW9kdWxlcy5pbmNsdWRlcyhub3JtYWxpemVkKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkQnVuZGxlQ29udHJhY3RNb2R1bGUoaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoaWQuc3RhcnRzV2l0aChcIi5cIikgfHwgcGF0aC5pc0Fic29sdXRlKGlkKSkgcmV0dXJuIHRydWU7XG4gIGlmIChpZC5zdGFydHNXaXRoKFwiQGRlY2FmLXRzL1wiKSkgcmV0dXJuIHRydWU7XG4gIGlmIChmYWJyaWNQZWVyRGVwZW5kZW5jaWVzLmhhcyhpZCkpIHJldHVybiBmYWxzZTtcbiAgaWYgKGlzTm9kZUJ1aWx0aW4oaWQpKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVTaWRlRWZmZWN0UGF0aChpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGlucHV0LnNwbGl0KHBhdGguc2VwKS5qb2luKFwiL1wiKTtcbn1cblxuZnVuY3Rpb24gYnVpbGRTaWRlRWZmZWN0TWF0Y2hlcihleHRyYVBhdGhzOiBzdHJpbmdbXSkge1xuICBjb25zdCBub3JtYWxpemVkRXh0cmFzID0gZXh0cmFQYXRocy5tYXAoKGV4dHJhUGF0aCkgPT4ge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVTaWRlRWZmZWN0UGF0aChleHRyYVBhdGgudHJpbSgpKTtcbiAgICByZXR1cm4ge1xuICAgICAgcmF3OiBub3JtYWxpemVkLFxuICAgICAgcmVzb2x2ZWQ6IHBhdGguaXNBYnNvbHV0ZShleHRyYVBhdGgpXG4gICAgICAgID8gbm9ybWFsaXplU2lkZUVmZmVjdFBhdGgocGF0aC5yZXNvbHZlKGV4dHJhUGF0aCkpXG4gICAgICAgIDogbm9ybWFsaXplU2lkZUVmZmVjdFBhdGgocGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIGV4dHJhUGF0aCkpLFxuICAgIH07XG4gIH0pO1xuXG4gIHJldHVybiAoaWQ6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVTaWRlRWZmZWN0UGF0aChpZCk7XG4gICAgY29uc3QgYnVpbHRJbnMgPSBbXG4gICAgICBcIi9zcmMvY29udHJhY3RzL2Jvb3RzdHJhcFwiLFxuICAgICAgXCIvc3JjL2NvbnRyYWN0cy9vdmVycmlkZXNcIixcbiAgICAgIFwiL3NyYy9jb250cmFjdHMvZmFicmljLW92ZXJyaWRlc1wiLFxuICAgICAgXCIvc3JjL3NoYXJlZC9vdmVycmlkZXNcIixcbiAgICAgIFwiL25vZGVfbW9kdWxlcy9AZGVjYWYtdHMvXCIsXG4gICAgXTtcblxuICAgIGlmIChidWlsdElucy5zb21lKChuZWVkbGUpID0+IG5vcm1hbGl6ZWQuaW5jbHVkZXMobmVlZGxlKSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBub3JtYWxpemVkRXh0cmFzLnNvbWUoKHsgcmF3LCByZXNvbHZlZCB9KSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBub3JtYWxpemVkLmluY2x1ZGVzKHJhdykgfHxcbiAgICAgICAgbm9ybWFsaXplZC5pbmNsdWRlcyhyZXNvbHZlZCkgfHxcbiAgICAgICAgbm9ybWFsaXplZC5lbmRzV2l0aChgJHtyYXd9LmpzYCkgfHxcbiAgICAgICAgbm9ybWFsaXplZC5lbmRzV2l0aChgJHtyYXd9LmNqc2ApIHx8XG4gICAgICAgIG5vcm1hbGl6ZWQuZW5kc1dpdGgoYCR7cmF3fS9pbmRleC5qc2ApIHx8XG4gICAgICAgIG5vcm1hbGl6ZWQuZW5kc1dpdGgoYCR7cmF3fS9pbmRleC5janNgKSB8fFxuICAgICAgICBub3JtYWxpemVkLmVuZHNXaXRoKGAke3Jlc29sdmVkfS5qc2ApIHx8XG4gICAgICAgIG5vcm1hbGl6ZWQuZW5kc1dpdGgoYCR7cmVzb2x2ZWR9LmNqc2ApIHx8XG4gICAgICAgIG5vcm1hbGl6ZWQuZW5kc1dpdGgoYCR7cmVzb2x2ZWR9L2luZGV4LmpzYCkgfHxcbiAgICAgICAgbm9ybWFsaXplZC5lbmRzV2l0aChgJHtyZXNvbHZlZH0vaW5kZXguY2pzYClcbiAgICAgICk7XG4gICAgfSk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVNyY0Zyb21QYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBwYXRoLnJlcGxhY2UoL15cXC5cXC9zcmNcXC8vLCBcIi4vXCIpO1xufVxuXG5mdW5jdGlvbiBjb3B5Rm9sZGVyQ29udGVudHMoc291cmNlRGlyOiBzdHJpbmcsIHRhcmdldERpcjogc3RyaW5nKSB7XG4gIGlmICghZnMuZXhpc3RzU3luYyhzb3VyY2VEaXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBTb3VyY2UgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0OiAke3NvdXJjZURpcn1gKTtcbiAgfVxuXG4gIGZzLm1rZGlyU3luYyh0YXJnZXREaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIGZvciAoY29uc3QgaXRlbSBvZiBmcy5yZWFkZGlyU3luYyhzb3VyY2VEaXIpKSB7XG4gICAgY29uc3Qgc291cmNlUGF0aCA9IHBhdGguam9pbihzb3VyY2VEaXIsIGl0ZW0pO1xuICAgIGNvbnN0IHRhcmdldFBhdGggPSBwYXRoLmpvaW4odGFyZ2V0RGlyLCBpdGVtKTtcblxuICAgIGNvbnN0IHN0YXQgPSBmcy5zdGF0U3luYyhzb3VyY2VQYXRoKTtcblxuICAgIGlmIChzdGF0LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIGNvcHlGb2xkZXJDb250ZW50cyhzb3VyY2VQYXRoLCB0YXJnZXRQYXRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZnMuY29weUZpbGVTeW5jKHNvdXJjZVBhdGgsIHRhcmdldFBhdGgpO1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBjb21waWxlQ29tbWFuZCA9IG5ldyBDb21tYW5kKClcbiAgLm5hbWUoXCJjb21waWxlLWNvbnRyYWN0XCIpXG4gIC5kZXNjcmlwdGlvbihcIkNyZWF0ZXMgYSBnbG9iYWwgY29udHJhY3RcIilcbiAgLm9wdGlvbihcIi0tZGV2XCIsIFwiY29tcGlsZXMgY29udHJhY3RzIHdpdGhvdXQgbWluaWZpY2F0aW9uXCIsIGZhbHNlKVxuICAub3B0aW9uKFwiLS1kZWJ1Z1wiLCBcIm1ha2VzIGF0dGFjaGluZyBkZWJ1Z2dlciBwb3NzaWJsZVwiLCBmYWxzZSlcbiAgLm9wdGlvbihcbiAgICBcIi0tY2NhYXNcIixcbiAgICBcIkFqdXN0cyB0aGUgcGFja2FnZSBjb21tYW5kcyB0byBiZSBkZXBsb3llZCBhcyBjY2Fhc1wiLFxuICAgIGZhbHNlXG4gIClcbiAgLm9wdGlvbihcIi0tbmFtZSA8U3RyaW5nPlwiLCBcImNvbnRyYWN0IG5hbWVcIiwgXCJnbG9iYWwtY29udHJhY3RcIilcbiAgLm9wdGlvbihcIi0tYnVuZGxlXCIsIFwiQnVuZGxlcyB3aXRoIHJvbGx1cCBpbnN0ZWFkIG9mIHVzaW5nIHRzY1wiLCBmYWxzZSlcbiAgLm9wdGlvbihcbiAgICBcIi0tdHMtY29uZmlnLWZpbGUgPHN0cmluZz5cIixcbiAgICBcInJlbGF0aXZlIHBhdGggdG8gdGhlIHRzIGNvbmZpZyBmaWxlIGJhc2VkIG9uIGN3ZCBvciBhYnNvbHV0ZSBwYXRoXCIsXG4gICAgXCIuL3RzY29uZmlnLmpzb25cIlxuICApXG4gIC5vcHRpb24oXG4gICAgXCItLWRlc2NyaXB0aW9uIDxTdHJpbmc+XCIsXG4gICAgXCJjb250cmFjdCBkZXNjcmlwdGlvblwiLFxuICAgIFwiR2xvYmFsIGNvbnRyYWN0IGltcGxlbWVudGF0aW9uXCJcbiAgKVxuICAub3B0aW9uKFwiLS1zdHJpcC1jb250cmFjdC1uYW1lXCIsIFwic3RyaXAgY29udHJhY3QgbmFtZSBmcm9tIG91dHB1dFwiLCBmYWxzZSlcbiAgLm9wdGlvbihcIi0taW5wdXQgPFN0cmluZz5cIiwgXCJpbnB1dCBmb2xkZXIgZm9yIGNvbnRyYWN0c1wiLCBcImxpYi9jb250cmFjdHNcIilcbiAgLm9wdGlvbihcIi0tb3V0cHV0IDxTdHJpbmc+XCIsIFwib3V0cHV0IGZvbGRlciBmb3IgY29udHJhY3RzXCIsIFwiLi9jb250cmFjdHNcIilcbiAgLm9wdGlvbihcIi0tc291cmNlbWFwc1wiLCBcImluY2x1ZGVzIHNvdXJjZW1hcHMgaW4gdGhlIGNvbXBpbGVkIG91dHB1dFwiLCBmYWxzZSlcbiAgLm9wdGlvbihcIi0tbnBtcmNcIiwgXCJpbmNsdWRlcyAubnBtcmMgaW4gdGhlIGNvbXBpbGVkIG91dHB1dFwiLCBmYWxzZSlcbiAgLm9wdGlvbihcbiAgICBcIi0tZnJvbS1saWJcIixcbiAgICBcImluZGljYXRlcyB0aGF0IHRoZSBjb250cmFjdCB0byBkZXBsb3kgaXMgbG9jYXRlZCBpbiB0aGUgbGliIGZvbGRlciBhbmQgbm90IHByZS1jb21waWxlZCBpbiB0aGUgY29udHJhY3RzIGZvbGRlclwiLFxuICAgIGZhbHNlXG4gIClcbiAgLm9wdGlvbihcbiAgICBcIi0tc2lkZS1lZmZlY3QtcGF0aHMgPHBhdGhzLi4uPlwiLFxuICAgIFwiYWRkaXRpb25hbCBwYXRocyBvciBwYWNrYWdlIHJvb3RzIHRoYXQgbXVzdCBiZSBwcmVzZXJ2ZWQgYXMgc2lkZS1lZmZlY3RmdWwgZHVyaW5nIGNvbnRyYWN0IGJ1bmRsaW5nXCJcbiAgKVxuICAuYWN0aW9uKGFzeW5jIChvcHRpb25zOiBhbnkpID0+IHtcbiAgICBjb25zdCBwa2cgPSBKU09OLnBhcnNlKFxuICAgICAgZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UuanNvblwiKSwgXCJ1dGYtOFwiKVxuICAgICk7XG5cbiAgICBjb25zdCBwa2dMb2NrID0gSlNPTi5wYXJzZShcbiAgICAgIGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLWxvY2suanNvblwiKSwgXCJ1dGYtOFwiKVxuICAgICk7XG5cbiAgICBsZXQgbnBtcmNDb250ZW50ID0gdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgdmVyc2lvbiA9IHBrZy52ZXJzaW9uO1xuXG4gICAgbGV0IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgIGRldixcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgIGRlYnVnLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgbmFtZSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgb3V0cHV0LFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgaW5wdXQsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBzdHJpcENvbnRyYWN0TmFtZSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgIGNjYWFzLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgYnVuZGxlLFxuXG4gICAgICB0c0NvbmZpZ0ZpbGUsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBzb3VyY2VtYXBzLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgbnBtcmMsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBzaWRlRWZmZWN0UGF0aHMsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBmcm9tTGliLFxuICAgIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJjb21waWxlLWNvbnRyYWN0XCIpO1xuICAgIHRyeSB7XG4gICAgICBpZiAobnBtcmMpIHtcbiAgICAgICAgbnBtcmNDb250ZW50ID0gZnNcbiAgICAgICAgICAucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIi5ucG1yY1wiKSwgXCJ1dGYtOFwiKVxuICAgICAgICAgIC50b1N0cmluZygpO1xuXG4gICAgICAgIGNvbnN0IHJlcGxhY2VkID0gbnBtcmNDb250ZW50LnJlcGxhY2UoXG4gICAgICAgICAgL1xcJFxceyhbXn1dKylcXH0vZyxcbiAgICAgICAgICAoXzogYW55LCB2YXJOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcHJvY2Vzcy5lbnZbdmFyTmFtZV07XG5cbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICBgV2FybmluZzogRW52aXJvbm1lbnQgdmFyaWFibGUgXCIke3Zhck5hbWV9XCIgaXMgbm90IHNldGBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgbnBtcmNDb250ZW50ID0gcmVwbGFjZWQ7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICBsb2cuaW5mbyhgTm8gLm5wbXJjIGZpbGUgZm91bmQsIHNraXBwaW5nIGNvcHlpbmcgLm5wbXJjIHRvIG91dHB1dGApO1xuICAgIH1cblxuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWBcbiAgICApO1xuXG4gICAgdHNDb25maWdGaWxlID0gcGF0aC5pc0Fic29sdXRlKHRzQ29uZmlnRmlsZSlcbiAgICAgID8gdHNDb25maWdGaWxlXG4gICAgICA6IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCB0c0NvbmZpZ0ZpbGUpO1xuXG4gICAgb3V0cHV0ID0gc3RyaXBDb250cmFjdE5hbWUgPyBvdXRwdXQgOiBwYXRoLmpvaW4ob3V0cHV0LCBuYW1lKTtcbiAgICBsb2cuaW5mbyhgRGVsZXRpbmcgZXhpc3Rpbmcgb3V0cHV0IGZvbGRlciAoaWYgZXhpc3RzKSB1bmRlciAke291dHB1dH1gKTtcbiAgICBleGVjU3luYyhgcm0gLXJmICR7b3V0cHV0fWApO1xuICAgIGlmIChidW5kbGUgJiYgIWZyb21MaWIpIHtcbiAgICAgIGNvbnN0IHNpZGVFZmZlY3RNYXRjaGVyID0gYnVpbGRTaWRlRWZmZWN0TWF0Y2hlcihcbiAgICAgICAgQXJyYXkuaXNBcnJheShzaWRlRWZmZWN0UGF0aHMpID8gc2lkZUVmZmVjdFBhdGhzIDogW11cbiAgICAgICk7XG4gICAgICBsb2cuaW5mbyhgYnVuZGxpbmcgY29udHJhY3QgZnJvbSAke2lucHV0fWApO1xuICAgICAgY29uc3QgdGVtcEJ1bmRsZURpciA9IGZzLm1rZHRlbXBTeW5jKFxuICAgICAgICBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCIuY29udHJhY3QtYnVuZGxlLVwiKVxuICAgICAgKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGlucHV0RW50cnkgPSBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgaW5wdXQsIFwiaW5kZXgudHNcIik7XG4gICAgICAgIGNvbnN0IGNvbmZpZ0ZpbGUgPSB0cy5yZWFkQ29uZmlnRmlsZSh0c0NvbmZpZ0ZpbGUsIHRzLnN5cy5yZWFkRmlsZSk7XG4gICAgICAgIGlmIChjb25maWdGaWxlLmVycm9yKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgICB0cy5mbGF0dGVuRGlhZ25vc3RpY01lc3NhZ2VUZXh0KGNvbmZpZ0ZpbGUuZXJyb3IubWVzc2FnZVRleHQsIFwiXFxuXCIpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcnNlZENvbmZpZyA9IHRzLnBhcnNlSnNvbkNvbmZpZ0ZpbGVDb250ZW50KFxuICAgICAgICAgIGNvbmZpZ0ZpbGUuY29uZmlnLFxuICAgICAgICAgIHRzLnN5cyxcbiAgICAgICAgICBwYXRoLmRpcm5hbWUodHNDb25maWdGaWxlKSxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgdHNDb25maWdGaWxlXG4gICAgICAgICk7XG4gICAgICAgIGlmIChwYXJzZWRDb25maWcuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgcGFyc2VkQ29uZmlnLmVycm9yc1xuICAgICAgICAgICAgICAubWFwKChlcnJvcikgPT5cbiAgICAgICAgICAgICAgICB0cy5mbGF0dGVuRGlhZ25vc3RpY01lc3NhZ2VUZXh0KGVycm9yLm1lc3NhZ2VUZXh0LCBcIlxcblwiKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRlbXBDb21waWxlck9wdGlvbnM6IHRzLkNvbXBpbGVyT3B0aW9ucyA9IHtcbiAgICAgICAgICAuLi5wYXJzZWRDb25maWcub3B0aW9ucyxcbiAgICAgICAgICBvdXREaXI6IHRlbXBCdW5kbGVEaXIsXG4gICAgICAgICAgbW9kdWxlOiB0cy5Nb2R1bGVLaW5kLkVTTmV4dCxcbiAgICAgICAgICBkZWNsYXJhdGlvbjogZmFsc2UsXG4gICAgICAgICAgc291cmNlTWFwOiBmYWxzZSxcbiAgICAgICAgICBpbmxpbmVTb3VyY2VzOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgYnVuZGxlZEVudHJ5UG9pbnQgPSB0c1xuICAgICAgICAgIC5nZXRPdXRwdXRGaWxlTmFtZXMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC4uLnBhcnNlZENvbmZpZyxcbiAgICAgICAgICAgICAgb3B0aW9uczogdGVtcENvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbnB1dEVudHJ5LFxuICAgICAgICAgICAgIXRzLnN5cy51c2VDYXNlU2Vuc2l0aXZlRmlsZU5hbWVzXG4gICAgICAgICAgKVxuICAgICAgICAgIC5maW5kKChmaWxlTmFtZSkgPT4gZmlsZU5hbWUuZW5kc1dpdGgoXCIuanNcIikpO1xuXG4gICAgICAgIGlmICghYnVuZGxlZEVudHJ5UG9pbnQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICAgIGBGYWlsZWQgdG8gZGV0ZXJtaW5lIHRoZSBlbWl0dGVkIGJ1bmRsZSBlbnRyeSBmb3IgJHtpbnB1dEVudHJ5fWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29tcGlsZVdpdGhUc2NvbmZpZ092ZXJyaWRlcyh0c0NvbmZpZ0ZpbGUsIHRlbXBDb21waWxlck9wdGlvbnMpO1xuICAgICAgICBjb25zdCBidW5kbGVkQ29udHJhY3QgPSBhd2FpdCByb2xsdXAoe1xuICAgICAgICAgIGlucHV0OiBidW5kbGVkRW50cnlQb2ludCxcbiAgICAgICAgICBleHRlcm5hbDogKGlkKSA9PiAhc2hvdWxkQnVuZGxlQ29udHJhY3RNb2R1bGUoaWQpLFxuICAgICAgICAgIHRyZWVzaGFrZToge1xuICAgICAgICAgICAgbW9kdWxlU2lkZUVmZmVjdHM6IChpZCkgPT4gc2lkZUVmZmVjdE1hdGNoZXIoaWQpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgICAgcmVzb2x2ZURlY2FmUGFja2FnZUltcG9ydHMoKSxcbiAgICAgICAgICAgIHJlc29sdmVCdW5kbGVkSnNJbXBvcnRzKCksXG4gICAgICAgICAgICBub2RlUmVzb2x2ZSh7XG4gICAgICAgICAgICAgIGV4dGVuc2lvbnM6IFtcIi5tanNcIiwgXCIuanNcIiwgXCIuanNvblwiLCBcIi5janNcIiwgXCIudHNcIl0sXG4gICAgICAgICAgICAgIG1vZHVsZURpcmVjdG9yaWVzOiBbXCJub2RlX21vZHVsZXNcIl0sXG4gICAgICAgICAgICAgIG1vZHVsZVBhdGhzOiBbcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwibm9kZV9tb2R1bGVzXCIpXSxcbiAgICAgICAgICAgICAgZXhwb3J0Q29uZGl0aW9uczogW1wibm9kZVwiLCBcImRlZmF1bHRcIiwgXCJyZXF1aXJlXCIsIFwiaW1wb3J0XCJdLFxuICAgICAgICAgICAgICBwcmVmZXJCdWlsdGluczogdHJ1ZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY29tbW9uanMoe1xuICAgICAgICAgICAgICBpbmNsdWRlOiAvbm9kZV9tb2R1bGVzLyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgcmVwbGFjZSh7XG4gICAgICAgICAgICAgIHByZXZlbnRBc3NpZ25tZW50OiB0cnVlLFxuICAgICAgICAgICAgICBkZWxpbWl0ZXJzOiBbXCJcIiwgXCJcIl0sXG4gICAgICAgICAgICAgIHZhbHVlczogeyBcIiMjVkVSU0lPTiMjXCI6IHZlcnNpb24sIFwiIyNQQUNLQUdFIyNcIjogcGtnLm5hbWUgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBsb2cuaW5mbyhcbiAgICAgICAgICBgd2l0aGluZyBjb250cmFjdCB0byAke291dHB1dH0gd2l0aCBuYW1lICR7dG9QYXNjYWxDYXNlKG5hbWUpfS5qc2BcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgYnVuZGxlZENvbnRyYWN0LndyaXRlKHtcbiAgICAgICAgICBmaWxlOiBgJHtvdXRwdXR9LyR7dG9QYXNjYWxDYXNlKG5hbWUpfS5qc2AsXG4gICAgICAgICAgZm9ybWF0OiBcInVtZFwiLFxuICAgICAgICAgIG5hbWU6IGAke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgLFxuICAgICAgICAgIHNvdXJjZW1hcDogc291cmNlbWFwcyA/IFwiaW5saW5lXCIgOiBmYWxzZSxcbiAgICAgICAgICBzb3VyY2VtYXBQYXRoVHJhbnNmb3JtOiAocmVsYXRpdmVTb3VyY2VQYXRoLCBzb3VyY2VtYXBQYXRoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhYnNvbHV0ZVNvdXJjZVBhdGggPSBwYXRoLnJlc29sdmUoXG4gICAgICAgICAgICAgIHBhdGguZGlybmFtZShzb3VyY2VtYXBQYXRoKSxcbiAgICAgICAgICAgICAgcmVsYXRpdmVTb3VyY2VQYXRoXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoYWJzb2x1dGVTb3VyY2VQYXRoLnN0YXJ0c1dpdGgodGVtcEJ1bmRsZURpcikpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHBhdGgucG9zaXguam9pbihcbiAgICAgICAgICAgICAgICBcIi5idW5kbGVcIixcbiAgICAgICAgICAgICAgICBwYXRoXG4gICAgICAgICAgICAgICAgICAucmVsYXRpdmUodGVtcEJ1bmRsZURpciwgYWJzb2x1dGVTb3VyY2VQYXRoKVxuICAgICAgICAgICAgICAgICAgLnNwbGl0KHBhdGguc2VwKVxuICAgICAgICAgICAgICAgICAgLmpvaW4oXCIvXCIpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZWxhdGl2ZVNvdXJjZVBhdGg7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IGJ1bmRsZWRDb250cmFjdC5jbG9zZSgpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgZnMucm1TeW5jKHRlbXBCdW5kbGVEaXIsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFmcm9tTGliKSB7XG4gICAgICBjb21waWxlV2l0aFRzY29uZmlnT3ZlcnJpZGVzKHRzQ29uZmlnRmlsZSwge1xuICAgICAgICBvdXREaXI6IG91dHB1dCxcbiAgICAgICAgbW9kdWxlOiB0cy5Nb2R1bGVLaW5kLkVTTmV4dCxcbiAgICAgICAgZGVjbGFyYXRpb246IGZhbHNlLFxuICAgICAgICBzb3VyY2VNYXA6IHNvdXJjZW1hcHMsXG4gICAgICAgIGlubGluZVNvdXJjZXM6IHNvdXJjZW1hcHMsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29weUZvbGRlckNvbnRlbnRzKFxuICAgICAgICBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCIuL2xpYi9janNcIiksXG4gICAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBvdXRwdXQpXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHNjcmlwdHMgPSB7XG4gICAgICBzdGFydDogZ2V0Q29udHJhY3RTdGFydENvbW1hbmQoZGVidWcsIGNjYWFzKSxcbiAgICAgIFwic3RhcnQ6ZGV2XCI6IFwiZmFicmljLWNoYWluY29kZS1ub2RlIHN0YXJ0IC0tdGxzLmVuYWJsZWQgZmFsc2VcIixcbiAgICAgIFwic3RhcnQ6d2F0Y2hcIjogJ25vZGVtb24gLS1leGVjIFwibnBtIHJ1biBzdGFydDpkZXZcIicsXG4gICAgICBidWlsZDogJ2VjaG8gXCJObyBuZWVkIHRvIGJ1aWxkIHRoZSBjaGFpbmNvZGVcIicsXG4gICAgICBsaW50OiBcImVzbGludCAuIC0tZml4IC0tZXh0IC5qc1wiLFxuICAgIH07XG5cbiAgICBjb25zdCBjb250cmFjdFBhY2thZ2UgPSBwa2c7XG4gICAgY29uc3QgY29udHJhY3RQYWNrYWdlTG9jayA9IHBrZ0xvY2s7XG5cbiAgICBjb250cmFjdFBhY2thZ2UubmFtZSA9IG5hbWU7XG4gICAgY29udHJhY3RQYWNrYWdlLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgY29udHJhY3RQYWNrYWdlLnNjcmlwdHMgPSBzY3JpcHRzO1xuXG4gICAgZGVsZXRlIGNvbnRyYWN0UGFja2FnZS50eXBlO1xuICAgIGRlbGV0ZSBjb250cmFjdFBhY2thZ2UudHlwZXM7XG4gICAgZGVsZXRlIGNvbnRyYWN0UGFja2FnZS5leHBvcnRzO1xuICAgIGNvbnRyYWN0UGFja2FnZS5tYWluID0gYnVuZGxlXG4gICAgICA/IGAke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgXG4gICAgICA6IGAke3JlbW92ZVNyY0Zyb21QYXRoKGlucHV0KX0vJHtmcm9tTGliID8gXCJpbmRleC5janNcIiA6IFwiaW5kZXguanNcIn1gO1xuXG4gICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgIHBhdGguam9pbihvdXRwdXQsIFwicGFja2FnZS5qc29uXCIpLFxuICAgICAgSlNPTi5zdHJpbmdpZnkoY29udHJhY3RQYWNrYWdlKVxuICAgICk7XG5cbiAgICBmcy53cml0ZUZpbGVTeW5jKFxuICAgICAgcGF0aC5qb2luKG91dHB1dCwgXCJwYWNrYWdlLWxvY2suanNvblwiKSxcbiAgICAgIEpTT04uc3RyaW5naWZ5KGNvbnRyYWN0UGFja2FnZUxvY2spXG4gICAgKTtcblxuICAgIGlmIChucG1yYyAmJiBucG1yY0NvbnRlbnQpXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXQsIFwiLm5wbXJjXCIpLCBucG1yY0NvbnRlbnQpO1xuXG4gICAgbG9nLmluZm8oYEluc3RhbGxpbmcgYW5kIHNocmlua3dyYXBwaW5nIGRlcGVuZGVuY2llc2ApO1xuICAgIGV4ZWNTeW5jKGBucG0gaW5zdGFsbGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgZXhlY1N5bmMoYG5wbSBzaHJpbmt3cmFwYCwgeyBjd2Q6IG91dHB1dCB9KTtcbiAgICBleGVjU3luYyhcInJtIC1yZiBub2RlX21vZHVsZXNcIiwgeyBjd2Q6IG91dHB1dCB9KTtcbiAgICBsb2cuaW5mbyhgZGVsZXRpbmcgdGVtcCBmb2xkZXJzYCk7XG4gICAgZXhlY1N5bmMoYHJtIC1yZiAuL2xpYiAmJiBybSAtcmYgLi9kaXN0YCwgeyBjd2Q6IG91dHB1dCB9KTtcbiAgICBsb2cuaW5mbyhcbiAgICAgIGBDb250cmFjdCAke25hbWV9IGNvbXBpbGVkIHN1Y2Nlc3NmdWxseSEgaW4gJHtwYXRoLnJlc29sdmUob3V0cHV0KX1gXG4gICAgKTtcbiAgICBpZiAoZGV2KSB7XG4gICAgICBsb2cuaW5mbyhgZGV2IG1vZGUgZW5hYmxlZC4gaW5zdGFsbGluZyBkZXBlbmRlbmNpZXMgZm9yIGRlYnVnZ2luZ2ApO1xuICAgICAgZXhlY1N5bmMoYG5wbSBpbnN0YWxsYCwge1xuICAgICAgICBjd2Q6IG91dHB1dCxcbiAgICAgICAgZW52OiB7IC4uLnByb2Nlc3MuZW52LCBOT0RFX0VOVjogXCJwcm9kdWN0aW9uXCIgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG5cbmNvbnN0IGV4dHJhY3RJbmRleGVzID0gbmV3IENvbW1hbmQoKVxuICAuY29tbWFuZChcImV4dHJhY3QtaW5kZXhlc1wiKVxuICAub3B0aW9uKFwiLS1maWxlIFtTdHJpbmddXCIsIFwidGhlIG1vZGVsIGZpbGVcIilcbiAgLm9wdGlvbihcIi0tZm9sZGVyIFtTdHJpbmddXCIsIFwidGhlIG1vZGVsIGZvbGRlclwiKVxuICAub3B0aW9uKFwiLS1vdXREaXIgPFN0cmluZz5cIiwgXCJ0aGUgb3V0ZGlyLiBzaG91bGQgbWF0Y2ggeW91ciBjb250cmFjdCBmb2xkZXJcIilcbiAgLmRlc2NyaXB0aW9uKFxuICAgIFwiQ3JlYXRlcyBhIHRoZSBKU09OIGluZGV4IGZpbGVzIHRvIGJlIHN1Ym1pdHRlZCB0byBhbG9uZyB3aXRoIHRoZSBjb250cmFjdFwiXG4gIClcbiAgLmFjdGlvbihhc3luYyAob3B0aW9uczogYW55KSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShcbiAgICAgIGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLmpzb25cIiksIFwidXRmLThcIilcbiAgICApO1xuXG4gICAgY29uc3QgdmVyc2lvbiA9IHBrZy52ZXJzaW9uO1xuXG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImV4dHJhY3QtaW5kZXhlc1wiKTtcbiAgICBsb2cuZGVidWcoXG4gICAgICBgcnVubmluZyB3aXRoIG9wdGlvbnM6ICR7SlNPTi5zdHJpbmdpZnkob3B0aW9ucyl9IGZvciAke3BrZy5uYW1lfSB2ZXJzaW9uICR7dmVyc2lvbn1gXG4gICAgKTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBsZXQgeyBmaWxlLCBmb2xkZXIsIG91dERpciB9ID0gb3B0aW9ucztcblxuICAgIGNvbnN0IG1vZGVsczogYW55W10gPSBbXTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgbW9kZWxzLnB1c2goLi4ucmVhZE1vZGVsRmlsZShmaWxlKSk7XG4gICAgfVxuXG4gICAgaWYgKGZvbGRlcikge1xuICAgICAgbG9nLmluZm8oYExvYWRpbmcgbW9kZWxzIGZyb20gJHtmb2xkZXJ9Li4uYCk7XG4gICAgICBtb2RlbHMucHVzaCguLi4oYXdhaXQgcmVhZE1vZGVsRm9sZGVycyhmb2xkZXIpKSk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgIGNvbnN0IGRlc2lnbkRvY3M6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuICAgIGlmICghZmlsZSAmJiAhZm9sZGVyKVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE11c3QgcGFzcyBhIGZpbGUgb3IgYSBmb2xkZXJgKTtcblxuICAgIGZvciAoY29uc3QgbSBvZiBtb2RlbHMpIHtcbiAgICAgIGxvZy52ZXJib3NlKGBFeHRyYWN0aW5nIGluZGV4ZXMgZm9yIHRhYmxlICR7TW9kZWwudGFibGVOYW1lKG0pfWApO1xuICAgICAgY29uc3QgaW5kZXhlcyA9IGdlbmVyYXRlTW9kZWxJbmRleGVzKG0sIGxvZyk7XG4gICAgICBpbmRleGVzLmZvckVhY2goKGluZGV4KSA9PiB7XG4gICAgICAgIGlmIChpbmRleC5uYW1lKSB7XG4gICAgICAgICAgcmVzdWx0W2luZGV4Lm5hbWVdID0gaW5kZXg7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgZ2VuZXJhdGVNb2RlbERlc2lnbkRvY3MobSwgZGVzaWduRG9jcyk7XG4gICAgfVxuICAgIGNvbnN0IGluZGV4ZXNUb1dyaXRlID0gT2JqZWN0LnZhbHVlcyhyZXN1bHQpO1xuICAgIGNvbnN0IGRvY3NUb1dyaXRlID0gT2JqZWN0LnZhbHVlcyhkZXNpZ25Eb2NzKTtcbiAgICBsb2cudmVyYm9zZShgRm91bmQgJHtpbmRleGVzVG9Xcml0ZS5sZW5ndGh9IGluZGV4ZXMgdG8gY3JlYXRlYCk7XG4gICAgbG9nLnZlcmJvc2UoYEZvdW5kICR7ZG9jc1RvV3JpdGUubGVuZ3RofSBkZXNpZ24gZG9jcyB0byBjcmVhdGVgKTtcbiAgICBsb2cuZGVidWcoYEluZGV4ZXM6ICR7SlNPTi5zdHJpbmdpZnkocmVzdWx0KX1gKTtcbiAgICBsb2cuZGVidWcoYERlc2lnbkRvY3M6ICR7SlNPTi5zdHJpbmdpZnkoZGVzaWduRG9jcyl9YCk7XG4gICAgd3JpdGVJbmRleGVzKGluZGV4ZXNUb1dyaXRlLCBvdXREaXIpO1xuICAgIHdyaXRlRGVzaWduRG9jcyhkb2NzVG9Xcml0ZSwgb3V0RGlyKTtcbiAgfSk7XG5cbmNvbnN0IGV4dHJhY3RDb2xsZWN0aW9ucyA9IG5ldyBDb21tYW5kKClcbiAgLmNvbW1hbmQoXCJleHRyYWN0LWNvbGxlY3Rpb25zXCIpXG4gIC5vcHRpb24oXCItLWZpbGUgW1N0cmluZ11cIiwgXCJ0aGUgbW9kZWwgZmlsZVwiKVxuICAub3B0aW9uKFwiLS1mb2xkZXIgW1N0cmluZ11cIiwgXCJ0aGUgbW9kZWwgZm9sZGVyXCIpXG4gIC5vcHRpb24oXCItLW91dERpciA8U3RyaW5nPlwiLCBcInRoZSBvdXRkaXIuIHNob3VsZCBtYXRjaCB5b3VyIGNvbnRyYWN0IGZvbGRlclwiKVxuICAub3B0aW9uKFwiLS1tc3BJZHMgPFN0cmluZz5cIiwgXCJzaW5nbGUgbXNwSWQgb3Igc3RyaW5naWZpZWQgYXJyYXlcIilcbiAgLm9wdGlvbihcIi0tbWFpbk1zcElkIDxTdHJpbmc+XCIsIFwic2luZ2xlIG1zcElkXCIpXG4gIC5vcHRpb24oXG4gICAgXCItLW92ZXJyaWRlcyBbU3RyaW5nXVwiLFxuICAgIFwic3RyaW5naWZpZWQgb3ZlcnJpZGUgb2JqZWN0IHtyZXF1aXJlZFBlZXJDb3VudDogbnVtYmVyLCBtYXhQZWVyQ291bnQ6IG51bWJlciwgYmxvY2tUb0xpdmU6IG51bWJlciwgbWVtYmVyT25seVJlYWQ6IG51bWJlciwgbWVtYmVyT25seVdyaXRlOiBudW1iZXIsIGVuZG9yc2VtZW50UG9saWN5OiAge319XCJcbiAgKVxuICAuZGVzY3JpcHRpb24oXG4gICAgXCJDcmVhdGVzIGEgdGhlIEpTT04gaW5kZXggZmlsZXMgdG8gYmUgc3VibWl0dGVkIHRvIGFsb25nIHdpdGggdGhlIGNvbnRyYWN0XCJcbiAgKVxuICAuYWN0aW9uKGFzeW5jIChvcHRpb25zOiBhbnkpID0+IHtcbiAgICBjb25zdCBwa2cgPSBKU09OLnBhcnNlKFxuICAgICAgZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UuanNvblwiKSwgXCJ1dGYtOFwiKVxuICAgICk7XG5cbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG5cbiAgICBjb25zdCBsb2cgPSBsb2dnZXIuZm9yKFwiZXh0cmFjdC1jb2xsZWN0aW9uc1wiKTtcbiAgICBsb2cuZGVidWcoXG4gICAgICBgcnVubmluZyB3aXRoIG9wdGlvbnM6ICR7SlNPTi5zdHJpbmdpZnkob3B0aW9ucyl9IGZvciAke3BrZy5uYW1lfSB2ZXJzaW9uICR7dmVyc2lvbn1gXG4gICAgKTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBsZXQgeyBmaWxlLCBmb2xkZXIsIG91dERpciwgbXNwSWRzLCBtYWluTXNwSWQgfSA9IG9wdGlvbnM7XG5cbiAgICB0cnkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgbXNwSWRzID0gbXNwSWRzID8gSlNPTi5wYXJzZShtc3BJZHMpIDogdW5kZWZpbmVkO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgIC8vICBkbyBub3RoaW5nXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IFNlcmlhbGl6YXRpb25FcnJvcihgVW5hYmxlIHRvIGV4dHJhY3QgbXNwaWRzOiAgJHtlfWApO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZGVsczogYW55W10gPSBbXTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgbW9kZWxzLnB1c2goLi4ucmVhZE1vZGVsRmlsZShmaWxlKSk7XG4gICAgfVxuXG4gICAgaWYgKGZvbGRlcikge1xuICAgICAgbG9nLmluZm8oYExvYWRpbmcgbW9kZWxzIGZyb20gJHtmb2xkZXJ9Li4uYCk7XG4gICAgICBtb2RlbHMucHVzaCguLi4oYXdhaXQgcmVhZE1vZGVsRm9sZGVycyhmb2xkZXIpKSk7XG4gICAgfVxuXG4gICAgaWYgKCFmaWxlICYmICFmb2xkZXIpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTXVzdCBwYXNzIGEgZmlsZSBvciBhIGZvbGRlcmApO1xuXG4gICAgY29uc3QgaW5qZWN0YWJsZU1vZGVscyA9IG1vZGVscy5maWx0ZXIoXG4gICAgICAobW9kZWwpID0+XG4gICAgICAgIE1vZGVsLmlzU2hhcmVkKG1vZGVsKSB8fFxuICAgICAgICBNb2RlbC5pc1ByaXZhdGUobW9kZWwpIHx8XG4gICAgICAgICEhTW9kZWwubWlycm9yZWRBdChtb2RlbClcbiAgICApO1xuICAgIGlmICghaW5qZWN0YWJsZU1vZGVscy5sZW5ndGgpIHtcbiAgICAgIGxvZy5pbmZvKFxuICAgICAgICBgTm8gc2hhcmVkLCBwcml2YXRlLCBvciBtaXJyb3JlZCBtb2RlbHMgZm91bmQgdG8gZXh0cmFjdCBjb2xsZWN0aW9uc2BcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXN5bmMgZnVuY3Rpb24gZ2V0Q29scyhtc3BJZHNMaXN0Pzogc3RyaW5nW10pIHtcbiAgICAgIGNvbnN0IGNvbHM6IHtcbiAgICAgICAgaW5kZXhlczogQ3JlYXRlSW5kZXhSZXF1ZXN0W107XG4gICAgICAgIGRlc2lnbkRvY3M6IENvdWNoREJEZXNpZ25Eb2NbXTtcbiAgICAgICAgbWlycm9yPzogUHJpdmF0ZUNvbGxlY3Rpb247XG4gICAgICAgIGNvbGxlY3Rpb25zOiBQcml2YXRlQ29sbGVjdGlvbltdO1xuICAgICAgfVtdID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIGluamVjdGFibGVNb2RlbHMubWFwKGFzeW5jIChjbGF6eikgPT4ge1xuICAgICAgICAgIGNvbnN0IHRhYmxlTmFtZSA9IE1vZGVsLnRhYmxlTmFtZShjbGF6eik7XG4gICAgICAgICAgY29uc3QgbWlycm9yTWV0YSA9IE1vZGVsLm1pcnJvcmVkQXQoY2xhenopO1xuXG4gICAgICAgICAgY29uc29sZS5sb2codGFibGVOYW1lKTtcbiAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgICAgIGZvciAoY29uc3QgbXNwIG9mIG1zcElkc0xpc3QgfHwgbXNwSWRzIHx8IFtdKSB7XG4gICAgICAgICAgICBjb2xsZWN0aW9uc1ttc3BdID0gYXdhaXQgZXhDb2xsZWN0aW9ucyhcbiAgICAgICAgICAgICAgY2xhenosXG4gICAgICAgICAgICAgIFttc3AsIG1haW5Nc3BJZF0sXG4gICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAvLyB7XG4gICAgICAgICAgICAgIC8vICAgc2hhcmVkQ29sczogT2JqZWN0LmFzc2lnbih7fSwgb3ZlcnJpZGVzLnNoYXJlZENvbHMpLFxuICAgICAgICAgICAgICAvLyAgIHByaXZhdGVDb2xzOiBPYmplY3QuYXNzaWduKHt9LCBvdmVycmlkZXMucHJpdmF0ZUNvbHMpLFxuICAgICAgICAgICAgICAvLyB9LFxuICAgICAgICAgICAgICAhIW1pcnJvck1ldGFcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGV0IG1pcnJvckNvbGxlY3Rpb246IFByaXZhdGVDb2xsZWN0aW9uIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgICAgICAgaWYgKG1pcnJvck1ldGEpIHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb25zW21haW5Nc3BJZF0gPSBjb2xsZWN0aW9uc1ttYWluTXNwSWRdIHx8IHt9O1xuICAgICAgICAgICAgT2JqZWN0LmtleXMoY29sbGVjdGlvbnMpLmZvckVhY2goKG1zcDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25zW21haW5Nc3BJZF0ucHJpdmF0ZXMgPSBjb2xsZWN0aW9uc1tcbiAgICAgICAgICAgICAgICBtc3BcbiAgICAgICAgICAgICAgXS5wcml2YXRlcz8uZmlsdGVyKChwOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocC5uYW1lICE9PSAobWlycm9yTWV0YS5yZXNvbHZlciBhcyBzdHJpbmcpKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICBtaXJyb3JDb2xsZWN0aW9uID0gcCBhcyBhbnk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHByaXZhdGVzQ291bnQgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25zKVxuICAgICAgICAgICAgLm1hcCgoYykgPT4gYy5wcml2YXRlcylcbiAgICAgICAgICAgIC5mbGF0KCkubGVuZ3RoO1xuICAgICAgICAgIGlmIChwcml2YXRlc0NvdW50KVxuICAgICAgICAgICAgbG9nXG4gICAgICAgICAgICAgIC5mb3IoTW9kZWwudGFibGVOYW1lKGNsYXp6KSlcbiAgICAgICAgICAgICAgLmluZm8oYEZvdW5kICR7cHJpdmF0ZXNDb3VudH0gcHJpdmF0ZSBjb2xsZWN0aW9ucyB0byBjcmVhdGVgKTtcbiAgICAgICAgICBjb25zdCBzaGFyZWRDb3VudCA9IE9iamVjdC52YWx1ZXMoY29sbGVjdGlvbnMpXG4gICAgICAgICAgICAubWFwKChjKSA9PiBjLnNoYXJlZClcbiAgICAgICAgICAgIC5mbGF0KCkubGVuZ3RoO1xuXG4gICAgICAgICAgbG9nXG4gICAgICAgICAgICAuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpXG4gICAgICAgICAgICAuaW5mbyhgRm91bmQgJHtzaGFyZWRDb3VudH0gc2hhcmVkIGNvbGxlY3Rpb25zIHRvIGNyZWF0ZWApO1xuICAgICAgICAgIGlmIChtaXJyb3JDb2xsZWN0aW9uKVxuICAgICAgICAgICAgbG9nXG4gICAgICAgICAgICAgIC5mb3IoTW9kZWwudGFibGVOYW1lKGNsYXp6KSlcbiAgICAgICAgICAgICAgLmluZm8oXG4gICAgICAgICAgICAgICAgYEZvdW5kIG9uZSBtaXJyb3IgY29sbGVjdGlvbiAke21pcnJvck1ldGE/LnJlc29sdmVyIGFzIHN0cmluZ31gXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBjb2xMaXN0ID0gT2JqZWN0LnZhbHVlcyhjb2xsZWN0aW9ucylcbiAgICAgICAgICAgIC5tYXAoKGMpID0+IFsuLi4oYy5wcml2YXRlcyB8fCBbXSksIC4uLihjLnNoYXJlZCB8fCBbXSldKVxuICAgICAgICAgICAgLmZsYXQoKTtcbiAgICAgICAgICBsZXQgaW5kZXhlczogQ3JlYXRlSW5kZXhSZXF1ZXN0W10gPSBbXTtcbiAgICAgICAgICBsZXQgZGVzaWduRG9jczogQ291Y2hEQkRlc2lnbkRvY1tdID0gW107XG4gICAgICAgICAgaWYgKGNvbExpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAudmVyYm9zZShgZ2VuZXJhdGluZyBpbmRleGVzIGZvciBjb2xsZWN0aW9uc2ApO1xuICAgICAgICAgICAgaW5kZXhlcyA9IGdlbmVyYXRlTW9kZWxJbmRleGVzKGNsYXp6LCBsb2cuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpKTtcbiAgICAgICAgICAgIGxvZ1xuICAgICAgICAgICAgICAuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpXG4gICAgICAgICAgICAgIC5pbmZvKGBmb3VuZCAke2luZGV4ZXMubGVuZ3RofSBpbmRleGVzYCk7XG4gICAgICAgICAgICBkZXNpZ25Eb2NzID0gZ2VuZXJhdGVNb2RlbERlc2lnbkRvY3MoY2xhenopO1xuICAgICAgICAgICAgbG9nXG4gICAgICAgICAgICAgIC5mb3IoTW9kZWwudGFibGVOYW1lKGNsYXp6KSlcbiAgICAgICAgICAgICAgLmluZm8oYGZvdW5kICR7ZGVzaWduRG9jcy5sZW5ndGh9IGRlc2lnbiBkb2NzYCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgICAgZGVzaWduRG9jcyxcbiAgICAgICAgICAgIGNvbGxlY3Rpb25zOiBjb2xMaXN0LFxuICAgICAgICAgICAgbWlycm9yOiBtaXJyb3JDb2xsZWN0aW9uLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgcmV0dXJuIGNvbHM7XG4gICAgfVxuXG4gICAgY29uc3QgY29scyA9IGF3YWl0IGdldENvbHMoKTtcbiAgICBjb25zdCBvbmx5TWlycm9yID0gYXdhaXQgZ2V0Q29scyhbbWFpbk1zcElkXSk7XG5cbiAgICBjb25zdCBjb2xsZWN0aW9uc1RvID0gW1xuICAgICAgLi4ub25seU1pcnJvci5maWx0ZXIoKGMpID0+IGMubWlycm9yKS5tYXAoKGMpID0+IGMubWlycm9yKSxcbiAgICAgIC4uLmNvbHMubWFwKChjKSA9PiBjLmNvbGxlY3Rpb25zKS5mbGF0KCksXG4gICAgICAuLi5jb2xzLmZpbHRlcigoYykgPT4gYy5taXJyb3IpLm1hcCgoYykgPT4gYy5taXJyb3IpLFxuICAgIF0gYXMgUHJpdmF0ZUNvbGxlY3Rpb25bXTtcblxuICAgIGNvbnN0IHVuaXF1ZUJ5Q29sbGVjdGlvbiA9IFtcbiAgICAgIC4uLm5ldyBNYXAoXG4gICAgICAgIGNvbGxlY3Rpb25zVG8ubWFwKChpdGVtOiBQcml2YXRlQ29sbGVjdGlvbikgPT4gW2l0ZW0ubmFtZSwgaXRlbV0pXG4gICAgICApLnZhbHVlcygpLFxuICAgIF07XG5cbiAgICBpZiAodW5pcXVlQnlDb2xsZWN0aW9uLmxlbmd0aCkge1xuICAgICAgd3JpdGVDb2xsZWN0aW9ucyh1bmlxdWVCeUNvbGxlY3Rpb24sIG91dERpcik7XG4gICAgICBjb25zdCBtZXRhQ29sbGVjdGlvbnNDb25maWcgPSBwYXRoLmpvaW4oXG4gICAgICAgIG91dERpcixcbiAgICAgICAgXCJNRVRBLUlORlwiLFxuICAgICAgICBcImNvbGxlY3Rpb25zX2NvbmZpZy5qc29uXCJcbiAgICAgICk7XG4gICAgICBjb25zdCBjb250cmFjdENvbGxlY3Rpb25zQ29uZmlnID0gcGF0aC5qb2luKFxuICAgICAgICBvdXREaXIsXG4gICAgICAgIFwiY29sbGVjdGlvbnNfY29uZmlnLmpzb25cIlxuICAgICAgKTtcbiAgICAgIGZzLmNvcHlGaWxlU3luYyhtZXRhQ29sbGVjdGlvbnNDb25maWcsIGNvbnRyYWN0Q29sbGVjdGlvbnNDb25maWcpO1xuICAgICAgbG9nLmluZm8oXG4gICAgICAgIGBTdG9yZWQgJHtjb2xsZWN0aW9uc1RvLmxlbmd0aH0gY29sbGVjdGlvbnMgdG8gJHttZXRhQ29sbGVjdGlvbnNDb25maWd9YFxuICAgICAgKTtcbiAgICAgIGxvZy5pbmZvKFxuICAgICAgICBgQ29waWVkIGNvbGxlY3Rpb25zX2NvbmZpZyB0byAke2NvbnRyYWN0Q29sbGVjdGlvbnNDb25maWd9IGFsb25nc2lkZSB0aGUgcGFja2FnZS5qc29uYFxuICAgICAgKTtcblxuICAgICAgY29scy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgaW5kZXhlcywgZGVzaWduRG9jcywgY29sbGVjdGlvbnMsIG1pcnJvciB9ID0gYztcbiAgICAgICAgY29uc3QgdG9JbmRleDogUHJpdmF0ZUNvbGxlY3Rpb25bXSA9IFsuLi5jb2xsZWN0aW9ucywgbWlycm9yXS5maWx0ZXIoXG4gICAgICAgICAgQm9vbGVhblxuICAgICAgICApIGFzIFByaXZhdGVDb2xsZWN0aW9uW107XG4gICAgICAgIHRvSW5kZXguZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgICAgIHdyaXRlSW5kZXhlcyhpbmRleGVzLCBvdXREaXIsIGkubmFtZSk7XG4gICAgICAgICAgd3JpdGVDb2xsZWN0aW9uRGVzaWduRG9jcyhkZXNpZ25Eb2NzIHx8IFtdLCBvdXREaXIsIGkubmFtZSk7XG4gICAgICAgICAgbG9nLmluZm8oXG4gICAgICAgICAgICBgU3RvcmVkICR7aW5kZXhlcz8ubGVuZ3RoIHx8IDB9IGluZGV4ZXMgYW5kICR7ZGVzaWduRG9jcz8ubGVuZ3RoIHx8IDB9IGRlc2lnbiBkb2NzIHRvIGNvbGxlY3Rpb24gJHtpLm5hbWV9YFxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuY29uc3QgZW5zdXJlSW5mcmEgPSBuZXcgQ29tbWFuZCgpXG4gIC5uYW1lKFwiYXdhaXQtaW5mcmFcIilcbiAgLmRlc2NyaXB0aW9uKFwid2FpdHMgZm9yIHRoZSBpbmZyYXN0cnVjdHVyZSB0byBiZSB1cCBhbmQgcnVubmluZ1wiKVxuICAub3B0aW9uKFxuICAgIFwiLS1jb250YWluZXIgPFN0cmluZz5cIixcbiAgICBcImRvY2tlciBjb250YWluZXIgbmFtZSB0byB0ZXN0ICh1c3VhbGx5IGxhc3QgcGVlcilcIixcbiAgICBcImJvb3Qtb3JnLWMtcGVlci0wXCJcbiAgKVxuICAub3B0aW9uKFwiLS10aW1lb3V0IDxTdHJpbmc+XCIsIFwidGltZW91dCBiZXR3ZWVuIHRlc3RzIGluIG1pbGxpc2Vjb25kc1wiLCBcIjUwMDBcIilcbiAgLm9wdGlvbihcIi0tYXR0ZW1wdHMgPFN0cmluZz5cIiwgXCJudW1iZXIgb2YgYXR0ZW1wdHMgYmVmb3JlIGdpdmluZyB1cFwiLCBcIjEwXCIpXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJhd2FpdC1pbmZyYVwiKTtcbiAgICBsb2cuZGVidWcoXG4gICAgICBgcnVubmluZyB3aXRoIG9wdGlvbnM6ICR7SlNPTi5zdHJpbmdpZnkob3B0aW9ucyl9IGZvciAke3BrZy5uYW1lfSB2ZXJzaW9uICR7dmVyc2lvbn1gXG4gICAgKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgbGV0IHsgY29udGFpbmVyLCB0aW1lb3V0LCBhdHRlbXB0cyB9ID0gb3B0aW9ucztcbiAgICB0aW1lb3V0ID0gcGFyc2VJbnQodGltZW91dCkgfHwgNTAwMDtcbiAgICBhdHRlbXB0cyA9IHBhcnNlSW50KGF0dGVtcHRzKSB8fCAxMDtcblxuICAgIGF3YWl0IGVuc3VyZUluZnJhc3RydWN0dXJlQm9vdGVkKFwiYm9vdC1vcmctYy1wZWVyLTBcIiwgdGltZW91dCwgYXR0ZW1wdHMpO1xuXG4gICAgbG9nLmluZm8oXG4gICAgICBgSW5mcmFzdHJ1Y3R1cmUgYm9vdGVkIHN1Y2Nlc3NmdWxseSAoYWNjb3JkaW5nIHRvIGNvbnRhaW5lciAke2NvbnRhaW5lcn0pIWBcbiAgICApO1xuICB9KTtcblxuY29uc3QgZGVwbG95Q29udHJhY3QgPSBuZXcgQ29tbWFuZCgpXG4gIC5uYW1lKFwiZGVwbG95LWNvbnRyYWN0XCIpXG4gIC5kZXNjcmlwdGlvbihcImRlcGxveXMgdGhlIHNlbGVjdGVkIGNvbnRyYWN0XCIpXG4gIC5vcHRpb24oXCItLW5hbWUgPFN0cmluZz5cIiwgXCJDb250cmFjdCBOYW1lIChhbmQgZm9sZGVyKVwiKVxuICAub3B0aW9uKFwiLS1pbnB1dCA8U3RyaW5nPlwiLCBcImlucHV0IGZvbGRlclwiKVxuICAub3B0aW9uKFxuICAgIFwiLS1jb2xsZWN0aW9ucy1jb25maWcgPFN0cmluZz5cIixcbiAgICBcInBhdGggdG8gY29sbGVjdGlvbnNfY29uZmlnLmpzb24gdG8gY29uZmlndXJlIHByaXZhdGUgY29sbGVjdGlvbnNcIlxuICApXG4gIC5vcHRpb24oXG4gICAgXCItLWluY3JlbWVudFZlcnNpb24gPFN0cmluZz5cIixcbiAgICBcIih0cnVlIHwgZmFsc2UpIGlmIHNob3VsZCB1c2UgdmVyc2lvbiBvciBzZXF1ZW5jZSB0byB1cGRhdGUgY29udHJhY3RzXCIsXG4gICAgZmFsc2VcbiAgKVxuICAub3B0aW9uKFxuICAgIFwiLS10cmFja2VyRm9sZGVyIDxTdHJpbmc+XCIsXG4gICAgXCJjb250cmFjdCB2ZXJzaW9uIHRyYWNrZXIgZm9sZGVyIChzaG91bGQgYmUgZGVsZXRlZCBvbiBpbmZyYXN0cnVjdHVyZTpkb3duKVwiLFxuICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInRlc3RzXCIsIFwiaW50ZWdyYXRpb25cIiwgXCJjaGFpbmNvZGVUcmFja2Vyc1wiKVxuICApXG4gIC5vcHRpb24oXG4gICAgXCItLXBlZXJzIDxTdHJpbmc+XCIsXG4gICAgXCJjb21tYSBzZXBhcmF0ZWQgcGVlciBpZHNcIixcbiAgICBcIm9yZy1hLXBlZXItMCxvcmctYi1wZWVyLTAsb3JnLWMtcGVlci0wXCJcbiAgKVxuICAuYWN0aW9uKGFzeW5jIChvcHRpb25zOiBhbnkpID0+IHtcbiAgICBjb25zdCBwa2cgPSBKU09OLnBhcnNlKFxuICAgICAgZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UuanNvblwiKSwgXCJ1dGYtOFwiKVxuICAgICk7XG5cbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG5cbiAgICBjb25zdCBsb2cgPSBsb2dnZXIuZm9yKFwiZGVwbG95LWNvbnRyYWN0XCIpO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWBcbiAgICApO1xuXG4gICAgY29uc3Qge1xuICAgICAgbmFtZSxcbiAgICAgIGlucHV0LFxuICAgICAgcGVlcnMsXG4gICAgICB0cmFja2VyRm9sZGVyLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgaW5jcmVtZW50VmVyc2lvbixcbiAgICAgIGNvbGxlY3Rpb25zQ29uZmlnLFxuICAgIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IHBlZXJJZHMgPSBwZWVycy5zcGxpdChcIixcIik7XG5cbiAgICBjb25zdCBjb3VudFBhdGggPSBwYXRoLnJlc29sdmUocGF0aC5qb2luKHRyYWNrZXJGb2xkZXIsIGAke25hbWV9LmNvdW50YCkpO1xuXG4gICAgbGV0IHNlcXVlbmNlOiBudW1iZXI7XG5cbiAgICB0cnkge1xuICAgICAgc2VxdWVuY2UgPSBwYXJzZUludChmcy5yZWFkRmlsZVN5bmMoY291bnRQYXRoKS50b1N0cmluZyhcInV0Zi04XCIpKTtcbiAgICAgIGlmIChpc05hTihzZXF1ZW5jZSkpIHNlcXVlbmNlID0gMTtcbiAgICAgIGVsc2Ugc2VxdWVuY2UgKz0gMTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICBzZXF1ZW5jZSA9IDE7XG4gICAgfVxuICAgIC8vXG4gICAgLy8gaWYgKGluY3JlbWVudFZlcnNpb24pIHtcbiAgICAvLyAgIHZlcnNpb24gPSB2ZXJzaW9uICsgYC0ke3NlcXVlbmNlfWA7XG4gICAgLy8gICAvLyBzZXF1ZW5jZSA9IDE7XG4gICAgLy8gfVxuXG4gICAgdHJ5IHtcbiAgICAgIGZvciAoY29uc3QgcGVlciBvZiBwZWVySWRzKSB7XG4gICAgICAgIHBhY2thZ2VDb250cmFjdChwZWVyLCBpbnB1dCwgbmFtZSwgdmVyc2lvbik7XG4gICAgICAgIGluc3RhbGxDb250cmFjdChwZWVyLCBuYW1lKTtcbiAgICAgICAgYXBwcm92ZUNvbnRyYWN0KFxuICAgICAgICAgIHBlZXIsXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBwZWVyID09PSBcIm9yZy1hLXBlZXItMFwiXG4gICAgICAgICAgICA/IFwidGxzLWNhLWNlcnQucGVtXCJcbiAgICAgICAgICAgIDogXCJvcmRlcmVyLXRscy1jYS1jZXJ0LnBlbVwiLFxuICAgICAgICAgIHNlcXVlbmNlLFxuICAgICAgICAgIHZlcnNpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnNDb25maWdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoY291bnRQYXRoLCBzZXF1ZW5jZS50b1N0cmluZygpKTtcbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgbG9nLmVycm9yKFwiRXJyb3IgZGVwbG95aW5nIGNvbnRyYWN0OlwiLCBlcnIpO1xuICAgIH1cbiAgICBjb21taXRDaGFpbmNvZGUobmFtZSwgc2VxdWVuY2UsIHZlcnNpb24sIGNvbGxlY3Rpb25zQ29uZmlnKTtcbiAgfSk7XG5cbmNvbnN0IGdldENyeXB0b01hdGVyaWFsID0gbmV3IENvbW1hbmQoKVxuICAubmFtZShcImdldC1jcnlwdG8tbWF0ZXJpYWxcIilcbiAgLmRlc2NyaXB0aW9uKFwiY29waWVzIHRoZSBjcnlwdG8gbWF0ZXJpYWwgdG8gdGhlIHNlbGVjdGVkIGZvbGRlclwiKVxuICAub3B0aW9uKFwiLS1mb2xkZXIgPFN0cmluZz5cIiwgXCJvdXRwdXQgZm9sZGVyXCIsIFwiZG9ja2VyL2RvY2tlci1kYXRhXCIpXG4gIC5vcHRpb24oXCItLW9yZyBbU3RyaW5nXVwiLCBcInRoZSBvcmcvcGVlciB0byBleHRyYWN0IGZyb21cIiwgXCJvcmctYVwiKVxuICAuYWN0aW9uKGFzeW5jIChvcHRpb25zOiBhbnkpID0+IHtcbiAgICBjb25zdCBwa2cgPSBKU09OLnBhcnNlKFxuICAgICAgZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UuanNvblwiKSwgXCJ1dGYtOFwiKVxuICAgICk7XG5cbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG5cbiAgICBjb25zdCBsb2cgPSBsb2dnZXIuZm9yKFwiZ2V0LWNyeXB0by1tYXRlcmlhbFwiKTtcbiAgICBsb2cuZGVidWcoXG4gICAgICBgcnVubmluZyB3aXRoIG9wdGlvbnM6ICR7SlNPTi5zdHJpbmdpZnkob3B0aW9ucyl9IGZvciAke3BrZy5uYW1lfSB2ZXJzaW9uICR7dmVyc2lvbn1gXG4gICAgKTtcbiAgICBjb25zdCB7IGZvbGRlciwgb3JnIH0gPSBvcHRpb25zO1xuICAgIGV4ZWNTeW5jKGBkb2NrZXIgY3AgJHtvcmd9Oi93ZWF2ZXIvY2xpZW50Ly4gJHtmb2xkZXJ9YCwge1xuICAgICAgY3dkOiBwcm9jZXNzLmN3ZCgpLFxuICAgIH0pO1xuICB9KTtcblxuY29uc3QgZ2V0Q29weVRvUFRQID0gbmV3IENvbW1hbmQoKVxuICAubmFtZShcInByZXBhcmUtcHRwXCIpXG4gIC5kZXNjcmlwdGlvbihcImNvcGllcyBjb250cmFjdCB0byB0aGUgcHRwIGZvbGRlclwiKVxuICAub3B0aW9uKFwiLS1vcmlnaW4tZm9sZGVyIDxTdHJpbmc+XCIsIFwib3JpZ2luIHdvcmtzcGFjZSBmb2xkZXJcIiwgdW5kZWZpbmVkKVxuICAub3B0aW9uKFxuICAgIFwiLS1kZXN0LWZvbGRlciA8U3RyaW5nPlwiLFxuICAgIFwiZm9sZGVyIHRvIHRoZSBkZXN0aW5hdGlvbiB3b3Jrc3BhY2VcIixcbiAgICB1bmRlZmluZWRcbiAgKVxuICAuYWN0aW9uKGFzeW5jIChvcHRpb25zOiBhbnkpID0+IHtcbiAgICBpZiAoIShvcHRpb25zLm9yaWdpbkZvbGRlciAmJiBvcHRpb25zLmRlc3RGb2xkZXIpKSB7XG4gICAgICBsb2dnZXJcbiAgICAgICAgLmZvcihcInByZXBhcmUtcHRwXCIpXG4gICAgICAgIC5lcnJvcihcbiAgICAgICAgICBcIkJvdGggLS1vcmlnaW4tZm9sZGVyIGFuZCAtLWRlc3QtZm9sZGVyIG9wdGlvbnMgYXJlIHJlcXVpcmVkIHRvIHByZXBhcmUtcHRwXCJcbiAgICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjb3B5Rm9sZGVyKHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZykge1xuICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIHRhcmdldCBmb2xkZXJcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldCkpIHtcbiAgICAgICAgZnMucm1TeW5jKHRhcmdldCwge1xuICAgICAgICAgIHJlY3Vyc2l2ZTogdHJ1ZSxcbiAgICAgICAgICBmb3JjZTogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEVuc3VyZSBwYXJlbnQgZXhpc3RzXG4gICAgICBmcy5ta2RpclN5bmMocGF0aC5kaXJuYW1lKHRhcmdldCksIHtcbiAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIENvcHkgZm9sZGVyXG4gICAgICBmcy5jcFN5bmMoc291cmNlLCB0YXJnZXQsIHtcbiAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxuICAgICAgICBmb3JjZTogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zb2xlLmxvZyhgQ29waWVkOiAke3NvdXJjZX0gXG4gICAgICAtPiAke3RhcmdldH1gKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcmlnaW4gPSBwYXRoLnJlc29sdmUob3B0aW9ucy5vcmlnaW5Gb2xkZXIpO1xuICAgIGNvbnN0IGRlc3QgPSBwYXRoLnJlc29sdmUob3B0aW9ucy5kZXN0Rm9sZGVyKTtcblxuICAgIGV4ZWNTeW5jKGBjZCBmb3ItZmFicmljICYmIG5wbSBydW4gYnVpbGRgLCB7XG4gICAgICBjd2Q6IG9yaWdpbixcbiAgICAgIHN0ZGlvOiBcImluaGVyaXRcIixcbiAgICB9KTtcbiAgICBleGVjU3luYyhgY2QgZm9yLWZhYnJpYyAmJiBucG0gcnVuIGJ1aWxkOmNvbnRyYWN0OnNoYXJlZGAsIHtcbiAgICAgIGN3ZDogb3JpZ2luLFxuICAgICAgc3RkaW86IFwiaW5oZXJpdFwiLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc291cmNlTGliID0gcGF0aC5qb2luKG9yaWdpbiwgXCJmb3ItZmFicmljXCIsIFwibGliXCIpO1xuICAgIGNvbnN0IHRhcmdldExpYiA9IHBhdGguam9pbihkZXN0LCBcImluZnJhXCIsIFwiZm9yLWZhYnJpY1wiLCBcImxpYlwiKTtcblxuICAgIGNvcHlGb2xkZXIoc291cmNlTGliLCB0YXJnZXRMaWIpO1xuXG4gICAgY29uc3Qgc291cmNlR2xvYmFsID0gcGF0aC5qb2luKFxuICAgICAgb3JpZ2luLFxuICAgICAgXCJmb3ItZmFicmljXCIsXG4gICAgICBcImRvY2tlclwiLFxuICAgICAgXCJpbmZyYXN0cnVjdHVyZVwiLFxuICAgICAgXCJjaGFpbmNvZGVcIixcbiAgICAgIFwiR2xvYmFsXCJcbiAgICApO1xuXG4gICAgY29uc3QgdGFyZ2V0Q29udHJhY3RzID0gcGF0aC5qb2luKGRlc3QsIFwidG9vbGtpdFwiLCBcImNvbnRyYWN0c1wiKTtcblxuICAgIGZzLm1rZGlyU3luYyh0YXJnZXRDb250cmFjdHMsIHtcbiAgICAgIHJlY3Vyc2l2ZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBmcy5yZWFkZGlyU3luYyhzb3VyY2VHbG9iYWwpKSB7XG4gICAgICBjb25zdCBzb3VyY2VJdGVtID0gcGF0aC5qb2luKHNvdXJjZUdsb2JhbCwgaXRlbSk7XG4gICAgICBjb25zdCB0YXJnZXRJdGVtID0gcGF0aC5qb2luKHRhcmdldENvbnRyYWN0cywgaXRlbSk7XG5cbiAgICAgIC8vIFJlbW92ZSBleGlzdGluZyB0YXJnZXQgaXRlbSBpZiBuZWVkZWRcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldEl0ZW0pKSB7XG4gICAgICAgIGZzLnJtU3luYyh0YXJnZXRJdGVtLCB7XG4gICAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxuICAgICAgICAgIGZvcmNlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnMuY3BTeW5jKHNvdXJjZUl0ZW0sIHRhcmdldEl0ZW0sIHtcbiAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxuICAgICAgICBmb3JjZTogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zb2xlLmxvZyhgQ29waWVkOiAke3NvdXJjZUl0ZW19IFxuICAgICAgLT4gJHt0YXJnZXRJdGVtfWApO1xuICAgIH1cblxuICAgIGV4ZWNTeW5jKGBjZCB0b29sa2l0ICYmIG5wbSBydW4gYnVpbGRgLCB7IGN3ZDogZGVzdCwgc3RkaW86IFwiaW5oZXJpdFwiIH0pO1xuICAgIGV4ZWNTeW5jKGBjZCB0b29sa2l0ICYmIG5wbSBydW4gZG9ja2VyOmJ1aWxkLWNvbnRyYWN0c2AsIHtcbiAgICAgIGN3ZDogZGVzdCxcbiAgICAgIHN0ZGlvOiBcImluaGVyaXRcIixcbiAgICB9KTtcbiAgICBleGVjU3luYyhgY2QgaW5mcmEgJiYgbnBtIHJ1biBidWlsZGAsIHsgY3dkOiBkZXN0LCBzdGRpbzogXCJpbmhlcml0XCIgfSk7XG4gICAgZXhlY1N5bmMoYGNkIGluZnJhICYmIG5wbSBydW4gYnVpbGQ6amVzdDppbWFnZWAsIHtcbiAgICAgIGN3ZDogZGVzdCxcbiAgICAgIHN0ZGlvOiBcImluaGVyaXRcIixcbiAgICB9KTtcbiAgfSk7XG5cbmNvbnN0IGZhYnJpY0NtZCA9IG5ldyBDb21tYW5kKClcbiAgLm5hbWUoXCJmb3ItZmFicmljXCIpXG4gIC5jb21tYW5kKFwiZmFicmljXCIpXG4gIC5kZXNjcmlwdGlvbihcbiAgICBcImV4cG9zZXMgc2V2ZXJhbCBjb21tYW5kcyB0byBoZWxwIG1hbmFnZSB0aGUgZmFicmljIGluZnJhc3RydWN0dXJlXCJcbiAgKTtcblxuZmFicmljQ21kLmFkZENvbW1hbmQoY29tcGlsZUNvbW1hbmQpO1xuZmFicmljQ21kLmFkZENvbW1hbmQoZXh0cmFjdEluZGV4ZXMpO1xuZmFicmljQ21kLmFkZENvbW1hbmQoZW5zdXJlSW5mcmEpO1xuZmFicmljQ21kLmFkZENvbW1hbmQoZGVwbG95Q29udHJhY3QpO1xuZmFicmljQ21kLmFkZENvbW1hbmQoZ2V0Q3J5cHRvTWF0ZXJpYWwpO1xuZmFicmljQ21kLmFkZENvbW1hbmQoZXh0cmFjdENvbGxlY3Rpb25zKTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGdldENvcHlUb1BUUCk7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZhYnJpYygpIHtcbiAgcmV0dXJuIGZhYnJpY0NtZDtcbn1cbiJdfQ==
|
|
719
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNsaS1tb2R1bGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFvc0JBLHlCQUVDO0FBdHNCRCx5Q0FBb0M7QUFDcEMsK0NBQTBEO0FBQzFELGlEQUF5QztBQUN6Qyw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBQ3hCLDZDQUE0RDtBQUM1RCxtQ0FBZ0M7QUFDaEMsOEVBQStDO0FBQy9DLHFFQUEwRDtBQUMxRCw0RUFBNkM7QUFDN0MsMkRBQTRFO0FBQzVFLHdEQUEySjtBQUMzSix5RUFBdUQ7QUFDdkQsaURBQXdMO0FBQ3hMLHVDQUFxQztBQUNyQyw0REFBNEI7QUFDNUIsNERBQWtJO0FBQ2xJLE1BQU0sTUFBTSxHQUFHLGlCQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3JDLFNBQVMsdUJBQXVCO0lBQzVCLE9BQU87UUFDSCxJQUFJLEVBQUUsNEJBQTRCO1FBQ2xDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUTtZQUN0QixJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN2QyxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1lBQ0QsTUFBTSxZQUFZLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxjQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sVUFBVSxHQUFHO2dCQUNmLFlBQVk7Z0JBQ1osR0FBRyxZQUFZLEtBQUs7Z0JBQ3BCLGNBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQzthQUN0QyxDQUFDO1lBQ0YsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxZQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFlBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztvQkFDOUQsT0FBTyxTQUFTLENBQUM7Z0JBQ3JCLENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDO0FBQ0QsU0FBUywwQkFBMEI7SUFDL0IsTUFBTSxlQUFlLEdBQUcsSUFBQSwyQkFBYSxFQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDaEYsT0FBTztRQUNILElBQUksRUFBRSwrQkFBK0I7UUFDckMsU0FBUyxDQUFDLE1BQU07WUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1lBQ0QsSUFBSSxDQUFDO2dCQUNELE9BQU8sZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQyxDQUFDO1lBQ0QsTUFBTSxDQUFDO2dCQUNILE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7UUFDTCxDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUM7QUFDRCxNQUFNLHNCQUFzQixHQUFHLElBQUksR0FBRyxDQUFDO0lBQ25DLGVBQWU7SUFDZiw2QkFBNkI7SUFDN0IscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsaUJBQWlCO0NBQ3BCLENBQUMsQ0FBQztBQUNILFNBQVMsYUFBYSxDQUFDLEVBQUU7SUFDckIsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzdELE9BQU8sNEJBQWMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUNELFNBQVMsMEJBQTBCLENBQUMsRUFBRTtJQUNsQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksY0FBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUM7SUFDaEIsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNoQixJQUFJLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUM7SUFDakIsSUFBSSxhQUFhLENBQUMsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFDRCxTQUFTLHVCQUF1QixDQUFDLEtBQUs7SUFDbEMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLGNBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUNELFNBQVMsc0JBQXNCLENBQUMsVUFBVTtJQUN0QyxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUNsRCxNQUFNLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RCxPQUFPO1lBQ0gsR0FBRyxFQUFFLFVBQVU7WUFDZixRQUFRLEVBQUUsY0FBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7Z0JBQ2hDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNsRCxDQUFDLENBQUMsdUJBQXVCLENBQUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDeEUsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ1YsTUFBTSxVQUFVLEdBQUcsdUJBQXVCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0MsTUFBTSxRQUFRLEdBQUc7WUFDYiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLGlDQUFpQztZQUNqQyx1QkFBdUI7WUFDdkIsMEJBQTBCO1NBQzdCLENBQUM7UUFDRixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDL0MsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUM1QixVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDN0IsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO2dCQUNoQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7Z0JBQ2pDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQztnQkFDdEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDO2dCQUN2QyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxLQUFLLENBQUM7Z0JBQ3JDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxRQUFRLE1BQU0sQ0FBQztnQkFDdEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFFBQVEsV0FBVyxDQUFDO2dCQUMzQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUNELFNBQVMsaUJBQWlCLENBQUMsSUFBSTtJQUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFDRCxTQUFTLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxTQUFTO0lBQzVDLElBQUksQ0FBQyxZQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsWUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3QyxLQUFLLE1BQU0sSUFBSSxJQUFJLFlBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUMzQyxNQUFNLFVBQVUsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QyxNQUFNLFVBQVUsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QyxNQUFNLElBQUksR0FBRyxZQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDckIsa0JBQWtCLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7YUFDSSxDQUFDO1lBQ0YsWUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNMLENBQUM7QUFDTCxDQUFDO0FBQ0QsTUFBTSxjQUFjLEdBQUcsSUFBSSxtQkFBTyxFQUFFO0tBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztLQUN4QixXQUFXLENBQUMsMkJBQTJCLENBQUM7S0FDeEMsTUFBTSxDQUFDLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxLQUFLLENBQUM7S0FDakUsTUFBTSxDQUFDLFNBQVMsRUFBRSxtQ0FBbUMsRUFBRSxLQUFLLENBQUM7S0FDN0QsTUFBTSxDQUFDLFNBQVMsRUFBRSxxREFBcUQsRUFBRSxLQUFLLENBQUM7S0FDL0UsTUFBTSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztLQUM3RCxNQUFNLENBQUMsVUFBVSxFQUFFLDBDQUEwQyxFQUFFLEtBQUssQ0FBQztLQUNyRSxNQUFNLENBQUMsMkJBQTJCLEVBQUUsbUVBQW1FLEVBQUUsaUJBQWlCLENBQUM7S0FDM0gsTUFBTSxDQUFDLHdCQUF3QixFQUFFLHNCQUFzQixFQUFFLGdDQUFnQyxDQUFDO0tBQzFGLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxpQ0FBaUMsRUFBRSxLQUFLLENBQUM7S0FDekUsTUFBTSxDQUFDLGtCQUFrQixFQUFFLDRCQUE0QixFQUFFLGVBQWUsQ0FBQztLQUN6RSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsNkJBQTZCLEVBQUUsYUFBYSxDQUFDO0tBQ3pFLE1BQU0sQ0FBQyxjQUFjLEVBQUUsNENBQTRDLEVBQUUsS0FBSyxDQUFDO0tBQzNFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsd0NBQXdDLEVBQUUsS0FBSyxDQUFDO0tBQ2xFLE1BQU0sQ0FBQyxZQUFZLEVBQUUsaUhBQWlILEVBQUUsS0FBSyxDQUFDO0tBQzlJLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxxR0FBcUcsQ0FBQztLQUMvSSxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQzFCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBRSxDQUFDLFlBQVksQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBRSxDQUFDLFlBQVksQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDcEcsSUFBSSxZQUFZLEdBQUcsU0FBUyxDQUFDO0lBQzdCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFDNUIsSUFBSTtJQUNKLHdDQUF3QztJQUN4QyxHQUFHO0lBQ0gsd0NBQXdDO0lBQ3hDLEtBQUs7SUFDTCx3Q0FBd0M7SUFDeEMsSUFBSTtJQUNKLHdDQUF3QztJQUN4QyxXQUFXLEVBQUUsTUFBTTtJQUNuQix3Q0FBd0M7SUFDeEMsS0FBSztJQUNMLHdDQUF3QztJQUN4QyxpQkFBaUI7SUFDakIsd0NBQXdDO0lBQ3hDLEtBQUs7SUFDTCx3Q0FBd0M7SUFDeEMsTUFBTSxFQUFFLFlBQVk7SUFDcEIsd0NBQXdDO0lBQ3hDLFVBQVU7SUFDVix3Q0FBd0M7SUFDeEMsS0FBSztJQUNMLHdDQUF3QztJQUN4QyxlQUFlO0lBQ2Ysd0NBQXdDO0lBQ3hDLE9BQU8sR0FBRyxHQUFHLE9BQU8sQ0FBQztJQUNyQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDM0MsSUFBSSxDQUFDO1FBQ0QsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLFlBQVksR0FBRyxZQUFFO2lCQUNaLFlBQVksQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUM7aUJBQ3pELFFBQVEsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQ25FLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ25DLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxPQUFPLGNBQWMsQ0FBQyxDQUFDO29CQUN0RSxPQUFPLEVBQUUsQ0FBQztnQkFDZCxDQUFDO2dCQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsWUFBWSxHQUFHLFFBQVEsQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBQztRQUNILEdBQUcsQ0FBQyxJQUFJLENBQUMseURBQXlELENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsR0FBRyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxZQUFZLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDakcsWUFBWSxHQUFHLGNBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxZQUFZO1FBQ2QsQ0FBQyxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzdDLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxHQUFHLENBQUMsSUFBSSxDQUFDLHFEQUFxRCxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLElBQUEsd0JBQVEsRUFBQyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDN0IsSUFBSSxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQixNQUFNLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEcsR0FBRyxDQUFDLElBQUksQ0FBQywwQkFBMEIsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM1QyxNQUFNLGFBQWEsR0FBRyxZQUFFLENBQUMsV0FBVyxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUM7WUFDRCxNQUFNLFVBQVUsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDbEUsTUFBTSxVQUFVLEdBQUcsb0JBQUUsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLG9CQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BFLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQixNQUFNLElBQUksNkJBQWEsQ0FBQyxvQkFBRSxDQUFDLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDakcsQ0FBQztZQUNELE1BQU0sWUFBWSxHQUFHLG9CQUFFLENBQUMsMEJBQTBCLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxvQkFBRSxDQUFDLEdBQUcsRUFBRSxjQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNuSSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sSUFBSSw2QkFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNO3FCQUN0QyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLG9CQUFFLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztxQkFDeEUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDckIsQ0FBQztZQUNELE1BQU0sbUJBQW1CLEdBQUc7Z0JBQ3hCLEdBQUcsWUFBWSxDQUFDLE9BQU87Z0JBQ3ZCLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixNQUFNLEVBQUUsb0JBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTTtnQkFDNUIsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixhQUFhLEVBQUUsS0FBSzthQUN2QixDQUFDO1lBQ0YsTUFBTSxpQkFBaUIsR0FBRyxvQkFBRTtpQkFDdkIsa0JBQWtCLENBQUM7Z0JBQ3BCLEdBQUcsWUFBWTtnQkFDZixPQUFPLEVBQUUsbUJBQW1CO2FBQy9CLEVBQUUsVUFBVSxFQUFFLENBQUMsb0JBQUUsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUM7aUJBQzVDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUNyQixNQUFNLElBQUksNkJBQWEsQ0FBQyxvREFBb0QsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUM5RixDQUFDO1lBQ0QsSUFBQSwyQ0FBNEIsRUFBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztZQUNoRSxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUEsZUFBTSxFQUFDO2dCQUNqQyxLQUFLLEVBQUUsaUJBQWlCO2dCQUN4QixRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDO2dCQUNqRCxTQUFTLEVBQUU7b0JBQ1AsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztpQkFDbkQ7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLDBCQUEwQixFQUFFO29CQUM1Qix1QkFBdUIsRUFBRTtvQkFDekIsSUFBQSxpQ0FBVyxFQUFDO3dCQUNSLFVBQVUsRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7d0JBQ25ELGlCQUFpQixFQUFFLENBQUMsY0FBYyxDQUFDO3dCQUNuQyxXQUFXLEVBQUUsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQzt3QkFDdkQsZ0JBQWdCLEVBQUUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUM7d0JBQzFELGNBQWMsRUFBRSxJQUFJO3FCQUN2QixDQUFDO29CQUNGLElBQUEseUJBQVEsRUFBQzt3QkFDTCxPQUFPLEVBQUUsY0FBYztxQkFDMUIsQ0FBQztvQkFDRixJQUFBLHdCQUFPLEVBQUM7d0JBQ0osaUJBQWlCLEVBQUUsSUFBSTt3QkFDdkIsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQzt3QkFDcEIsTUFBTSxFQUFFLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRTtxQkFDOUQsQ0FBQztpQkFDTDthQUNKLENBQUMsQ0FBQztZQUNILEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLE1BQU0sY0FBYyxJQUFBLHNCQUFZLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdFLE1BQU0sZUFBZSxDQUFDLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLElBQUEsc0JBQVksRUFBQyxJQUFJLENBQUMsS0FBSztnQkFDMUMsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsSUFBSSxFQUFFLEdBQUcsSUFBQSxzQkFBWSxFQUFDLElBQUksQ0FBQyxLQUFLO2dCQUNoQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUs7Z0JBQ3hDLHNCQUFzQixFQUFFLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLEVBQUU7b0JBQzFELE1BQU0sa0JBQWtCLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxjQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7b0JBQ3pGLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7d0JBQy9DLE9BQU8sY0FBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGNBQUk7NkJBQ2pDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUM7NkJBQzNDLEtBQUssQ0FBQyxjQUFJLENBQUMsR0FBRyxDQUFDOzZCQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNwQixDQUFDO29CQUNELE9BQU8sa0JBQWtCLENBQUM7Z0JBQzlCLENBQUM7YUFDSixDQUFDLENBQUM7WUFDSCxNQUFNLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQyxDQUFDO2dCQUNPLENBQUM7WUFDTCxZQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNMLENBQUM7U0FDSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEIsSUFBQSwyQ0FBNEIsRUFBQyxZQUFZLEVBQUU7WUFDdkMsTUFBTSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsb0JBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTTtZQUM1QixXQUFXLEVBQUUsS0FBSztZQUNsQixTQUFTLEVBQUUsVUFBVTtZQUNyQixhQUFhLEVBQUUsVUFBVTtTQUM1QixDQUFDLENBQUM7SUFDUCxDQUFDO1NBQ0ksQ0FBQztRQUNGLGtCQUFrQixDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxFQUFFLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHO1FBQ1osS0FBSyxFQUFFLElBQUEsc0NBQXVCLEVBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUM1QyxXQUFXLEVBQUUsaURBQWlEO1FBQzlELGFBQWEsRUFBRSxvQ0FBb0M7UUFDbkQsS0FBSyxFQUFFLHVDQUF1QztRQUM5QyxJQUFJLEVBQUUsMEJBQTBCO0tBQ25DLENBQUM7SUFDRixNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUM7SUFDNUIsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUM7SUFDcEMsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDNUIsZUFBZSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDMUMsZUFBZSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDbEMsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDO0lBQzVCLE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQztJQUM3QixPQUFPLGVBQWUsQ0FBQyxPQUFPLENBQUM7SUFDL0IsZUFBZSxDQUFDLElBQUksR0FBRyxNQUFNO1FBQ3pCLENBQUMsQ0FBQyxHQUFHLElBQUEsc0JBQVksRUFBQyxJQUFJLENBQUMsS0FBSztRQUM1QixDQUFDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDMUUsWUFBRSxDQUFDLGFBQWEsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDckYsWUFBRSxDQUFDLGFBQWEsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBQzlGLElBQUksS0FBSyxJQUFJLFlBQVk7UUFDckIsWUFBRSxDQUFDLGFBQWEsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNoRSxHQUFHLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDdkQsSUFBQSx3QkFBUSxFQUFDLGFBQWEsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLElBQUEsd0JBQVEsRUFBQyxnQkFBZ0IsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLElBQUEsd0JBQVEsRUFBQyxxQkFBcUIsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNsQyxJQUFBLHdCQUFRLEVBQUMsK0JBQStCLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMzRCxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSw4QkFBOEIsY0FBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0UsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNOLEdBQUcsQ0FBQyxJQUFJLENBQUMseURBQXlELENBQUMsQ0FBQztRQUNwRSxJQUFBLHdCQUFRLEVBQUMsYUFBYSxFQUFFO1lBQ3BCLEdBQUcsRUFBRSxNQUFNO1lBQ1gsR0FBRyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUU7U0FDbEQsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxjQUFjLEdBQUcsSUFBSSxtQkFBTyxFQUFFO0tBQy9CLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztLQUMxQixNQUFNLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUM7S0FDM0MsTUFBTSxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDO0tBQy9DLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSwrQ0FBK0MsQ0FBQztLQUM1RSxXQUFXLENBQUMsMkVBQTJFLENBQUM7S0FDeEYsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQUUsQ0FBQyxZQUFZLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzRixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBQzVCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxQyxHQUFHLENBQUMsS0FBSyxDQUFDLHlCQUF5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLFlBQVksT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNqRyx3Q0FBd0M7SUFDeEMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ3ZDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQixJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUEsd0JBQWEsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1QsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUEsMkJBQWdCLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbEIsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNO1FBQ2hCLE1BQU0sSUFBSSw2QkFBYSxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDNUQsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNyQixHQUFHLENBQUMsT0FBTyxDQUFDLGdDQUFnQyw0QkFBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsSUFBQSwrQkFBb0IsRUFBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3RCLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQy9CLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUEsa0NBQXVCLEVBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLGNBQWMsQ0FBQyxNQUFNLG9CQUFvQixDQUFDLENBQUM7SUFDaEUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLFdBQVcsQ0FBQyxNQUFNLHdCQUF3QixDQUFDLENBQUM7SUFDakUsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RCxJQUFBLHVCQUFZLEVBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLElBQUEsMEJBQWUsRUFBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDLENBQUM7QUFDSCxNQUFNLGtCQUFrQixHQUFHLElBQUksbUJBQU8sRUFBRTtLQUNuQyxPQUFPLENBQUMscUJBQXFCLENBQUM7S0FDOUIsTUFBTSxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDO0tBQzNDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQztLQUMvQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsK0NBQStDLENBQUM7S0FDNUUsTUFBTSxDQUFDLG1CQUFtQixFQUFFLG1DQUFtQyxDQUFDO0tBQ2hFLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxjQUFjLENBQUM7S0FDOUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLDZLQUE2SyxDQUFDO0tBQzdNLFdBQVcsQ0FBQywyRUFBMkUsQ0FBQztLQUN4RixNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQzFCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBRSxDQUFDLFlBQVksQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNGLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFDNUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzlDLEdBQUcsQ0FBQyxLQUFLLENBQUMseUJBQXlCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksWUFBWSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pHLHdDQUF3QztJQUN4QyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUMxRCxJQUFJLENBQUM7UUFDRCxJQUFJLENBQUM7WUFDRCxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDakQsNkRBQTZEO1FBQ2pFLENBQUM7UUFDRCxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1AsY0FBYztRQUNsQixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDUCxNQUFNLElBQUksa0NBQWtCLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQixJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUEsd0JBQWEsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1QsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUEsMkJBQWdCLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTTtRQUNoQixNQUFNLElBQUksNkJBQWEsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQzVELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsNEJBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ25FLDRCQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUN0QixDQUFDLENBQUMsNEJBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsR0FBRyxDQUFDLElBQUksQ0FBQyxxRUFBcUUsQ0FBQyxDQUFDO1FBQ2hGLE9BQU87SUFDWCxDQUFDO0lBQ0QsS0FBSyxVQUFVLE9BQU8sQ0FBQyxVQUFVO1FBQzdCLE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2hFLE1BQU0sU0FBUyxHQUFHLDRCQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sVUFBVSxHQUFHLDRCQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssTUFBTSxHQUFHLElBQUksVUFBVSxJQUFJLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDM0MsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sSUFBQSw2QkFBYSxFQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFO2dCQUNsRSxJQUFJO2dCQUNKLHlEQUF5RDtnQkFDekQsMkRBQTJEO2dCQUMzRCxLQUFLO2dCQUNMLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNsQixDQUFDO1lBQ0QsSUFBSSxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7WUFDakMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDYixXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDdEQsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDckMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO3dCQUN0RSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLFFBQVE7NEJBQzlCLE9BQU8sSUFBSSxDQUFDO3dCQUNoQixnQkFBZ0IsR0FBRyxDQUFDLENBQUM7d0JBQ3JCLE9BQU8sS0FBSyxDQUFDO29CQUNqQixDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztpQkFDM0MsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO2lCQUN0QixJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDbkIsSUFBSSxhQUFhO2dCQUNiLEdBQUc7cUJBQ0UsR0FBRyxDQUFDLDRCQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMzQixJQUFJLENBQUMsU0FBUyxhQUFhLGdDQUFnQyxDQUFDLENBQUM7WUFDdEUsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7aUJBQ3pDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztpQkFDcEIsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ25CLEdBQUc7aUJBQ0UsR0FBRyxDQUFDLDRCQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMzQixJQUFJLENBQUMsU0FBUyxXQUFXLCtCQUErQixDQUFDLENBQUM7WUFDL0QsSUFBSSxnQkFBZ0I7Z0JBQ2hCLEdBQUc7cUJBQ0UsR0FBRyxDQUFDLDRCQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMzQixJQUFJLENBQUMsK0JBQStCLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2lCQUNyQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDeEQsSUFBSSxFQUFFLENBQUM7WUFDWixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDakIsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqQixHQUFHO3FCQUNFLEdBQUcsQ0FBQyw0QkFBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDM0IsT0FBTyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7Z0JBQ25ELE9BQU8sR0FBRyxJQUFBLCtCQUFvQixFQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLDRCQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkUsR0FBRztxQkFDRSxHQUFHLENBQUMsNEJBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzNCLElBQUksQ0FBQyxTQUFTLE9BQU8sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxDQUFDO2dCQUM3QyxVQUFVLEdBQUcsSUFBQSxrQ0FBdUIsRUFBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUMsR0FBRztxQkFDRSxHQUFHLENBQUMsNEJBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzNCLElBQUksQ0FBQyxTQUFTLFVBQVUsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFDRCxPQUFPO2dCQUNILE9BQU87Z0JBQ1AsVUFBVTtnQkFDVixXQUFXLEVBQUUsT0FBTztnQkFDcEIsTUFBTSxFQUFFLGdCQUFnQjthQUMzQixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLE9BQU8sRUFBRSxDQUFDO0lBQzdCLE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUM5QyxNQUFNLGFBQWEsR0FBRztRQUNsQixHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDMUQsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxFQUFFO1FBQ3hDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztLQUN2RCxDQUFDO0lBQ0YsTUFBTSxrQkFBa0IsR0FBRztRQUN2QixHQUFHLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO0tBQ3RFLENBQUM7SUFDRixJQUFJLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVCLElBQUEsMkJBQWdCLEVBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0MsTUFBTSxxQkFBcUIsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUN2RixNQUFNLHlCQUF5QixHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLHlCQUF5QixDQUFDLENBQUM7UUFDL0UsWUFBRSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2xFLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxhQUFhLENBQUMsTUFBTSxtQkFBbUIscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLHlCQUF5Qiw2QkFBNkIsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNmLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdkQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNsQixJQUFBLHVCQUFZLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RDLElBQUEsb0NBQXlCLEVBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1RCxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzFILENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDSCxNQUFNLFdBQVcsR0FBRyxJQUFJLG1CQUFPLEVBQUU7S0FDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQztLQUNuQixXQUFXLENBQUMsbURBQW1ELENBQUM7S0FDaEUsTUFBTSxDQUFDLHNCQUFzQixFQUFFLG1EQUFtRCxFQUFFLG1CQUFtQixDQUFDO0tBQ3hHLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLENBQUM7S0FDN0UsTUFBTSxDQUFDLHFCQUFxQixFQUFFLHFDQUFxQyxFQUFFLElBQUksQ0FBQztLQUMxRSxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQzFCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBRSxDQUFDLFlBQVksQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNGLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFDNUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxHQUFHLENBQUMsS0FBSyxDQUFDLHlCQUF5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLFlBQVksT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNqRyx3Q0FBd0M7SUFDeEMsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQy9DLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3BDLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BDLE1BQU0sSUFBQSx5Q0FBMEIsRUFBQyxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDekUsR0FBRyxDQUFDLElBQUksQ0FBQyw4REFBOEQsU0FBUyxJQUFJLENBQUMsQ0FBQztBQUMxRixDQUFDLENBQUMsQ0FBQztBQUNILE1BQU0sY0FBYyxHQUFHLElBQUksbUJBQU8sRUFBRTtLQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUM7S0FDdkIsV0FBVyxDQUFDLCtCQUErQixDQUFDO0tBQzVDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSw0QkFBNEIsQ0FBQztLQUN2RCxNQUFNLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxDQUFDO0tBQzFDLE1BQU0sQ0FBQywrQkFBK0IsRUFBRSxrRUFBa0UsQ0FBQztLQUMzRyxNQUFNLENBQUMsNkJBQTZCLEVBQUUsc0VBQXNFLEVBQUUsS0FBSyxDQUFDO0tBQ3BILE1BQU0sQ0FBQywwQkFBMEIsRUFBRSw0RUFBNEUsRUFBRSxjQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7S0FDdkwsTUFBTSxDQUFDLGtCQUFrQixFQUFFLDBCQUEwQixFQUFFLHdDQUF3QyxDQUFDO0tBQ2hHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFFLENBQUMsWUFBWSxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0YsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztJQUM1QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDMUMsR0FBRyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxZQUFZLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDakcsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLGFBQWE7SUFDekMsNkRBQTZEO0lBQzdELGdCQUFnQixFQUFFLGlCQUFpQixHQUFHLEdBQUcsT0FBTyxDQUFDO0lBQ2pELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsTUFBTSxTQUFTLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxRSxJQUFJLFFBQVEsQ0FBQztJQUNiLElBQUksQ0FBQztRQUNELFFBQVEsR0FBRyxRQUFRLENBQUMsWUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNsRSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDZixRQUFRLEdBQUcsQ0FBQyxDQUFDOztZQUViLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDbEIsNkRBQTZEO0lBQ2pFLENBQUM7SUFDRCxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1AsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBQ0QsRUFBRTtJQUNGLDBCQUEwQjtJQUMxQix3Q0FBd0M7SUFDeEMscUJBQXFCO0lBQ3JCLElBQUk7SUFDSixJQUFJLENBQUM7UUFDRCxLQUFLLE1BQU0sSUFBSSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLElBQUEsOEJBQWUsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM1QyxJQUFBLDhCQUFlLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzVCLElBQUEsOEJBQWUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksS0FBSyxjQUFjO2dCQUMvQyxDQUFDLENBQUMsaUJBQWlCO2dCQUNuQixDQUFDLENBQUMseUJBQXlCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFDRCxZQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ0QsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNULEdBQUcsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELElBQUEsOEJBQWUsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLG1CQUFPLEVBQUU7S0FDbEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO0tBQzNCLFdBQVcsQ0FBQyxtREFBbUQsQ0FBQztLQUNoRSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixDQUFDO0tBQ2xFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSw4QkFBOEIsRUFBRSxPQUFPLENBQUM7S0FDakUsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQUUsQ0FBQyxZQUFZLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzRixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBQzVCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM5QyxHQUFHLENBQUMsS0FBSyxDQUFDLHlCQUF5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLFlBQVksT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNqRyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNoQyxJQUFBLHdCQUFRLEVBQUMsYUFBYSxHQUFHLHFCQUFxQixNQUFNLEVBQUUsRUFBRTtRQUNwRCxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRTtLQUNyQixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQztBQUNILE1BQU0sWUFBWSxHQUFHLElBQUksbUJBQU8sRUFBRTtLQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDO0tBQ25CLFdBQVcsQ0FBQyxtQ0FBbUMsQ0FBQztLQUNoRCxNQUFNLENBQUMsMEJBQTBCLEVBQUUseUJBQXlCLEVBQUUsU0FBUyxDQUFDO0tBQ3hFLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxxQ0FBcUMsRUFBRSxTQUFTLENBQUM7S0FDbEYsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMxQixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ2hELE1BQU07YUFDRCxHQUFHLENBQUMsYUFBYSxDQUFDO2FBQ2xCLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDO1FBQ3pGLE9BQU87SUFDWCxDQUFDO0lBQ0QsU0FBUyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU07UUFDOUIsZ0NBQWdDO1FBQ2hDLElBQUksWUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3hCLFlBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUNkLFNBQVMsRUFBRSxJQUFJO2dCQUNmLEtBQUssRUFBRSxJQUFJO2FBQ2QsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELHVCQUF1QjtRQUN2QixZQUFFLENBQUMsU0FBUyxDQUFDLGNBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDL0IsU0FBUyxFQUFFLElBQUk7U0FDbEIsQ0FBQyxDQUFDO1FBQ0gsY0FBYztRQUNkLFlBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUN0QixTQUFTLEVBQUUsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLE1BQU07V0FDMUIsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsTUFBTSxJQUFJLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUMsSUFBQSx3QkFBUSxFQUFDLGdDQUFnQyxFQUFFO1FBQ3ZDLEdBQUcsRUFBRSxNQUFNO1FBQ1gsS0FBSyxFQUFFLFNBQVM7S0FDbkIsQ0FBQyxDQUFDO0lBQ0gsSUFBQSx3QkFBUSxFQUFDLGdEQUFnRCxFQUFFO1FBQ3ZELEdBQUcsRUFBRSxNQUFNO1FBQ1gsS0FBSyxFQUFFLFNBQVM7S0FDbkIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxTQUFTLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pELE1BQU0sU0FBUyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsVUFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNqQyxNQUFNLFlBQVksR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN4RyxNQUFNLGVBQWUsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDaEUsWUFBRSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUU7UUFDMUIsU0FBUyxFQUFFLElBQUk7S0FDbEIsQ0FBQyxDQUFDO0lBQ0gsS0FBSyxNQUFNLElBQUksSUFBSSxZQUFFLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDOUMsTUFBTSxVQUFVLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakQsTUFBTSxVQUFVLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsd0NBQXdDO1FBQ3hDLElBQUksWUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzVCLFlBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO2dCQUNsQixTQUFTLEVBQUUsSUFBSTtnQkFDZixLQUFLLEVBQUUsSUFBSTthQUNkLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxZQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUU7WUFDOUIsU0FBUyxFQUFFLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxVQUFVO1dBQzlCLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUEsd0JBQVEsRUFBQyw2QkFBNkIsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDekUsSUFBQSx3QkFBUSxFQUFDLDhDQUE4QyxFQUFFO1FBQ3JELEdBQUcsRUFBRSxJQUFJO1FBQ1QsS0FBSyxFQUFFLFNBQVM7S0FDbkIsQ0FBQyxDQUFDO0lBQ0gsSUFBQSx3QkFBUSxFQUFDLDJCQUEyQixFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN2RSxJQUFBLHdCQUFRLEVBQUMsc0NBQXNDLEVBQUU7UUFDN0MsR0FBRyxFQUFFLElBQUk7UUFDVCxLQUFLLEVBQUUsU0FBUztLQUNuQixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQztBQUNILE1BQU0sU0FBUyxHQUFHLElBQUksbUJBQU8sRUFBRTtLQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDO0tBQ2xCLE9BQU8sQ0FBQyxRQUFRLENBQUM7S0FDakIsV0FBVyxDQUFDLG1FQUFtRSxDQUFDLENBQUM7QUFDdEYsU0FBUyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNyQyxTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3JDLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDbEMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNyQyxTQUFTLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDeEMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3pDLFNBQVMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDbkMsU0FBd0IsTUFBTTtJQUMxQixPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDO0FBQ0QsczQ5RUFBczQ5RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1hbmQgfSBmcm9tIFwiY29tbWFuZGVyXCI7XG5pbXBvcnQgeyBMb2dnaW5nLCB0b1Bhc2NhbENhc2UgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcImNoaWxkX3Byb2Nlc3NcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBidWlsdGluTW9kdWxlcywgY3JlYXRlUmVxdWlyZSB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuaW1wb3J0IHsgcm9sbHVwIH0gZnJvbSBcInJvbGx1cFwiO1xuaW1wb3J0IGNvbW1vbmpzIGZyb20gXCJAcm9sbHVwL3BsdWdpbi1jb21tb25qc1wiO1xuaW1wb3J0IHsgbm9kZVJlc29sdmUgfSBmcm9tIFwiQHJvbGx1cC9wbHVnaW4tbm9kZS1yZXNvbHZlXCI7XG5pbXBvcnQgcmVwbGFjZSBmcm9tIFwiQHJvbGx1cC9wbHVnaW4tcmVwbGFjZVwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciwgU2VyaWFsaXphdGlvbkVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jcywgZ2VuZXJhdGVNb2RlbEluZGV4ZXMsIHJlYWRNb2RlbEZpbGUsIHJlYWRNb2RlbEZvbGRlcnMsIHdyaXRlRGVzaWduRG9jcywgd3JpdGVJbmRleGVzLCB9IGZyb20gXCIuL2NsaWVudC9pbmRleGVzL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IGFwcHJvdmVDb250cmFjdCwgZW5zdXJlSW5mcmFzdHJ1Y3R1cmVCb290ZWQsIGluc3RhbGxDb250cmFjdCwgcGFja2FnZUNvbnRyYWN0LCBjb21taXRDaGFpbmNvZGUsIGdldENvbnRyYWN0U3RhcnRDb21tYW5kLCBjb21waWxlV2l0aFRzY29uZmlnT3ZlcnJpZGVzLCB9IGZyb20gXCIuL2NsaS11dGlscy5qc1wiO1xuaW1wb3J0IFwiLi9zaGFyZWQvb3ZlcnJpZGVzL2luZGV4LmpzXCI7XG5pbXBvcnQgdHMgZnJvbSBcInR5cGVzY3JpcHRcIjtcbmltcG9ydCB7IGV4dHJhY3RDb2xsZWN0aW9ucyBhcyBleENvbGxlY3Rpb25zLCB3cml0ZUNvbGxlY3Rpb25zLCB3cml0ZUNvbGxlY3Rpb25EZXNpZ25Eb2NzLCB9IGZyb20gXCIuL2NsaWVudC9jb2xsZWN0aW9ucy9pbmRleC5qc1wiO1xuY29uc3QgbG9nZ2VyID0gTG9nZ2luZy5mb3IoXCJmYWJyaWNcIik7XG5mdW5jdGlvbiByZXNvbHZlQnVuZGxlZEpzSW1wb3J0cygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiBcInJlc29sdmUtYnVuZGxlZC1qcy1pbXBvcnRzXCIsXG4gICAgICAgIHJlc29sdmVJZChzb3VyY2UsIGltcG9ydGVyKSB7XG4gICAgICAgICAgICBpZiAoIWltcG9ydGVyIHx8ICFzb3VyY2Uuc3RhcnRzV2l0aChcIi5cIikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkUGF0aCA9IHBhdGgucmVzb2x2ZShwYXRoLmRpcm5hbWUoaW1wb3J0ZXIpLCBzb3VyY2UpO1xuICAgICAgICAgICAgY29uc3QgY2FuZGlkYXRlcyA9IFtcbiAgICAgICAgICAgICAgICByZXNvbHZlZFBhdGgsXG4gICAgICAgICAgICAgICAgYCR7cmVzb2x2ZWRQYXRofS5qc2AsXG4gICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc29sdmVkUGF0aCwgXCJpbmRleC5qc1wiKSxcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBjYW5kaWRhdGVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoY2FuZGlkYXRlKSAmJiBmcy5zdGF0U3luYyhjYW5kaWRhdGUpLmlzRmlsZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjYW5kaWRhdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0sXG4gICAgfTtcbn1cbmZ1bmN0aW9uIHJlc29sdmVEZWNhZlBhY2thZ2VJbXBvcnRzKCkge1xuICAgIGNvbnN0IGNvbnRyYWN0UmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiBcInJlc29sdmUtZGVjYWYtcGFja2FnZS1pbXBvcnRzXCIsXG4gICAgICAgIHJlc29sdmVJZChzb3VyY2UpIHtcbiAgICAgICAgICAgIGlmICghc291cmNlLnN0YXJ0c1dpdGgoXCJAZGVjYWYtdHMvXCIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb250cmFjdFJlcXVpcmUucmVzb2x2ZShzb3VyY2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2gge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgIH07XG59XG5jb25zdCBmYWJyaWNQZWVyRGVwZW5kZW5jaWVzID0gbmV3IFNldChbXG4gICAgXCJAZ3JwYy9ncnBjLWpzXCIsXG4gICAgXCJAaHlwZXJsZWRnZXIvZmFicmljLWdhdGV3YXlcIixcbiAgICBcIkBwZWN1bGlhci93ZWJjcnlwdG9cIixcbiAgICBcImZhYnJpYy1jYS1jbGllbnRcIixcbiAgICBcImZhYnJpYy1jb21tb25cIixcbiAgICBcImZhYnJpYy1jb250cmFjdC1hcGlcIixcbiAgICBcImZhYnJpYy1uZXR3b3JrXCIsXG4gICAgXCJmYWJyaWMtc2hpbVwiLFxuICAgIFwiZmFicmljLXNoaW0tYXBpXCIsXG5dKTtcbmZ1bmN0aW9uIGlzTm9kZUJ1aWx0aW4oaWQpIHtcbiAgICBjb25zdCBub3JtYWxpemVkID0gaWQuc3RhcnRzV2l0aChcIm5vZGU6XCIpID8gaWQuc2xpY2UoNSkgOiBpZDtcbiAgICByZXR1cm4gYnVpbHRpbk1vZHVsZXMuaW5jbHVkZXMobm9ybWFsaXplZCk7XG59XG5mdW5jdGlvbiBzaG91bGRCdW5kbGVDb250cmFjdE1vZHVsZShpZCkge1xuICAgIGlmIChpZC5zdGFydHNXaXRoKFwiLlwiKSB8fCBwYXRoLmlzQWJzb2x1dGUoaWQpKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoaWQuc3RhcnRzV2l0aChcIkBkZWNhZi10cy9cIikpXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIGlmIChmYWJyaWNQZWVyRGVwZW5kZW5jaWVzLmhhcyhpZCkpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoaXNOb2RlQnVpbHRpbihpZCkpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZVNpZGVFZmZlY3RQYXRoKGlucHV0KSB7XG4gICAgcmV0dXJuIGlucHV0LnNwbGl0KHBhdGguc2VwKS5qb2luKFwiL1wiKTtcbn1cbmZ1bmN0aW9uIGJ1aWxkU2lkZUVmZmVjdE1hdGNoZXIoZXh0cmFQYXRocykge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRFeHRyYXMgPSBleHRyYVBhdGhzLm1hcCgoZXh0cmFQYXRoKSA9PiB7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVTaWRlRWZmZWN0UGF0aChleHRyYVBhdGgudHJpbSgpKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJhdzogbm9ybWFsaXplZCxcbiAgICAgICAgICAgIHJlc29sdmVkOiBwYXRoLmlzQWJzb2x1dGUoZXh0cmFQYXRoKVxuICAgICAgICAgICAgICAgID8gbm9ybWFsaXplU2lkZUVmZmVjdFBhdGgocGF0aC5yZXNvbHZlKGV4dHJhUGF0aCkpXG4gICAgICAgICAgICAgICAgOiBub3JtYWxpemVTaWRlRWZmZWN0UGF0aChwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgZXh0cmFQYXRoKSksXG4gICAgICAgIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIChpZCkgPT4ge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplU2lkZUVmZmVjdFBhdGgoaWQpO1xuICAgICAgICBjb25zdCBidWlsdElucyA9IFtcbiAgICAgICAgICAgIFwiL3NyYy9jb250cmFjdHMvYm9vdHN0cmFwXCIsXG4gICAgICAgICAgICBcIi9zcmMvY29udHJhY3RzL292ZXJyaWRlc1wiLFxuICAgICAgICAgICAgXCIvc3JjL2NvbnRyYWN0cy9mYWJyaWMtb3ZlcnJpZGVzXCIsXG4gICAgICAgICAgICBcIi9zcmMvc2hhcmVkL292ZXJyaWRlc1wiLFxuICAgICAgICAgICAgXCIvbm9kZV9tb2R1bGVzL0BkZWNhZi10cy9cIixcbiAgICAgICAgXTtcbiAgICAgICAgaWYgKGJ1aWx0SW5zLnNvbWUoKG5lZWRsZSkgPT4gbm9ybWFsaXplZC5pbmNsdWRlcyhuZWVkbGUpKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWRFeHRyYXMuc29tZSgoeyByYXcsIHJlc29sdmVkIH0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiAobm9ybWFsaXplZC5pbmNsdWRlcyhyYXcpIHx8XG4gICAgICAgICAgICAgICAgbm9ybWFsaXplZC5pbmNsdWRlcyhyZXNvbHZlZCkgfHxcbiAgICAgICAgICAgICAgICBub3JtYWxpemVkLmVuZHNXaXRoKGAke3Jhd30uanNgKSB8fFxuICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWQuZW5kc1dpdGgoYCR7cmF3fS5janNgKSB8fFxuICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWQuZW5kc1dpdGgoYCR7cmF3fS9pbmRleC5qc2ApIHx8XG4gICAgICAgICAgICAgICAgbm9ybWFsaXplZC5lbmRzV2l0aChgJHtyYXd9L2luZGV4LmNqc2ApIHx8XG4gICAgICAgICAgICAgICAgbm9ybWFsaXplZC5lbmRzV2l0aChgJHtyZXNvbHZlZH0uanNgKSB8fFxuICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWQuZW5kc1dpdGgoYCR7cmVzb2x2ZWR9LmNqc2ApIHx8XG4gICAgICAgICAgICAgICAgbm9ybWFsaXplZC5lbmRzV2l0aChgJHtyZXNvbHZlZH0vaW5kZXguanNgKSB8fFxuICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWQuZW5kc1dpdGgoYCR7cmVzb2x2ZWR9L2luZGV4LmNqc2ApKTtcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIHJlbW92ZVNyY0Zyb21QYXRoKHBhdGgpIHtcbiAgICByZXR1cm4gcGF0aC5yZXBsYWNlKC9eXFwuXFwvc3JjXFwvLywgXCIuL1wiKTtcbn1cbmZ1bmN0aW9uIGNvcHlGb2xkZXJDb250ZW50cyhzb3VyY2VEaXIsIHRhcmdldERpcikge1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhzb3VyY2VEaXIpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU291cmNlIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdDogJHtzb3VyY2VEaXJ9YCk7XG4gICAgfVxuICAgIGZzLm1rZGlyU3luYyh0YXJnZXREaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBmcy5yZWFkZGlyU3luYyhzb3VyY2VEaXIpKSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZVBhdGggPSBwYXRoLmpvaW4oc291cmNlRGlyLCBpdGVtKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0UGF0aCA9IHBhdGguam9pbih0YXJnZXREaXIsIGl0ZW0pO1xuICAgICAgICBjb25zdCBzdGF0ID0gZnMuc3RhdFN5bmMoc291cmNlUGF0aCk7XG4gICAgICAgIGlmIChzdGF0LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgICAgIGNvcHlGb2xkZXJDb250ZW50cyhzb3VyY2VQYXRoLCB0YXJnZXRQYXRoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGZzLmNvcHlGaWxlU3luYyhzb3VyY2VQYXRoLCB0YXJnZXRQYXRoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmNvbnN0IGNvbXBpbGVDb21tYW5kID0gbmV3IENvbW1hbmQoKVxuICAgIC5uYW1lKFwiY29tcGlsZS1jb250cmFjdFwiKVxuICAgIC5kZXNjcmlwdGlvbihcIkNyZWF0ZXMgYSBnbG9iYWwgY29udHJhY3RcIilcbiAgICAub3B0aW9uKFwiLS1kZXZcIiwgXCJjb21waWxlcyBjb250cmFjdHMgd2l0aG91dCBtaW5pZmljYXRpb25cIiwgZmFsc2UpXG4gICAgLm9wdGlvbihcIi0tZGVidWdcIiwgXCJtYWtlcyBhdHRhY2hpbmcgZGVidWdnZXIgcG9zc2libGVcIiwgZmFsc2UpXG4gICAgLm9wdGlvbihcIi0tY2NhYXNcIiwgXCJBanVzdHMgdGhlIHBhY2thZ2UgY29tbWFuZHMgdG8gYmUgZGVwbG95ZWQgYXMgY2NhYXNcIiwgZmFsc2UpXG4gICAgLm9wdGlvbihcIi0tbmFtZSA8U3RyaW5nPlwiLCBcImNvbnRyYWN0IG5hbWVcIiwgXCJnbG9iYWwtY29udHJhY3RcIilcbiAgICAub3B0aW9uKFwiLS1idW5kbGVcIiwgXCJCdW5kbGVzIHdpdGggcm9sbHVwIGluc3RlYWQgb2YgdXNpbmcgdHNjXCIsIGZhbHNlKVxuICAgIC5vcHRpb24oXCItLXRzLWNvbmZpZy1maWxlIDxzdHJpbmc+XCIsIFwicmVsYXRpdmUgcGF0aCB0byB0aGUgdHMgY29uZmlnIGZpbGUgYmFzZWQgb24gY3dkIG9yIGFic29sdXRlIHBhdGhcIiwgXCIuL3RzY29uZmlnLmpzb25cIilcbiAgICAub3B0aW9uKFwiLS1kZXNjcmlwdGlvbiA8U3RyaW5nPlwiLCBcImNvbnRyYWN0IGRlc2NyaXB0aW9uXCIsIFwiR2xvYmFsIGNvbnRyYWN0IGltcGxlbWVudGF0aW9uXCIpXG4gICAgLm9wdGlvbihcIi0tc3RyaXAtY29udHJhY3QtbmFtZVwiLCBcInN0cmlwIGNvbnRyYWN0IG5hbWUgZnJvbSBvdXRwdXRcIiwgZmFsc2UpXG4gICAgLm9wdGlvbihcIi0taW5wdXQgPFN0cmluZz5cIiwgXCJpbnB1dCBmb2xkZXIgZm9yIGNvbnRyYWN0c1wiLCBcImxpYi9jb250cmFjdHNcIilcbiAgICAub3B0aW9uKFwiLS1vdXRwdXQgPFN0cmluZz5cIiwgXCJvdXRwdXQgZm9sZGVyIGZvciBjb250cmFjdHNcIiwgXCIuL2NvbnRyYWN0c1wiKVxuICAgIC5vcHRpb24oXCItLXNvdXJjZW1hcHNcIiwgXCJpbmNsdWRlcyBzb3VyY2VtYXBzIGluIHRoZSBjb21waWxlZCBvdXRwdXRcIiwgZmFsc2UpXG4gICAgLm9wdGlvbihcIi0tbnBtcmNcIiwgXCJpbmNsdWRlcyAubnBtcmMgaW4gdGhlIGNvbXBpbGVkIG91dHB1dFwiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS1mcm9tLWxpYlwiLCBcImluZGljYXRlcyB0aGF0IHRoZSBjb250cmFjdCB0byBkZXBsb3kgaXMgbG9jYXRlZCBpbiB0aGUgbGliIGZvbGRlciBhbmQgbm90IHByZS1jb21waWxlZCBpbiB0aGUgY29udHJhY3RzIGZvbGRlclwiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS1zaWRlLWVmZmVjdC1wYXRocyA8cGF0aHMuLi4+XCIsIFwiYWRkaXRpb25hbCBwYXRocyBvciBwYWNrYWdlIHJvb3RzIHRoYXQgbXVzdCBiZSBwcmVzZXJ2ZWQgYXMgc2lkZS1lZmZlY3RmdWwgZHVyaW5nIGNvbnRyYWN0IGJ1bmRsaW5nXCIpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UuanNvblwiKSwgXCJ1dGYtOFwiKSk7XG4gICAgY29uc3QgcGtnTG9jayA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UtbG9jay5qc29uXCIpLCBcInV0Zi04XCIpKTtcbiAgICBsZXQgbnBtcmNDb250ZW50ID0gdW5kZWZpbmVkO1xuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcbiAgICBsZXQgeyBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgZGV2LCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgZGVidWcsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBuYW1lLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgZGVzY3JpcHRpb24sIG91dHB1dCwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGlucHV0LCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgc3RyaXBDb250cmFjdE5hbWUsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBjY2FhcywgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGJ1bmRsZSwgdHNDb25maWdGaWxlLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgc291cmNlbWFwcywgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIG5wbXJjLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgc2lkZUVmZmVjdFBhdGhzLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgZnJvbUxpYiwgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImNvbXBpbGUtY29udHJhY3RcIik7XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKG5wbXJjKSB7XG4gICAgICAgICAgICBucG1yY0NvbnRlbnQgPSBmc1xuICAgICAgICAgICAgICAgIC5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLm5wbXJjXCIpLCBcInV0Zi04XCIpXG4gICAgICAgICAgICAgICAgLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICBjb25zdCByZXBsYWNlZCA9IG5wbXJjQ29udGVudC5yZXBsYWNlKC9cXCRcXHsoW159XSspXFx9L2csIChfLCB2YXJOYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwcm9jZXNzLmVudlt2YXJOYW1lXTtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFdhcm5pbmc6IEVudmlyb25tZW50IHZhcmlhYmxlIFwiJHt2YXJOYW1lfVwiIGlzIG5vdCBzZXRgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbnBtcmNDb250ZW50ID0gcmVwbGFjZWQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2gge1xuICAgICAgICBsb2cuaW5mbyhgTm8gLm5wbXJjIGZpbGUgZm91bmQsIHNraXBwaW5nIGNvcHlpbmcgLm5wbXJjIHRvIG91dHB1dGApO1xuICAgIH1cbiAgICBsb2cuZGVidWcoYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YCk7XG4gICAgdHNDb25maWdGaWxlID0gcGF0aC5pc0Fic29sdXRlKHRzQ29uZmlnRmlsZSlcbiAgICAgICAgPyB0c0NvbmZpZ0ZpbGVcbiAgICAgICAgOiBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgdHNDb25maWdGaWxlKTtcbiAgICBvdXRwdXQgPSBzdHJpcENvbnRyYWN0TmFtZSA/IG91dHB1dCA6IHBhdGguam9pbihvdXRwdXQsIG5hbWUpO1xuICAgIGxvZy5pbmZvKGBEZWxldGluZyBleGlzdGluZyBvdXRwdXQgZm9sZGVyIChpZiBleGlzdHMpIHVuZGVyICR7b3V0cHV0fWApO1xuICAgIGV4ZWNTeW5jKGBybSAtcmYgJHtvdXRwdXR9YCk7XG4gICAgaWYgKGJ1bmRsZSAmJiAhZnJvbUxpYikge1xuICAgICAgICBjb25zdCBzaWRlRWZmZWN0TWF0Y2hlciA9IGJ1aWxkU2lkZUVmZmVjdE1hdGNoZXIoQXJyYXkuaXNBcnJheShzaWRlRWZmZWN0UGF0aHMpID8gc2lkZUVmZmVjdFBhdGhzIDogW10pO1xuICAgICAgICBsb2cuaW5mbyhgYnVuZGxpbmcgY29udHJhY3QgZnJvbSAke2lucHV0fWApO1xuICAgICAgICBjb25zdCB0ZW1wQnVuZGxlRGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLmNvbnRyYWN0LWJ1bmRsZS1cIikpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRFbnRyeSA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBpbnB1dCwgXCJpbmRleC50c1wiKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZ0ZpbGUgPSB0cy5yZWFkQ29uZmlnRmlsZSh0c0NvbmZpZ0ZpbGUsIHRzLnN5cy5yZWFkRmlsZSk7XG4gICAgICAgICAgICBpZiAoY29uZmlnRmlsZS5lcnJvcikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKHRzLmZsYXR0ZW5EaWFnbm9zdGljTWVzc2FnZVRleHQoY29uZmlnRmlsZS5lcnJvci5tZXNzYWdlVGV4dCwgXCJcXG5cIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcGFyc2VkQ29uZmlnID0gdHMucGFyc2VKc29uQ29uZmlnRmlsZUNvbnRlbnQoY29uZmlnRmlsZS5jb25maWcsIHRzLnN5cywgcGF0aC5kaXJuYW1lKHRzQ29uZmlnRmlsZSksIHVuZGVmaW5lZCwgdHNDb25maWdGaWxlKTtcbiAgICAgICAgICAgIGlmIChwYXJzZWRDb25maWcuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKHBhcnNlZENvbmZpZy5lcnJvcnNcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoZXJyb3IpID0+IHRzLmZsYXR0ZW5EaWFnbm9zdGljTWVzc2FnZVRleHQoZXJyb3IubWVzc2FnZVRleHQsIFwiXFxuXCIpKVxuICAgICAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB0ZW1wQ29tcGlsZXJPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIC4uLnBhcnNlZENvbmZpZy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIG91dERpcjogdGVtcEJ1bmRsZURpcixcbiAgICAgICAgICAgICAgICBtb2R1bGU6IHRzLk1vZHVsZUtpbmQuRVNOZXh0LFxuICAgICAgICAgICAgICAgIGRlY2xhcmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBzb3VyY2VNYXA6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGlubGluZVNvdXJjZXM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGJ1bmRsZWRFbnRyeVBvaW50ID0gdHNcbiAgICAgICAgICAgICAgICAuZ2V0T3V0cHV0RmlsZU5hbWVzKHtcbiAgICAgICAgICAgICAgICAuLi5wYXJzZWRDb25maWcsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdGVtcENvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgICAgIH0sIGlucHV0RW50cnksICF0cy5zeXMudXNlQ2FzZVNlbnNpdGl2ZUZpbGVOYW1lcylcbiAgICAgICAgICAgICAgICAuZmluZCgoZmlsZU5hbWUpID0+IGZpbGVOYW1lLmVuZHNXaXRoKFwiLmpzXCIpKTtcbiAgICAgICAgICAgIGlmICghYnVuZGxlZEVudHJ5UG9pbnQpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIGRldGVybWluZSB0aGUgZW1pdHRlZCBidW5kbGUgZW50cnkgZm9yICR7aW5wdXRFbnRyeX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbXBpbGVXaXRoVHNjb25maWdPdmVycmlkZXModHNDb25maWdGaWxlLCB0ZW1wQ29tcGlsZXJPcHRpb25zKTtcbiAgICAgICAgICAgIGNvbnN0IGJ1bmRsZWRDb250cmFjdCA9IGF3YWl0IHJvbGx1cCh7XG4gICAgICAgICAgICAgICAgaW5wdXQ6IGJ1bmRsZWRFbnRyeVBvaW50LFxuICAgICAgICAgICAgICAgIGV4dGVybmFsOiAoaWQpID0+ICFzaG91bGRCdW5kbGVDb250cmFjdE1vZHVsZShpZCksXG4gICAgICAgICAgICAgICAgdHJlZXNoYWtlOiB7XG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZVNpZGVFZmZlY3RzOiAoaWQpID0+IHNpZGVFZmZlY3RNYXRjaGVyKGlkKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZURlY2FmUGFja2FnZUltcG9ydHMoKSxcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUJ1bmRsZWRKc0ltcG9ydHMoKSxcbiAgICAgICAgICAgICAgICAgICAgbm9kZVJlc29sdmUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uczogW1wiLm1qc1wiLCBcIi5qc1wiLCBcIi5qc29uXCIsIFwiLmNqc1wiLCBcIi50c1wiXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZURpcmVjdG9yaWVzOiBbXCJub2RlX21vZHVsZXNcIl0sXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVQYXRoczogW3BhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIm5vZGVfbW9kdWxlc1wiKV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBvcnRDb25kaXRpb25zOiBbXCJub2RlXCIsIFwiZGVmYXVsdFwiLCBcInJlcXVpcmVcIiwgXCJpbXBvcnRcIl0sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmVmZXJCdWlsdGluczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGNvbW1vbmpzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGU6IC9ub2RlX21vZHVsZXMvLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgcmVwbGFjZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmV2ZW50QXNzaWdubWVudDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGltaXRlcnM6IFtcIlwiLCBcIlwiXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczogeyBcIiMjVkVSU0lPTiMjXCI6IHZlcnNpb24sIFwiIyNQQUNLQUdFIyNcIjogcGtnLm5hbWUgfSxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbG9nLmluZm8oYHdpdGhpbmcgY29udHJhY3QgdG8gJHtvdXRwdXR9IHdpdGggbmFtZSAke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgKTtcbiAgICAgICAgICAgIGF3YWl0IGJ1bmRsZWRDb250cmFjdC53cml0ZSh7XG4gICAgICAgICAgICAgICAgZmlsZTogYCR7b3V0cHV0fS8ke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgLFxuICAgICAgICAgICAgICAgIGZvcm1hdDogXCJ1bWRcIixcbiAgICAgICAgICAgICAgICBuYW1lOiBgJHt0b1Bhc2NhbENhc2UobmFtZSl9LmpzYCxcbiAgICAgICAgICAgICAgICBzb3VyY2VtYXA6IHNvdXJjZW1hcHMgPyBcImlubGluZVwiIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgc291cmNlbWFwUGF0aFRyYW5zZm9ybTogKHJlbGF0aXZlU291cmNlUGF0aCwgc291cmNlbWFwUGF0aCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhYnNvbHV0ZVNvdXJjZVBhdGggPSBwYXRoLnJlc29sdmUocGF0aC5kaXJuYW1lKHNvdXJjZW1hcFBhdGgpLCByZWxhdGl2ZVNvdXJjZVBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYWJzb2x1dGVTb3VyY2VQYXRoLnN0YXJ0c1dpdGgodGVtcEJ1bmRsZURpcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwYXRoLnBvc2l4LmpvaW4oXCIuYnVuZGxlXCIsIHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVsYXRpdmUodGVtcEJ1bmRsZURpciwgYWJzb2x1dGVTb3VyY2VQYXRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdChwYXRoLnNlcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbihcIi9cIikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWxhdGl2ZVNvdXJjZVBhdGg7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYXdhaXQgYnVuZGxlZENvbnRyYWN0LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBmcy5ybVN5bmModGVtcEJ1bmRsZURpciwgeyByZWN1cnNpdmU6IHRydWUsIGZvcmNlOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKCFmcm9tTGliKSB7XG4gICAgICAgIGNvbXBpbGVXaXRoVHNjb25maWdPdmVycmlkZXModHNDb25maWdGaWxlLCB7XG4gICAgICAgICAgICBvdXREaXI6IG91dHB1dCxcbiAgICAgICAgICAgIG1vZHVsZTogdHMuTW9kdWxlS2luZC5FU05leHQsXG4gICAgICAgICAgICBkZWNsYXJhdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBzb3VyY2VNYXA6IHNvdXJjZW1hcHMsXG4gICAgICAgICAgICBpbmxpbmVTb3VyY2VzOiBzb3VyY2VtYXBzLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvcHlGb2xkZXJDb250ZW50cyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCIuL2xpYi9janNcIiksIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBvdXRwdXQpKTtcbiAgICB9XG4gICAgY29uc3Qgc2NyaXB0cyA9IHtcbiAgICAgICAgc3RhcnQ6IGdldENvbnRyYWN0U3RhcnRDb21tYW5kKGRlYnVnLCBjY2FhcyksXG4gICAgICAgIFwic3RhcnQ6ZGV2XCI6IFwiZmFicmljLWNoYWluY29kZS1ub2RlIHN0YXJ0IC0tdGxzLmVuYWJsZWQgZmFsc2VcIixcbiAgICAgICAgXCJzdGFydDp3YXRjaFwiOiAnbm9kZW1vbiAtLWV4ZWMgXCJucG0gcnVuIHN0YXJ0OmRldlwiJyxcbiAgICAgICAgYnVpbGQ6ICdlY2hvIFwiTm8gbmVlZCB0byBidWlsZCB0aGUgY2hhaW5jb2RlXCInLFxuICAgICAgICBsaW50OiBcImVzbGludCAuIC0tZml4IC0tZXh0IC5qc1wiLFxuICAgIH07XG4gICAgY29uc3QgY29udHJhY3RQYWNrYWdlID0gcGtnO1xuICAgIGNvbnN0IGNvbnRyYWN0UGFja2FnZUxvY2sgPSBwa2dMb2NrO1xuICAgIGNvbnRyYWN0UGFja2FnZS5uYW1lID0gbmFtZTtcbiAgICBjb250cmFjdFBhY2thZ2UuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICBjb250cmFjdFBhY2thZ2Uuc2NyaXB0cyA9IHNjcmlwdHM7XG4gICAgZGVsZXRlIGNvbnRyYWN0UGFja2FnZS50eXBlO1xuICAgIGRlbGV0ZSBjb250cmFjdFBhY2thZ2UudHlwZXM7XG4gICAgZGVsZXRlIGNvbnRyYWN0UGFja2FnZS5leHBvcnRzO1xuICAgIGNvbnRyYWN0UGFja2FnZS5tYWluID0gYnVuZGxlXG4gICAgICAgID8gYCR7dG9QYXNjYWxDYXNlKG5hbWUpfS5qc2BcbiAgICAgICAgOiBgJHtyZW1vdmVTcmNGcm9tUGF0aChpbnB1dCl9LyR7ZnJvbUxpYiA/IFwiaW5kZXguY2pzXCIgOiBcImluZGV4LmpzXCJ9YDtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXQsIFwicGFja2FnZS5qc29uXCIpLCBKU09OLnN0cmluZ2lmeShjb250cmFjdFBhY2thZ2UpKTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXQsIFwicGFja2FnZS1sb2NrLmpzb25cIiksIEpTT04uc3RyaW5naWZ5KGNvbnRyYWN0UGFja2FnZUxvY2spKTtcbiAgICBpZiAobnBtcmMgJiYgbnBtcmNDb250ZW50KVxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXQsIFwiLm5wbXJjXCIpLCBucG1yY0NvbnRlbnQpO1xuICAgIGxvZy5pbmZvKGBJbnN0YWxsaW5nIGFuZCBzaHJpbmt3cmFwcGluZyBkZXBlbmRlbmNpZXNgKTtcbiAgICBleGVjU3luYyhgbnBtIGluc3RhbGxgLCB7IGN3ZDogb3V0cHV0IH0pO1xuICAgIGV4ZWNTeW5jKGBucG0gc2hyaW5rd3JhcGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgZXhlY1N5bmMoXCJybSAtcmYgbm9kZV9tb2R1bGVzXCIsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oYGRlbGV0aW5nIHRlbXAgZm9sZGVyc2ApO1xuICAgIGV4ZWNTeW5jKGBybSAtcmYgLi9saWIgJiYgcm0gLXJmIC4vZGlzdGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oYENvbnRyYWN0ICR7bmFtZX0gY29tcGlsZWQgc3VjY2Vzc2Z1bGx5ISBpbiAke3BhdGgucmVzb2x2ZShvdXRwdXQpfWApO1xuICAgIGlmIChkZXYpIHtcbiAgICAgICAgbG9nLmluZm8oYGRldiBtb2RlIGVuYWJsZWQuIGluc3RhbGxpbmcgZGVwZW5kZW5jaWVzIGZvciBkZWJ1Z2dpbmdgKTtcbiAgICAgICAgZXhlY1N5bmMoYG5wbSBpbnN0YWxsYCwge1xuICAgICAgICAgICAgY3dkOiBvdXRwdXQsXG4gICAgICAgICAgICBlbnY6IHsgLi4ucHJvY2Vzcy5lbnYsIE5PREVfRU5WOiBcInByb2R1Y3Rpb25cIiB9LFxuICAgICAgICB9KTtcbiAgICB9XG59KTtcbmNvbnN0IGV4dHJhY3RJbmRleGVzID0gbmV3IENvbW1hbmQoKVxuICAgIC5jb21tYW5kKFwiZXh0cmFjdC1pbmRleGVzXCIpXG4gICAgLm9wdGlvbihcIi0tZmlsZSBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmaWxlXCIpXG4gICAgLm9wdGlvbihcIi0tZm9sZGVyIFtTdHJpbmddXCIsIFwidGhlIG1vZGVsIGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLW91dERpciA8U3RyaW5nPlwiLCBcInRoZSBvdXRkaXIuIHNob3VsZCBtYXRjaCB5b3VyIGNvbnRyYWN0IGZvbGRlclwiKVxuICAgIC5kZXNjcmlwdGlvbihcIkNyZWF0ZXMgYSB0aGUgSlNPTiBpbmRleCBmaWxlcyB0byBiZSBzdWJtaXR0ZWQgdG8gYWxvbmcgd2l0aCB0aGUgY29udHJhY3RcIilcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpKTtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImV4dHJhY3QtaW5kZXhlc1wiKTtcbiAgICBsb2cuZGVidWcoYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCB7IGZpbGUsIGZvbGRlciwgb3V0RGlyIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IG1vZGVscyA9IFtdO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIG1vZGVscy5wdXNoKC4uLnJlYWRNb2RlbEZpbGUoZmlsZSkpO1xuICAgIH1cbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIGxvZy5pbmZvKGBMb2FkaW5nIG1vZGVscyBmcm9tICR7Zm9sZGVyfS4uLmApO1xuICAgICAgICBtb2RlbHMucHVzaCguLi4oYXdhaXQgcmVhZE1vZGVsRm9sZGVycyhmb2xkZXIpKSk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGNvbnN0IGRlc2lnbkRvY3MgPSB7fTtcbiAgICBpZiAoIWZpbGUgJiYgIWZvbGRlcilcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE11c3QgcGFzcyBhIGZpbGUgb3IgYSBmb2xkZXJgKTtcbiAgICBmb3IgKGNvbnN0IG0gb2YgbW9kZWxzKSB7XG4gICAgICAgIGxvZy52ZXJib3NlKGBFeHRyYWN0aW5nIGluZGV4ZXMgZm9yIHRhYmxlICR7TW9kZWwudGFibGVOYW1lKG0pfWApO1xuICAgICAgICBjb25zdCBpbmRleGVzID0gZ2VuZXJhdGVNb2RlbEluZGV4ZXMobSwgbG9nKTtcbiAgICAgICAgaW5kZXhlcy5mb3JFYWNoKChpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4Lm5hbWUpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRbaW5kZXgubmFtZV0gPSBpbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGdlbmVyYXRlTW9kZWxEZXNpZ25Eb2NzKG0sIGRlc2lnbkRvY3MpO1xuICAgIH1cbiAgICBjb25zdCBpbmRleGVzVG9Xcml0ZSA9IE9iamVjdC52YWx1ZXMocmVzdWx0KTtcbiAgICBjb25zdCBkb2NzVG9Xcml0ZSA9IE9iamVjdC52YWx1ZXMoZGVzaWduRG9jcyk7XG4gICAgbG9nLnZlcmJvc2UoYEZvdW5kICR7aW5kZXhlc1RvV3JpdGUubGVuZ3RofSBpbmRleGVzIHRvIGNyZWF0ZWApO1xuICAgIGxvZy52ZXJib3NlKGBGb3VuZCAke2RvY3NUb1dyaXRlLmxlbmd0aH0gZGVzaWduIGRvY3MgdG8gY3JlYXRlYCk7XG4gICAgbG9nLmRlYnVnKGBJbmRleGVzOiAke0pTT04uc3RyaW5naWZ5KHJlc3VsdCl9YCk7XG4gICAgbG9nLmRlYnVnKGBEZXNpZ25Eb2NzOiAke0pTT04uc3RyaW5naWZ5KGRlc2lnbkRvY3MpfWApO1xuICAgIHdyaXRlSW5kZXhlcyhpbmRleGVzVG9Xcml0ZSwgb3V0RGlyKTtcbiAgICB3cml0ZURlc2lnbkRvY3MoZG9jc1RvV3JpdGUsIG91dERpcik7XG59KTtcbmNvbnN0IGV4dHJhY3RDb2xsZWN0aW9ucyA9IG5ldyBDb21tYW5kKClcbiAgICAuY29tbWFuZChcImV4dHJhY3QtY29sbGVjdGlvbnNcIilcbiAgICAub3B0aW9uKFwiLS1maWxlIFtTdHJpbmddXCIsIFwidGhlIG1vZGVsIGZpbGVcIilcbiAgICAub3B0aW9uKFwiLS1mb2xkZXIgW1N0cmluZ11cIiwgXCJ0aGUgbW9kZWwgZm9sZGVyXCIpXG4gICAgLm9wdGlvbihcIi0tb3V0RGlyIDxTdHJpbmc+XCIsIFwidGhlIG91dGRpci4gc2hvdWxkIG1hdGNoIHlvdXIgY29udHJhY3QgZm9sZGVyXCIpXG4gICAgLm9wdGlvbihcIi0tbXNwSWRzIDxTdHJpbmc+XCIsIFwic2luZ2xlIG1zcElkIG9yIHN0cmluZ2lmaWVkIGFycmF5XCIpXG4gICAgLm9wdGlvbihcIi0tbWFpbk1zcElkIDxTdHJpbmc+XCIsIFwic2luZ2xlIG1zcElkXCIpXG4gICAgLm9wdGlvbihcIi0tb3ZlcnJpZGVzIFtTdHJpbmddXCIsIFwic3RyaW5naWZpZWQgb3ZlcnJpZGUgb2JqZWN0IHtyZXF1aXJlZFBlZXJDb3VudDogbnVtYmVyLCBtYXhQZWVyQ291bnQ6IG51bWJlciwgYmxvY2tUb0xpdmU6IG51bWJlciwgbWVtYmVyT25seVJlYWQ6IG51bWJlciwgbWVtYmVyT25seVdyaXRlOiBudW1iZXIsIGVuZG9yc2VtZW50UG9saWN5OiAge319XCIpXG4gICAgLmRlc2NyaXB0aW9uKFwiQ3JlYXRlcyBhIHRoZSBKU09OIGluZGV4IGZpbGVzIHRvIGJlIHN1Ym1pdHRlZCB0byBhbG9uZyB3aXRoIHRoZSBjb250cmFjdFwiKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBwa2cgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLmpzb25cIiksIFwidXRmLThcIikpO1xuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcbiAgICBjb25zdCBsb2cgPSBsb2dnZXIuZm9yKFwiZXh0cmFjdC1jb2xsZWN0aW9uc1wiKTtcbiAgICBsb2cuZGVidWcoYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCB7IGZpbGUsIGZvbGRlciwgb3V0RGlyLCBtc3BJZHMsIG1haW5Nc3BJZCB9ID0gb3B0aW9ucztcbiAgICB0cnkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgbXNwSWRzID0gbXNwSWRzID8gSlNPTi5wYXJzZShtc3BJZHMpIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAvLyAgZG8gbm90aGluZ1xuICAgICAgICB9XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBTZXJpYWxpemF0aW9uRXJyb3IoYFVuYWJsZSB0byBleHRyYWN0IG1zcGlkczogICR7ZX1gKTtcbiAgICB9XG4gICAgY29uc3QgbW9kZWxzID0gW107XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgICAgbW9kZWxzLnB1c2goLi4ucmVhZE1vZGVsRmlsZShmaWxlKSk7XG4gICAgfVxuICAgIGlmIChmb2xkZXIpIHtcbiAgICAgICAgbG9nLmluZm8oYExvYWRpbmcgbW9kZWxzIGZyb20gJHtmb2xkZXJ9Li4uYCk7XG4gICAgICAgIG1vZGVscy5wdXNoKC4uLihhd2FpdCByZWFkTW9kZWxGb2xkZXJzKGZvbGRlcikpKTtcbiAgICB9XG4gICAgaWYgKCFmaWxlICYmICFmb2xkZXIpXG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBNdXN0IHBhc3MgYSBmaWxlIG9yIGEgZm9sZGVyYCk7XG4gICAgY29uc3QgaW5qZWN0YWJsZU1vZGVscyA9IG1vZGVscy5maWx0ZXIoKG1vZGVsKSA9PiBNb2RlbC5pc1NoYXJlZChtb2RlbCkgfHxcbiAgICAgICAgTW9kZWwuaXNQcml2YXRlKG1vZGVsKSB8fFxuICAgICAgICAhIU1vZGVsLm1pcnJvcmVkQXQobW9kZWwpKTtcbiAgICBpZiAoIWluamVjdGFibGVNb2RlbHMubGVuZ3RoKSB7XG4gICAgICAgIGxvZy5pbmZvKGBObyBzaGFyZWQsIHByaXZhdGUsIG9yIG1pcnJvcmVkIG1vZGVscyBmb3VuZCB0byBleHRyYWN0IGNvbGxlY3Rpb25zYCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXN5bmMgZnVuY3Rpb24gZ2V0Q29scyhtc3BJZHNMaXN0KSB7XG4gICAgICAgIGNvbnN0IGNvbHMgPSBhd2FpdCBQcm9taXNlLmFsbChpbmplY3RhYmxlTW9kZWxzLm1hcChhc3luYyAoY2xhenopID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlTmFtZSA9IE1vZGVsLnRhYmxlTmFtZShjbGF6eik7XG4gICAgICAgICAgICBjb25zdCBtaXJyb3JNZXRhID0gTW9kZWwubWlycm9yZWRBdChjbGF6eik7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyh0YWJsZU5hbWUpO1xuICAgICAgICAgICAgY29uc3QgY29sbGVjdGlvbnMgPSB7fTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbXNwIG9mIG1zcElkc0xpc3QgfHwgbXNwSWRzIHx8IFtdKSB7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbnNbbXNwXSA9IGF3YWl0IGV4Q29sbGVjdGlvbnMoY2xhenosIFttc3AsIG1haW5Nc3BJZF0sIHt9LCBcbiAgICAgICAgICAgICAgICAvLyB7XG4gICAgICAgICAgICAgICAgLy8gICBzaGFyZWRDb2xzOiBPYmplY3QuYXNzaWduKHt9LCBvdmVycmlkZXMuc2hhcmVkQ29scyksXG4gICAgICAgICAgICAgICAgLy8gICBwcml2YXRlQ29sczogT2JqZWN0LmFzc2lnbih7fSwgb3ZlcnJpZGVzLnByaXZhdGVDb2xzKSxcbiAgICAgICAgICAgICAgICAvLyB9LFxuICAgICAgICAgICAgICAgICEhbWlycm9yTWV0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgbWlycm9yQ29sbGVjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmIChtaXJyb3JNZXRhKSB7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbnNbbWFpbk1zcElkXSA9IGNvbGxlY3Rpb25zW21haW5Nc3BJZF0gfHwge307XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoY29sbGVjdGlvbnMpLmZvckVhY2goKG1zcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uc1ttYWluTXNwSWRdLnByaXZhdGVzID0gY29sbGVjdGlvbnNbbXNwXS5wcml2YXRlcz8uZmlsdGVyKChwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocC5uYW1lICE9PSBtaXJyb3JNZXRhLnJlc29sdmVyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWlycm9yQ29sbGVjdGlvbiA9IHA7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcHJpdmF0ZXNDb3VudCA9IE9iamVjdC52YWx1ZXMoY29sbGVjdGlvbnMpXG4gICAgICAgICAgICAgICAgLm1hcCgoYykgPT4gYy5wcml2YXRlcylcbiAgICAgICAgICAgICAgICAuZmxhdCgpLmxlbmd0aDtcbiAgICAgICAgICAgIGlmIChwcml2YXRlc0NvdW50KVxuICAgICAgICAgICAgICAgIGxvZ1xuICAgICAgICAgICAgICAgICAgICAuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpXG4gICAgICAgICAgICAgICAgICAgIC5pbmZvKGBGb3VuZCAke3ByaXZhdGVzQ291bnR9IHByaXZhdGUgY29sbGVjdGlvbnMgdG8gY3JlYXRlYCk7XG4gICAgICAgICAgICBjb25zdCBzaGFyZWRDb3VudCA9IE9iamVjdC52YWx1ZXMoY29sbGVjdGlvbnMpXG4gICAgICAgICAgICAgICAgLm1hcCgoYykgPT4gYy5zaGFyZWQpXG4gICAgICAgICAgICAgICAgLmZsYXQoKS5sZW5ndGg7XG4gICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgICAuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpXG4gICAgICAgICAgICAgICAgLmluZm8oYEZvdW5kICR7c2hhcmVkQ291bnR9IHNoYXJlZCBjb2xsZWN0aW9ucyB0byBjcmVhdGVgKTtcbiAgICAgICAgICAgIGlmIChtaXJyb3JDb2xsZWN0aW9uKVxuICAgICAgICAgICAgICAgIGxvZ1xuICAgICAgICAgICAgICAgICAgICAuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpXG4gICAgICAgICAgICAgICAgICAgIC5pbmZvKGBGb3VuZCBvbmUgbWlycm9yIGNvbGxlY3Rpb24gJHttaXJyb3JNZXRhPy5yZXNvbHZlcn1gKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbExpc3QgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25zKVxuICAgICAgICAgICAgICAgIC5tYXAoKGMpID0+IFsuLi4oYy5wcml2YXRlcyB8fCBbXSksIC4uLihjLnNoYXJlZCB8fCBbXSldKVxuICAgICAgICAgICAgICAgIC5mbGF0KCk7XG4gICAgICAgICAgICBsZXQgaW5kZXhlcyA9IFtdO1xuICAgICAgICAgICAgbGV0IGRlc2lnbkRvY3MgPSBbXTtcbiAgICAgICAgICAgIGlmIChjb2xMaXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGxvZ1xuICAgICAgICAgICAgICAgICAgICAuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpXG4gICAgICAgICAgICAgICAgICAgIC52ZXJib3NlKGBnZW5lcmF0aW5nIGluZGV4ZXMgZm9yIGNvbGxlY3Rpb25zYCk7XG4gICAgICAgICAgICAgICAgaW5kZXhlcyA9IGdlbmVyYXRlTW9kZWxJbmRleGVzKGNsYXp6LCBsb2cuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpKTtcbiAgICAgICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAgICAgICAuaW5mbyhgZm91bmQgJHtpbmRleGVzLmxlbmd0aH0gaW5kZXhlc2ApO1xuICAgICAgICAgICAgICAgIGRlc2lnbkRvY3MgPSBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jcyhjbGF6eik7XG4gICAgICAgICAgICAgICAgbG9nXG4gICAgICAgICAgICAgICAgICAgIC5mb3IoTW9kZWwudGFibGVOYW1lKGNsYXp6KSlcbiAgICAgICAgICAgICAgICAgICAgLmluZm8oYGZvdW5kICR7ZGVzaWduRG9jcy5sZW5ndGh9IGRlc2lnbiBkb2NzYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGluZGV4ZXMsXG4gICAgICAgICAgICAgICAgZGVzaWduRG9jcyxcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uczogY29sTGlzdCxcbiAgICAgICAgICAgICAgICBtaXJyb3I6IG1pcnJvckNvbGxlY3Rpb24sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KSk7XG4gICAgICAgIHJldHVybiBjb2xzO1xuICAgIH1cbiAgICBjb25zdCBjb2xzID0gYXdhaXQgZ2V0Q29scygpO1xuICAgIGNvbnN0IG9ubHlNaXJyb3IgPSBhd2FpdCBnZXRDb2xzKFttYWluTXNwSWRdKTtcbiAgICBjb25zdCBjb2xsZWN0aW9uc1RvID0gW1xuICAgICAgICAuLi5vbmx5TWlycm9yLmZpbHRlcigoYykgPT4gYy5taXJyb3IpLm1hcCgoYykgPT4gYy5taXJyb3IpLFxuICAgICAgICAuLi5jb2xzLm1hcCgoYykgPT4gYy5jb2xsZWN0aW9ucykuZmxhdCgpLFxuICAgICAgICAuLi5jb2xzLmZpbHRlcigoYykgPT4gYy5taXJyb3IpLm1hcCgoYykgPT4gYy5taXJyb3IpLFxuICAgIF07XG4gICAgY29uc3QgdW5pcXVlQnlDb2xsZWN0aW9uID0gW1xuICAgICAgICAuLi5uZXcgTWFwKGNvbGxlY3Rpb25zVG8ubWFwKChpdGVtKSA9PiBbaXRlbS5uYW1lLCBpdGVtXSkpLnZhbHVlcygpLFxuICAgIF07XG4gICAgaWYgKHVuaXF1ZUJ5Q29sbGVjdGlvbi5sZW5ndGgpIHtcbiAgICAgICAgd3JpdGVDb2xsZWN0aW9ucyh1bmlxdWVCeUNvbGxlY3Rpb24sIG91dERpcik7XG4gICAgICAgIGNvbnN0IG1ldGFDb2xsZWN0aW9uc0NvbmZpZyA9IHBhdGguam9pbihvdXREaXIsIFwiTUVUQS1JTkZcIiwgXCJjb2xsZWN0aW9uc19jb25maWcuanNvblwiKTtcbiAgICAgICAgY29uc3QgY29udHJhY3RDb2xsZWN0aW9uc0NvbmZpZyA9IHBhdGguam9pbihvdXREaXIsIFwiY29sbGVjdGlvbnNfY29uZmlnLmpzb25cIik7XG4gICAgICAgIGZzLmNvcHlGaWxlU3luYyhtZXRhQ29sbGVjdGlvbnNDb25maWcsIGNvbnRyYWN0Q29sbGVjdGlvbnNDb25maWcpO1xuICAgICAgICBsb2cuaW5mbyhgU3RvcmVkICR7Y29sbGVjdGlvbnNUby5sZW5ndGh9IGNvbGxlY3Rpb25zIHRvICR7bWV0YUNvbGxlY3Rpb25zQ29uZmlnfWApO1xuICAgICAgICBsb2cuaW5mbyhgQ29waWVkIGNvbGxlY3Rpb25zX2NvbmZpZyB0byAke2NvbnRyYWN0Q29sbGVjdGlvbnNDb25maWd9IGFsb25nc2lkZSB0aGUgcGFja2FnZS5qc29uYCk7XG4gICAgICAgIGNvbHMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBpbmRleGVzLCBkZXNpZ25Eb2NzLCBjb2xsZWN0aW9ucywgbWlycm9yIH0gPSBjO1xuICAgICAgICAgICAgY29uc3QgdG9JbmRleCA9IFsuLi5jb2xsZWN0aW9ucywgbWlycm9yXS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgICAgICB0b0luZGV4LmZvckVhY2goKGkpID0+IHtcbiAgICAgICAgICAgICAgICB3cml0ZUluZGV4ZXMoaW5kZXhlcywgb3V0RGlyLCBpLm5hbWUpO1xuICAgICAgICAgICAgICAgIHdyaXRlQ29sbGVjdGlvbkRlc2lnbkRvY3MoZGVzaWduRG9jcyB8fCBbXSwgb3V0RGlyLCBpLm5hbWUpO1xuICAgICAgICAgICAgICAgIGxvZy5pbmZvKGBTdG9yZWQgJHtpbmRleGVzPy5sZW5ndGggfHwgMH0gaW5kZXhlcyBhbmQgJHtkZXNpZ25Eb2NzPy5sZW5ndGggfHwgMH0gZGVzaWduIGRvY3MgdG8gY29sbGVjdGlvbiAke2kubmFtZX1gKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59KTtcbmNvbnN0IGVuc3VyZUluZnJhID0gbmV3IENvbW1hbmQoKVxuICAgIC5uYW1lKFwiYXdhaXQtaW5mcmFcIilcbiAgICAuZGVzY3JpcHRpb24oXCJ3YWl0cyBmb3IgdGhlIGluZnJhc3RydWN0dXJlIHRvIGJlIHVwIGFuZCBydW5uaW5nXCIpXG4gICAgLm9wdGlvbihcIi0tY29udGFpbmVyIDxTdHJpbmc+XCIsIFwiZG9ja2VyIGNvbnRhaW5lciBuYW1lIHRvIHRlc3QgKHVzdWFsbHkgbGFzdCBwZWVyKVwiLCBcImJvb3Qtb3JnLWMtcGVlci0wXCIpXG4gICAgLm9wdGlvbihcIi0tdGltZW91dCA8U3RyaW5nPlwiLCBcInRpbWVvdXQgYmV0d2VlbiB0ZXN0cyBpbiBtaWxsaXNlY29uZHNcIiwgXCI1MDAwXCIpXG4gICAgLm9wdGlvbihcIi0tYXR0ZW1wdHMgPFN0cmluZz5cIiwgXCJudW1iZXIgb2YgYXR0ZW1wdHMgYmVmb3JlIGdpdmluZyB1cFwiLCBcIjEwXCIpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UuanNvblwiKSwgXCJ1dGYtOFwiKSk7XG4gICAgY29uc3QgdmVyc2lvbiA9IHBrZy52ZXJzaW9uO1xuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJhd2FpdC1pbmZyYVwiKTtcbiAgICBsb2cuZGVidWcoYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCB7IGNvbnRhaW5lciwgdGltZW91dCwgYXR0ZW1wdHMgfSA9IG9wdGlvbnM7XG4gICAgdGltZW91dCA9IHBhcnNlSW50KHRpbWVvdXQpIHx8IDUwMDA7XG4gICAgYXR0ZW1wdHMgPSBwYXJzZUludChhdHRlbXB0cykgfHwgMTA7XG4gICAgYXdhaXQgZW5zdXJlSW5mcmFzdHJ1Y3R1cmVCb290ZWQoXCJib290LW9yZy1jLXBlZXItMFwiLCB0aW1lb3V0LCBhdHRlbXB0cyk7XG4gICAgbG9nLmluZm8oYEluZnJhc3RydWN0dXJlIGJvb3RlZCBzdWNjZXNzZnVsbHkgKGFjY29yZGluZyB0byBjb250YWluZXIgJHtjb250YWluZXJ9KSFgKTtcbn0pO1xuY29uc3QgZGVwbG95Q29udHJhY3QgPSBuZXcgQ29tbWFuZCgpXG4gICAgLm5hbWUoXCJkZXBsb3ktY29udHJhY3RcIilcbiAgICAuZGVzY3JpcHRpb24oXCJkZXBsb3lzIHRoZSBzZWxlY3RlZCBjb250cmFjdFwiKVxuICAgIC5vcHRpb24oXCItLW5hbWUgPFN0cmluZz5cIiwgXCJDb250cmFjdCBOYW1lIChhbmQgZm9sZGVyKVwiKVxuICAgIC5vcHRpb24oXCItLWlucHV0IDxTdHJpbmc+XCIsIFwiaW5wdXQgZm9sZGVyXCIpXG4gICAgLm9wdGlvbihcIi0tY29sbGVjdGlvbnMtY29uZmlnIDxTdHJpbmc+XCIsIFwicGF0aCB0byBjb2xsZWN0aW9uc19jb25maWcuanNvbiB0byBjb25maWd1cmUgcHJpdmF0ZSBjb2xsZWN0aW9uc1wiKVxuICAgIC5vcHRpb24oXCItLWluY3JlbWVudFZlcnNpb24gPFN0cmluZz5cIiwgXCIodHJ1ZSB8IGZhbHNlKSBpZiBzaG91bGQgdXNlIHZlcnNpb24gb3Igc2VxdWVuY2UgdG8gdXBkYXRlIGNvbnRyYWN0c1wiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS10cmFja2VyRm9sZGVyIDxTdHJpbmc+XCIsIFwiY29udHJhY3QgdmVyc2lvbiB0cmFja2VyIGZvbGRlciAoc2hvdWxkIGJlIGRlbGV0ZWQgb24gaW5mcmFzdHJ1Y3R1cmU6ZG93bilcIiwgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwidGVzdHNcIiwgXCJpbnRlZ3JhdGlvblwiLCBcImNoYWluY29kZVRyYWNrZXJzXCIpKVxuICAgIC5vcHRpb24oXCItLXBlZXJzIDxTdHJpbmc+XCIsIFwiY29tbWEgc2VwYXJhdGVkIHBlZXIgaWRzXCIsIFwib3JnLWEtcGVlci0wLG9yZy1iLXBlZXItMCxvcmctYy1wZWVyLTBcIilcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpKTtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImRlcGxveS1jb250cmFjdFwiKTtcbiAgICBsb2cuZGVidWcoYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YCk7XG4gICAgY29uc3QgeyBuYW1lLCBpbnB1dCwgcGVlcnMsIHRyYWNrZXJGb2xkZXIsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBpbmNyZW1lbnRWZXJzaW9uLCBjb2xsZWN0aW9uc0NvbmZpZywgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgcGVlcklkcyA9IHBlZXJzLnNwbGl0KFwiLFwiKTtcbiAgICBjb25zdCBjb3VudFBhdGggPSBwYXRoLnJlc29sdmUocGF0aC5qb2luKHRyYWNrZXJGb2xkZXIsIGAke25hbWV9LmNvdW50YCkpO1xuICAgIGxldCBzZXF1ZW5jZTtcbiAgICB0cnkge1xuICAgICAgICBzZXF1ZW5jZSA9IHBhcnNlSW50KGZzLnJlYWRGaWxlU3luYyhjb3VudFBhdGgpLnRvU3RyaW5nKFwidXRmLThcIikpO1xuICAgICAgICBpZiAoaXNOYU4oc2VxdWVuY2UpKVxuICAgICAgICAgICAgc2VxdWVuY2UgPSAxO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBzZXF1ZW5jZSArPSAxO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIHNlcXVlbmNlID0gMTtcbiAgICB9XG4gICAgLy9cbiAgICAvLyBpZiAoaW5jcmVtZW50VmVyc2lvbikge1xuICAgIC8vICAgdmVyc2lvbiA9IHZlcnNpb24gKyBgLSR7c2VxdWVuY2V9YDtcbiAgICAvLyAgIC8vIHNlcXVlbmNlID0gMTtcbiAgICAvLyB9XG4gICAgdHJ5IHtcbiAgICAgICAgZm9yIChjb25zdCBwZWVyIG9mIHBlZXJJZHMpIHtcbiAgICAgICAgICAgIHBhY2thZ2VDb250cmFjdChwZWVyLCBpbnB1dCwgbmFtZSwgdmVyc2lvbik7XG4gICAgICAgICAgICBpbnN0YWxsQ29udHJhY3QocGVlciwgbmFtZSk7XG4gICAgICAgICAgICBhcHByb3ZlQ29udHJhY3QocGVlciwgbmFtZSwgcGVlciA9PT0gXCJvcmctYS1wZWVyLTBcIlxuICAgICAgICAgICAgICAgID8gXCJ0bHMtY2EtY2VydC5wZW1cIlxuICAgICAgICAgICAgICAgIDogXCJvcmRlcmVyLXRscy1jYS1jZXJ0LnBlbVwiLCBzZXF1ZW5jZSwgdmVyc2lvbiwgY29sbGVjdGlvbnNDb25maWcpO1xuICAgICAgICB9XG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmMoY291bnRQYXRoLCBzZXF1ZW5jZS50b1N0cmluZygpKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgICBsb2cuZXJyb3IoXCJFcnJvciBkZXBsb3lpbmcgY29udHJhY3Q6XCIsIGVycik7XG4gICAgfVxuICAgIGNvbW1pdENoYWluY29kZShuYW1lLCBzZXF1ZW5jZSwgdmVyc2lvbiwgY29sbGVjdGlvbnNDb25maWcpO1xufSk7XG5jb25zdCBnZXRDcnlwdG9NYXRlcmlhbCA9IG5ldyBDb21tYW5kKClcbiAgICAubmFtZShcImdldC1jcnlwdG8tbWF0ZXJpYWxcIilcbiAgICAuZGVzY3JpcHRpb24oXCJjb3BpZXMgdGhlIGNyeXB0byBtYXRlcmlhbCB0byB0aGUgc2VsZWN0ZWQgZm9sZGVyXCIpXG4gICAgLm9wdGlvbihcIi0tZm9sZGVyIDxTdHJpbmc+XCIsIFwib3V0cHV0IGZvbGRlclwiLCBcImRvY2tlci9kb2NrZXItZGF0YVwiKVxuICAgIC5vcHRpb24oXCItLW9yZyBbU3RyaW5nXVwiLCBcInRoZSBvcmcvcGVlciB0byBleHRyYWN0IGZyb21cIiwgXCJvcmctYVwiKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBwa2cgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLmpzb25cIiksIFwidXRmLThcIikpO1xuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcbiAgICBjb25zdCBsb2cgPSBsb2dnZXIuZm9yKFwiZ2V0LWNyeXB0by1tYXRlcmlhbFwiKTtcbiAgICBsb2cuZGVidWcoYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YCk7XG4gICAgY29uc3QgeyBmb2xkZXIsIG9yZyB9ID0gb3B0aW9ucztcbiAgICBleGVjU3luYyhgZG9ja2VyIGNwICR7b3JnfTovd2VhdmVyL2NsaWVudC8uICR7Zm9sZGVyfWAsIHtcbiAgICAgICAgY3dkOiBwcm9jZXNzLmN3ZCgpLFxuICAgIH0pO1xufSk7XG5jb25zdCBnZXRDb3B5VG9QVFAgPSBuZXcgQ29tbWFuZCgpXG4gICAgLm5hbWUoXCJwcmVwYXJlLXB0cFwiKVxuICAgIC5kZXNjcmlwdGlvbihcImNvcGllcyBjb250cmFjdCB0byB0aGUgcHRwIGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLW9yaWdpbi1mb2xkZXIgPFN0cmluZz5cIiwgXCJvcmlnaW4gd29ya3NwYWNlIGZvbGRlclwiLCB1bmRlZmluZWQpXG4gICAgLm9wdGlvbihcIi0tZGVzdC1mb2xkZXIgPFN0cmluZz5cIiwgXCJmb2xkZXIgdG8gdGhlIGRlc3RpbmF0aW9uIHdvcmtzcGFjZVwiLCB1bmRlZmluZWQpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgIGlmICghKG9wdGlvbnMub3JpZ2luRm9sZGVyICYmIG9wdGlvbnMuZGVzdEZvbGRlcikpIHtcbiAgICAgICAgbG9nZ2VyXG4gICAgICAgICAgICAuZm9yKFwicHJlcGFyZS1wdHBcIilcbiAgICAgICAgICAgIC5lcnJvcihcIkJvdGggLS1vcmlnaW4tZm9sZGVyIGFuZCAtLWRlc3QtZm9sZGVyIG9wdGlvbnMgYXJlIHJlcXVpcmVkIHRvIHByZXBhcmUtcHRwXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvcHlGb2xkZXIoc291cmNlLCB0YXJnZXQpIHtcbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIHRhcmdldCBmb2xkZXJcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0KSkge1xuICAgICAgICAgICAgZnMucm1TeW5jKHRhcmdldCwge1xuICAgICAgICAgICAgICAgIHJlY3Vyc2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmb3JjZTogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIEVuc3VyZSBwYXJlbnQgZXhpc3RzXG4gICAgICAgIGZzLm1rZGlyU3luYyhwYXRoLmRpcm5hbWUodGFyZ2V0KSwge1xuICAgICAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgLy8gQ29weSBmb2xkZXJcbiAgICAgICAgZnMuY3BTeW5jKHNvdXJjZSwgdGFyZ2V0LCB7XG4gICAgICAgICAgICByZWN1cnNpdmU6IHRydWUsXG4gICAgICAgICAgICBmb3JjZTogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnNvbGUubG9nKGBDb3BpZWQ6ICR7c291cmNlfSBcbiAgICAgIC0+ICR7dGFyZ2V0fWApO1xuICAgIH1cbiAgICBjb25zdCBvcmlnaW4gPSBwYXRoLnJlc29sdmUob3B0aW9ucy5vcmlnaW5Gb2xkZXIpO1xuICAgIGNvbnN0IGRlc3QgPSBwYXRoLnJlc29sdmUob3B0aW9ucy5kZXN0Rm9sZGVyKTtcbiAgICBleGVjU3luYyhgY2QgZm9yLWZhYnJpYyAmJiBucG0gcnVuIGJ1aWxkYCwge1xuICAgICAgICBjd2Q6IG9yaWdpbixcbiAgICAgICAgc3RkaW86IFwiaW5oZXJpdFwiLFxuICAgIH0pO1xuICAgIGV4ZWNTeW5jKGBjZCBmb3ItZmFicmljICYmIG5wbSBydW4gYnVpbGQ6Y29udHJhY3Q6c2hhcmVkYCwge1xuICAgICAgICBjd2Q6IG9yaWdpbixcbiAgICAgICAgc3RkaW86IFwiaW5oZXJpdFwiLFxuICAgIH0pO1xuICAgIGNvbnN0IHNvdXJjZUxpYiA9IHBhdGguam9pbihvcmlnaW4sIFwiZm9yLWZhYnJpY1wiLCBcImxpYlwiKTtcbiAgICBjb25zdCB0YXJnZXRMaWIgPSBwYXRoLmpvaW4oZGVzdCwgXCJpbmZyYVwiLCBcImZvci1mYWJyaWNcIiwgXCJsaWJcIik7XG4gICAgY29weUZvbGRlcihzb3VyY2VMaWIsIHRhcmdldExpYik7XG4gICAgY29uc3Qgc291cmNlR2xvYmFsID0gcGF0aC5qb2luKG9yaWdpbiwgXCJmb3ItZmFicmljXCIsIFwiZG9ja2VyXCIsIFwiaW5mcmFzdHJ1Y3R1cmVcIiwgXCJjaGFpbmNvZGVcIiwgXCJHbG9iYWxcIik7XG4gICAgY29uc3QgdGFyZ2V0Q29udHJhY3RzID0gcGF0aC5qb2luKGRlc3QsIFwidG9vbGtpdFwiLCBcImNvbnRyYWN0c1wiKTtcbiAgICBmcy5ta2RpclN5bmModGFyZ2V0Q29udHJhY3RzLCB7XG4gICAgICAgIHJlY3Vyc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgZnMucmVhZGRpclN5bmMoc291cmNlR2xvYmFsKSkge1xuICAgICAgICBjb25zdCBzb3VyY2VJdGVtID0gcGF0aC5qb2luKHNvdXJjZUdsb2JhbCwgaXRlbSk7XG4gICAgICAgIGNvbnN0IHRhcmdldEl0ZW0gPSBwYXRoLmpvaW4odGFyZ2V0Q29udHJhY3RzLCBpdGVtKTtcbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIHRhcmdldCBpdGVtIGlmIG5lZWRlZFxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXRJdGVtKSkge1xuICAgICAgICAgICAgZnMucm1TeW5jKHRhcmdldEl0ZW0sIHtcbiAgICAgICAgICAgICAgICByZWN1cnNpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgZm9yY2U6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBmcy5jcFN5bmMoc291cmNlSXRlbSwgdGFyZ2V0SXRlbSwge1xuICAgICAgICAgICAgcmVjdXJzaXZlOiB0cnVlLFxuICAgICAgICAgICAgZm9yY2U6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zb2xlLmxvZyhgQ29waWVkOiAke3NvdXJjZUl0ZW19IFxuICAgICAgLT4gJHt0YXJnZXRJdGVtfWApO1xuICAgIH1cbiAgICBleGVjU3luYyhgY2QgdG9vbGtpdCAmJiBucG0gcnVuIGJ1aWxkYCwgeyBjd2Q6IGRlc3QsIHN0ZGlvOiBcImluaGVyaXRcIiB9KTtcbiAgICBleGVjU3luYyhgY2QgdG9vbGtpdCAmJiBucG0gcnVuIGRvY2tlcjpidWlsZC1jb250cmFjdHNgLCB7XG4gICAgICAgIGN3ZDogZGVzdCxcbiAgICAgICAgc3RkaW86IFwiaW5oZXJpdFwiLFxuICAgIH0pO1xuICAgIGV4ZWNTeW5jKGBjZCBpbmZyYSAmJiBucG0gcnVuIGJ1aWxkYCwgeyBjd2Q6IGRlc3QsIHN0ZGlvOiBcImluaGVyaXRcIiB9KTtcbiAgICBleGVjU3luYyhgY2QgaW5mcmEgJiYgbnBtIHJ1biBidWlsZDpqZXN0OmltYWdlYCwge1xuICAgICAgICBjd2Q6IGRlc3QsXG4gICAgICAgIHN0ZGlvOiBcImluaGVyaXRcIixcbiAgICB9KTtcbn0pO1xuY29uc3QgZmFicmljQ21kID0gbmV3IENvbW1hbmQoKVxuICAgIC5uYW1lKFwiZm9yLWZhYnJpY1wiKVxuICAgIC5jb21tYW5kKFwiZmFicmljXCIpXG4gICAgLmRlc2NyaXB0aW9uKFwiZXhwb3NlcyBzZXZlcmFsIGNvbW1hbmRzIHRvIGhlbHAgbWFuYWdlIHRoZSBmYWJyaWMgaW5mcmFzdHJ1Y3R1cmVcIik7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChjb21waWxlQ29tbWFuZCk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChleHRyYWN0SW5kZXhlcyk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChlbnN1cmVJbmZyYSk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChkZXBsb3lDb250cmFjdCk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChnZXRDcnlwdG9NYXRlcmlhbCk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChleHRyYWN0Q29sbGVjdGlvbnMpO1xuZmFicmljQ21kLmFkZENvbW1hbmQoZ2V0Q29weVRvUFRQKTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZhYnJpYygpIHtcbiAgICByZXR1cm4gZmFicmljQ21kO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWTJ4cExXMXZaSFZzWlM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUwzTnlZeTlqYkdrdGJXOWtkV3hsTG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRTlCUVU4c1JVRkJSU3hQUVVGUExFVkJRVVVzVFVGQlRTeFhRVUZYTEVOQlFVTTdRVUZEY0VNc1QwRkJUeXhGUVVGRkxFOUJRVThzUlVGQlJTeFpRVUZaTEVWQlFVVXNUVUZCVFN4dFFrRkJiVUlzUTBGQlF6dEJRVU14UkN4UFFVRlBMRVZCUVVVc1VVRkJVU3hGUVVGRkxFMUJRVTBzWlVGQlpTeERRVUZETzBGQlEzcERMRTlCUVU4c1JVRkJSU3hOUVVGTkxFbEJRVWtzUTBGQlF6dEJRVU53UWl4UFFVRlBMRWxCUVVrc1RVRkJUU3hOUVVGTkxFTkJRVU03UVVGRGVFSXNUMEZCVHl4RlFVRkZMR05CUVdNc1JVRkJSU3hoUVVGaExFVkJRVVVzVFVGQlRTeGhRVUZoTEVOQlFVTTdRVUZETlVRc1QwRkJUeXhGUVVGVkxFMUJRVTBzUlVGQlJTeE5RVUZOTEZGQlFWRXNRMEZCUXp0QlFVTjRReXhQUVVGUExGRkJRVkVzVFVGQlRTeDVRa0ZCZVVJc1EwRkJRenRCUVVNdlF5eFBRVUZQTEVWQlFVVXNWMEZCVnl4RlFVRkZMRTFCUVUwc05rSkJRVFpDTEVOQlFVTTdRVUZETVVRc1QwRkJUeXhQUVVGUExFMUJRVTBzZDBKQlFYZENMRU5CUVVNN1FVRkROME1zVDBGQlR5eEZRVUZGTEdGQlFXRXNSVUZCUlN4clFrRkJhMElzUlVGQlJTeE5RVUZOTEhsQ1FVRjVRaXhEUVVGRE8wRkJRelZGTEU5QlFVOHNSVUZEVEN4MVFrRkJkVUlzUlVGRGRrSXNiMEpCUVc5Q0xFVkJRM0JDTEdGQlFXRXNSVUZEWWl4blFrRkJaMElzUlVGRGFFSXNaVUZCWlN4RlFVTm1MRmxCUVZrc1IwRkRZaXhyUTBGQmVVSTdRVUZETVVJc1QwRkJUeXhGUVVGRkxFdEJRVXNzUlVGQlJTeE5RVUZOTEdkRFFVRm5ReXhEUVVGRE8wRkJRM1pFTEU5QlFVOHNSVUZEVEN4bFFVRmxMRVZCUTJZc01FSkJRVEJDTEVWQlF6RkNMR1ZCUVdVc1JVRkRaaXhsUVVGbExFVkJRMllzWlVGQlpTeEZRVU5tTEhWQ1FVRjFRaXhGUVVOMlFpdzBRa0ZCTkVJc1IwRkROMElzZFVKQlFXOUNPMEZCUTNKQ0xIRkRRVUUwUWp0QlFVTTFRaXhQUVVGUExFVkJRVVVzVFVGQlRTeFpRVUZaTEVOQlFVTTdRVUZETlVJc1QwRkJUeXhGUVVOTUxHdENRVUZyUWl4SlFVRkpMR0ZCUVdFc1JVRkZia01zWjBKQlFXZENMRVZCUTJoQ0xIbENRVUY1UWl4SFFVTXhRaXh6UTBGQmJVTTdRVUZIY0VNc1RVRkJUU3hOUVVGTkxFZEJRVWNzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRCUVVWeVF5eFRRVUZUTEhWQ1FVRjFRanRKUVVNNVFpeFBRVUZQTzFGQlEwd3NTVUZCU1N4RlFVRkZMRFJDUVVFMFFqdFJRVU5zUXl4VFFVRlRMRU5CUVVNc1RVRkJUU3hGUVVGRkxGRkJRVkU3V1VGRGVFSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJRenRuUWtGRGVrTXNUMEZCVHl4SlFVRkpMRU5CUVVNN1dVRkRaQ3hEUVVGRE8xbEJSVVFzVFVGQlRTeFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8xbEJRMnhGTEUxQlFVMHNWVUZCVlN4SFFVRkhPMmRDUVVOcVFpeFpRVUZaTzJkQ1FVTmFMRWRCUVVjc1dVRkJXU3hMUVVGTE8yZENRVU53UWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUlVGQlJTeFZRVUZWTEVOQlFVTTdZVUZEY0VNc1EwRkJRenRaUVVWR0xFdEJRVXNzVFVGQlRTeFRRVUZUTEVsQlFVa3NWVUZCVlN4RlFVRkZMRU5CUVVNN1owSkJRMjVETEVsQlFVa3NSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTTdiMEpCUTJoRkxFOUJRVThzVTBGQlV5eERRVUZETzJkQ1FVTnVRaXhEUVVGRE8xbEJRMGdzUTBGQlF6dFpRVVZFTEU5QlFVOHNTVUZCU1N4RFFVRkRPMUZCUTJRc1EwRkJRenRMUVVOR0xFTkJRVU03UVVGRFNpeERRVUZETzBGQlJVUXNVMEZCVXl3d1FrRkJNRUk3U1VGRGFrTXNUVUZCVFN4bFFVRmxMRWRCUVVjc1lVRkJZU3hEUVVOdVF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeGpRVUZqTEVOQlFVTXNRMEZEZWtNc1EwRkJRenRKUVVWR0xFOUJRVTg3VVVGRFRDeEpRVUZKTEVWQlFVVXNLMEpCUVN0Q08xRkJRM0pETEZOQlFWTXNRMEZCUXl4TlFVRk5PMWxCUTJRc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVTXNXVUZCV1N4RFFVRkRMRVZCUVVVc1EwRkJRenRuUWtGRGNrTXNUMEZCVHl4SlFVRkpMRU5CUVVNN1dVRkRaQ3hEUVVGRE8xbEJSVVFzU1VGQlNTeERRVUZETzJkQ1FVTklMRTlCUVU4c1pVRkJaU3hEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0WlFVTjZReXhEUVVGRE8xbEJRVU1zVFVGQlRTeERRVUZETzJkQ1FVTlFMRTlCUVU4c1NVRkJTU3hEUVVGRE8xbEJRMlFzUTBGQlF6dFJRVU5JTEVOQlFVTTdTMEZEUml4RFFVRkRPMEZCUTBvc1EwRkJRenRCUVVWRUxFMUJRVTBzYzBKQlFYTkNMRWRCUVVjc1NVRkJTU3hIUVVGSExFTkJRVU03U1VGRGNrTXNaVUZCWlR0SlFVTm1MRFpDUVVFMlFqdEpRVU0zUWl4eFFrRkJjVUk3U1VGRGNrSXNhMEpCUVd0Q08wbEJRMnhDTEdWQlFXVTdTVUZEWml4eFFrRkJjVUk3U1VGRGNrSXNaMEpCUVdkQ08wbEJRMmhDTEdGQlFXRTdTVUZEWWl4cFFrRkJhVUk3UTBGRGJFSXNRMEZCUXl4RFFVRkRPMEZCUlVnc1UwRkJVeXhoUVVGaExFTkJRVU1zUlVGQlZUdEpRVU12UWl4TlFVRk5MRlZCUVZVc1IwRkJSeXhGUVVGRkxFTkJRVU1zVlVGQlZTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU03U1VGRE4wUXNUMEZCVHl4alFVRmpMRU5CUVVNc1VVRkJVU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzBGQlF6ZERMRU5CUVVNN1FVRkZSQ3hUUVVGVExEQkNRVUV3UWl4RFFVRkRMRVZCUVZVN1NVRkROVU1zU1VGQlNTeEZRVUZGTEVOQlFVTXNWVUZCVlN4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNSVUZCUlN4RFFVRkRPMUZCUVVVc1QwRkJUeXhKUVVGSkxFTkJRVU03U1VGRE0wUXNTVUZCU1N4RlFVRkZMRU5CUVVNc1ZVRkJWU3hEUVVGRExGbEJRVmtzUTBGQlF6dFJRVUZGTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUXpkRExFbEJRVWtzYzBKQlFYTkNMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF6dFJRVUZGTEU5QlFVOHNTMEZCU3l4RFFVRkRPMGxCUTJwRUxFbEJRVWtzWVVGQllTeERRVUZETEVWQlFVVXNRMEZCUXp0UlFVRkZMRTlCUVU4c1MwRkJTeXhEUVVGRE8wbEJRM0JETEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJRc1EwRkJRenRCUVVWRUxGTkJRVk1zZFVKQlFYVkNMRU5CUVVNc1MwRkJZVHRKUVVNMVF5eFBRVUZQTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRCUVVONlF5eERRVUZETzBGQlJVUXNVMEZCVXl4elFrRkJjMElzUTBGQlF5eFZRVUZ2UWp0SlFVTnNSQ3hOUVVGTkxHZENRVUZuUWl4SFFVRkhMRlZCUVZVc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNSVUZCUlR0UlFVTndSQ3hOUVVGTkxGVkJRVlVzUjBGQlJ5eDFRa0ZCZFVJc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTXNRMEZCUXp0UlFVTTNSQ3hQUVVGUE8xbEJRMHdzUjBGQlJ5eEZRVUZGTEZWQlFWVTdXVUZEWml4UlFVRlJMRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFRRVUZUTEVOQlFVTTdaMEpCUTJ4RExFTkJRVU1zUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMmRDUVVOc1JDeERRVUZETEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzVTBGQlV5eERRVUZETEVOQlFVTTdVMEZEY0VVc1EwRkJRenRKUVVOS0xFTkJRVU1zUTBGQlF5eERRVUZETzBsQlJVZ3NUMEZCVHl4RFFVRkRMRVZCUVZVc1JVRkJWeXhGUVVGRk8xRkJRemRDTEUxQlFVMHNWVUZCVlN4SFFVRkhMSFZDUVVGMVFpeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUXk5RExFMUJRVTBzVVVGQlVTeEhRVUZITzFsQlEyWXNNRUpCUVRCQ08xbEJRekZDTERCQ1FVRXdRanRaUVVNeFFpeHBRMEZCYVVNN1dVRkRha01zZFVKQlFYVkNPMWxCUTNaQ0xEQkNRVUV3UWp0VFFVTXpRaXhEUVVGRE8xRkJSVVlzU1VGQlNTeFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVVVzUTBGQlF5eFZRVUZWTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU16UkN4UFFVRlBMRWxCUVVrc1EwRkJRenRSUVVOa0xFTkJRVU03VVVGRlJDeFBRVUZQTEdkQ1FVRm5RaXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVWQlFVVXNSMEZCUnl4RlFVRkZMRkZCUVZFc1JVRkJSU3hGUVVGRkxFVkJRVVU3V1VGRGFrUXNUMEZCVHl4RFFVTk1MRlZCUVZVc1EwRkJReXhSUVVGUkxFTkJRVU1zUjBGQlJ5eERRVUZETzJkQ1FVTjRRaXhWUVVGVkxFTkJRVU1zVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXp0blFrRkROMElzVlVGQlZTeERRVUZETEZGQlFWRXNRMEZCUXl4SFFVRkhMRWRCUVVjc1MwRkJTeXhEUVVGRE8yZENRVU5vUXl4VlFVRlZMRU5CUVVNc1VVRkJVU3hEUVVGRExFZEJRVWNzUjBGQlJ5eE5RVUZOTEVOQlFVTTdaMEpCUTJwRExGVkJRVlVzUTBGQlF5eFJRVUZSTEVOQlFVTXNSMEZCUnl4SFFVRkhMRmRCUVZjc1EwRkJRenRuUWtGRGRFTXNWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkJReXhIUVVGSExFZEJRVWNzV1VGQldTeERRVUZETzJkQ1FVTjJReXhWUVVGVkxFTkJRVU1zVVVGQlVTeERRVUZETEVkQlFVY3NVVUZCVVN4TFFVRkxMRU5CUVVNN1owSkJRM0pETEZWQlFWVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1IwRkJSeXhSUVVGUkxFMUJRVTBzUTBGQlF6dG5Ra0ZEZEVNc1ZVRkJWU3hEUVVGRExGRkJRVkVzUTBGQlF5eEhRVUZITEZGQlFWRXNWMEZCVnl4RFFVRkRPMmRDUVVNelF5eFZRVUZWTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWRCUVVjc1VVRkJVU3haUVVGWkxFTkJRVU1zUTBGRE4wTXNRMEZCUXp0UlFVTktMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMHdzUTBGQlF5eERRVUZETzBGQlEwb3NRMEZCUXp0QlFVVkVMRk5CUVZNc2FVSkJRV2xDTEVOQlFVTXNTVUZCV1R0SlFVTnlReXhQUVVGUExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNXVUZCV1N4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wRkJRekZETEVOQlFVTTdRVUZGUkN4VFFVRlRMR3RDUVVGclFpeERRVUZETEZOQlFXbENMRVZCUVVVc1UwRkJhVUk3U1VGRE9VUXNTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJReXhWUVVGVkxFTkJRVU1zVTBGQlV5eERRVUZETEVWQlFVVXNRMEZCUXp0UlFVTTVRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEc5RFFVRnZReXhUUVVGVExFVkJRVVVzUTBGQlF5eERRVUZETzBsQlEyNUZMRU5CUVVNN1NVRkZSQ3hGUVVGRkxFTkJRVU1zVTBGQlV5eERRVUZETEZOQlFWTXNSVUZCUlN4RlFVRkZMRk5CUVZNc1JVRkJSU3hKUVVGSkxFVkJRVVVzUTBGQlF5eERRVUZETzBsQlJUZERMRXRCUVVzc1RVRkJUU3hKUVVGSkxFbEJRVWtzUlVGQlJTeERRVUZETEZkQlFWY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1JVRkJSU3hEUVVGRE8xRkJRemRETEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUXpsRExFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzFGQlJUbERMRTFCUVUwc1NVRkJTU3hIUVVGSExFVkJRVVVzUTBGQlF5eFJRVUZSTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN1VVRkZja01zU1VGQlNTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RlFVRkZMRVZCUVVVc1EwRkJRenRaUVVOMlFpeHJRa0ZCYTBJc1EwRkJReXhWUVVGVkxFVkJRVVVzVlVGQlZTeERRVUZETEVOQlFVTTdVVUZETjBNc1EwRkJRenRoUVVGTkxFTkJRVU03V1VGRFRpeEZRVUZGTEVOQlFVTXNXVUZCV1N4RFFVRkRMRlZCUVZVc1JVRkJSU3hWUVVGVkxFTkJRVU1zUTBGQlF6dFJRVU14UXl4RFFVRkRPMGxCUTBnc1EwRkJRenRCUVVOSUxFTkJRVU03UVVGRlJDeE5RVUZOTEdOQlFXTXNSMEZCUnl4SlFVRkpMRTlCUVU4c1JVRkJSVHRMUVVOcVF5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU03UzBGRGVFSXNWMEZCVnl4RFFVRkRMREpDUVVFeVFpeERRVUZETzB0QlEzaERMRTFCUVUwc1EwRkJReXhQUVVGUExFVkJRVVVzZVVOQlFYbERMRVZCUVVVc1MwRkJTeXhEUVVGRE8wdEJRMnBGTEUxQlFVMHNRMEZCUXl4VFFVRlRMRVZCUVVVc2JVTkJRVzFETEVWQlFVVXNTMEZCU3l4RFFVRkRPMHRCUXpkRUxFMUJRVTBzUTBGRFRDeFRRVUZUTEVWQlExUXNjVVJCUVhGRUxFVkJRM0pFTEV0QlFVc3NRMEZEVGp0TFFVTkJMRTFCUVUwc1EwRkJReXhwUWtGQmFVSXNSVUZCUlN4bFFVRmxMRVZCUVVVc2FVSkJRV2xDTEVOQlFVTTdTMEZETjBRc1RVRkJUU3hEUVVGRExGVkJRVlVzUlVGQlJTd3dRMEZCTUVNc1JVRkJSU3hMUVVGTExFTkJRVU03UzBGRGNrVXNUVUZCVFN4RFFVTk1MREpDUVVFeVFpeEZRVU16UWl4dFJVRkJiVVVzUlVGRGJrVXNhVUpCUVdsQ0xFTkJRMnhDTzB0QlEwRXNUVUZCVFN4RFFVTk1MSGRDUVVGM1FpeEZRVU40UWl4elFrRkJjMElzUlVGRGRFSXNaME5CUVdkRExFTkJRMnBETzB0QlEwRXNUVUZCVFN4RFFVRkRMSFZDUVVGMVFpeEZRVUZGTEdsRFFVRnBReXhGUVVGRkxFdEJRVXNzUTBGQlF6dExRVU42UlN4TlFVRk5MRU5CUVVNc2EwSkJRV3RDTEVWQlFVVXNORUpCUVRSQ0xFVkJRVVVzWlVGQlpTeERRVUZETzB0QlEzcEZMRTFCUVUwc1EwRkJReXh0UWtGQmJVSXNSVUZCUlN3MlFrRkJOa0lzUlVGQlJTeGhRVUZoTEVOQlFVTTdTMEZEZWtVc1RVRkJUU3hEUVVGRExHTkJRV01zUlVGQlJTdzBRMEZCTkVNc1JVRkJSU3hMUVVGTExFTkJRVU03UzBGRE0wVXNUVUZCVFN4RFFVRkRMRk5CUVZNc1JVRkJSU3gzUTBGQmQwTXNSVUZCUlN4TFFVRkxMRU5CUVVNN1MwRkRiRVVzVFVGQlRTeERRVU5NTEZsQlFWa3NSVUZEV2l4cFNFRkJhVWdzUlVGRGFrZ3NTMEZCU3l4RFFVTk9PMHRCUTBFc1RVRkJUU3hEUVVOTUxHZERRVUZuUXl4RlFVTm9ReXh4UjBGQmNVY3NRMEZEZEVjN1MwRkRRU3hOUVVGTkxFTkJRVU1zUzBGQlN5eEZRVUZGTEU5QlFWa3NSVUZCUlN4RlFVRkZPMGxCUXpkQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUTNCQ0xFVkJRVVVzUTBGQlF5eFpRVUZaTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlFVVXNZMEZCWXl4RFFVRkRMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRMjVGTEVOQlFVTTdTVUZGUml4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVU40UWl4RlFVRkZMRU5CUVVNc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxHMUNRVUZ0UWl4RFFVRkRMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRM2hGTEVOQlFVTTdTVUZGUml4SlFVRkpMRmxCUVZrc1IwRkJSeXhUUVVGVExFTkJRVU03U1VGRk4wSXNUVUZCVFN4UFFVRlBMRWRCUVVjc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF6dEpRVVUxUWl4SlFVRkpPMGxCUTBZc2QwTkJRWGRETzBsQlEzaERMRWRCUVVjN1NVRkRTQ3gzUTBGQmQwTTdTVUZEZUVNc1MwRkJTenRKUVVOTUxIZERRVUYzUXp0SlFVTjRReXhKUVVGSk8wbEJRMG9zZDBOQlFYZERPMGxCUTNoRExGZEJRVmNzUlVGRFdDeE5RVUZOTzBsQlEwNHNkME5CUVhkRE8wbEJRM2hETEV0QlFVczdTVUZEVEN4M1EwRkJkME03U1VGRGVFTXNhVUpCUVdsQ08wbEJRMnBDTEhkRFFVRjNRenRKUVVONFF5eExRVUZMTzBsQlEwd3NkME5CUVhkRE8wbEJRM2hETEUxQlFVMHNSVUZGVGl4WlFVRlpPMGxCUTFvc2QwTkJRWGRETzBsQlEzaERMRlZCUVZVN1NVRkRWaXgzUTBGQmQwTTdTVUZEZUVNc1MwRkJTenRKUVVOTUxIZERRVUYzUXp0SlFVTjRReXhsUVVGbE8wbEJRMllzZDBOQlFYZERPMGxCUTNoRExFOUJRVThzUjBGRFVpeEhRVUZITEU5QlFVOHNRMEZCUXp0SlFVTmFMRTFCUVUwc1IwRkJSeXhIUVVGSExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zUTBGQlF6dEpRVU16UXl4SlFVRkpMRU5CUVVNN1VVRkRTQ3hKUVVGSkxFdEJRVXNzUlVGQlJTeERRVUZETzFsQlExWXNXVUZCV1N4SFFVRkhMRVZCUVVVN2FVSkJRMlFzV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RlFVRkZMRTlCUVU4c1EwRkJRenRwUWtGRGVrUXNVVUZCVVN4RlFVRkZMRU5CUVVNN1dVRkZaQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eFpRVUZaTEVOQlFVTXNUMEZCVHl4RFFVTnVReXhuUWtGQlowSXNSVUZEYUVJc1EwRkJReXhEUVVGTkxFVkJRVVVzVDBGQlpTeEZRVUZGTEVWQlFVVTdaMEpCUXpGQ0xFMUJRVTBzUzBGQlN5eEhRVUZITEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03WjBKQlJXNURMRWxCUVVrc1MwRkJTeXhMUVVGTExGTkJRVk1zUlVGQlJTeERRVUZETzI5Q1FVTjRRaXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVU5XTEd0RFFVRnJReXhQUVVGUExHTkJRV01zUTBGRGVFUXNRMEZCUXp0dlFrRkRSaXhQUVVGUExFVkJRVVVzUTBGQlF6dG5Ra0ZEV2l4RFFVRkRPMmRDUVVWRUxFOUJRVThzUzBGQlN5eERRVUZETzFsQlEyWXNRMEZCUXl4RFFVTkdMRU5CUVVNN1dVRkZSaXhaUVVGWkxFZEJRVWNzVVVGQlVTeERRVUZETzFGQlF6RkNMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJRVU1zVFVGQlRTeERRVUZETzFGQlExQXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXg1UkVGQmVVUXNRMEZCUXl4RFFVRkRPMGxCUTNSRkxFTkJRVU03U1VGRlJDeEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVTlFMSGxDUVVGNVFpeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1EwRkJReXhSUVVGUkxFZEJRVWNzUTBGQlF5eEpRVUZKTEZsQlFWa3NUMEZCVHl4RlFVRkZMRU5CUTNSR0xFTkJRVU03U1VGRlJpeFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhaUVVGWkxFTkJRVU03VVVGRE1VTXNRMEZCUXl4RFFVRkRMRmxCUVZrN1VVRkRaQ3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzV1VGQldTeERRVUZETEVOQlFVTTdTVUZGTTBNc1RVRkJUU3hIUVVGSExHbENRVUZwUWl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6bEVMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zY1VSQlFYRkVMRTFCUVUwc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRGVFVXNVVUZCVVN4RFFVRkRMRlZCUVZVc1RVRkJUU3hGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVU0zUWl4SlFVRkpMRTFCUVUwc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzFGQlEzWkNMRTFCUVUwc2FVSkJRV2xDTEVkQlFVY3NjMEpCUVhOQ0xFTkJRemxETEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1pVRkJaU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEdWQlFXVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVOMFJDeERRVUZETzFGQlEwWXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXd3UWtGQk1FSXNTMEZCU3l4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVNMVF5eE5RVUZOTEdGQlFXRXNSMEZCUnl4RlFVRkZMRU5CUVVNc1YwRkJWeXhEUVVOc1F5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeHRRa0ZCYlVJc1EwRkJReXhEUVVNNVF5eERRVUZETzFGQlEwWXNTVUZCU1N4RFFVRkRPMWxCUTBnc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEZWQlFWVXNRMEZCUXl4RFFVRkRPMWxCUTJ4RkxFMUJRVTBzVlVGQlZTeEhRVUZITEVWQlFVVXNRMEZCUXl4alFVRmpMRU5CUVVNc1dVRkJXU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1dVRkRjRVVzU1VGQlNTeFZRVUZWTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNN1owSkJRM0pDTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUTNKQ0xFVkJRVVVzUTBGQlF5dzBRa0ZCTkVJc1EwRkJReXhWUVVGVkxFTkJRVU1zUzBGQlN5eERRVUZETEZkQlFWY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkRjRVVzUTBGQlF6dFpRVU5LTEVOQlFVTTdXVUZGUkN4TlFVRk5MRmxCUVZrc1IwRkJSeXhGUVVGRkxFTkJRVU1zTUVKQlFUQkNMRU5CUTJoRUxGVkJRVlVzUTBGQlF5eE5RVUZOTEVWQlEycENMRVZCUVVVc1EwRkJReXhIUVVGSExFVkJRMDRzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4WlFVRlpMRU5CUVVNc1JVRkRNVUlzVTBGQlV5eEZRVU5VTEZsQlFWa3NRMEZEWWl4RFFVRkRPMWxCUTBZc1NVRkJTU3haUVVGWkxFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMmRDUVVNdlFpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXhaUVVGWkxFTkJRVU1zVFVGQlRUdHhRa0ZEYUVJc1IwRkJSeXhEUVVGRExFTkJRVU1zUzBGQlN5eEZRVUZGTEVWQlFVVXNRMEZEWWl4RlFVRkZMRU5CUVVNc05FSkJRVFJDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRmRCUVZjc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGRGVrUTdjVUpCUTBFc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVU5rTEVOQlFVTTdXVUZEU2l4RFFVRkRPMWxCUlVRc1RVRkJUU3h0UWtGQmJVSXNSMEZCZFVJN1owSkJRemxETEVkQlFVY3NXVUZCV1N4RFFVRkRMRTlCUVU4N1owSkJRM1pDTEUxQlFVMHNSVUZCUlN4aFFVRmhPMmRDUVVOeVFpeE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhOUVVGTk8yZENRVU0xUWl4WFFVRlhMRVZCUVVVc1MwRkJTenRuUWtGRGJFSXNVMEZCVXl4RlFVRkZMRXRCUVVzN1owSkJRMmhDTEdGQlFXRXNSVUZCUlN4TFFVRkxPMkZCUTNKQ0xFTkJRVU03V1VGRFJpeE5RVUZOTEdsQ1FVRnBRaXhIUVVGSExFVkJRVVU3YVVKQlEzcENMR3RDUVVGclFpeERRVU5xUWp0blFrRkRSU3hIUVVGSExGbEJRVms3WjBKQlEyWXNUMEZCVHl4RlFVRkZMRzFDUVVGdFFqdGhRVU0zUWl4RlFVTkVMRlZCUVZVc1JVRkRWaXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNlVUpCUVhsQ0xFTkJRMnhETzJsQ1FVTkJMRWxCUVVrc1EwRkJReXhEUVVGRExGRkJRVkVzUlVGQlJTeEZRVUZGTEVOQlFVTXNVVUZCVVN4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlJXaEVMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNSVUZCUlN4RFFVRkRPMmRDUVVOMlFpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXh2UkVGQmIwUXNWVUZCVlN4RlFVRkZMRU5CUTJwRkxFTkJRVU03V1VGRFNpeERRVUZETzFsQlJVUXNORUpCUVRSQ0xFTkJRVU1zV1VGQldTeEZRVUZGTEcxQ1FVRnRRaXhEUVVGRExFTkJRVU03V1VGRGFFVXNUVUZCVFN4bFFVRmxMRWRCUVVjc1RVRkJUU3hOUVVGTkxFTkJRVU03WjBKQlEyNURMRXRCUVVzc1JVRkJSU3hwUWtGQmFVSTdaMEpCUTNoQ0xGRkJRVkVzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXd3UWtGQk1FSXNRMEZCUXl4RlFVRkZMRU5CUVVNN1owSkJRMnBFTEZOQlFWTXNSVUZCUlR0dlFrRkRWQ3hwUWtGQmFVSXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSU3hGUVVGRkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1JVRkJSU3hEUVVGRE8ybENRVU5xUkR0blFrRkRSQ3hQUVVGUExFVkJRVVU3YjBKQlExQXNNRUpCUVRCQ0xFVkJRVVU3YjBKQlF6VkNMSFZDUVVGMVFpeEZRVUZGTzI5Q1FVTjZRaXhYUVVGWExFTkJRVU03ZDBKQlExWXNWVUZCVlN4RlFVRkZMRU5CUVVNc1RVRkJUU3hGUVVGRkxFdEJRVXNzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMRXRCUVVzc1EwRkJRenQzUWtGRGJrUXNhVUpCUVdsQ0xFVkJRVVVzUTBGQlF5eGpRVUZqTEVOQlFVTTdkMEpCUTI1RExGZEJRVmNzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTEdOQlFXTXNRMEZCUXl4RFFVRkRPM2RDUVVOMlJDeG5Ra0ZCWjBJc1JVRkJSU3hEUVVGRExFMUJRVTBzUlVGQlJTeFRRVUZUTEVWQlFVVXNVMEZCVXl4RlFVRkZMRkZCUVZFc1EwRkJRenQzUWtGRE1VUXNZMEZCWXl4RlFVRkZMRWxCUVVrN2NVSkJRM0pDTEVOQlFVTTdiMEpCUTBZc1VVRkJVU3hEUVVGRE8zZENRVU5RTEU5QlFVOHNSVUZCUlN4alFVRmpPM0ZDUVVONFFpeERRVUZETzI5Q1FVTkdMRTlCUVU4c1EwRkJRenQzUWtGRFRpeHBRa0ZCYVVJc1JVRkJSU3hKUVVGSk8zZENRVU4yUWl4VlFVRlZMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVVzUlVGQlJTeERRVUZETzNkQ1FVTndRaXhOUVVGTkxFVkJRVVVzUlVGQlJTeGhRVUZoTEVWQlFVVXNUMEZCVHl4RlFVRkZMR0ZCUVdFc1JVRkJSU3hIUVVGSExFTkJRVU1zU1VGQlNTeEZRVUZGTzNGQ1FVTTFSQ3hEUVVGRE8ybENRVU5JTzJGQlEwWXNRMEZCUXl4RFFVRkRPMWxCUTBnc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGRFRpeDFRa0ZCZFVJc1RVRkJUU3hqUVVGakxGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVTnVSU3hEUVVGRE8xbEJRMFlzVFVGQlRTeGxRVUZsTEVOQlFVTXNTMEZCU3l4RFFVRkRPMmRDUVVNeFFpeEpRVUZKTEVWQlFVVXNSMEZCUnl4TlFVRk5MRWxCUVVrc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTzJkQ1FVTXhReXhOUVVGTkxFVkJRVVVzUzBGQlN6dG5Ra0ZEWWl4SlFVRkpMRVZCUVVVc1IwRkJSeXhaUVVGWkxFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVczdaMEpCUTJoRExGTkJRVk1zUlVGQlJTeFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN6dG5Ra0ZEZUVNc2MwSkJRWE5DTEVWQlFVVXNRMEZCUXl4clFrRkJhMElzUlVGQlJTeGhRVUZoTEVWQlFVVXNSVUZCUlR0dlFrRkROVVFzVFVGQlRTeHJRa0ZCYTBJc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVU55UXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExHRkJRV0VzUTBGQlF5eEZRVU16UWl4clFrRkJhMElzUTBGRGJrSXNRMEZCUXp0dlFrRkZSaXhKUVVGSkxHdENRVUZyUWl4RFFVRkRMRlZCUVZVc1EwRkJReXhoUVVGaExFTkJRVU1zUlVGQlJTeERRVUZETzNkQ1FVTnFSQ3hQUVVGUExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVTndRaXhUUVVGVExFVkJRMVFzU1VGQlNUczJRa0ZEUkN4UlFVRlJMRU5CUVVNc1lVRkJZU3hGUVVGRkxHdENRVUZyUWl4RFFVRkRPelpDUVVNelF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJRenMyUWtGRFppeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUTJJc1EwRkJRenR2UWtGRFNpeERRVUZETzI5Q1FVVkVMRTlCUVU4c2EwSkJRV3RDTEVOQlFVTTdaMEpCUXpWQ0xFTkJRVU03WVVGRFJpeERRVUZETEVOQlFVTTdXVUZEU0N4TlFVRk5MR1ZCUVdVc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF6dFJRVU5vUXl4RFFVRkRPMmRDUVVGVExFTkJRVU03V1VGRFZDeEZRVUZGTEVOQlFVTXNUVUZCVFN4RFFVRkRMR0ZCUVdFc1JVRkJSU3hGUVVGRkxGTkJRVk1zUlVGQlJTeEpRVUZKTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRE4wUXNRMEZCUXp0SlFVTklMRU5CUVVNN1UwRkJUU3hKUVVGSkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdVVUZEY0VJc05FSkJRVFJDTEVOQlFVTXNXVUZCV1N4RlFVRkZPMWxCUTNwRExFMUJRVTBzUlVGQlJTeE5RVUZOTzFsQlEyUXNUVUZCVFN4RlFVRkZMRVZCUVVVc1EwRkJReXhWUVVGVkxFTkJRVU1zVFVGQlRUdFpRVU0xUWl4WFFVRlhMRVZCUVVVc1MwRkJTenRaUVVOc1FpeFRRVUZUTEVWQlFVVXNWVUZCVlR0WlFVTnlRaXhoUVVGaExFVkJRVVVzVlVGQlZUdFRRVU14UWl4RFFVRkRMRU5CUVVNN1NVRkRUQ3hEUVVGRE8xTkJRVTBzUTBGQlF6dFJRVU5PTEd0Q1FVRnJRaXhEUVVOb1FpeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeFhRVUZYTEVOQlFVTXNSVUZEY2tNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRMnBETEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlVRc1RVRkJUU3hQUVVGUExFZEJRVWM3VVVGRFpDeExRVUZMTEVWQlFVVXNkVUpCUVhWQ0xFTkJRVU1zUzBGQlN5eEZRVUZGTEV0QlFVc3NRMEZCUXp0UlFVTTFReXhYUVVGWExFVkJRVVVzYVVSQlFXbEVPMUZCUXpsRUxHRkJRV0VzUlVGQlJTeHZRMEZCYjBNN1VVRkRia1FzUzBGQlN5eEZRVUZGTEhWRFFVRjFRenRSUVVNNVF5eEpRVUZKTEVWQlFVVXNNRUpCUVRCQ08wdEJRMnBETEVOQlFVTTdTVUZGUml4TlFVRk5MR1ZCUVdVc1IwRkJSeXhIUVVGSExFTkJRVU03U1VGRE5VSXNUVUZCVFN4dFFrRkJiVUlzUjBGQlJ5eFBRVUZQTEVOQlFVTTdTVUZGY0VNc1pVRkJaU3hEUVVGRExFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTTdTVUZETlVJc1pVRkJaU3hEUVVGRExGZEJRVmNzUjBGQlJ5eFhRVUZYTEVOQlFVTTdTVUZETVVNc1pVRkJaU3hEUVVGRExFOUJRVThzUjBGQlJ5eFBRVUZQTEVOQlFVTTdTVUZGYkVNc1QwRkJUeXhsUVVGbExFTkJRVU1zU1VGQlNTeERRVUZETzBsQlF6VkNMRTlCUVU4c1pVRkJaU3hEUVVGRExFdEJRVXNzUTBGQlF6dEpRVU0zUWl4UFFVRlBMR1ZCUVdVc1EwRkJReXhQUVVGUExFTkJRVU03U1VGREwwSXNaVUZCWlN4RFFVRkRMRWxCUVVrc1IwRkJSeXhOUVVGTk8xRkJRek5DTEVOQlFVTXNRMEZCUXl4SFFVRkhMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN6dFJRVU0xUWl4RFFVRkRMRU5CUVVNc1IwRkJSeXhwUWtGQmFVSXNRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03U1VGRmVFVXNSVUZCUlN4RFFVRkRMR0ZCUVdFc1EwRkRaQ3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlN4alFVRmpMRU5CUVVNc1JVRkRha01zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkRhRU1zUTBGQlF6dEpRVVZHTEVWQlFVVXNRMEZCUXl4aFFVRmhMRU5CUTJRc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNiVUpCUVcxQ0xFTkJRVU1zUlVGRGRFTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4RFFVTndReXhEUVVGRE8wbEJSVVlzU1VGQlNTeExRVUZMTEVsQlFVa3NXVUZCV1R0UlFVTjJRaXhGUVVGRkxFTkJRVU1zWVVGQllTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxGRkJRVkVzUTBGQlF5eEZRVUZGTEZsQlFWa3NRMEZCUXl4RFFVRkRPMGxCUlRsRUxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNORU5CUVRSRExFTkJRVU1zUTBGQlF6dEpRVU4yUkN4UlFVRlJMRU5CUVVNc1lVRkJZU3hGUVVGRkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRla01zVVVGQlVTeERRVUZETEdkQ1FVRm5RaXhGUVVGRkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkROVU1zVVVGQlVTeERRVUZETEhGQ1FVRnhRaXhGUVVGRkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRha1FzUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eERRVUZETzBsQlEyeERMRkZCUVZFc1EwRkJReXdyUWtGQkswSXNSVUZCUlN4RlFVRkZMRWRCUVVjc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF5eERRVUZETzBsQlF6TkVMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRMDRzV1VGQldTeEpRVUZKTERoQ1FVRTRRaXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRU5CUTNKRkxFTkJRVU03U1VGRFJpeEpRVUZKTEVkQlFVY3NSVUZCUlN4RFFVRkRPMUZCUTFJc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eDVSRUZCZVVRc1EwRkJReXhEUVVGRE8xRkJRM0JGTEZGQlFWRXNRMEZCUXl4aFFVRmhMRVZCUVVVN1dVRkRkRUlzUjBGQlJ5eEZRVUZGTEUxQlFVMDdXVUZEV0N4SFFVRkhMRVZCUVVVc1JVRkJSU3hIUVVGSExFOUJRVThzUTBGQlF5eEhRVUZITEVWQlFVVXNVVUZCVVN4RlFVRkZMRmxCUVZrc1JVRkJSVHRUUVVOb1JDeERRVUZETEVOQlFVTTdTVUZEVEN4RFFVRkRPMEZCUTBnc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRlRDeE5RVUZOTEdOQlFXTXNSMEZCUnl4SlFVRkpMRTlCUVU4c1JVRkJSVHRMUVVOcVF5eFBRVUZQTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU03UzBGRE1VSXNUVUZCVFN4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTEdkQ1FVRm5RaXhEUVVGRE8wdEJRek5ETEUxQlFVMHNRMEZCUXl4dFFrRkJiVUlzUlVGQlJTeHJRa0ZCYTBJc1EwRkJRenRMUVVNdlF5eE5RVUZOTEVOQlFVTXNiVUpCUVcxQ0xFVkJRVVVzSzBOQlFTdERMRU5CUVVNN1MwRkROVVVzVjBGQlZ5eERRVU5XTERKRlFVRXlSU3hEUVVNMVJUdExRVU5CTEUxQlFVMHNRMEZCUXl4TFFVRkxMRVZCUVVVc1QwRkJXU3hGUVVGRkxFVkJRVVU3U1VGRE4wSXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGRGNFSXNSVUZCUlN4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVc1JVRkJSU3hqUVVGakxFTkJRVU1zUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZEYmtVc1EwRkJRenRKUVVWR0xFMUJRVTBzVDBGQlR5eEhRVUZITEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNN1NVRkZOVUlzVFVGQlRTeEhRVUZITEVkQlFVY3NUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMGxCUXpGRExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlExQXNlVUpCUVhsQ0xFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNUMEZCVHl4RFFVRkRMRkZCUVZFc1IwRkJSeXhEUVVGRExFbEJRVWtzV1VGQldTeFBRVUZQTEVWQlFVVXNRMEZEZEVZc1EwRkJRenRKUVVWR0xIZERRVUYzUXp0SlFVTjRReXhKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU03U1VGRmRrTXNUVUZCVFN4TlFVRk5MRWRCUVZVc1JVRkJSU3hEUVVGRE8wbEJRM3BDTEVsQlFVa3NTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRWQ3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NZVUZCWVN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGRFTXNRMEZCUXp0SlFVVkVMRWxCUVVrc1RVRkJUU3hGUVVGRkxFTkJRVU03VVVGRFdDeEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMSFZDUVVGMVFpeE5RVUZOTEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUXpkRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTFCUVUwc1owSkJRV2RDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMjVFTEVOQlFVTTdTVUZEUkN4TlFVRk5MRTFCUVUwc1IwRkJkMElzUlVGQlJTeERRVUZETzBsQlEzWkRMRTFCUVUwc1ZVRkJWU3hIUVVGM1FpeEZRVUZGTEVOQlFVTTdTVUZGTTBNc1NVRkJTU3hEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETEUxQlFVMDdVVUZEYkVJc1RVRkJUU3hKUVVGSkxHRkJRV0VzUTBGQlF5dzRRa0ZCT0VJc1EwRkJReXhEUVVGRE8wbEJSVEZFTEV0QlFVc3NUVUZCVFN4RFFVRkRMRWxCUVVrc1RVRkJUU3hGUVVGRkxFTkJRVU03VVVGRGRrSXNSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJReXhuUTBGQlowTXNTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTTdVVUZEYkVVc1RVRkJUU3hQUVVGUExFZEJRVWNzYjBKQlFXOUNMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzFGQlF6ZERMRTlCUVU4c1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eExRVUZMTEVWQlFVVXNSVUZCUlR0WlFVTjRRaXhKUVVGSkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXp0blFrRkRaaXhOUVVGTkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJRenRaUVVNM1FpeERRVUZETzFGQlEwZ3NRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRTQ3gxUWtGQmRVSXNRMEZCUXl4RFFVRkRMRVZCUVVVc1ZVRkJWU3hEUVVGRExFTkJRVU03U1VGRGVrTXNRMEZCUXp0SlFVTkVMRTFCUVUwc1kwRkJZeXhIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkROME1zVFVGQlRTeFhRVUZYTEVkQlFVY3NUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dEpRVU01UXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExGTkJRVk1zWTBGQll5eERRVUZETEUxQlFVMHNiMEpCUVc5Q0xFTkJRVU1zUTBGQlF6dEpRVU5vUlN4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExGTkJRVk1zVjBGQlZ5eERRVUZETEUxQlFVMHNkMEpCUVhkQ0xFTkJRVU1zUTBGQlF6dEpRVU5xUlN4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExGbEJRVmtzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRGFFUXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhsUVVGbExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNWVUZCVlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRE8wbEJRM1pFTEZsQlFWa3NRMEZCUXl4alFVRmpMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03U1VGRGNrTXNaVUZCWlN4RFFVRkRMRmRCUVZjc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dEJRVU4yUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVWTUxFMUJRVTBzYTBKQlFXdENMRWRCUVVjc1NVRkJTU3hQUVVGUExFVkJRVVU3UzBGRGNrTXNUMEZCVHl4RFFVRkRMSEZDUVVGeFFpeERRVUZETzB0QlF6bENMRTFCUVUwc1EwRkJReXhwUWtGQmFVSXNSVUZCUlN4blFrRkJaMElzUTBGQlF6dExRVU16UXl4TlFVRk5MRU5CUVVNc2JVSkJRVzFDTEVWQlFVVXNhMEpCUVd0Q0xFTkJRVU03UzBGREwwTXNUVUZCVFN4RFFVRkRMRzFDUVVGdFFpeEZRVUZGTEN0RFFVRXJReXhEUVVGRE8wdEJRelZGTEUxQlFVMHNRMEZCUXl4dFFrRkJiVUlzUlVGQlJTeHRRMEZCYlVNc1EwRkJRenRMUVVOb1JTeE5RVUZOTEVOQlFVTXNjMEpCUVhOQ0xFVkJRVVVzWTBGQll5eERRVUZETzB0QlF6bERMRTFCUVUwc1EwRkRUQ3h6UWtGQmMwSXNSVUZEZEVJc05rdEJRVFpMTEVOQlF6bExPMHRCUTBFc1YwRkJWeXhEUVVOV0xESkZRVUV5UlN4RFFVTTFSVHRMUVVOQkxFMUJRVTBzUTBGQlF5eExRVUZMTEVWQlFVVXNUMEZCV1N4RlFVRkZMRVZCUVVVN1NVRkROMElzVFVGQlRTeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkRjRUlzUlVGQlJTeERRVUZETEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUlN4alFVRmpMRU5CUVVNc1JVRkJSU3hQUVVGUExFTkJRVU1zUTBGRGJrVXNRMEZCUXp0SlFVVkdMRTFCUVUwc1QwRkJUeXhIUVVGSExFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTTdTVUZGTlVJc1RVRkJUU3hIUVVGSExFZEJRVWNzVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eERRVUZETzBsQlF6bERMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRMUFzZVVKQlFYbENMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eERRVUZETEZGQlFWRXNSMEZCUnl4RFFVRkRMRWxCUVVrc1dVRkJXU3hQUVVGUExFVkJRVVVzUTBGRGRFWXNRMEZCUXp0SlFVVkdMSGREUVVGM1F6dEpRVU40UXl4SlFVRkpMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTBzUlVGQlJTeE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRk5CUVZNc1JVRkJSU3hIUVVGSExFOUJRVThzUTBGQlF6dEpRVVV4UkN4SlFVRkpMRU5CUVVNN1VVRkRTQ3hKUVVGSkxFTkJRVU03V1VGRFNDeE5RVUZOTEVkQlFVY3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVExFTkJRVU03V1VGRGFrUXNOa1JCUVRaRU8xRkJReTlFTEVOQlFVTTdVVUZCUXl4UFFVRlBMRU5CUVZVc1JVRkJSU3hEUVVGRE8xbEJRM0JDTEdOQlFXTTdVVUZEYUVJc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGQlF5eFBRVUZQTEVOQlFWVXNSVUZCUlN4RFFVRkRPMUZCUTNCQ0xFMUJRVTBzU1VGQlNTeHJRa0ZCYTBJc1EwRkJReXc0UWtGQk9FSXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJRenRKUVVOc1JTeERRVUZETzBsQlJVUXNUVUZCVFN4TlFVRk5MRWRCUVZVc1JVRkJSU3hEUVVGRE8wbEJRM3BDTEVsQlFVa3NTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRWQ3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NZVUZCWVN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGRFTXNRMEZCUXp0SlFVVkVMRWxCUVVrc1RVRkJUU3hGUVVGRkxFTkJRVU03VVVGRFdDeEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMSFZDUVVGMVFpeE5RVUZOTEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUXpkRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTFCUVUwc1owSkJRV2RDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMjVFTEVOQlFVTTdTVUZGUkN4SlFVRkpMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zVFVGQlRUdFJRVU5zUWl4TlFVRk5MRWxCUVVrc1lVRkJZU3hEUVVGRExEaENRVUU0UWl4RFFVRkRMRU5CUVVNN1NVRkZNVVFzVFVGQlRTeG5Ra0ZCWjBJc1IwRkJSeXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVU53UXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hGUVVGRkxFTkJRMUlzUzBGQlN5eERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNN1VVRkRja0lzUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRU5CUVVNN1VVRkRkRUlzUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRelZDTEVOQlFVTTdTVUZEUml4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1VVRkROMElzUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZEVGl4eFJVRkJjVVVzUTBGRGRFVXNRMEZCUXp0UlFVTkdMRTlCUVU4N1NVRkRWQ3hEUVVGRE8wbEJSVVFzUzBGQlN5eFZRVUZWTEU5QlFVOHNRMEZCUXl4VlFVRnhRanRSUVVNeFF5eE5RVUZOTEVsQlFVa3NSMEZMU2l4TlFVRk5MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRM0pDTEdkQ1FVRm5RaXhEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEVWQlFVVXNTMEZCU3l4RlFVRkZMRVZCUVVVN1dVRkRia01zVFVGQlRTeFRRVUZUTEVkQlFVY3NTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFpRVU42UXl4TlFVRk5MRlZCUVZVc1IwRkJSeXhMUVVGTExFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMWxCUlRORExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNN1dVRkRka0lzVFVGQlRTeFhRVUZYTEVkQlFYZENMRVZCUVVVc1EwRkJRenRaUVVNMVF5eExRVUZMTEUxQlFVMHNSMEZCUnl4SlFVRkpMRlZCUVZVc1NVRkJTU3hOUVVGTkxFbEJRVWtzUlVGQlJTeEZRVUZGTEVOQlFVTTdaMEpCUXpkRExGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4TlFVRk5MR0ZCUVdFc1EwRkRjRU1zUzBGQlN5eEZRVU5NTEVOQlFVTXNSMEZCUnl4RlFVRkZMRk5CUVZNc1EwRkJReXhGUVVOb1FpeEZRVUZGTzJkQ1FVTkdMRWxCUVVrN1owSkJRMG9zZVVSQlFYbEVPMmRDUVVONlJDd3lSRUZCTWtRN1owSkJRek5FTEV0QlFVczdaMEpCUTB3c1EwRkJReXhEUVVGRExGVkJRVlVzUTBGRFlpeERRVUZETzFsQlEwb3NRMEZCUXp0WlFVVkVMRWxCUVVrc1owSkJRV2RDTEVkQlFXdERMRk5CUVZNc1EwRkJRenRaUVVWb1JTeEpRVUZKTEZWQlFWVXNSVUZCUlN4RFFVRkRPMmRDUVVObUxGZEJRVmNzUTBGQlF5eFRRVUZUTEVOQlFVTXNSMEZCUnl4WFFVRlhMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETzJkQ1FVTjBSQ3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFZEJRVmNzUlVGQlJTeEZRVUZGTzI5Q1FVTXZReXhYUVVGWExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNVVUZCVVN4SFFVRkhMRmRCUVZjc1EwRkRNME1zUjBGQlJ5eERRVU5LTEVOQlFVTXNVVUZCVVN4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVTBzUlVGQlJTeEZRVUZGTzNkQ1FVTTFRaXhKUVVGSkxFTkJRVU1zUTBGQlF5eEpRVUZKTEV0QlFVMHNWVUZCVlN4RFFVRkRMRkZCUVcxQ096UkNRVUZGTEU5QlFVOHNTVUZCU1N4RFFVRkRPM2RDUVVNMVJDeG5Ra0ZCWjBJc1IwRkJSeXhEUVVGUkxFTkJRVU03ZDBKQlF6VkNMRTlCUVU4c1MwRkJTeXhEUVVGRE8yOUNRVU5tTEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVOTUxFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEwd3NRMEZCUXp0WlFVVkVMRTFCUVUwc1lVRkJZU3hIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RFFVRkRPMmxDUVVNM1F5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eFJRVUZSTEVOQlFVTTdhVUpCUTNSQ0xFbEJRVWtzUlVGQlJTeERRVUZETEUxQlFVMHNRMEZCUXp0WlFVTnFRaXhKUVVGSkxHRkJRV0U3WjBKQlEyWXNSMEZCUnp0eFFrRkRRU3hIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenR4UWtGRE0wSXNTVUZCU1N4RFFVRkRMRk5CUVZNc1lVRkJZU3huUTBGQlowTXNRMEZCUXl4RFFVRkRPMWxCUTJ4RkxFMUJRVTBzVjBGQlZ5eEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1YwRkJWeXhEUVVGRE8ybENRVU16UXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNN2FVSkJRM0JDTEVsQlFVa3NSVUZCUlN4RFFVRkRMRTFCUVUwc1EwRkJRenRaUVVWcVFpeEhRVUZITzJsQ1FVTkJMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMmxDUVVNelFpeEpRVUZKTEVOQlFVTXNVMEZCVXl4WFFVRlhMQ3RDUVVFclFpeERRVUZETEVOQlFVTTdXVUZETjBRc1NVRkJTU3huUWtGQlowSTdaMEpCUTJ4Q0xFZEJRVWM3Y1VKQlEwRXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdjVUpCUXpOQ0xFbEJRVWtzUTBGRFNDd3JRa0ZCSzBJc1ZVRkJWU3hGUVVGRkxGRkJRV3RDTEVWQlFVVXNRMEZEYUVVc1EwRkJRenRaUVVWT0xFMUJRVTBzVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1YwRkJWeXhEUVVGRE8ybENRVU4yUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhSUVVGUkxFbEJRVWtzUlVGQlJTeERRVUZETEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFbEJRVWtzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0cFFrRkRlRVFzU1VGQlNTeEZRVUZGTEVOQlFVTTdXVUZEVml4SlFVRkpMRTlCUVU4c1IwRkJlVUlzUlVGQlJTeERRVUZETzFsQlEzWkRMRWxCUVVrc1ZVRkJWU3hIUVVGMVFpeEZRVUZGTEVOQlFVTTdXVUZEZUVNc1NVRkJTU3hQUVVGUExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdaMEpCUTI1Q0xFZEJRVWM3Y1VKQlEwRXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdjVUpCUXpOQ0xFOUJRVThzUTBGQlF5eHZRMEZCYjBNc1EwRkJReXhEUVVGRE8yZENRVU5xUkN4UFFVRlBMRWRCUVVjc2IwSkJRVzlDTEVOQlFVTXNTMEZCU3l4RlFVRkZMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlEzWkZMRWRCUVVjN2NVSkJRMEVzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03Y1VKQlF6TkNMRWxCUVVrc1EwRkJReXhUUVVGVExFOUJRVThzUTBGQlF5eE5RVUZOTEZWQlFWVXNRMEZCUXl4RFFVRkRPMmRDUVVNelF5eFZRVUZWTEVkQlFVY3NkVUpCUVhWQ0xFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdaMEpCUXpWRExFZEJRVWM3Y1VKQlEwRXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdjVUpCUXpOQ0xFbEJRVWtzUTBGQlF5eFRRVUZUTEZWQlFWVXNRMEZCUXl4TlFVRk5MR05CUVdNc1EwRkJReXhEUVVGRE8xbEJRM0JFTEVOQlFVTTdXVUZEUkN4UFFVRlBPMmRDUVVOTUxFOUJRVTg3WjBKQlExQXNWVUZCVlR0blFrRkRWaXhYUVVGWExFVkJRVVVzVDBGQlR6dG5Ra0ZEY0VJc1RVRkJUU3hGUVVGRkxHZENRVUZuUWp0aFFVTjZRaXhEUVVGRE8xRkJRMG9zUTBGQlF5eERRVUZETEVOQlEwZ3NRMEZCUXp0UlFVTkdMRTlCUVU4c1NVRkJTU3hEUVVGRE8wbEJRMlFzUTBGQlF6dEpRVVZFTEUxQlFVMHNTVUZCU1N4SFFVRkhMRTFCUVUwc1QwRkJUeXhGUVVGRkxFTkJRVU03U1VGRE4wSXNUVUZCVFN4VlFVRlZMRWRCUVVjc1RVRkJUU3hQUVVGUExFTkJRVU1zUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlRsRExFMUJRVTBzWVVGQllTeEhRVUZITzFGQlEzQkNMRWRCUVVjc1ZVRkJWU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXp0UlFVTXhSQ3hIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVN1VVRkRlRU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRE8wdEJRemxDTEVOQlFVTTdTVUZGZWtJc1RVRkJUU3hyUWtGQmEwSXNSMEZCUnp0UlFVTjZRaXhIUVVGSExFbEJRVWtzUjBGQlJ5eERRVU5TTEdGQlFXRXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhKUVVGMVFpeEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZEYkVVc1EwRkJReXhOUVVGTkxFVkJRVVU3UzBGRFdDeERRVUZETzBsQlJVWXNTVUZCU1N4clFrRkJhMElzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXp0UlFVTTVRaXhuUWtGQlowSXNRMEZCUXl4clFrRkJhMElzUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXp0UlFVTTNReXhOUVVGTkxIRkNRVUZ4UWl4SFFVRkhMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRM0pETEUxQlFVMHNSVUZEVGl4VlFVRlZMRVZCUTFZc2VVSkJRWGxDTEVOQlF6RkNMRU5CUVVNN1VVRkRSaXhOUVVGTkxIbENRVUY1UWl4SFFVRkhMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRM3BETEUxQlFVMHNSVUZEVGl4NVFrRkJlVUlzUTBGRE1VSXNRMEZCUXp0UlFVTkdMRVZCUVVVc1EwRkJReXhaUVVGWkxFTkJRVU1zY1VKQlFYRkNMRVZCUVVVc2VVSkJRWGxDTEVOQlFVTXNRMEZCUXp0UlFVTnNSU3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVU5PTEZWQlFWVXNZVUZCWVN4RFFVRkRMRTFCUVUwc2JVSkJRVzFDTEhGQ1FVRnhRaXhGUVVGRkxFTkJRM3BGTEVOQlFVTTdVVUZEUml4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVOT0xHZERRVUZuUXl4NVFrRkJlVUlzTmtKQlFUWkNMRU5CUTNaR0xFTkJRVU03VVVGRlJpeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRGFrSXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hWUVVGVkxFVkJRVVVzVjBGQlZ5eEZRVUZGTEUxQlFVMHNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOMlJDeE5RVUZOTEU5QlFVOHNSMEZCZDBJc1EwRkJReXhIUVVGSExGZEJRVmNzUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUTJ4RkxFOUJRVThzUTBGRFpTeERRVUZETzFsQlEzcENMRTlCUVU4c1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlR0blFrRkRjRUlzV1VGQldTeERRVUZETEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzJkQ1FVTjBReXg1UWtGQmVVSXNRMEZCUXl4VlFVRlZMRWxCUVVrc1JVRkJSU3hGUVVGRkxFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1owSkJRelZFTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUTA0c1ZVRkJWU3hQUVVGUExFVkJRVVVzVFVGQlRTeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xGVkJRVlVzUlVGQlJTeE5RVUZOTEVsQlFVa3NRMEZCUXl3NFFrRkJPRUlzUTBGQlF5eERRVUZETEVsQlFVa3NSVUZCUlN4RFFVTTFSeXhEUVVGRE8xbEJRMG9zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEVEN4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOTUxFTkJRVU03UVVGRFNDeERRVUZETEVOQlFVTXNRMEZCUXp0QlFVVk1MRTFCUVUwc1YwRkJWeXhIUVVGSExFbEJRVWtzVDBGQlR5eEZRVUZGTzB0QlF6bENMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU03UzBGRGJrSXNWMEZCVnl4RFFVRkRMRzFFUVVGdFJDeERRVUZETzB0QlEyaEZMRTFCUVUwc1EwRkRUQ3h6UWtGQmMwSXNSVUZEZEVJc2JVUkJRVzFFTEVWQlEyNUVMRzFDUVVGdFFpeERRVU53UWp0TFFVTkJMRTFCUVUwc1EwRkJReXh2UWtGQmIwSXNSVUZCUlN4MVEwRkJkVU1zUlVGQlJTeE5RVUZOTEVOQlFVTTdTMEZETjBVc1RVRkJUU3hEUVVGRExIRkNRVUZ4UWl4RlFVRkZMSEZEUVVGeFF5eEZRVUZGTEVsQlFVa3NRMEZCUXp0TFFVTXhSU3hOUVVGTkxFTkJRVU1zUzBGQlN5eEZRVUZGTEU5QlFWa3NSVUZCUlN4RlFVRkZPMGxCUXpkQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUTNCQ0xFVkJRVVVzUTBGQlF5eFpRVUZaTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlFVVXNZMEZCWXl4RFFVRkRMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRMjVGTEVOQlFVTTdTVUZGUml4TlFVRk5MRTlCUVU4c1IwRkJSeXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETzBsQlJUVkNMRTFCUVUwc1IwRkJSeXhIUVVGSExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVNN1NVRkRkRU1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZEVUN4NVFrRkJlVUlzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1VVRkJVU3hIUVVGSExFTkJRVU1zU1VGQlNTeFpRVUZaTEU5QlFVOHNSVUZCUlN4RFFVTjBSaXhEUVVGRE8wbEJRMFlzZDBOQlFYZERPMGxCUTNoRExFbEJRVWtzUlVGQlJTeFRRVUZUTEVWQlFVVXNUMEZCVHl4RlFVRkZMRkZCUVZFc1JVRkJSU3hIUVVGSExFOUJRVThzUTBGQlF6dEpRVU12UXl4UFFVRlBMRWRCUVVjc1VVRkJVU3hEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVsQlFVa3NRMEZCUXp0SlFVTndReXhSUVVGUkxFZEJRVWNzVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJRenRKUVVWd1F5eE5RVUZOTERCQ1FVRXdRaXhEUVVGRExHMUNRVUZ0UWl4RlFVRkZMRTlCUVU4c1JVRkJSU3hSUVVGUkxFTkJRVU1zUTBGQlF6dEpRVVY2UlN4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVOT0xEaEVRVUU0UkN4VFFVRlRMRWxCUVVrc1EwRkROVVVzUTBGQlF6dEJRVU5LTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlV3c1RVRkJUU3hqUVVGakxFZEJRVWNzU1VGQlNTeFBRVUZQTEVWQlFVVTdTMEZEYWtNc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRPMHRCUTNaQ0xGZEJRVmNzUTBGQlF5d3JRa0ZCSzBJc1EwRkJRenRMUVVNMVF5eE5RVUZOTEVOQlFVTXNhVUpCUVdsQ0xFVkJRVVVzTkVKQlFUUkNMRU5CUVVNN1MwRkRka1FzVFVGQlRTeERRVUZETEd0Q1FVRnJRaXhGUVVGRkxHTkJRV01zUTBGQlF6dExRVU14UXl4TlFVRk5MRU5CUTB3c0swSkJRU3RDTEVWQlF5OUNMR3RGUVVGclJTeERRVU51UlR0TFFVTkJMRTFCUVUwc1EwRkRUQ3cyUWtGQk5rSXNSVUZETjBJc2MwVkJRWE5GTEVWQlEzUkZMRXRCUVVzc1EwRkRUanRMUVVOQkxFMUJRVTBzUTBGRFRDd3dRa0ZCTUVJc1JVRkRNVUlzTkVWQlFUUkZMRVZCUXpWRkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxFOUJRVThzUlVGQlJTeGhRVUZoTEVWQlFVVXNiVUpCUVcxQ0xFTkJRVU1zUTBGRGRFVTdTMEZEUVN4TlFVRk5MRU5CUTB3c2EwSkJRV3RDTEVWQlEyeENMREJDUVVFd1FpeEZRVU14UWl4M1EwRkJkME1zUTBGRGVrTTdTMEZEUVN4TlFVRk5MRU5CUVVNc1MwRkJTeXhGUVVGRkxFOUJRVmtzUlVGQlJTeEZRVUZGTzBsQlF6ZENMRTFCUVUwc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlEzQkNMRVZCUVVVc1EwRkJReXhaUVVGWkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzWTBGQll5eERRVUZETEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUTI1RkxFTkJRVU03U1VGRlJpeE5RVUZOTEU5QlFVOHNSMEZCUnl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRE8wbEJSVFZDTEUxQlFVMHNSMEZCUnl4SFFVRkhMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1EwRkJRenRKUVVNeFF5eEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVTlFMSGxDUVVGNVFpeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1EwRkJReXhSUVVGUkxFZEJRVWNzUTBGQlF5eEpRVUZKTEZsQlFWa3NUMEZCVHl4RlFVRkZMRU5CUTNSR0xFTkJRVU03U1VGRlJpeE5RVUZOTEVWQlEwb3NTVUZCU1N4RlFVTktMRXRCUVVzc1JVRkRUQ3hMUVVGTExFVkJRMHdzWVVGQllUdEpRVU5pTERaRVFVRTJSRHRKUVVNM1JDeG5Ra0ZCWjBJc1JVRkRhRUlzYVVKQlFXbENMRWRCUTJ4Q0xFZEJRVWNzVDBGQlR5eERRVUZETzBsQlExb3NUVUZCVFN4UFFVRlBMRWRCUVVjc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVVnFReXhOUVVGTkxGTkJRVk1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zWVVGQllTeEZRVUZGTEVkQlFVY3NTVUZCU1N4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSVEZGTEVsQlFVa3NVVUZCWjBJc1EwRkJRenRKUVVWeVFpeEpRVUZKTEVOQlFVTTdVVUZEU0N4UlFVRlJMRWRCUVVjc1VVRkJVU3hEUVVGRExFVkJRVVVzUTBGQlF5eFpRVUZaTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1VVRkJVU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYkVVc1NVRkJTU3hMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZETzFsQlFVVXNVVUZCVVN4SFFVRkhMRU5CUVVNc1EwRkJRenM3V1VGRE4wSXNVVUZCVVN4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOdVFpdzJSRUZCTmtRN1NVRkRMMFFzUTBGQlF6dEpRVUZETEU5QlFVOHNRMEZCVlN4RlFVRkZMRU5CUVVNN1VVRkRjRUlzVVVGQlVTeEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTm1MRU5CUVVNN1NVRkRSQ3hGUVVGRk8wbEJRMFlzTUVKQlFUQkNPMGxCUXpGQ0xIZERRVUYzUXp0SlFVTjRReXh4UWtGQmNVSTdTVUZEY2tJc1NVRkJTVHRKUVVWS0xFbEJRVWtzUTBGQlF6dFJRVU5JTEV0QlFVc3NUVUZCVFN4SlFVRkpMRWxCUVVrc1QwRkJUeXhGUVVGRkxFTkJRVU03V1VGRE0wSXNaVUZCWlN4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFVkJRVVVzU1VGQlNTeEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMWxCUXpWRExHVkJRV1VzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1dVRkROVUlzWlVGQlpTeERRVU5pTEVsQlFVa3NSVUZEU2l4SlFVRkpMRVZCUTBvc1NVRkJTU3hMUVVGTExHTkJRV003WjBKQlEzSkNMRU5CUVVNc1EwRkJReXhwUWtGQmFVSTdaMEpCUTI1Q0xFTkJRVU1zUTBGQlF5eDVRa0ZCZVVJc1JVRkROMElzVVVGQlVTeEZRVU5TTEU5QlFVOHNSVUZEVUN4cFFrRkJhVUlzUTBGRGJFSXNRMEZCUXp0UlFVTktMRU5CUVVNN1VVRkRSQ3hGUVVGRkxFTkJRVU1zWVVGQllTeERRVUZETEZOQlFWTXNSVUZCUlN4UlFVRlJMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVU51UkN4RFFVRkRPMGxCUVVNc1QwRkJUeXhIUVVGUkxFVkJRVVVzUTBGQlF6dFJRVU5zUWl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExESkNRVUV5UWl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRemxETEVOQlFVTTdTVUZEUkN4bFFVRmxMRU5CUVVNc1NVRkJTU3hGUVVGRkxGRkJRVkVzUlVGQlJTeFBRVUZQTEVWQlFVVXNhVUpCUVdsQ0xFTkJRVU1zUTBGQlF6dEJRVU01UkN4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVWTUxFMUJRVTBzYVVKQlFXbENMRWRCUVVjc1NVRkJTU3hQUVVGUExFVkJRVVU3UzBGRGNFTXNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETzB0QlF6TkNMRmRCUVZjc1EwRkJReXh0UkVGQmJVUXNRMEZCUXp0TFFVTm9SU3hOUVVGTkxFTkJRVU1zYlVKQlFXMUNMRVZCUVVVc1pVRkJaU3hGUVVGRkxHOUNRVUZ2UWl4RFFVRkRPMHRCUTJ4RkxFMUJRVTBzUTBGQlF5eG5Ra0ZCWjBJc1JVRkJSU3c0UWtGQk9FSXNSVUZCUlN4UFFVRlBMRU5CUVVNN1MwRkRha1VzVFVGQlRTeERRVUZETEV0QlFVc3NSVUZCUlN4UFFVRlpMRVZCUVVVc1JVRkJSVHRKUVVNM1FpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVOd1FpeEZRVUZGTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4RlFVRkZMR05CUVdNc1EwRkJReXhGUVVGRkxFOUJRVThzUTBGQlF5eERRVU51UlN4RFFVRkRPMGxCUlVZc1RVRkJUU3hQUVVGUExFZEJRVWNzUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUXp0SlFVVTFRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVOQlFVTTdTVUZET1VNc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGRFVDeDVRa0ZCZVVJc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eFBRVUZQTEVOQlFVTXNVVUZCVVN4SFFVRkhMRU5CUVVNc1NVRkJTU3haUVVGWkxFOUJRVThzUlVGQlJTeERRVU4wUml4RFFVRkRPMGxCUTBZc1RVRkJUU3hGUVVGRkxFMUJRVTBzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4UFFVRlBMRU5CUVVNN1NVRkRhRU1zVVVGQlVTeERRVUZETEdGQlFXRXNSMEZCUnl4eFFrRkJjVUlzVFVGQlRTeEZRVUZGTEVWQlFVVTdVVUZEZEVRc1IwRkJSeXhGUVVGRkxFOUJRVThzUTBGQlF5eEhRVUZITEVWQlFVVTdTMEZEYmtJc1EwRkJReXhEUVVGRE8wRkJRMHdzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZGVEN4TlFVRk5MRmxCUVZrc1IwRkJSeXhKUVVGSkxFOUJRVThzUlVGQlJUdExRVU12UWl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRE8wdEJRMjVDTEZkQlFWY3NRMEZCUXl4dFEwRkJiVU1zUTBGQlF6dExRVU5vUkN4TlFVRk5MRU5CUVVNc01FSkJRVEJDTEVWQlFVVXNlVUpCUVhsQ0xFVkJRVVVzVTBGQlV5eERRVUZETzB0QlEzaEZMRTFCUVUwc1EwRkRUQ3gzUWtGQmQwSXNSVUZEZUVJc2NVTkJRWEZETEVWQlEzSkRMRk5CUVZNc1EwRkRWanRMUVVOQkxFMUJRVTBzUTBGQlF5eExRVUZMTEVWQlFVVXNUMEZCV1N4RlFVRkZMRVZCUVVVN1NVRkROMElzU1VGQlNTeERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRmxCUVZrc1NVRkJTU3hQUVVGUExFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVXNRMEZCUXp0UlFVTnNSQ3hOUVVGTk8yRkJRMGdzUjBGQlJ5eERRVUZETEdGQlFXRXNRMEZCUXp0aFFVTnNRaXhMUVVGTExFTkJRMG9zTkVWQlFUUkZMRU5CUXpkRkxFTkJRVU03VVVGRFNpeFBRVUZQTzBsQlExUXNRMEZCUXp0SlFVVkVMRk5CUVZNc1ZVRkJWU3hEUVVGRExFMUJRV01zUlVGQlJTeE5RVUZqTzFGQlEyaEVMR2REUVVGblF6dFJRVU5vUXl4SlFVRkpMRVZCUVVVc1EwRkJReXhWUVVGVkxFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNRMEZCUXp0WlFVTXhRaXhGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlR0blFrRkRhRUlzVTBGQlV5eEZRVUZGTEVsQlFVazdaMEpCUTJZc1MwRkJTeXhGUVVGRkxFbEJRVWs3WVVGRFdpeERRVUZETEVOQlFVTTdVVUZEVEN4RFFVRkRPMUZCUlVRc2RVSkJRWFZDTzFGQlEzWkNMRVZCUVVVc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSVHRaUVVOcVF5eFRRVUZUTEVWQlFVVXNTVUZCU1R0VFFVTm9RaXhEUVVGRExFTkJRVU03VVVGRlNDeGpRVUZqTzFGQlEyUXNSVUZCUlN4RFFVRkRMRTFCUVUwc1EwRkJReXhOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTzFsQlEzaENMRk5CUVZNc1JVRkJSU3hKUVVGSk8xbEJRMllzUzBGQlN5eEZRVUZGTEVsQlFVazdVMEZEV2l4RFFVRkRMRU5CUVVNN1VVRkZTQ3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEZkQlFWY3NUVUZCVFR0WFFVTjRRaXhOUVVGTkxFVkJRVVVzUTBGQlF5eERRVUZETzBsQlEycENMRU5CUVVNN1NVRkZSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dEpRVU5zUkN4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRKUVVVNVF5eFJRVUZSTEVOQlFVTXNaME5CUVdkRExFVkJRVVU3VVVGRGVrTXNSMEZCUnl4RlFVRkZMRTFCUVUwN1VVRkRXQ3hMUVVGTExFVkJRVVVzVTBGQlV6dExRVU5xUWl4RFFVRkRMRU5CUVVNN1NVRkRTQ3hSUVVGUkxFTkJRVU1zWjBSQlFXZEVMRVZCUVVVN1VVRkRla1FzUjBGQlJ5eEZRVUZGTEUxQlFVMDdVVUZEV0N4TFFVRkxMRVZCUVVVc1UwRkJVenRMUVVOcVFpeERRVUZETEVOQlFVTTdTVUZGU0N4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlN4WlFVRlpMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03U1VGRGVrUXNUVUZCVFN4VFFVRlRMRWRCUVVjc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVWQlFVVXNUMEZCVHl4RlFVRkZMRmxCUVZrc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dEpRVVZvUlN4VlFVRlZMRU5CUVVNc1UwRkJVeXhGUVVGRkxGTkJRVk1zUTBGQlF5eERRVUZETzBsQlJXcERMRTFCUVUwc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlF6VkNMRTFCUVUwc1JVRkRUaXhaUVVGWkxFVkJRMW9zVVVGQlVTeEZRVU5TTEdkQ1FVRm5RaXhGUVVOb1FpeFhRVUZYTEVWQlExZ3NVVUZCVVN4RFFVTlVMRU5CUVVNN1NVRkZSaXhOUVVGTkxHVkJRV1VzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hUUVVGVExFVkJRVVVzVjBGQlZ5eERRVUZETEVOQlFVTTdTVUZGYUVVc1JVRkJSU3hEUVVGRExGTkJRVk1zUTBGQlF5eGxRVUZsTEVWQlFVVTdVVUZETlVJc1UwRkJVeXhGUVVGRkxFbEJRVWs3UzBGRGFFSXNRMEZCUXl4RFFVRkRPMGxCUlVnc1MwRkJTeXhOUVVGTkxFbEJRVWtzU1VGQlNTeEZRVUZGTEVOQlFVTXNWMEZCVnl4RFFVRkRMRmxCUVZrc1EwRkJReXhGUVVGRkxFTkJRVU03VVVGRGFFUXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRha1FzVFVGQlRTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhsUVVGbExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdVVUZGY0VRc2QwTkJRWGRETzFGQlEzaERMRWxCUVVrc1JVRkJSU3hEUVVGRExGVkJRVlVzUTBGQlF5eFZRVUZWTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUXpsQ0xFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTXNWVUZCVlN4RlFVRkZPMmRDUVVOd1FpeFRRVUZUTEVWQlFVVXNTVUZCU1R0blFrRkRaaXhMUVVGTExFVkJRVVVzU1VGQlNUdGhRVU5hTEVOQlFVTXNRMEZCUXp0UlFVTk1MRU5CUVVNN1VVRkZSQ3hGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZETEZWQlFWVXNSVUZCUlN4VlFVRlZMRVZCUVVVN1dVRkRhRU1zVTBGQlV5eEZRVUZGTEVsQlFVazdXVUZEWml4TFFVRkxMRVZCUVVVc1NVRkJTVHRUUVVOYUxFTkJRVU1zUTBGQlF6dFJRVVZJTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1YwRkJWeXhWUVVGVk8xZEJRelZDTEZWQlFWVXNSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRja0lzUTBGQlF6dEpRVVZFTEZGQlFWRXNRMEZCUXl3MlFrRkJOa0lzUlVGQlJTeEZRVUZGTEVkQlFVY3NSVUZCUlN4SlFVRkpMRVZCUVVVc1MwRkJTeXhGUVVGRkxGTkJRVk1zUlVGQlJTeERRVUZETEVOQlFVTTdTVUZEZWtVc1VVRkJVU3hEUVVGRExEaERRVUU0UXl4RlFVRkZPMUZCUTNaRUxFZEJRVWNzUlVGQlJTeEpRVUZKTzFGQlExUXNTMEZCU3l4RlFVRkZMRk5CUVZNN1MwRkRha0lzUTBGQlF5eERRVUZETzBsQlEwZ3NVVUZCVVN4RFFVRkRMREpDUVVFeVFpeEZRVUZGTEVWQlFVVXNSMEZCUnl4RlFVRkZMRWxCUVVrc1JVRkJSU3hMUVVGTExFVkJRVVVzVTBGQlV5eEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTjJSU3hSUVVGUkxFTkJRVU1zYzBOQlFYTkRMRVZCUVVVN1VVRkRMME1zUjBGQlJ5eEZRVUZGTEVsQlFVazdVVUZEVkN4TFFVRkxMRVZCUVVVc1UwRkJVenRMUVVOcVFpeERRVUZETEVOQlFVTTdRVUZEVEN4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVWTUxFMUJRVTBzVTBGQlV5eEhRVUZITEVsQlFVa3NUMEZCVHl4RlFVRkZPMHRCUXpWQ0xFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTTdTMEZEYkVJc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF6dExRVU5xUWl4WFFVRlhMRU5CUTFZc2JVVkJRVzFGTEVOQlEzQkZMRU5CUVVNN1FVRkZTaXhUUVVGVExFTkJRVU1zVlVGQlZTeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRPMEZCUTNKRExGTkJRVk1zUTBGQlF5eFZRVUZWTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNN1FVRkRja01zVTBGQlV5eERRVUZETEZWQlFWVXNRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJRenRCUVVOc1F5eFRRVUZUTEVOQlFVTXNWVUZCVlN4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVGRE8wRkJRM0pETEZOQlFWTXNRMEZCUXl4VlFVRlZMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXp0QlFVTjRReXhUUVVGVExFTkJRVU1zVlVGQlZTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFTkJRVU03UVVGRGVrTXNVMEZCVXl4RFFVRkRMRlZCUVZVc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dEJRVVZ1UXl4TlFVRk5MRU5CUVVNc1QwRkJUeXhWUVVGVkxFMUJRVTA3U1VGRE5VSXNUMEZCVHl4VFFVRlRMRU5CUVVNN1FVRkRia0lzUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJRU52YlcxaGJtUWdmU0JtY205dElGd2lZMjl0YldGdVpHVnlYQ0k3WEc1cGJYQnZjblFnZXlCTWIyZG5hVzVuTENCMGIxQmhjMk5oYkVOaGMyVWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMnh2WjJkcGJtZGNJanRjYm1sdGNHOXlkQ0I3SUdWNFpXTlRlVzVqSUgwZ1puSnZiU0JjSW1Ob2FXeGtYM0J5YjJObGMzTmNJanRjYm1sdGNHOXlkQ0JtY3lCbWNtOXRJRndpWm5OY0lqdGNibWx0Y0c5eWRDQndZWFJvSUdaeWIyMGdYQ0p3WVhSb1hDSTdYRzVwYlhCdmNuUWdleUJpZFdsc2RHbHVUVzlrZFd4bGN5d2dZM0psWVhSbFVtVnhkV2x5WlNCOUlHWnliMjBnWENKdWIyUmxPbTF2WkhWc1pWd2lPMXh1YVcxd2IzSjBJSHNnVUd4MVoybHVMQ0J5YjJ4c2RYQWdmU0JtY205dElGd2ljbTlzYkhWd1hDSTdYRzVwYlhCdmNuUWdZMjl0Ylc5dWFuTWdabkp2YlNCY0lrQnliMnhzZFhBdmNHeDFaMmx1TFdOdmJXMXZibXB6WENJN1hHNXBiWEJ2Y25RZ2V5QnViMlJsVW1WemIyeDJaU0I5SUdaeWIyMGdYQ0pBY205c2JIVndMM0JzZFdkcGJpMXViMlJsTFhKbGMyOXNkbVZjSWp0Y2JtbHRjRzl5ZENCeVpYQnNZV05sSUdaeWIyMGdYQ0pBY205c2JIVndMM0JzZFdkcGJpMXlaWEJzWVdObFhDSTdYRzVwYlhCdmNuUWdleUJKYm5SbGNtNWhiRVZ5Y205eUxDQlRaWEpwWVd4cGVtRjBhVzl1UlhKeWIzSWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdYRzRnSUdkbGJtVnlZWFJsVFc5a1pXeEVaWE5wWjI1RWIyTnpMRnh1SUNCblpXNWxjbUYwWlUxdlpHVnNTVzVrWlhobGN5eGNiaUFnY21WaFpFMXZaR1ZzUm1sc1pTeGNiaUFnY21WaFpFMXZaR1ZzUm05c1pHVnljeXhjYmlBZ2QzSnBkR1ZFWlhOcFoyNUViMk56TEZ4dUlDQjNjbWwwWlVsdVpHVjRaWE1zWEc1OUlHWnliMjBnWENJdUwyTnNhV1Z1ZEM5cGJtUmxlR1Z6WENJN1hHNXBiWEJ2Y25RZ2V5Qk5iMlJsYkNCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHVmpiM0poZEc5eUxYWmhiR2xrWVhScGIyNWNJanRjYm1sdGNHOXlkQ0I3WEc0Z0lHRndjSEp2ZG1WRGIyNTBjbUZqZEN4Y2JpQWdaVzV6ZFhKbFNXNW1jbUZ6ZEhKMVkzUjFjbVZDYjI5MFpXUXNYRzRnSUdsdWMzUmhiR3hEYjI1MGNtRmpkQ3hjYmlBZ2NHRmphMkZuWlVOdmJuUnlZV04wTEZ4dUlDQmpiMjF0YVhSRGFHRnBibU52WkdVc1hHNGdJR2RsZEVOdmJuUnlZV04wVTNSaGNuUkRiMjF0WVc1a0xGeHVJQ0JqYjIxd2FXeGxWMmwwYUZSelkyOXVabWxuVDNabGNuSnBaR1Z6TEZ4dWZTQm1jbTl0SUZ3aUxpOWpiR2t0ZFhScGJITmNJanRjYm1sdGNHOXlkQ0JjSWk0dmMyaGhjbVZrTDI5MlpYSnlhV1JsYzF3aU8xeHVhVzF3YjNKMElIUnpJR1p5YjIwZ1hDSjBlWEJsYzJOeWFYQjBYQ0k3WEc1cGJYQnZjblFnZTF4dUlDQmxlSFJ5WVdOMFEyOXNiR1ZqZEdsdmJuTWdZWE1nWlhoRGIyeHNaV04wYVc5dWN5eGNiaUFnVUhKcGRtRjBaVU52Ykd4bFkzUnBiMjRzWEc0Z0lIZHlhWFJsUTI5c2JHVmpkR2x2Ym5Nc1hHNGdJSGR5YVhSbFEyOXNiR1ZqZEdsdmJrUmxjMmxuYmtSdlkzTXNYRzU5SUdaeWIyMGdYQ0l1TDJOc2FXVnVkQzlqYjJ4c1pXTjBhVzl1Y3k5cGJtUmxlRndpTzF4dWFXMXdiM0owSUhzZ1EyOTFZMmhFUWtSbGMybG5ia1J2WXl3Z1EzSmxZWFJsU1c1a1pYaFNaWEYxWlhOMElIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OW1iM0l0WTI5MVkyaGtZbHdpTzF4dVhHNWpiMjV6ZENCc2IyZG5aWElnUFNCTWIyZG5hVzVuTG1admNpaGNJbVpoWW5KcFkxd2lLVHRjYmx4dVpuVnVZM1JwYjI0Z2NtVnpiMngyWlVKMWJtUnNaV1JLYzBsdGNHOXlkSE1vS1RvZ1VHeDFaMmx1SUh0Y2JpQWdjbVYwZFhKdUlIdGNiaUFnSUNCdVlXMWxPaUJjSW5KbGMyOXNkbVV0WW5WdVpHeGxaQzFxY3kxcGJYQnZjblJ6WENJc1hHNGdJQ0FnY21WemIyeDJaVWxrS0hOdmRYSmpaU3dnYVcxd2IzSjBaWElwSUh0Y2JpQWdJQ0FnSUdsbUlDZ2hhVzF3YjNKMFpYSWdmSHdnSVhOdmRYSmpaUzV6ZEdGeWRITlhhWFJvS0Z3aUxsd2lLU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdZMjl1YzNRZ2NtVnpiMngyWldSUVlYUm9JRDBnY0dGMGFDNXlaWE52YkhabEtIQmhkR2d1WkdseWJtRnRaU2hwYlhCdmNuUmxjaWtzSUhOdmRYSmpaU2s3WEc0Z0lDQWdJQ0JqYjI1emRDQmpZVzVrYVdSaGRHVnpJRDBnVzF4dUlDQWdJQ0FnSUNCeVpYTnZiSFpsWkZCaGRHZ3NYRzRnSUNBZ0lDQWdJR0FrZTNKbGMyOXNkbVZrVUdGMGFIMHVhbk5nTEZ4dUlDQWdJQ0FnSUNCd1lYUm9MbXB2YVc0b2NtVnpiMngyWldSUVlYUm9MQ0JjSW1sdVpHVjRMbXB6WENJcExGeHVJQ0FnSUNBZ1hUdGNibHh1SUNBZ0lDQWdabTl5SUNoamIyNXpkQ0JqWVc1a2FXUmhkR1VnYjJZZ1kyRnVaR2xrWVhSbGN5a2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb1puTXVaWGhwYzNSelUzbHVZeWhqWVc1a2FXUmhkR1VwSUNZbUlHWnpMbk4wWVhSVGVXNWpLR05oYm1ScFpHRjBaU2t1YVhOR2FXeGxLQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1kyRnVaR2xrWVhSbE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDBzWEc0Z0lIMDdYRzU5WEc1Y2JtWjFibU4wYVc5dUlISmxjMjlzZG1WRVpXTmhabEJoWTJ0aFoyVkpiWEJ2Y25SektDazZJRkJzZFdkcGJpQjdYRzRnSUdOdmJuTjBJR052Ym5SeVlXTjBVbVZ4ZFdseVpTQTlJR055WldGMFpWSmxjWFZwY21Vb1hHNGdJQ0FnY0dGMGFDNXFiMmx1S0hCeWIyTmxjM011WTNka0tDa3NJRndpY0dGamEyRm5aUzVxYzI5dVhDSXBYRzRnSUNrN1hHNWNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQnVZVzFsT2lCY0luSmxjMjlzZG1VdFpHVmpZV1l0Y0dGamEyRm5aUzFwYlhCdmNuUnpYQ0lzWEc0Z0lDQWdjbVZ6YjJ4MlpVbGtLSE52ZFhKalpTa2dlMXh1SUNBZ0lDQWdhV1lnS0NGemIzVnlZMlV1YzNSaGNuUnpWMmwwYUNoY0lrQmtaV05oWmkxMGN5OWNJaWtwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCamIyNTBjbUZqZEZKbGNYVnBjbVV1Y21WemIyeDJaU2h6YjNWeVkyVXBPMXh1SUNBZ0lDQWdmU0JqWVhSamFDQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBzWEc0Z0lIMDdYRzU5WEc1Y2JtTnZibk4wSUdaaFluSnBZMUJsWlhKRVpYQmxibVJsYm1OcFpYTWdQU0J1WlhjZ1UyVjBLRnRjYmlBZ1hDSkFaM0p3WXk5bmNuQmpMV3B6WENJc1hHNGdJRndpUUdoNWNHVnliR1ZrWjJWeUwyWmhZbkpwWXkxbllYUmxkMkY1WENJc1hHNGdJRndpUUhCbFkzVnNhV0Z5TDNkbFltTnllWEIwYjF3aUxGeHVJQ0JjSW1aaFluSnBZeTFqWVMxamJHbGxiblJjSWl4Y2JpQWdYQ0ptWVdKeWFXTXRZMjl0Ylc5dVhDSXNYRzRnSUZ3aVptRmljbWxqTFdOdmJuUnlZV04wTFdGd2FWd2lMRnh1SUNCY0ltWmhZbkpwWXkxdVpYUjNiM0pyWENJc1hHNGdJRndpWm1GaWNtbGpMWE5vYVcxY0lpeGNiaUFnWENKbVlXSnlhV010YzJocGJTMWhjR2xjSWl4Y2JsMHBPMXh1WEc1bWRXNWpkR2x2YmlCcGMwNXZaR1ZDZFdsc2RHbHVLR2xrT2lCemRISnBibWNwT2lCaWIyOXNaV0Z1SUh0Y2JpQWdZMjl1YzNRZ2JtOXliV0ZzYVhwbFpDQTlJR2xrTG5OMFlYSjBjMWRwZEdnb1hDSnViMlJsT2x3aUtTQS9JR2xrTG5Oc2FXTmxLRFVwSURvZ2FXUTdYRzRnSUhKbGRIVnliaUJpZFdsc2RHbHVUVzlrZFd4bGN5NXBibU5zZFdSbGN5aHViM0p0WVd4cGVtVmtLVHRjYm4xY2JseHVablZ1WTNScGIyNGdjMmh2ZFd4a1FuVnVaR3hsUTI5dWRISmhZM1JOYjJSMWJHVW9hV1E2SUhOMGNtbHVaeWs2SUdKdmIyeGxZVzRnZTF4dUlDQnBaaUFvYVdRdWMzUmhjblJ6VjJsMGFDaGNJaTVjSWlrZ2ZId2djR0YwYUM1cGMwRmljMjlzZFhSbEtHbGtLU2tnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJR2xtSUNocFpDNXpkR0Z5ZEhOWGFYUm9LRndpUUdSbFkyRm1MWFJ6TDF3aUtTa2djbVYwZFhKdUlIUnlkV1U3WEc0Z0lHbG1JQ2htWVdKeWFXTlFaV1Z5UkdWd1pXNWtaVzVqYVdWekxtaGhjeWhwWkNrcElISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2FXWWdLR2x6VG05a1pVSjFhV3gwYVc0b2FXUXBLU0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSEpsZEhWeWJpQjBjblZsTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ1YjNKdFlXeHBlbVZUYVdSbFJXWm1aV04wVUdGMGFDaHBibkIxZERvZ2MzUnlhVzVuS1RvZ2MzUnlhVzVuSUh0Y2JpQWdjbVYwZFhKdUlHbHVjSFYwTG5Od2JHbDBLSEJoZEdndWMyVndLUzVxYjJsdUtGd2lMMXdpS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWW5WcGJHUlRhV1JsUldabVpXTjBUV0YwWTJobGNpaGxlSFJ5WVZCaGRHaHpPaUJ6ZEhKcGJtZGJYU2tnZTF4dUlDQmpiMjV6ZENCdWIzSnRZV3hwZW1Wa1JYaDBjbUZ6SUQwZ1pYaDBjbUZRWVhSb2N5NXRZWEFvS0dWNGRISmhVR0YwYUNrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUc1dmNtMWhiR2w2WldRZ1BTQnViM0p0WVd4cGVtVlRhV1JsUldabVpXTjBVR0YwYUNobGVIUnlZVkJoZEdndWRISnBiU2dwS1R0Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdjbUYzT2lCdWIzSnRZV3hwZW1Wa0xGeHVJQ0FnSUNBZ2NtVnpiMngyWldRNklIQmhkR2d1YVhOQlluTnZiSFYwWlNobGVIUnlZVkJoZEdncFhHNGdJQ0FnSUNBZ0lEOGdibTl5YldGc2FYcGxVMmxrWlVWbVptVmpkRkJoZEdnb2NHRjBhQzV5WlhOdmJIWmxLR1Y0ZEhKaFVHRjBhQ2twWEc0Z0lDQWdJQ0FnSURvZ2JtOXliV0ZzYVhwbFUybGtaVVZtWm1WamRGQmhkR2dvY0dGMGFDNXlaWE52YkhabEtIQnliMk5sYzNNdVkzZGtLQ2tzSUdWNGRISmhVR0YwYUNrcExGeHVJQ0FnSUgwN1hHNGdJSDBwTzF4dVhHNGdJSEpsZEhWeWJpQW9hV1E2SUhOMGNtbHVaeWs2SUdKdmIyeGxZVzRnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJRzV2Y20xaGJHbDZaV1FnUFNCdWIzSnRZV3hwZW1WVGFXUmxSV1ptWldOMFVHRjBhQ2hwWkNrN1hHNGdJQ0FnWTI5dWMzUWdZblZwYkhSSmJuTWdQU0JiWEc0Z0lDQWdJQ0JjSWk5emNtTXZZMjl1ZEhKaFkzUnpMMkp2YjNSemRISmhjRndpTEZ4dUlDQWdJQ0FnWENJdmMzSmpMMk52Ym5SeVlXTjBjeTl2ZG1WeWNtbGtaWE5jSWl4Y2JpQWdJQ0FnSUZ3aUwzTnlZeTlqYjI1MGNtRmpkSE12Wm1GaWNtbGpMVzkyWlhKeWFXUmxjMXdpTEZ4dUlDQWdJQ0FnWENJdmMzSmpMM05vWVhKbFpDOXZkbVZ5Y21sa1pYTmNJaXhjYmlBZ0lDQWdJRndpTDI1dlpHVmZiVzlrZFd4bGN5OUFaR1ZqWVdZdGRITXZYQ0lzWEc0Z0lDQWdYVHRjYmx4dUlDQWdJR2xtSUNoaWRXbHNkRWx1Y3k1emIyMWxLQ2h1WldWa2JHVXBJRDArSUc1dmNtMWhiR2w2WldRdWFXNWpiSFZrWlhNb2JtVmxaR3hsS1NrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWIzSnRZV3hwZW1Wa1JYaDBjbUZ6TG5OdmJXVW9LSHNnY21GM0xDQnlaWE52YkhabFpDQjlLU0E5UGlCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnSUNCdWIzSnRZV3hwZW1Wa0xtbHVZMngxWkdWektISmhkeWtnZkh4Y2JpQWdJQ0FnSUNBZ2JtOXliV0ZzYVhwbFpDNXBibU5zZFdSbGN5aHlaWE52YkhabFpDa2dmSHhjYmlBZ0lDQWdJQ0FnYm05eWJXRnNhWHBsWkM1bGJtUnpWMmwwYUNoZ0pIdHlZWGQ5TG1wellDa2dmSHhjYmlBZ0lDQWdJQ0FnYm05eWJXRnNhWHBsWkM1bGJtUnpWMmwwYUNoZ0pIdHlZWGQ5TG1OcWMyQXBJSHg4WEc0Z0lDQWdJQ0FnSUc1dmNtMWhiR2w2WldRdVpXNWtjMWRwZEdnb1lDUjdjbUYzZlM5cGJtUmxlQzVxYzJBcElIeDhYRzRnSUNBZ0lDQWdJRzV2Y20xaGJHbDZaV1F1Wlc1a2MxZHBkR2dvWUNSN2NtRjNmUzlwYm1SbGVDNWphbk5nS1NCOGZGeHVJQ0FnSUNBZ0lDQnViM0p0WVd4cGVtVmtMbVZ1WkhOWGFYUm9LR0FrZTNKbGMyOXNkbVZrZlM1cWMyQXBJSHg4WEc0Z0lDQWdJQ0FnSUc1dmNtMWhiR2w2WldRdVpXNWtjMWRwZEdnb1lDUjdjbVZ6YjJ4MlpXUjlMbU5xYzJBcElIeDhYRzRnSUNBZ0lDQWdJRzV2Y20xaGJHbDZaV1F1Wlc1a2MxZHBkR2dvWUNSN2NtVnpiMngyWldSOUwybHVaR1Y0TG1wellDa2dmSHhjYmlBZ0lDQWdJQ0FnYm05eWJXRnNhWHBsWkM1bGJtUnpWMmwwYUNoZ0pIdHlaWE52YkhabFpIMHZhVzVrWlhndVkycHpZQ2xjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmU2s3WEc0Z0lIMDdYRzU5WEc1Y2JtWjFibU4wYVc5dUlISmxiVzkyWlZOeVkwWnliMjFRWVhSb0tIQmhkR2c2SUhOMGNtbHVaeWs2SUhOMGNtbHVaeUI3WEc0Z0lISmxkSFZ5YmlCd1lYUm9MbkpsY0d4aFkyVW9MMTVjWEM1Y1hDOXpjbU5jWEM4dkxDQmNJaTR2WENJcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCamIzQjVSbTlzWkdWeVEyOXVkR1Z1ZEhNb2MyOTFjbU5sUkdseU9pQnpkSEpwYm1jc0lIUmhjbWRsZEVScGNqb2djM1J5YVc1bktTQjdYRzRnSUdsbUlDZ2habk11WlhocGMzUnpVM2x1WXloemIzVnlZMlZFYVhJcEtTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0dCVGIzVnlZMlVnWkdseVpXTjBiM0o1SUdSdlpYTWdibTkwSUdWNGFYTjBPaUFrZTNOdmRYSmpaVVJwY24xZ0tUdGNiaUFnZlZ4dVhHNGdJR1p6TG0xclpHbHlVM2x1WXloMFlYSm5aWFJFYVhJc0lIc2djbVZqZFhKemFYWmxPaUIwY25WbElIMHBPMXh1WEc0Z0lHWnZjaUFvWTI5dWMzUWdhWFJsYlNCdlppQm1jeTV5WldGa1pHbHlVM2x1WXloemIzVnlZMlZFYVhJcEtTQjdYRzRnSUNBZ1kyOXVjM1FnYzI5MWNtTmxVR0YwYUNBOUlIQmhkR2d1YW05cGJpaHpiM1Z5WTJWRWFYSXNJR2wwWlcwcE8xeHVJQ0FnSUdOdmJuTjBJSFJoY21kbGRGQmhkR2dnUFNCd1lYUm9MbXB2YVc0b2RHRnlaMlYwUkdseUxDQnBkR1Z0S1R0Y2JseHVJQ0FnSUdOdmJuTjBJSE4wWVhRZ1BTQm1jeTV6ZEdGMFUzbHVZeWh6YjNWeVkyVlFZWFJvS1R0Y2JseHVJQ0FnSUdsbUlDaHpkR0YwTG1selJHbHlaV04wYjNKNUtDa3BJSHRjYmlBZ0lDQWdJR052Y0hsR2IyeGtaWEpEYjI1MFpXNTBjeWh6YjNWeVkyVlFZWFJvTENCMFlYSm5aWFJRWVhSb0tUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWm5NdVkyOXdlVVpwYkdWVGVXNWpLSE52ZFhKalpWQmhkR2dzSUhSaGNtZGxkRkJoZEdncE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNWpiMjV6ZENCamIyMXdhV3hsUTI5dGJXRnVaQ0E5SUc1bGR5QkRiMjF0WVc1a0tDbGNiaUFnTG01aGJXVW9YQ0pqYjIxd2FXeGxMV052Ym5SeVlXTjBYQ0lwWEc0Z0lDNWtaWE5qY21sd2RHbHZiaWhjSWtOeVpXRjBaWE1nWVNCbmJHOWlZV3dnWTI5dWRISmhZM1JjSWlsY2JpQWdMbTl3ZEdsdmJpaGNJaTB0WkdWMlhDSXNJRndpWTI5dGNHbHNaWE1nWTI5dWRISmhZM1J6SUhkcGRHaHZkWFFnYldsdWFXWnBZMkYwYVc5dVhDSXNJR1poYkhObEtWeHVJQ0F1YjNCMGFXOXVLRndpTFMxa1pXSjFaMXdpTENCY0ltMWhhMlZ6SUdGMGRHRmphR2x1WnlCa1pXSjFaMmRsY2lCd2IzTnphV0pzWlZ3aUxDQm1ZV3h6WlNsY2JpQWdMbTl3ZEdsdmJpaGNiaUFnSUNCY0lpMHRZMk5oWVhOY0lpeGNiaUFnSUNCY0lrRnFkWE4wY3lCMGFHVWdjR0ZqYTJGblpTQmpiMjF0WVc1a2N5QjBieUJpWlNCa1pYQnNiM2xsWkNCaGN5QmpZMkZoYzF3aUxGeHVJQ0FnSUdaaGJITmxYRzRnSUNsY2JpQWdMbTl3ZEdsdmJpaGNJaTB0Ym1GdFpTQThVM1J5YVc1blBsd2lMQ0JjSW1OdmJuUnlZV04wSUc1aGJXVmNJaXdnWENKbmJHOWlZV3d0WTI5dWRISmhZM1JjSWlsY2JpQWdMbTl3ZEdsdmJpaGNJaTB0WW5WdVpHeGxYQ0lzSUZ3aVFuVnVaR3hsY3lCM2FYUm9JSEp2Ykd4MWNDQnBibk4wWldGa0lHOW1JSFZ6YVc1bklIUnpZMXdpTENCbVlXeHpaU2xjYmlBZ0xtOXdkR2x2YmloY2JpQWdJQ0JjSWkwdGRITXRZMjl1Wm1sbkxXWnBiR1VnUEhOMGNtbHVaejVjSWl4Y2JpQWdJQ0JjSW5KbGJHRjBhWFpsSUhCaGRHZ2dkRzhnZEdobElIUnpJR052Ym1acFp5Qm1hV3hsSUdKaGMyVmtJRzl1SUdOM1pDQnZjaUJoWW5OdmJIVjBaU0J3WVhSb1hDSXNYRzRnSUNBZ1hDSXVMM1J6WTI5dVptbG5MbXB6YjI1Y0lseHVJQ0FwWEc0Z0lDNXZjSFJwYjI0b1hHNGdJQ0FnWENJdExXUmxjMk55YVhCMGFXOXVJRHhUZEhKcGJtYytYQ0lzWEc0Z0lDQWdYQ0pqYjI1MGNtRmpkQ0JrWlhOamNtbHdkR2x2Ymx3aUxGeHVJQ0FnSUZ3aVIyeHZZbUZzSUdOdmJuUnlZV04wSUdsdGNHeGxiV1Z1ZEdGMGFXOXVYQ0pjYmlBZ0tWeHVJQ0F1YjNCMGFXOXVLRndpTFMxemRISnBjQzFqYjI1MGNtRmpkQzF1WVcxbFhDSXNJRndpYzNSeWFYQWdZMjl1ZEhKaFkzUWdibUZ0WlNCbWNtOXRJRzkxZEhCMWRGd2lMQ0JtWVd4elpTbGNiaUFnTG05d2RHbHZiaWhjSWkwdGFXNXdkWFFnUEZOMGNtbHVaejVjSWl3Z1hDSnBibkIxZENCbWIyeGtaWElnWm05eUlHTnZiblJ5WVdOMGMxd2lMQ0JjSW14cFlpOWpiMjUwY21GamRITmNJaWxjYmlBZ0xtOXdkR2x2YmloY0lpMHRiM1YwY0hWMElEeFRkSEpwYm1jK1hDSXNJRndpYjNWMGNIVjBJR1p2YkdSbGNpQm1iM0lnWTI5dWRISmhZM1J6WENJc0lGd2lMaTlqYjI1MGNtRmpkSE5jSWlsY2JpQWdMbTl3ZEdsdmJpaGNJaTB0YzI5MWNtTmxiV0Z3YzF3aUxDQmNJbWx1WTJ4MVpHVnpJSE52ZFhKalpXMWhjSE1nYVc0Z2RHaGxJR052YlhCcGJHVmtJRzkxZEhCMWRGd2lMQ0JtWVd4elpTbGNiaUFnTG05d2RHbHZiaWhjSWkwdGJuQnRjbU5jSWl3Z1hDSnBibU5zZFdSbGN5QXVibkJ0Y21NZ2FXNGdkR2hsSUdOdmJYQnBiR1ZrSUc5MWRIQjFkRndpTENCbVlXeHpaU2xjYmlBZ0xtOXdkR2x2YmloY2JpQWdJQ0JjSWkwdFpuSnZiUzFzYVdKY0lpeGNiaUFnSUNCY0ltbHVaR2xqWVhSbGN5QjBhR0YwSUhSb1pTQmpiMjUwY21GamRDQjBieUJrWlhCc2Iza2dhWE1nYkc5allYUmxaQ0JwYmlCMGFHVWdiR2xpSUdadmJHUmxjaUJoYm1RZ2JtOTBJSEJ5WlMxamIyMXdhV3hsWkNCcGJpQjBhR1VnWTI5dWRISmhZM1J6SUdadmJHUmxjbHdpTEZ4dUlDQWdJR1poYkhObFhHNGdJQ2xjYmlBZ0xtOXdkR2x2YmloY2JpQWdJQ0JjSWkwdGMybGtaUzFsWm1abFkzUXRjR0YwYUhNZ1BIQmhkR2h6TGk0dVBsd2lMRnh1SUNBZ0lGd2lZV1JrYVhScGIyNWhiQ0J3WVhSb2N5QnZjaUJ3WVdOcllXZGxJSEp2YjNSeklIUm9ZWFFnYlhWemRDQmlaU0J3Y21WelpYSjJaV1FnWVhNZ2MybGtaUzFsWm1abFkzUm1kV3dnWkhWeWFXNW5JR052Ym5SeVlXTjBJR0oxYm1Sc2FXNW5YQ0pjYmlBZ0tWeHVJQ0F1WVdOMGFXOXVLR0Z6ZVc1aklDaHZjSFJwYjI1ek9pQmhibmtwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0J3YTJjZ1BTQktVMDlPTG5CaGNuTmxLRnh1SUNBZ0lDQWdabk11Y21WaFpFWnBiR1ZUZVc1aktIQmhkR2d1YW05cGJpaHdjbTlqWlhOekxtTjNaQ2dwTENCY0luQmhZMnRoWjJVdWFuTnZibHdpS1N3Z1hDSjFkR1l0T0Z3aUtWeHVJQ0FnSUNrN1hHNWNiaUFnSUNCamIyNXpkQ0J3YTJkTWIyTnJJRDBnU2xOUFRpNXdZWEp6WlNoY2JpQWdJQ0FnSUdaekxuSmxZV1JHYVd4bFUzbHVZeWh3WVhSb0xtcHZhVzRvY0hKdlkyVnpjeTVqZDJRb0tTd2dYQ0p3WVdOcllXZGxMV3h2WTJzdWFuTnZibHdpS1N3Z1hDSjFkR1l0T0Z3aUtWeHVJQ0FnSUNrN1hHNWNiaUFnSUNCc1pYUWdibkJ0Y21ORGIyNTBaVzUwSUQwZ2RXNWtaV1pwYm1Wa08xeHVYRzRnSUNBZ1kyOXVjM1FnZG1WeWMybHZiaUE5SUhCclp5NTJaWEp6YVc5dU8xeHVYRzRnSUNBZ2JHVjBJSHRjYmlBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J3Y21WbVpYSXRZMjl1YzNSY2JpQWdJQ0FnSUdSbGRpeGNiaUFnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQndjbVZtWlhJdFkyOXVjM1JjYmlBZ0lDQWdJR1JsWW5WbkxGeHVJQ0FnSUNBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElIQnlaV1psY2kxamIyNXpkRnh1SUNBZ0lDQWdibUZ0WlN4Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCd2NtVm1aWEl0WTI5dWMzUmNiaUFnSUNBZ0lHUmxjMk55YVhCMGFXOXVMRnh1SUNBZ0lDQWdiM1YwY0hWMExGeHVJQ0FnSUNBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElIQnlaV1psY2kxamIyNXpkRnh1SUNBZ0lDQWdhVzV3ZFhRc1hHNGdJQ0FnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2NISmxabVZ5TFdOdmJuTjBYRzRnSUNBZ0lDQnpkSEpwY0VOdmJuUnlZV04wVG1GdFpTeGNiaUFnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQndjbVZtWlhJdFkyOXVjM1JjYmlBZ0lDQWdJR05qWVdGekxGeHVJQ0FnSUNBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElIQnlaV1psY2kxamIyNXpkRnh1SUNBZ0lDQWdZblZ1Wkd4bExGeHVYRzRnSUNBZ0lDQjBjME52Ym1acFowWnBiR1VzWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnY0hKbFptVnlMV052Ym5OMFhHNGdJQ0FnSUNCemIzVnlZMlZ0WVhCekxGeHVJQ0FnSUNBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElIQnlaV1psY2kxamIyNXpkRnh1SUNBZ0lDQWdibkJ0Y21Nc1hHNGdJQ0FnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2NISmxabVZ5TFdOdmJuTjBYRzRnSUNBZ0lDQnphV1JsUldabVpXTjBVR0YwYUhNc1hHNGdJQ0FnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2NISmxabVZ5TFdOdmJuTjBYRzRnSUNBZ0lDQm1jbTl0VEdsaUxGeHVJQ0FnSUgwZ1BTQnZjSFJwYjI1ek8xeHVJQ0FnSUdOdmJuTjBJR3h2WnlBOUlHeHZaMmRsY2k1bWIzSW9YQ0pqYjIxd2FXeGxMV052Ym5SeVlXTjBYQ0lwTzF4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNCcFppQW9ibkJ0Y21NcElIdGNiaUFnSUNBZ0lDQWdibkJ0Y21ORGIyNTBaVzUwSUQwZ1puTmNiaUFnSUNBZ0lDQWdJQ0F1Y21WaFpFWnBiR1ZUZVc1aktIQmhkR2d1YW05cGJpaHdjbTlqWlhOekxtTjNaQ2dwTENCY0lpNXVjRzF5WTF3aUtTd2dYQ0oxZEdZdE9Gd2lLVnh1SUNBZ0lDQWdJQ0FnSUM1MGIxTjBjbWx1WnlncE8xeHVYRzRnSUNBZ0lDQWdJR052Ym5OMElISmxjR3hoWTJWa0lEMGdibkJ0Y21ORGIyNTBaVzUwTG5KbGNHeGhZMlVvWEc0Z0lDQWdJQ0FnSUNBZ0wxeGNKRnhjZXloYlhuMWRLeWxjWEgwdlp5eGNiaUFnSUNBZ0lDQWdJQ0FvWHpvZ1lXNTVMQ0IyWVhKT1lXMWxPaUJ6ZEhKcGJtY3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElIWmhiSFZsSUQwZ2NISnZZMlZ6Y3k1bGJuWmJkbUZ5VG1GdFpWMDdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gyWVd4MVpTQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmdWMkZ5Ym1sdVp6b2dSVzUyYVhKdmJtMWxiblFnZG1GeWFXRmliR1VnWENJa2UzWmhjazVoYldWOVhDSWdhWE1nYm05MElITmxkR0JjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGd2lYQ0k3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMllXeDFaVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDazdYRzVjYmlBZ0lDQWdJQ0FnYm5CdGNtTkRiMjUwWlc1MElEMGdjbVZ3YkdGalpXUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmpZWFJqYUNCN1hHNGdJQ0FnSUNCc2IyY3VhVzVtYnloZ1RtOGdMbTV3YlhKaklHWnBiR1VnWm05MWJtUXNJSE5yYVhCd2FXNW5JR052Y0hscGJtY2dMbTV3YlhKaklIUnZJRzkxZEhCMWRHQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHeHZaeTVrWldKMVp5aGNiaUFnSUNBZ0lHQnlkVzV1YVc1bklIZHBkR2dnYjNCMGFXOXVjem9nSkh0S1UwOU9Mbk4wY21sdVoybG1lU2h2Y0hScGIyNXpLWDBnWm05eUlDUjdjR3RuTG01aGJXVjlJSFpsY25OcGIyNGdKSHQyWlhKemFXOXVmV0JjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdkSE5EYjI1bWFXZEdhV3hsSUQwZ2NHRjBhQzVwYzBGaWMyOXNkWFJsS0hSelEyOXVabWxuUm1sc1pTbGNiaUFnSUNBZ0lEOGdkSE5EYjI1bWFXZEdhV3hsWEc0Z0lDQWdJQ0E2SUhCaGRHZ3VhbTlwYmlod2NtOWpaWE56TG1OM1pDZ3BMQ0IwYzBOdmJtWnBaMFpwYkdVcE8xeHVYRzRnSUNBZ2IzVjBjSFYwSUQwZ2MzUnlhWEJEYjI1MGNtRmpkRTVoYldVZ1B5QnZkWFJ3ZFhRZ09pQndZWFJvTG1wdmFXNG9iM1YwY0hWMExDQnVZVzFsS1R0Y2JpQWdJQ0JzYjJjdWFXNW1ieWhnUkdWc1pYUnBibWNnWlhocGMzUnBibWNnYjNWMGNIVjBJR1p2YkdSbGNpQW9hV1lnWlhocGMzUnpLU0IxYm1SbGNpQWtlMjkxZEhCMWRIMWdLVHRjYmlBZ0lDQmxlR1ZqVTNsdVl5aGdjbTBnTFhKbUlDUjdiM1YwY0hWMGZXQXBPMXh1SUNBZ0lHbG1JQ2hpZFc1a2JHVWdKaVlnSVdaeWIyMU1hV0lwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSE5wWkdWRlptWmxZM1JOWVhSamFHVnlJRDBnWW5WcGJHUlRhV1JsUldabVpXTjBUV0YwWTJobGNpaGNiaUFnSUNBZ0lDQWdRWEp5WVhrdWFYTkJjbkpoZVNoemFXUmxSV1ptWldOMFVHRjBhSE1wSUQ4Z2MybGtaVVZtWm1WamRGQmhkR2h6SURvZ1cxMWNiaUFnSUNBZ0lDazdYRzRnSUNBZ0lDQnNiMmN1YVc1bWJ5aGdZblZ1Wkd4cGJtY2dZMjl1ZEhKaFkzUWdabkp2YlNBa2UybHVjSFYwZldBcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnZEdWdGNFSjFibVJzWlVScGNpQTlJR1p6TG0xclpIUmxiWEJUZVc1aktGeHVJQ0FnSUNBZ0lDQndZWFJvTG1wdmFXNG9jSEp2WTJWemN5NWpkMlFvS1N3Z1hDSXVZMjl1ZEhKaFkzUXRZblZ1Wkd4bExWd2lLVnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdsdWNIVjBSVzUwY25rZ1BTQndZWFJvTG5KbGMyOXNkbVVvY0hKdlkyVnpjeTVqZDJRb0tTd2dhVzV3ZFhRc0lGd2lhVzVrWlhndWRITmNJaWs3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR052Ym1acFowWnBiR1VnUFNCMGN5NXlaV0ZrUTI5dVptbG5SbWxzWlNoMGMwTnZibVpwWjBacGJHVXNJSFJ6TG5ONWN5NXlaV0ZrUm1sc1pTazdYRzRnSUNBZ0lDQWdJR2xtSUNoamIyNW1hV2RHYVd4bExtVnljbTl5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwY3k1bWJHRjBkR1Z1UkdsaFoyNXZjM1JwWTAxbGMzTmhaMlZVWlhoMEtHTnZibVpwWjBacGJHVXVaWEp5YjNJdWJXVnpjMkZuWlZSbGVIUXNJRndpWEZ4dVhDSXBYRzRnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR052Ym5OMElIQmhjbk5sWkVOdmJtWnBaeUE5SUhSekxuQmhjbk5sU25OdmJrTnZibVpwWjBacGJHVkRiMjUwWlc1MEtGeHVJQ0FnSUNBZ0lDQWdJR052Ym1acFowWnBiR1V1WTI5dVptbG5MRnh1SUNBZ0lDQWdJQ0FnSUhSekxuTjVjeXhjYmlBZ0lDQWdJQ0FnSUNCd1lYUm9MbVJwY201aGJXVW9kSE5EYjI1bWFXZEdhV3hsS1N4Y2JpQWdJQ0FnSUNBZ0lDQjFibVJsWm1sdVpXUXNYRzRnSUNBZ0lDQWdJQ0FnZEhORGIyNW1hV2RHYVd4bFhHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJR2xtSUNod1lYSnpaV1JEYjI1bWFXY3VaWEp5YjNKekxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJKYm5SbGNtNWhiRVZ5Y205eUtGeHVJQ0FnSUNBZ0lDQWdJQ0FnY0dGeWMyVmtRMjl1Wm1sbkxtVnljbTl5YzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1YldGd0tDaGxjbkp2Y2lrZ1BUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBjeTVtYkdGMGRHVnVSR2xoWjI1dmMzUnBZMDFsYzNOaFoyVlVaWGgwS0dWeWNtOXlMbTFsYzNOaFoyVlVaWGgwTENCY0lseGNibHdpS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzVxYjJsdUtGd2lYRnh1WENJcFhHNGdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHTnZibk4wSUhSbGJYQkRiMjF3YVd4bGNrOXdkR2x2Ym5NNklIUnpMa052YlhCcGJHVnlUM0IwYVc5dWN5QTlJSHRjYmlBZ0lDQWdJQ0FnSUNBdUxpNXdZWEp6WldSRGIyNW1hV2N1YjNCMGFXOXVjeXhjYmlBZ0lDQWdJQ0FnSUNCdmRYUkVhWEk2SUhSbGJYQkNkVzVrYkdWRWFYSXNYRzRnSUNBZ0lDQWdJQ0FnYlc5a2RXeGxPaUIwY3k1TmIyUjFiR1ZMYVc1a0xrVlRUbVY0ZEN4Y2JpQWdJQ0FnSUNBZ0lDQmtaV05zWVhKaGRHbHZiam9nWm1Gc2MyVXNYRzRnSUNBZ0lDQWdJQ0FnYzI5MWNtTmxUV0Z3T2lCbVlXeHpaU3hjYmlBZ0lDQWdJQ0FnSUNCcGJteHBibVZUYjNWeVkyVnpPaUJtWVd4elpTeGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZblZ1Wkd4bFpFVnVkSEo1VUc5cGJuUWdQU0IwYzF4dUlDQWdJQ0FnSUNBZ0lDNW5aWFJQZFhSd2RYUkdhV3hsVG1GdFpYTW9YRzRnSUNBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM0dUxuQmhjbk5sWkVOdmJtWnBaeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdiM0IwYVc5dWN6b2dkR1Z0Y0VOdmJYQnBiR1Z5VDNCMGFXOXVjeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHNYRzRnSUNBZ0lDQWdJQ0FnSUNCcGJuQjFkRVZ1ZEhKNUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSVhSekxuTjVjeTUxYzJWRFlYTmxVMlZ1YzJsMGFYWmxSbWxzWlU1aGJXVnpYRzRnSUNBZ0lDQWdJQ0FnS1Z4dUlDQWdJQ0FnSUNBZ0lDNW1hVzVrS0NobWFXeGxUbUZ0WlNrZ1BUNGdabWxzWlU1aGJXVXVaVzVrYzFkcGRHZ29YQ0l1YW5OY0lpa3BPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hZblZ1Wkd4bFpFVnVkSEo1VUc5cGJuUXBJSHRjYmlBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1NXNTBaWEp1WVd4RmNuSnZjaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lHQkdZV2xzWldRZ2RHOGdaR1YwWlhKdGFXNWxJSFJvWlNCbGJXbDBkR1ZrSUdKMWJtUnNaU0JsYm5SeWVTQm1iM0lnSkh0cGJuQjFkRVZ1ZEhKNWZXQmNiaUFnSUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdZMjl0Y0dsc1pWZHBkR2hVYzJOdmJtWnBaMDkyWlhKeWFXUmxjeWgwYzBOdmJtWnBaMFpwYkdVc0lIUmxiWEJEYjIxd2FXeGxjazl3ZEdsdmJuTXBPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmlkVzVrYkdWa1EyOXVkSEpoWTNRZ1BTQmhkMkZwZENCeWIyeHNkWEFvZTF4dUlDQWdJQ0FnSUNBZ0lHbHVjSFYwT2lCaWRXNWtiR1ZrUlc1MGNubFFiMmx1ZEN4Y2JpQWdJQ0FnSUNBZ0lDQmxlSFJsY201aGJEb2dLR2xrS1NBOVBpQWhjMmh2ZFd4a1FuVnVaR3hsUTI5dWRISmhZM1JOYjJSMWJHVW9hV1FwTEZ4dUlDQWdJQ0FnSUNBZ0lIUnlaV1Z6YUdGclpUb2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JXOWtkV3hsVTJsa1pVVm1abVZqZEhNNklDaHBaQ2tnUFQ0Z2MybGtaVVZtWm1WamRFMWhkR05vWlhJb2FXUXBMRnh1SUNBZ0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lDQWdjR3gxWjJsdWN6b2dXMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVnpiMngyWlVSbFkyRm1VR0ZqYTJGblpVbHRjRzl5ZEhNb0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGMyOXNkbVZDZFc1a2JHVmtTbk5KYlhCdmNuUnpLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnViMlJsVW1WemIyeDJaU2g3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR1Y0ZEdWdWMybHZibk02SUZ0Y0lpNXRhbk5jSWl3Z1hDSXVhbk5jSWl3Z1hDSXVhbk52Ymx3aUxDQmNJaTVqYW5OY0lpd2dYQ0l1ZEhOY0lsMHNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHMXZaSFZzWlVScGNtVmpkRzl5YVdWek9pQmJYQ0p1YjJSbFgyMXZaSFZzWlhOY0lsMHNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHMXZaSFZzWlZCaGRHaHpPaUJiY0dGMGFDNXFiMmx1S0hCeWIyTmxjM011WTNka0tDa3NJRndpYm05a1pWOXRiMlIxYkdWelhDSXBYU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdaWGh3YjNKMFEyOXVaR2wwYVc5dWN6b2dXMXdpYm05a1pWd2lMQ0JjSW1SbFptRjFiSFJjSWl3Z1hDSnlaWEYxYVhKbFhDSXNJRndpYVcxd2IzSjBYQ0pkTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J3Y21WbVpYSkNkV2xzZEdsdWN6b2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl0Ylc5dWFuTW9lMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnBibU5zZFdSbE9pQXZibTlrWlY5dGIyUjFiR1Z6THl4Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjbVZ3YkdGalpTaDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIQnlaWFpsYm5SQmMzTnBaMjV0Wlc1ME9pQjBjblZsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JrWld4cGJXbDBaWEp6T2lCYlhDSmNJaXdnWENKY0lsMHNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhiSFZsY3pvZ2V5QmNJaU1qVmtWU1UwbFBUaU1qWENJNklIWmxjbk5wYjI0c0lGd2lJeU5RUVVOTFFVZEZJeU5jSWpvZ2NHdG5MbTVoYldVZ2ZTeGNiaUFnSUNBZ0lDQWdJQ0FnSUgwcExGeHVJQ0FnSUNBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQnNiMmN1YVc1bWJ5aGNiaUFnSUNBZ0lDQWdJQ0JnZDJsMGFHbHVaeUJqYjI1MGNtRmpkQ0IwYnlBa2UyOTFkSEIxZEgwZ2QybDBhQ0J1WVcxbElDUjdkRzlRWVhOallXeERZWE5sS0c1aGJXVXBmUzVxYzJCY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdZWGRoYVhRZ1luVnVaR3hsWkVOdmJuUnlZV04wTG5keWFYUmxLSHRjYmlBZ0lDQWdJQ0FnSUNCbWFXeGxPaUJnSkh0dmRYUndkWFI5THlSN2RHOVFZWE5qWVd4RFlYTmxLRzVoYldVcGZTNXFjMkFzWEc0Z0lDQWdJQ0FnSUNBZ1ptOXliV0YwT2lCY0luVnRaRndpTEZ4dUlDQWdJQ0FnSUNBZ0lHNWhiV1U2SUdBa2UzUnZVR0Z6WTJGc1EyRnpaU2h1WVcxbEtYMHVhbk5nTEZ4dUlDQWdJQ0FnSUNBZ0lITnZkWEpqWlcxaGNEb2djMjkxY21ObGJXRndjeUEvSUZ3aWFXNXNhVzVsWENJZ09pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUNBZ0lDQnpiM1Z5WTJWdFlYQlFZWFJvVkhKaGJuTm1iM0p0T2lBb2NtVnNZWFJwZG1WVGIzVnlZMlZRWVhSb0xDQnpiM1Z5WTJWdFlYQlFZWFJvS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JoWW5OdmJIVjBaVk52ZFhKalpWQmhkR2dnUFNCd1lYUm9MbkpsYzI5c2RtVW9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIQmhkR2d1WkdseWJtRnRaU2h6YjNWeVkyVnRZWEJRWVhSb0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnNZWFJwZG1WVGIzVnlZMlZRWVhSb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1lXSnpiMngxZEdWVGIzVnlZMlZRWVhSb0xuTjBZWEowYzFkcGRHZ29kR1Z0Y0VKMWJtUnNaVVJwY2lrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhCaGRHZ3VjRzl6YVhndWFtOXBiaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JjSWk1aWRXNWtiR1ZjSWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCd1lYUm9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F1Y21Wc1lYUnBkbVVvZEdWdGNFSjFibVJzWlVScGNpd2dZV0p6YjJ4MWRHVlRiM1Z5WTJWUVlYUm9LVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTG5Od2JHbDBLSEJoZEdndWMyVndLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTG1wdmFXNG9YQ0l2WENJcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaV3hoZEdsMlpWTnZkWEpqWlZCaGRHZzdYRzRnSUNBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQWdJR0YzWVdsMElHSjFibVJzWldSRGIyNTBjbUZqZEM1amJHOXpaU2dwTzF4dUlDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ1puTXVjbTFUZVc1aktIUmxiWEJDZFc1a2JHVkVhWElzSUhzZ2NtVmpkWEp6YVhabE9pQjBjblZsTENCbWIzSmpaVG9nZEhKMVpTQjlLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ0ZtY205dFRHbGlLU0I3WEc0Z0lDQWdJQ0JqYjIxd2FXeGxWMmwwYUZSelkyOXVabWxuVDNabGNuSnBaR1Z6S0hSelEyOXVabWxuUm1sc1pTd2dlMXh1SUNBZ0lDQWdJQ0J2ZFhSRWFYSTZJRzkxZEhCMWRDeGNiaUFnSUNBZ0lDQWdiVzlrZFd4bE9pQjBjeTVOYjJSMWJHVkxhVzVrTGtWVFRtVjRkQ3hjYmlBZ0lDQWdJQ0FnWkdWamJHRnlZWFJwYjI0NklHWmhiSE5sTEZ4dUlDQWdJQ0FnSUNCemIzVnlZMlZOWVhBNklITnZkWEpqWlcxaGNITXNYRzRnSUNBZ0lDQWdJR2x1YkdsdVpWTnZkWEpqWlhNNklITnZkWEpqWlcxaGNITXNYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1kyOXdlVVp2YkdSbGNrTnZiblJsYm5SektGeHVJQ0FnSUNBZ0lDQndZWFJvTG1wdmFXNG9jSEp2WTJWemN5NWpkMlFvS1N3Z1hDSXVMMnhwWWk5amFuTmNJaWtzWEc0Z0lDQWdJQ0FnSUhCaGRHZ3VhbTlwYmlod2NtOWpaWE56TG1OM1pDZ3BMQ0J2ZFhSd2RYUXBYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhOamNtbHdkSE1nUFNCN1hHNGdJQ0FnSUNCemRHRnlkRG9nWjJWMFEyOXVkSEpoWTNSVGRHRnlkRU52YlcxaGJtUW9aR1ZpZFdjc0lHTmpZV0Z6S1N4Y2JpQWdJQ0FnSUZ3aWMzUmhjblE2WkdWMlhDSTZJRndpWm1GaWNtbGpMV05vWVdsdVkyOWtaUzF1YjJSbElITjBZWEowSUMwdGRHeHpMbVZ1WVdKc1pXUWdabUZzYzJWY0lpeGNiaUFnSUNBZ0lGd2ljM1JoY25RNmQyRjBZMmhjSWpvZ0oyNXZaR1Z0YjI0Z0xTMWxlR1ZqSUZ3aWJuQnRJSEoxYmlCemRHRnlkRHBrWlhaY0lpY3NYRzRnSUNBZ0lDQmlkV2xzWkRvZ0oyVmphRzhnWENKT2J5QnVaV1ZrSUhSdklHSjFhV3hrSUhSb1pTQmphR0ZwYm1OdlpHVmNJaWNzWEc0Z0lDQWdJQ0JzYVc1ME9pQmNJbVZ6YkdsdWRDQXVJQzB0Wm1sNElDMHRaWGgwSUM1cWMxd2lMRnh1SUNBZ0lIMDdYRzVjYmlBZ0lDQmpiMjV6ZENCamIyNTBjbUZqZEZCaFkydGhaMlVnUFNCd2EyYzdYRzRnSUNBZ1kyOXVjM1FnWTI5dWRISmhZM1JRWVdOcllXZGxURzlqYXlBOUlIQnJaMHh2WTJzN1hHNWNiaUFnSUNCamIyNTBjbUZqZEZCaFkydGhaMlV1Ym1GdFpTQTlJRzVoYldVN1hHNGdJQ0FnWTI5dWRISmhZM1JRWVdOcllXZGxMbVJsYzJOeWFYQjBhVzl1SUQwZ1pHVnpZM0pwY0hScGIyNDdYRzRnSUNBZ1kyOXVkSEpoWTNSUVlXTnJZV2RsTG5OamNtbHdkSE1nUFNCelkzSnBjSFJ6TzF4dVhHNGdJQ0FnWkdWc1pYUmxJR052Ym5SeVlXTjBVR0ZqYTJGblpTNTBlWEJsTzF4dUlDQWdJR1JsYkdWMFpTQmpiMjUwY21GamRGQmhZMnRoWjJVdWRIbHdaWE03WEc0Z0lDQWdaR1ZzWlhSbElHTnZiblJ5WVdOMFVHRmphMkZuWlM1bGVIQnZjblJ6TzF4dUlDQWdJR052Ym5SeVlXTjBVR0ZqYTJGblpTNXRZV2x1SUQwZ1luVnVaR3hsWEc0Z0lDQWdJQ0EvSUdBa2UzUnZVR0Z6WTJGc1EyRnpaU2h1WVcxbEtYMHVhbk5nWEc0Z0lDQWdJQ0E2SUdBa2UzSmxiVzkyWlZOeVkwWnliMjFRWVhSb0tHbHVjSFYwS1gwdkpIdG1jbTl0VEdsaUlEOGdYQ0pwYm1SbGVDNWphbk5jSWlBNklGd2lhVzVrWlhndWFuTmNJbjFnTzF4dVhHNGdJQ0FnWm5NdWQzSnBkR1ZHYVd4bFUzbHVZeWhjYmlBZ0lDQWdJSEJoZEdndWFtOXBiaWh2ZFhSd2RYUXNJRndpY0dGamEyRm5aUzVxYzI5dVhDSXBMRnh1SUNBZ0lDQWdTbE5QVGk1emRISnBibWRwWm5rb1kyOXVkSEpoWTNSUVlXTnJZV2RsS1Z4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0JtY3k1M2NtbDBaVVpwYkdWVGVXNWpLRnh1SUNBZ0lDQWdjR0YwYUM1cWIybHVLRzkxZEhCMWRDd2dYQ0p3WVdOcllXZGxMV3h2WTJzdWFuTnZibHdpS1N4Y2JpQWdJQ0FnSUVwVFQwNHVjM1J5YVc1bmFXWjVLR052Ym5SeVlXTjBVR0ZqYTJGblpVeHZZMnNwWEc0Z0lDQWdLVHRjYmx4dUlDQWdJR2xtSUNodWNHMXlZeUFtSmlCdWNHMXlZME52Ym5SbGJuUXBYRzRnSUNBZ0lDQm1jeTUzY21sMFpVWnBiR1ZUZVc1aktIQmhkR2d1YW05cGJpaHZkWFJ3ZFhRc0lGd2lMbTV3YlhKalhDSXBMQ0J1Y0cxeVkwTnZiblJsYm5RcE8xeHVYRzRnSUNBZ2JHOW5MbWx1Wm04b1lFbHVjM1JoYkd4cGJtY2dZVzVrSUhOb2NtbHVhM2R5WVhCd2FXNW5JR1JsY0dWdVpHVnVZMmxsYzJBcE8xeHVJQ0FnSUdWNFpXTlRlVzVqS0dCdWNHMGdhVzV6ZEdGc2JHQXNJSHNnWTNka09pQnZkWFJ3ZFhRZ2ZTazdYRzRnSUNBZ1pYaGxZMU41Ym1Nb1lHNXdiU0J6YUhKcGJtdDNjbUZ3WUN3Z2V5QmpkMlE2SUc5MWRIQjFkQ0I5S1R0Y2JpQWdJQ0JsZUdWalUzbHVZeWhjSW5KdElDMXlaaUJ1YjJSbFgyMXZaSFZzWlhOY0lpd2dleUJqZDJRNklHOTFkSEIxZENCOUtUdGNiaUFnSUNCc2IyY3VhVzVtYnloZ1pHVnNaWFJwYm1jZ2RHVnRjQ0JtYjJ4a1pYSnpZQ2s3WEc0Z0lDQWdaWGhsWTFONWJtTW9ZSEp0SUMxeVppQXVMMnhwWWlBbUppQnliU0F0Y21ZZ0xpOWthWE4wWUN3Z2V5QmpkMlE2SUc5MWRIQjFkQ0I5S1R0Y2JpQWdJQ0JzYjJjdWFXNW1ieWhjYmlBZ0lDQWdJR0JEYjI1MGNtRmpkQ0FrZTI1aGJXVjlJR052YlhCcGJHVmtJSE4xWTJObGMzTm1kV3hzZVNFZ2FXNGdKSHR3WVhSb0xuSmxjMjlzZG1Vb2IzVjBjSFYwS1gxZ1hHNGdJQ0FnS1R0Y2JpQWdJQ0JwWmlBb1pHVjJLU0I3WEc0Z0lDQWdJQ0JzYjJjdWFXNW1ieWhnWkdWMklHMXZaR1VnWlc1aFlteGxaQzRnYVc1emRHRnNiR2x1WnlCa1pYQmxibVJsYm1OcFpYTWdabTl5SUdSbFluVm5aMmx1WjJBcE8xeHVJQ0FnSUNBZ1pYaGxZMU41Ym1Nb1lHNXdiU0JwYm5OMFlXeHNZQ3dnZTF4dUlDQWdJQ0FnSUNCamQyUTZJRzkxZEhCMWRDeGNiaUFnSUNBZ0lDQWdaVzUyT2lCN0lDNHVMbkJ5YjJObGMzTXVaVzUyTENCT1QwUkZYMFZPVmpvZ1hDSndjbTlrZFdOMGFXOXVYQ0lnZlN4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JpQWdmU2s3WEc1Y2JtTnZibk4wSUdWNGRISmhZM1JKYm1SbGVHVnpJRDBnYm1WM0lFTnZiVzFoYm1Rb0tWeHVJQ0F1WTI5dGJXRnVaQ2hjSW1WNGRISmhZM1F0YVc1a1pYaGxjMXdpS1Z4dUlDQXViM0IwYVc5dUtGd2lMUzFtYVd4bElGdFRkSEpwYm1kZFhDSXNJRndpZEdobElHMXZaR1ZzSUdacGJHVmNJaWxjYmlBZ0xtOXdkR2x2YmloY0lpMHRabTlzWkdWeUlGdFRkSEpwYm1kZFhDSXNJRndpZEdobElHMXZaR1ZzSUdadmJHUmxjbHdpS1Z4dUlDQXViM0IwYVc5dUtGd2lMUzF2ZFhSRWFYSWdQRk4wY21sdVp6NWNJaXdnWENKMGFHVWdiM1YwWkdseUxpQnphRzkxYkdRZ2JXRjBZMmdnZVc5MWNpQmpiMjUwY21GamRDQm1iMnhrWlhKY0lpbGNiaUFnTG1SbGMyTnlhWEIwYVc5dUtGeHVJQ0FnSUZ3aVEzSmxZWFJsY3lCaElIUm9aU0JLVTA5T0lHbHVaR1Y0SUdacGJHVnpJSFJ2SUdKbElITjFZbTFwZEhSbFpDQjBieUJoYkc5dVp5QjNhWFJvSUhSb1pTQmpiMjUwY21GamRGd2lYRzRnSUNsY2JpQWdMbUZqZEdsdmJpaGhjM2x1WXlBb2IzQjBhVzl1Y3pvZ1lXNTVLU0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdjR3RuSUQwZ1NsTlBUaTV3WVhKelpTaGNiaUFnSUNBZ0lHWnpMbkpsWVdSR2FXeGxVM2x1WXlod1lYUm9MbXB2YVc0b2NISnZZMlZ6Y3k1amQyUW9LU3dnWENKd1lXTnJZV2RsTG1wemIyNWNJaWtzSUZ3aWRYUm1MVGhjSWlsY2JpQWdJQ0FwTzF4dVhHNGdJQ0FnWTI5dWMzUWdkbVZ5YzJsdmJpQTlJSEJyWnk1MlpYSnphVzl1TzF4dVhHNGdJQ0FnWTI5dWMzUWdiRzluSUQwZ2JHOW5aMlZ5TG1admNpaGNJbVY0ZEhKaFkzUXRhVzVrWlhobGMxd2lLVHRjYmlBZ0lDQnNiMmN1WkdWaWRXY29YRzRnSUNBZ0lDQmdjblZ1Ym1sdVp5QjNhWFJvSUc5d2RHbHZibk02SUNSN1NsTlBUaTV6ZEhKcGJtZHBabmtvYjNCMGFXOXVjeWw5SUdadmNpQWtlM0JyWnk1dVlXMWxmU0IyWlhKemFXOXVJQ1I3ZG1WeWMybHZibjFnWEc0Z0lDQWdLVHRjYmx4dUlDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J3Y21WbVpYSXRZMjl1YzNSY2JpQWdJQ0JzWlhRZ2V5Qm1hV3hsTENCbWIyeGtaWElzSUc5MWRFUnBjaUI5SUQwZ2IzQjBhVzl1Y3p0Y2JseHVJQ0FnSUdOdmJuTjBJRzF2WkdWc2N6b2dZVzU1VzEwZ1BTQmJYVHRjYmlBZ0lDQnBaaUFvWm1sc1pTa2dlMXh1SUNBZ0lDQWdiVzlrWld4ekxuQjFjMmdvTGk0dWNtVmhaRTF2WkdWc1JtbHNaU2htYVd4bEtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR1p2YkdSbGNpa2dlMXh1SUNBZ0lDQWdiRzluTG1sdVptOG9ZRXh2WVdScGJtY2diVzlrWld4eklHWnliMjBnSkh0bWIyeGtaWEo5TGk0dVlDazdYRzRnSUNBZ0lDQnRiMlJsYkhNdWNIVnphQ2d1TGk0b1lYZGhhWFFnY21WaFpFMXZaR1ZzUm05c1pHVnljeWhtYjJ4a1pYSXBLU2s3WEc0Z0lDQWdmVnh1SUNBZ0lHTnZibk4wSUhKbGMzVnNkRG9nVW1WamIzSmtQSE4wY21sdVp5d2dZVzU1UGlBOUlIdDlPMXh1SUNBZ0lHTnZibk4wSUdSbGMybG5ia1J2WTNNNklGSmxZMjl5WkR4emRISnBibWNzSUdGdWVUNGdQU0I3ZlR0Y2JseHVJQ0FnSUdsbUlDZ2habWxzWlNBbUppQWhabTlzWkdWeUtWeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFbHVkR1Z5Ym1Gc1JYSnliM0lvWUUxMWMzUWdjR0Z6Y3lCaElHWnBiR1VnYjNJZ1lTQm1iMnhrWlhKZ0tUdGNibHh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdiU0J2WmlCdGIyUmxiSE1wSUh0Y2JpQWdJQ0FnSUd4dlp5NTJaWEppYjNObEtHQkZlSFJ5WVdOMGFXNW5JR2x1WkdWNFpYTWdabTl5SUhSaFlteGxJQ1I3VFc5a1pXd3VkR0ZpYkdWT1lXMWxLRzBwZldBcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYVc1a1pYaGxjeUE5SUdkbGJtVnlZWFJsVFc5a1pXeEpibVJsZUdWektHMHNJR3h2WnlrN1hHNGdJQ0FnSUNCcGJtUmxlR1Z6TG1admNrVmhZMmdvS0dsdVpHVjRLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hwYm1SbGVDNXVZVzFsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVZ6ZFd4MFcybHVaR1Y0TG01aGJXVmRJRDBnYVc1a1pYZzdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnWjJWdVpYSmhkR1ZOYjJSbGJFUmxjMmxuYmtSdlkzTW9iU3dnWkdWemFXZHVSRzlqY3lrN1hHNGdJQ0FnZlZ4dUlDQWdJR052Ym5OMElHbHVaR1Y0WlhOVWIxZHlhWFJsSUQwZ1QySnFaV04wTG5aaGJIVmxjeWh5WlhOMWJIUXBPMXh1SUNBZ0lHTnZibk4wSUdSdlkzTlViMWR5YVhSbElEMGdUMkpxWldOMExuWmhiSFZsY3loa1pYTnBaMjVFYjJOektUdGNiaUFnSUNCc2IyY3VkbVZ5WW05elpTaGdSbTkxYm1RZ0pIdHBibVJsZUdWelZHOVhjbWwwWlM1c1pXNW5kR2g5SUdsdVpHVjRaWE1nZEc4Z1kzSmxZWFJsWUNrN1hHNGdJQ0FnYkc5bkxuWmxjbUp2YzJVb1lFWnZkVzVrSUNSN1pHOWpjMVJ2VjNKcGRHVXViR1Z1WjNSb2ZTQmtaWE5wWjI0Z1pHOWpjeUIwYnlCamNtVmhkR1ZnS1R0Y2JpQWdJQ0JzYjJjdVpHVmlkV2NvWUVsdVpHVjRaWE02SUNSN1NsTlBUaTV6ZEhKcGJtZHBabmtvY21WemRXeDBLWDFnS1R0Y2JpQWdJQ0JzYjJjdVpHVmlkV2NvWUVSbGMybG5ia1J2WTNNNklDUjdTbE5QVGk1emRISnBibWRwWm5rb1pHVnphV2R1Ukc5amN5bDlZQ2s3WEc0Z0lDQWdkM0pwZEdWSmJtUmxlR1Z6S0dsdVpHVjRaWE5VYjFkeWFYUmxMQ0J2ZFhSRWFYSXBPMXh1SUNBZ0lIZHlhWFJsUkdWemFXZHVSRzlqY3loa2IyTnpWRzlYY21sMFpTd2diM1YwUkdseUtUdGNiaUFnZlNrN1hHNWNibU52Ym5OMElHVjRkSEpoWTNSRGIyeHNaV04wYVc5dWN5QTlJRzVsZHlCRGIyMXRZVzVrS0NsY2JpQWdMbU52YlcxaGJtUW9YQ0psZUhSeVlXTjBMV052Ykd4bFkzUnBiMjV6WENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFdacGJHVWdXMU4wY21sdVoxMWNJaXdnWENKMGFHVWdiVzlrWld3Z1ptbHNaVndpS1Z4dUlDQXViM0IwYVc5dUtGd2lMUzFtYjJ4a1pYSWdXMU4wY21sdVoxMWNJaXdnWENKMGFHVWdiVzlrWld3Z1ptOXNaR1Z5WENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFc5MWRFUnBjaUE4VTNSeWFXNW5QbHdpTENCY0luUm9aU0J2ZFhSa2FYSXVJSE5vYjNWc1pDQnRZWFJqYUNCNWIzVnlJR052Ym5SeVlXTjBJR1p2YkdSbGNsd2lLVnh1SUNBdWIzQjBhVzl1S0Z3aUxTMXRjM0JKWkhNZ1BGTjBjbWx1Wno1Y0lpd2dYQ0p6YVc1bmJHVWdiWE53U1dRZ2IzSWdjM1J5YVc1bmFXWnBaV1FnWVhKeVlYbGNJaWxjYmlBZ0xtOXdkR2x2YmloY0lpMHRiV0ZwYmsxemNFbGtJRHhUZEhKcGJtYytYQ0lzSUZ3aWMybHVaMnhsSUcxemNFbGtYQ0lwWEc0Z0lDNXZjSFJwYjI0b1hHNGdJQ0FnWENJdExXOTJaWEp5YVdSbGN5QmJVM1J5YVc1blhWd2lMRnh1SUNBZ0lGd2ljM1J5YVc1bmFXWnBaV1FnYjNabGNuSnBaR1VnYjJKcVpXTjBJSHR5WlhGMWFYSmxaRkJsWlhKRGIzVnVkRG9nYm5WdFltVnlMQ0J0WVhoUVpXVnlRMjkxYm5RNklHNTFiV0psY2l3Z1lteHZZMnRVYjB4cGRtVTZJRzUxYldKbGNpd2diV1Z0WW1WeVQyNXNlVkpsWVdRNklHNTFiV0psY2l3Z2JXVnRZbVZ5VDI1c2VWZHlhWFJsT2lCdWRXMWlaWElzSUdWdVpHOXljMlZ0Wlc1MFVHOXNhV041T2lBZ2UzMTlYQ0pjYmlBZ0tWeHVJQ0F1WkdWelkzSnBjSFJwYjI0b1hHNGdJQ0FnWENKRGNtVmhkR1Z6SUdFZ2RHaGxJRXBUVDA0Z2FXNWtaWGdnWm1sc1pYTWdkRzhnWW1VZ2MzVmliV2wwZEdWa0lIUnZJR0ZzYjI1bklIZHBkR2dnZEdobElHTnZiblJ5WVdOMFhDSmNiaUFnS1Z4dUlDQXVZV04wYVc5dUtHRnplVzVqSUNodmNIUnBiMjV6T2lCaGJua3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQndhMmNnUFNCS1UwOU9MbkJoY25ObEtGeHVJQ0FnSUNBZ1puTXVjbVZoWkVacGJHVlRlVzVqS0hCaGRHZ3VhbTlwYmlod2NtOWpaWE56TG1OM1pDZ3BMQ0JjSW5CaFkydGhaMlV1YW5OdmJsd2lLU3dnWENKMWRHWXRPRndpS1Z4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQjJaWEp6YVc5dUlEMGdjR3RuTG5abGNuTnBiMjQ3WEc1Y2JpQWdJQ0JqYjI1emRDQnNiMmNnUFNCc2IyZG5aWEl1Wm05eUtGd2laWGgwY21GamRDMWpiMnhzWldOMGFXOXVjMXdpS1R0Y2JpQWdJQ0JzYjJjdVpHVmlkV2NvWEc0Z0lDQWdJQ0JnY25WdWJtbHVaeUIzYVhSb0lHOXdkR2x2Ym5NNklDUjdTbE5QVGk1emRISnBibWRwWm5rb2IzQjBhVzl1Y3lsOUlHWnZjaUFrZTNCclp5NXVZVzFsZlNCMlpYSnphVzl1SUNSN2RtVnljMmx2Ym4xZ1hHNGdJQ0FnS1R0Y2JseHVJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCd2NtVm1aWEl0WTI5dWMzUmNiaUFnSUNCc1pYUWdleUJtYVd4bExDQm1iMnhrWlhJc0lHOTFkRVJwY2l3Z2JYTndTV1J6TENCdFlXbHVUWE53U1dRZ2ZTQTlJRzl3ZEdsdmJuTTdYRzVjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdiWE53U1dSeklEMGdiWE53U1dSeklEOGdTbE5QVGk1d1lYSnpaU2h0YzNCSlpITXBJRG9nZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ1FIUjVjR1Z6WTNKcGNIUXRaWE5zYVc1MEwyNXZMWFZ1ZFhObFpDMTJZWEp6WEc0Z0lDQWdJQ0I5SUdOaGRHTm9JQ2hsT2lCMWJtdHViM2R1S1NCN1hHNGdJQ0FnSUNBZ0lDOHZJQ0JrYnlCdWIzUm9hVzVuWEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JqWVhSamFDQW9aVG9nZFc1cmJtOTNiaWtnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUZObGNtbGhiR2w2WVhScGIyNUZjbkp2Y2loZ1ZXNWhZbXhsSUhSdklHVjRkSEpoWTNRZ2JYTndhV1J6T2lBZ0pIdGxmV0FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHMXZaR1ZzY3pvZ1lXNTVXMTBnUFNCYlhUdGNiaUFnSUNCcFppQW9abWxzWlNrZ2UxeHVJQ0FnSUNBZ2JXOWtaV3h6TG5CMWMyZ29MaTR1Y21WaFpFMXZaR1ZzUm1sc1pTaG1hV3hsS1NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHWnZiR1JsY2lrZ2UxeHVJQ0FnSUNBZ2JHOW5MbWx1Wm04b1lFeHZZV1JwYm1jZ2JXOWtaV3h6SUdaeWIyMGdKSHRtYjJ4a1pYSjlMaTR1WUNrN1hHNGdJQ0FnSUNCdGIyUmxiSE11Y0hWemFDZ3VMaTRvWVhkaGFYUWdjbVZoWkUxdlpHVnNSbTlzWkdWeWN5aG1iMnhrWlhJcEtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLQ0ZtYVd4bElDWW1JQ0ZtYjJ4a1pYSXBYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loZ1RYVnpkQ0J3WVhOeklHRWdabWxzWlNCdmNpQmhJR1p2YkdSbGNtQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2FXNXFaV04wWVdKc1pVMXZaR1ZzY3lBOUlHMXZaR1ZzY3k1bWFXeDBaWElvWEc0Z0lDQWdJQ0FvYlc5a1pXd3BJRDArWEc0Z0lDQWdJQ0FnSUUxdlpHVnNMbWx6VTJoaGNtVmtLRzF2WkdWc0tTQjhmRnh1SUNBZ0lDQWdJQ0JOYjJSbGJDNXBjMUJ5YVhaaGRHVW9iVzlrWld3cElIeDhYRzRnSUNBZ0lDQWdJQ0VoVFc5a1pXd3ViV2x5Y205eVpXUkJkQ2h0YjJSbGJDbGNiaUFnSUNBcE8xeHVJQ0FnSUdsbUlDZ2hhVzVxWldOMFlXSnNaVTF2WkdWc2N5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lHeHZaeTVwYm1adktGeHVJQ0FnSUNBZ0lDQmdUbThnYzJoaGNtVmtMQ0J3Y21sMllYUmxMQ0J2Y2lCdGFYSnliM0psWkNCdGIyUmxiSE1nWm05MWJtUWdkRzhnWlhoMGNtRmpkQ0JqYjJ4c1pXTjBhVzl1YzJCY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZWE41Ym1NZ1puVnVZM1JwYjI0Z1oyVjBRMjlzY3lodGMzQkpaSE5NYVhOMFB6b2djM1J5YVc1blcxMHBJSHRjYmlBZ0lDQWdJR052Ym5OMElHTnZiSE02SUh0Y2JpQWdJQ0FnSUNBZ2FXNWtaWGhsY3pvZ1EzSmxZWFJsU1c1a1pYaFNaWEYxWlhOMFcxMDdYRzRnSUNBZ0lDQWdJR1JsYzJsbmJrUnZZM002SUVOdmRXTm9SRUpFWlhOcFoyNUViMk5iWFR0Y2JpQWdJQ0FnSUNBZ2JXbHljbTl5UHpvZ1VISnBkbUYwWlVOdmJHeGxZM1JwYjI0N1hHNGdJQ0FnSUNBZ0lHTnZiR3hsWTNScGIyNXpPaUJRY21sMllYUmxRMjlzYkdWamRHbHZibHRkTzF4dUlDQWdJQ0FnZlZ0ZElEMGdZWGRoYVhRZ1VISnZiV2x6WlM1aGJHd29YRzRnSUNBZ0lDQWdJR2x1YW1WamRHRmliR1ZOYjJSbGJITXViV0Z3S0dGemVXNWpJQ2hqYkdGNmVpa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUhSaFlteGxUbUZ0WlNBOUlFMXZaR1ZzTG5SaFlteGxUbUZ0WlNoamJHRjZlaWs3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYldseWNtOXlUV1YwWVNBOUlFMXZaR1ZzTG0xcGNuSnZjbVZrUVhRb1kyeGhlbm9wTzF4dVhHNGdJQ0FnSUNBZ0lDQWdZMjl1YzI5c1pTNXNiMmNvZEdGaWJHVk9ZVzFsS1R0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCamIyeHNaV04wYVc5dWN6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1lXNTVQaUE5SUh0OU8xeHVJQ0FnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnYlhOd0lHOW1JRzF6Y0Vsa2MweHBjM1FnZkh3Z2JYTndTV1J6SUh4OElGdGRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMnhzWldOMGFXOXVjMXR0YzNCZElEMGdZWGRoYVhRZ1pYaERiMnhzWldOMGFXOXVjeWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMnhoZW5vc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUZ0dGMzQXNJRzFoYVc1TmMzQkpaRjBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSHQ5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklDQWdjMmhoY21Wa1EyOXNjem9nVDJKcVpXTjBMbUZ6YzJsbmJpaDdmU3dnYjNabGNuSnBaR1Z6TG5Ob1lYSmxaRU52YkhNcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QWdJSEJ5YVhaaGRHVkRiMnh6T2lCUFltcGxZM1F1WVhOemFXZHVLSHQ5TENCdmRtVnljbWxrWlhNdWNISnBkbUYwWlVOdmJITXBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUI5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FoSVcxcGNuSnZjazFsZEdGY2JpQWdJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnYkdWMElHMXBjbkp2Y2tOdmJHeGxZM1JwYjI0NklGQnlhWFpoZEdWRGIyeHNaV04wYVc5dUlId2dkVzVrWldacGJtVmtJRDBnZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnSUNBZ0lDQWdhV1lnS0cxcGNuSnZjazFsZEdFcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJHeGxZM1JwYjI1elcyMWhhVzVOYzNCSlpGMGdQU0JqYjJ4c1pXTjBhVzl1YzF0dFlXbHVUWE53U1dSZElIeDhJSHQ5TzF4dUlDQWdJQ0FnSUNBZ0lDQWdUMkpxWldOMExtdGxlWE1vWTI5c2JHVmpkR2x2Ym5NcExtWnZja1ZoWTJnb0tHMXpjRG9nYzNSeWFXNW5LU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJHeGxZM1JwYjI1elcyMWhhVzVOYzNCSlpGMHVjSEpwZG1GMFpYTWdQU0JqYjJ4c1pXTjBhVzl1YzF0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdGMzQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1hTNXdjbWwyWVhSbGN6OHVabWxzZEdWeUtDaHdPaUJoYm5rcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NDNXVZVzFsSUNFOVBTQW9iV2x5Y205eVRXVjBZUzV5WlhOdmJIWmxjaUJoY3lCemRISnBibWNwS1NCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnRhWEp5YjNKRGIyeHNaV04wYVc5dUlEMGdjQ0JoY3lCaGJuazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSEJ5YVhaaGRHVnpRMjkxYm5RZ1BTQlBZbXBsWTNRdWRtRnNkV1Z6S0dOdmJHeGxZM1JwYjI1ektWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG0xaGNDZ29ZeWtnUFQ0Z1l5NXdjbWwyWVhSbGN5bGNiaUFnSUNBZ0lDQWdJQ0FnSUM1bWJHRjBLQ2t1YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHdjbWwyWVhSbGMwTnZkVzUwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdiRzluWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzVtYjNJb1RXOWtaV3d1ZEdGaWJHVk9ZVzFsS0dOc1lYcDZLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMbWx1Wm04b1lFWnZkVzVrSUNSN2NISnBkbUYwWlhORGIzVnVkSDBnY0hKcGRtRjBaU0JqYjJ4c1pXTjBhVzl1Y3lCMGJ5QmpjbVZoZEdWZ0tUdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQnphR0Z5WldSRGIzVnVkQ0E5SUU5aWFtVmpkQzUyWVd4MVpYTW9ZMjlzYkdWamRHbHZibk1wWEc0Z0lDQWdJQ0FnSUNBZ0lDQXViV0Z3S0NoaktTQTlQaUJqTG5Ob1lYSmxaQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNW1iR0YwS0NrdWJHVnVaM1JvTzF4dVhHNGdJQ0FnSUNBZ0lDQWdiRzluWEc0Z0lDQWdJQ0FnSUNBZ0lDQXVabTl5S0UxdlpHVnNMblJoWW14bFRtRnRaU2hqYkdGNmVpa3BYRzRnSUNBZ0lDQWdJQ0FnSUNBdWFXNW1ieWhnUm05MWJtUWdKSHR6YUdGeVpXUkRiM1Z1ZEgwZ2MyaGhjbVZrSUdOdmJHeGxZM1JwYjI1eklIUnZJR055WldGMFpXQXBPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHRhWEp5YjNKRGIyeHNaV04wYVc5dUtWeHVJQ0FnSUNBZ0lDQWdJQ0FnYkc5blhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM1bWIzSW9UVzlrWld3dWRHRmliR1ZPWVcxbEtHTnNZWHA2S1NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTG1sdVptOG9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZRVp2ZFc1a0lHOXVaU0J0YVhKeWIzSWdZMjlzYkdWamRHbHZiaUFrZTIxcGNuSnZjazFsZEdFL0xuSmxjMjlzZG1WeUlHRnpJSE4wY21sdVozMWdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDazdYRzVjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqYjJ4TWFYTjBJRDBnVDJKcVpXTjBMblpoYkhWbGN5aGpiMnhzWldOMGFXOXVjeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDNXRZWEFvS0dNcElEMCtJRnN1TGk0b1l5NXdjbWwyWVhSbGN5QjhmQ0JiWFNrc0lDNHVMaWhqTG5Ob1lYSmxaQ0I4ZkNCYlhTbGRLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtWnNZWFFvS1R0Y2JpQWdJQ0FnSUNBZ0lDQnNaWFFnYVc1a1pYaGxjem9nUTNKbFlYUmxTVzVrWlhoU1pYRjFaWE4wVzEwZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnSUNCc1pYUWdaR1Z6YVdkdVJHOWpjem9nUTI5MVkyaEVRa1JsYzJsbmJrUnZZMXRkSUQwZ1cxMDdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHTnZiRXhwYzNRdWJHVnVaM1JvS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzYjJkY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTG1admNpaE5iMlJsYkM1MFlXSnNaVTVoYldVb1kyeGhlbm9wS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1ZG1WeVltOXpaU2hnWjJWdVpYSmhkR2x1WnlCcGJtUmxlR1Z6SUdadmNpQmpiMnhzWldOMGFXOXVjMkFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhVzVrWlhobGN5QTlJR2RsYm1WeVlYUmxUVzlrWld4SmJtUmxlR1Z6S0dOc1lYcDZMQ0JzYjJjdVptOXlLRTF2WkdWc0xuUmhZbXhsVG1GdFpTaGpiR0Y2ZWlrcEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4dloxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdVptOXlLRTF2WkdWc0xuUmhZbXhsVG1GdFpTaGpiR0Y2ZWlrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM1cGJtWnZLR0JtYjNWdVpDQWtlMmx1WkdWNFpYTXViR1Z1WjNSb2ZTQnBibVJsZUdWellDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTnBaMjVFYjJOeklEMGdaMlZ1WlhKaGRHVk5iMlJsYkVSbGMybG5ia1J2WTNNb1kyeGhlbm9wTzF4dUlDQWdJQ0FnSUNBZ0lDQWdiRzluWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzVtYjNJb1RXOWtaV3d1ZEdGaWJHVk9ZVzFsS0dOc1lYcDZLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMbWx1Wm04b1lHWnZkVzVrSUNSN1pHVnphV2R1Ukc5amN5NXNaVzVuZEdoOUlHUmxjMmxuYmlCa2IyTnpZQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcGJtUmxlR1Z6TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6YVdkdVJHOWpjeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZiR3hsWTNScGIyNXpPaUJqYjJ4TWFYTjBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2JXbHljbTl5T2lCdGFYSnliM0pEYjJ4c1pXTjBhVzl1TEZ4dUlDQWdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQWdJSDBwWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJQ0FnY21WMGRYSnVJR052YkhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdZMjlzY3lBOUlHRjNZV2wwSUdkbGRFTnZiSE1vS1R0Y2JpQWdJQ0JqYjI1emRDQnZibXg1VFdseWNtOXlJRDBnWVhkaGFYUWdaMlYwUTI5c2N5aGJiV0ZwYmsxemNFbGtYU2s3WEc1Y2JpQWdJQ0JqYjI1emRDQmpiMnhzWldOMGFXOXVjMVJ2SUQwZ1cxeHVJQ0FnSUNBZ0xpNHViMjVzZVUxcGNuSnZjaTVtYVd4MFpYSW9LR01wSUQwK0lHTXViV2x5Y205eUtTNXRZWEFvS0dNcElEMCtJR011YldseWNtOXlLU3hjYmlBZ0lDQWdJQzR1TG1OdmJITXViV0Z3S0NoaktTQTlQaUJqTG1OdmJHeGxZM1JwYjI1ektTNW1iR0YwS0Nrc1hHNGdJQ0FnSUNBdUxpNWpiMnh6TG1acGJIUmxjaWdvWXlrZ1BUNGdZeTV0YVhKeWIzSXBMbTFoY0Nnb1l5a2dQVDRnWXk1dGFYSnliM0lwTEZ4dUlDQWdJRjBnWVhNZ1VISnBkbUYwWlVOdmJHeGxZM1JwYjI1YlhUdGNibHh1SUNBZ0lHTnZibk4wSUhWdWFYRjFaVUo1UTI5c2JHVmpkR2x2YmlBOUlGdGNiaUFnSUNBZ0lDNHVMbTVsZHlCTllYQW9YRzRnSUNBZ0lDQWdJR052Ykd4bFkzUnBiMjV6Vkc4dWJXRndLQ2hwZEdWdE9pQlFjbWwyWVhSbFEyOXNiR1ZqZEdsdmJpa2dQVDRnVzJsMFpXMHVibUZ0WlN3Z2FYUmxiVjBwWEc0Z0lDQWdJQ0FwTG5aaGJIVmxjeWdwTEZ4dUlDQWdJRjA3WEc1Y2JpQWdJQ0JwWmlBb2RXNXBjWFZsUW5sRGIyeHNaV04wYVc5dUxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ2QzSnBkR1ZEYjJ4c1pXTjBhVzl1Y3loMWJtbHhkV1ZDZVVOdmJHeGxZM1JwYjI0c0lHOTFkRVJwY2lrN1hHNGdJQ0FnSUNCamIyNXpkQ0J0WlhSaFEyOXNiR1ZqZEdsdmJuTkRiMjVtYVdjZ1BTQndZWFJvTG1wdmFXNG9YRzRnSUNBZ0lDQWdJRzkxZEVScGNpeGNiaUFnSUNBZ0lDQWdYQ0pOUlZSQkxVbE9SbHdpTEZ4dUlDQWdJQ0FnSUNCY0ltTnZiR3hsWTNScGIyNXpYMk52Ym1acFp5NXFjMjl1WENKY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCamIyNXpkQ0JqYjI1MGNtRmpkRU52Ykd4bFkzUnBiMjV6UTI5dVptbG5JRDBnY0dGMGFDNXFiMmx1S0Z4dUlDQWdJQ0FnSUNCdmRYUkVhWElzWEc0Z0lDQWdJQ0FnSUZ3aVkyOXNiR1ZqZEdsdmJuTmZZMjl1Wm1sbkxtcHpiMjVjSWx4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUdaekxtTnZjSGxHYVd4bFUzbHVZeWh0WlhSaFEyOXNiR1ZqZEdsdmJuTkRiMjVtYVdjc0lHTnZiblJ5WVdOMFEyOXNiR1ZqZEdsdmJuTkRiMjVtYVdjcE8xeHVJQ0FnSUNBZ2JHOW5MbWx1Wm04b1hHNGdJQ0FnSUNBZ0lHQlRkRzl5WldRZ0pIdGpiMnhzWldOMGFXOXVjMVJ2TG14bGJtZDBhSDBnWTI5c2JHVmpkR2x2Ym5NZ2RHOGdKSHR0WlhSaFEyOXNiR1ZqZEdsdmJuTkRiMjVtYVdkOVlGeHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lHeHZaeTVwYm1adktGeHVJQ0FnSUNBZ0lDQmdRMjl3YVdWa0lHTnZiR3hsWTNScGIyNXpYMk52Ym1acFp5QjBieUFrZTJOdmJuUnlZV04wUTI5c2JHVmpkR2x2Ym5ORGIyNW1hV2Q5SUdGc2IyNW5jMmxrWlNCMGFHVWdjR0ZqYTJGblpTNXFjMjl1WUZ4dUlDQWdJQ0FnS1R0Y2JseHVJQ0FnSUNBZ1kyOXNjeTVtYjNKRllXTm9LQ2hqS1NBOVBpQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElIc2dhVzVrWlhobGN5d2daR1Z6YVdkdVJHOWpjeXdnWTI5c2JHVmpkR2x2Ym5Nc0lHMXBjbkp2Y2lCOUlEMGdZenRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkRzlKYm1SbGVEb2dVSEpwZG1GMFpVTnZiR3hsWTNScGIyNWJYU0E5SUZzdUxpNWpiMnhzWldOMGFXOXVjeXdnYldseWNtOXlYUzVtYVd4MFpYSW9YRzRnSUNBZ0lDQWdJQ0FnUW05dmJHVmhibHh1SUNBZ0lDQWdJQ0FwSUdGeklGQnlhWFpoZEdWRGIyeHNaV04wYVc5dVcxMDdYRzRnSUNBZ0lDQWdJSFJ2U1c1a1pYZ3VabTl5UldGamFDZ29hU2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJSGR5YVhSbFNXNWtaWGhsY3locGJtUmxlR1Z6TENCdmRYUkVhWElzSUdrdWJtRnRaU2s3WEc0Z0lDQWdJQ0FnSUNBZ2QzSnBkR1ZEYjJ4c1pXTjBhVzl1UkdWemFXZHVSRzlqY3loa1pYTnBaMjVFYjJOeklIeDhJRnRkTENCdmRYUkVhWElzSUdrdWJtRnRaU2s3WEc0Z0lDQWdJQ0FnSUNBZ2JHOW5MbWx1Wm04b1hHNGdJQ0FnSUNBZ0lDQWdJQ0JnVTNSdmNtVmtJQ1I3YVc1a1pYaGxjejh1YkdWdVozUm9JSHg4SURCOUlHbHVaR1Y0WlhNZ1lXNWtJQ1I3WkdWemFXZHVSRzlqY3o4dWJHVnVaM1JvSUh4OElEQjlJR1JsYzJsbmJpQmtiMk56SUhSdklHTnZiR3hsWTNScGIyNGdKSHRwTG01aGJXVjlZRnh1SUNBZ0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVnh1SUNCOUtUdGNibHh1WTI5dWMzUWdaVzV6ZFhKbFNXNW1jbUVnUFNCdVpYY2dRMjl0YldGdVpDZ3BYRzRnSUM1dVlXMWxLRndpWVhkaGFYUXRhVzVtY21GY0lpbGNiaUFnTG1SbGMyTnlhWEIwYVc5dUtGd2lkMkZwZEhNZ1ptOXlJSFJvWlNCcGJtWnlZWE4wY25WamRIVnlaU0IwYnlCaVpTQjFjQ0JoYm1RZ2NuVnVibWx1WjF3aUtWeHVJQ0F1YjNCMGFXOXVLRnh1SUNBZ0lGd2lMUzFqYjI1MFlXbHVaWElnUEZOMGNtbHVaejVjSWl4Y2JpQWdJQ0JjSW1SdlkydGxjaUJqYjI1MFlXbHVaWElnYm1GdFpTQjBieUIwWlhOMElDaDFjM1ZoYkd4NUlHeGhjM1FnY0dWbGNpbGNJaXhjYmlBZ0lDQmNJbUp2YjNRdGIzSm5MV010Y0dWbGNpMHdYQ0pjYmlBZ0tWeHVJQ0F1YjNCMGFXOXVLRndpTFMxMGFXMWxiM1YwSUR4VGRISnBibWMrWENJc0lGd2lkR2x0Wlc5MWRDQmlaWFIzWldWdUlIUmxjM1J6SUdsdUlHMXBiR3hwYzJWamIyNWtjMXdpTENCY0lqVXdNREJjSWlsY2JpQWdMbTl3ZEdsdmJpaGNJaTB0WVhSMFpXMXdkSE1nUEZOMGNtbHVaejVjSWl3Z1hDSnVkVzFpWlhJZ2IyWWdZWFIwWlcxd2RITWdZbVZtYjNKbElHZHBkbWx1WnlCMWNGd2lMQ0JjSWpFd1hDSXBYRzRnSUM1aFkzUnBiMjRvWVhONWJtTWdLRzl3ZEdsdmJuTTZJR0Z1ZVNrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUhCclp5QTlJRXBUVDA0dWNHRnljMlVvWEc0Z0lDQWdJQ0JtY3k1eVpXRmtSbWxzWlZONWJtTW9jR0YwYUM1cWIybHVLSEJ5YjJObGMzTXVZM2RrS0Nrc0lGd2ljR0ZqYTJGblpTNXFjMjl1WENJcExDQmNJblYwWmkwNFhDSXBYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHTnZibk4wSUhabGNuTnBiMjRnUFNCd2EyY3VkbVZ5YzJsdmJqdGNibHh1SUNBZ0lHTnZibk4wSUd4dlp5QTlJR3h2WjJkbGNpNW1iM0lvWENKaGQyRnBkQzFwYm1aeVlWd2lLVHRjYmlBZ0lDQnNiMmN1WkdWaWRXY29YRzRnSUNBZ0lDQmdjblZ1Ym1sdVp5QjNhWFJvSUc5d2RHbHZibk02SUNSN1NsTlBUaTV6ZEhKcGJtZHBabmtvYjNCMGFXOXVjeWw5SUdadmNpQWtlM0JyWnk1dVlXMWxmU0IyWlhKemFXOXVJQ1I3ZG1WeWMybHZibjFnWEc0Z0lDQWdLVHRjYmlBZ0lDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdjSEpsWm1WeUxXTnZibk4wWEc0Z0lDQWdiR1YwSUhzZ1kyOXVkR0ZwYm1WeUxDQjBhVzFsYjNWMExDQmhkSFJsYlhCMGN5QjlJRDBnYjNCMGFXOXVjenRjYmlBZ0lDQjBhVzFsYjNWMElEMGdjR0Z5YzJWSmJuUW9kR2x0Wlc5MWRDa2dmSHdnTlRBd01EdGNiaUFnSUNCaGRIUmxiWEIwY3lBOUlIQmhjbk5sU1c1MEtHRjBkR1Z0Y0hSektTQjhmQ0F4TUR0Y2JseHVJQ0FnSUdGM1lXbDBJR1Z1YzNWeVpVbHVabkpoYzNSeWRXTjBkWEpsUW05dmRHVmtLRndpWW05dmRDMXZjbWN0WXkxd1pXVnlMVEJjSWl3Z2RHbHRaVzkxZEN3Z1lYUjBaVzF3ZEhNcE8xeHVYRzRnSUNBZ2JHOW5MbWx1Wm04b1hHNGdJQ0FnSUNCZ1NXNW1jbUZ6ZEhKMVkzUjFjbVVnWW05dmRHVmtJSE4xWTJObGMzTm1kV3hzZVNBb1lXTmpiM0prYVc1bklIUnZJR052Ym5SaGFXNWxjaUFrZTJOdmJuUmhhVzVsY24wcElXQmNiaUFnSUNBcE8xeHVJQ0I5S1R0Y2JseHVZMjl1YzNRZ1pHVndiRzk1UTI5dWRISmhZM1FnUFNCdVpYY2dRMjl0YldGdVpDZ3BYRzRnSUM1dVlXMWxLRndpWkdWd2JHOTVMV052Ym5SeVlXTjBYQ0lwWEc0Z0lDNWtaWE5qY21sd2RHbHZiaWhjSW1SbGNHeHZlWE1nZEdobElITmxiR1ZqZEdWa0lHTnZiblJ5WVdOMFhDSXBYRzRnSUM1dmNIUnBiMjRvWENJdExXNWhiV1VnUEZOMGNtbHVaejVjSWl3Z1hDSkRiMjUwY21GamRDQk9ZVzFsSUNoaGJtUWdabTlzWkdWeUtWd2lLVnh1SUNBdWIzQjBhVzl1S0Z3aUxTMXBibkIxZENBOFUzUnlhVzVuUGx3aUxDQmNJbWx1Y0hWMElHWnZiR1JsY2x3aUtWeHVJQ0F1YjNCMGFXOXVLRnh1SUNBZ0lGd2lMUzFqYjJ4c1pXTjBhVzl1Y3kxamIyNW1hV2NnUEZOMGNtbHVaejVjSWl4Y2JpQWdJQ0JjSW5CaGRHZ2dkRzhnWTI5c2JHVmpkR2x2Ym5OZlkyOXVabWxuTG1wemIyNGdkRzhnWTI5dVptbG5kWEpsSUhCeWFYWmhkR1VnWTI5c2JHVmpkR2x2Ym5OY0lseHVJQ0FwWEc0Z0lDNXZjSFJwYjI0b1hHNGdJQ0FnWENJdExXbHVZM0psYldWdWRGWmxjbk5wYjI0Z1BGTjBjbWx1Wno1Y0lpeGNiaUFnSUNCY0lpaDBjblZsSUh3Z1ptRnNjMlVwSUdsbUlITm9iM1ZzWkNCMWMyVWdkbVZ5YzJsdmJpQnZjaUJ6WlhGMVpXNWpaU0IwYnlCMWNHUmhkR1VnWTI5dWRISmhZM1J6WENJc1hHNGdJQ0FnWm1Gc2MyVmNiaUFnS1Z4dUlDQXViM0IwYVc5dUtGeHVJQ0FnSUZ3aUxTMTBjbUZqYTJWeVJtOXNaR1Z5SUR4VGRISnBibWMrWENJc1hHNGdJQ0FnWENKamIyNTBjbUZqZENCMlpYSnphVzl1SUhSeVlXTnJaWElnWm05c1pHVnlJQ2h6YUc5MWJHUWdZbVVnWkdWc1pYUmxaQ0J2YmlCcGJtWnlZWE4wY25WamRIVnlaVHBrYjNkdUtWd2lMRnh1SUNBZ0lIQmhkR2d1YW05cGJpaHdjbTlqWlhOekxtTjNaQ2dwTENCY0luUmxjM1J6WENJc0lGd2lhVzUwWldkeVlYUnBiMjVjSWl3Z1hDSmphR0ZwYm1OdlpHVlVjbUZqYTJWeWMxd2lLVnh1SUNBcFhHNGdJQzV2Y0hScGIyNG9YRzRnSUNBZ1hDSXRMWEJsWlhKeklEeFRkSEpwYm1jK1hDSXNYRzRnSUNBZ1hDSmpiMjF0WVNCelpYQmhjbUYwWldRZ2NHVmxjaUJwWkhOY0lpeGNiaUFnSUNCY0ltOXlaeTFoTFhCbFpYSXRNQ3h2Y21jdFlpMXdaV1Z5TFRBc2IzSm5MV010Y0dWbGNpMHdYQ0pjYmlBZ0tWeHVJQ0F1WVdOMGFXOXVLR0Z6ZVc1aklDaHZjSFJwYjI1ek9pQmhibmtwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0J3YTJjZ1BTQktVMDlPTG5CaGNuTmxLRnh1SUNBZ0lDQWdabk11Y21WaFpFWnBiR1ZUZVc1aktIQmhkR2d1YW05cGJpaHdjbTlqWlhOekxtTjNaQ2dwTENCY0luQmhZMnRoWjJVdWFuTnZibHdpS1N3Z1hDSjFkR1l0T0Z3aUtWeHVJQ0FnSUNrN1hHNWNiaUFnSUNCamIyNXpkQ0IyWlhKemFXOXVJRDBnY0d0bkxuWmxjbk5wYjI0N1hHNWNiaUFnSUNCamIyNXpkQ0JzYjJjZ1BTQnNiMmRuWlhJdVptOXlLRndpWkdWd2JHOTVMV052Ym5SeVlXTjBYQ0lwTzF4dUlDQWdJR3h2Wnk1a1pXSjFaeWhjYmlBZ0lDQWdJR0J5ZFc1dWFXNW5JSGRwZEdnZ2IzQjBhVzl1Y3pvZ0pIdEtVMDlPTG5OMGNtbHVaMmxtZVNodmNIUnBiMjV6S1gwZ1ptOXlJQ1I3Y0d0bkxtNWhiV1Y5SUhabGNuTnBiMjRnSkh0MlpYSnphVzl1ZldCY2JpQWdJQ0FwTzF4dVhHNGdJQ0FnWTI5dWMzUWdlMXh1SUNBZ0lDQWdibUZ0WlN4Y2JpQWdJQ0FnSUdsdWNIVjBMRnh1SUNBZ0lDQWdjR1ZsY25Nc1hHNGdJQ0FnSUNCMGNtRmphMlZ5Um05c1pHVnlMRnh1SUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRUIwZVhCbGMyTnlhWEIwTFdWemJHbHVkQzl1YnkxMWJuVnpaV1F0ZG1GeWMxeHVJQ0FnSUNBZ2FXNWpjbVZ0Wlc1MFZtVnljMmx2Yml4Y2JpQWdJQ0FnSUdOdmJHeGxZM1JwYjI1elEyOXVabWxuTEZ4dUlDQWdJSDBnUFNCdmNIUnBiMjV6TzF4dUlDQWdJR052Ym5OMElIQmxaWEpKWkhNZ1BTQndaV1Z5Y3k1emNHeHBkQ2hjSWl4Y0lpazdYRzVjYmlBZ0lDQmpiMjV6ZENCamIzVnVkRkJoZEdnZ1BTQndZWFJvTG5KbGMyOXNkbVVvY0dGMGFDNXFiMmx1S0hSeVlXTnJaWEpHYjJ4a1pYSXNJR0FrZTI1aGJXVjlMbU52ZFc1MFlDa3BPMXh1WEc0Z0lDQWdiR1YwSUhObGNYVmxibU5sT2lCdWRXMWlaWEk3WEc1Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ2MyVnhkV1Z1WTJVZ1BTQndZWEp6WlVsdWRDaG1jeTV5WldGa1JtbHNaVk41Ym1Nb1kyOTFiblJRWVhSb0tTNTBiMU4wY21sdVp5aGNJblYwWmkwNFhDSXBLVHRjYmlBZ0lDQWdJR2xtSUNocGMwNWhUaWh6WlhGMVpXNWpaU2twSUhObGNYVmxibU5sSUQwZ01UdGNiaUFnSUNBZ0lHVnNjMlVnYzJWeGRXVnVZMlVnS3owZ01UdGNiaUFnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQkFkSGx3WlhOamNtbHdkQzFsYzJ4cGJuUXZibTh0ZFc1MWMyVmtMWFpoY25OY2JpQWdJQ0I5SUdOaGRHTm9JQ2hsT2lCMWJtdHViM2R1S1NCN1hHNGdJQ0FnSUNCelpYRjFaVzVqWlNBOUlERTdYRzRnSUNBZ2ZWeHVJQ0FnSUM4dlhHNGdJQ0FnTHk4Z2FXWWdLR2x1WTNKbGJXVnVkRlpsY25OcGIyNHBJSHRjYmlBZ0lDQXZMeUFnSUhabGNuTnBiMjRnUFNCMlpYSnphVzl1SUNzZ1lDMGtlM05sY1hWbGJtTmxmV0E3WEc0Z0lDQWdMeThnSUNBdkx5QnpaWEYxWlc1alpTQTlJREU3WEc0Z0lDQWdMeThnZlZ4dVhHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lHWnZjaUFvWTI5dWMzUWdjR1ZsY2lCdlppQndaV1Z5U1dSektTQjdYRzRnSUNBZ0lDQWdJSEJoWTJ0aFoyVkRiMjUwY21GamRDaHdaV1Z5TENCcGJuQjFkQ3dnYm1GdFpTd2dkbVZ5YzJsdmJpazdYRzRnSUNBZ0lDQWdJR2x1YzNSaGJHeERiMjUwY21GamRDaHdaV1Z5TENCdVlXMWxLVHRjYmlBZ0lDQWdJQ0FnWVhCd2NtOTJaVU52Ym5SeVlXTjBLRnh1SUNBZ0lDQWdJQ0FnSUhCbFpYSXNYRzRnSUNBZ0lDQWdJQ0FnYm1GdFpTeGNiaUFnSUNBZ0lDQWdJQ0J3WldWeUlEMDlQU0JjSW05eVp5MWhMWEJsWlhJdE1Gd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBL0lGd2lkR3h6TFdOaExXTmxjblF1Y0dWdFhDSmNiaUFnSUNBZ0lDQWdJQ0FnSURvZ1hDSnZjbVJsY21WeUxYUnNjeTFqWVMxalpYSjBMbkJsYlZ3aUxGeHVJQ0FnSUNBZ0lDQWdJSE5sY1hWbGJtTmxMRnh1SUNBZ0lDQWdJQ0FnSUhabGNuTnBiMjRzWEc0Z0lDQWdJQ0FnSUNBZ1kyOXNiR1ZqZEdsdmJuTkRiMjVtYVdkY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHWnpMbmR5YVhSbFJtbHNaVk41Ym1Nb1kyOTFiblJRWVhSb0xDQnpaWEYxWlc1alpTNTBiMU4wY21sdVp5Z3BLVHRjYmlBZ0lDQjlJR05oZEdOb0lDaGxjbkk2SUdGdWVTa2dlMXh1SUNBZ0lDQWdiRzluTG1WeWNtOXlLRndpUlhKeWIzSWdaR1Z3Ykc5NWFXNW5JR052Ym5SeVlXTjBPbHdpTENCbGNuSXBPMXh1SUNBZ0lIMWNiaUFnSUNCamIyMXRhWFJEYUdGcGJtTnZaR1VvYm1GdFpTd2djMlZ4ZFdWdVkyVXNJSFpsY25OcGIyNHNJR052Ykd4bFkzUnBiMjV6UTI5dVptbG5LVHRjYmlBZ2ZTazdYRzVjYm1OdmJuTjBJR2RsZEVOeWVYQjBiMDFoZEdWeWFXRnNJRDBnYm1WM0lFTnZiVzFoYm1Rb0tWeHVJQ0F1Ym1GdFpTaGNJbWRsZEMxamNubHdkRzh0YldGMFpYSnBZV3hjSWlsY2JpQWdMbVJsYzJOeWFYQjBhVzl1S0Z3aVkyOXdhV1Z6SUhSb1pTQmpjbmx3ZEc4Z2JXRjBaWEpwWVd3Z2RHOGdkR2hsSUhObGJHVmpkR1ZrSUdadmJHUmxjbHdpS1Z4dUlDQXViM0IwYVc5dUtGd2lMUzFtYjJ4a1pYSWdQRk4wY21sdVp6NWNJaXdnWENKdmRYUndkWFFnWm05c1pHVnlYQ0lzSUZ3aVpHOWphMlZ5TDJSdlkydGxjaTFrWVhSaFhDSXBYRzRnSUM1dmNIUnBiMjRvWENJdExXOXlaeUJiVTNSeWFXNW5YVndpTENCY0luUm9aU0J2Y21jdmNHVmxjaUIwYnlCbGVIUnlZV04wSUdaeWIyMWNJaXdnWENKdmNtY3RZVndpS1Z4dUlDQXVZV04wYVc5dUtHRnplVzVqSUNodmNIUnBiMjV6T2lCaGJua3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQndhMmNnUFNCS1UwOU9MbkJoY25ObEtGeHVJQ0FnSUNBZ1puTXVjbVZoWkVacGJHVlRlVzVqS0hCaGRHZ3VhbTlwYmlod2NtOWpaWE56TG1OM1pDZ3BMQ0JjSW5CaFkydGhaMlV1YW5OdmJsd2lLU3dnWENKMWRHWXRPRndpS1Z4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQjJaWEp6YVc5dUlEMGdjR3RuTG5abGNuTnBiMjQ3WEc1Y2JpQWdJQ0JqYjI1emRDQnNiMmNnUFNCc2IyZG5aWEl1Wm05eUtGd2laMlYwTFdOeWVYQjBieTF0WVhSbGNtbGhiRndpS1R0Y2JpQWdJQ0JzYjJjdVpHVmlkV2NvWEc0Z0lDQWdJQ0JnY25WdWJtbHVaeUIzYVhSb0lHOXdkR2x2Ym5NNklDUjdTbE5QVGk1emRISnBibWRwWm5rb2IzQjBhVzl1Y3lsOUlHWnZjaUFrZTNCclp5NXVZVzFsZlNCMlpYSnphVzl1SUNSN2RtVnljMmx2Ym4xZ1hHNGdJQ0FnS1R0Y2JpQWdJQ0JqYjI1emRDQjdJR1p2YkdSbGNpd2diM0puSUgwZ1BTQnZjSFJwYjI1ek8xeHVJQ0FnSUdWNFpXTlRlVzVqS0dCa2IyTnJaWElnWTNBZ0pIdHZjbWQ5T2k5M1pXRjJaWEl2WTJ4cFpXNTBMeTRnSkh0bWIyeGtaWEo5WUN3Z2UxeHVJQ0FnSUNBZ1kzZGtPaUJ3Y205alpYTnpMbU4zWkNncExGeHVJQ0FnSUgwcE8xeHVJQ0I5S1R0Y2JseHVZMjl1YzNRZ1oyVjBRMjl3ZVZSdlVGUlFJRDBnYm1WM0lFTnZiVzFoYm1Rb0tWeHVJQ0F1Ym1GdFpTaGNJbkJ5WlhCaGNtVXRjSFJ3WENJcFhHNGdJQzVrWlhOamNtbHdkR2x2YmloY0ltTnZjR2xsY3lCamIyNTBjbUZqZENCMGJ5QjBhR1VnY0hSd0lHWnZiR1JsY2x3aUtWeHVJQ0F1YjNCMGFXOXVLRndpTFMxdmNtbG5hVzR0Wm05c1pHVnlJRHhUZEhKcGJtYytYQ0lzSUZ3aWIzSnBaMmx1SUhkdmNtdHpjR0ZqWlNCbWIyeGtaWEpjSWl3Z2RXNWtaV1pwYm1Wa0tWeHVJQ0F1YjNCMGFXOXVLRnh1SUNBZ0lGd2lMUzFrWlhOMExXWnZiR1JsY2lBOFUzUnlhVzVuUGx3aUxGeHVJQ0FnSUZ3aVptOXNaR1Z5SUhSdklIUm9aU0JrWlhOMGFXNWhkR2x2YmlCM2IzSnJjM0JoWTJWY0lpeGNiaUFnSUNCMWJtUmxabWx1WldSY2JpQWdLVnh1SUNBdVlXTjBhVzl1S0dGemVXNWpJQ2h2Y0hScGIyNXpPaUJoYm5rcElEMCtJSHRjYmlBZ0lDQnBaaUFvSVNodmNIUnBiMjV6TG05eWFXZHBia1p2YkdSbGNpQW1KaUJ2Y0hScGIyNXpMbVJsYzNSR2IyeGtaWElwS1NCN1hHNGdJQ0FnSUNCc2IyZG5aWEpjYmlBZ0lDQWdJQ0FnTG1admNpaGNJbkJ5WlhCaGNtVXRjSFJ3WENJcFhHNGdJQ0FnSUNBZ0lDNWxjbkp2Y2loY2JpQWdJQ0FnSUNBZ0lDQmNJa0p2ZEdnZ0xTMXZjbWxuYVc0dFptOXNaR1Z5SUdGdVpDQXRMV1JsYzNRdFptOXNaR1Z5SUc5d2RHbHZibk1nWVhKbElISmxjWFZwY21Wa0lIUnZJSEJ5WlhCaGNtVXRjSFJ3WENKY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JtZFc1amRHbHZiaUJqYjNCNVJtOXNaR1Z5S0hOdmRYSmpaVG9nYzNSeWFXNW5MQ0IwWVhKblpYUTZJSE4wY21sdVp5a2dlMXh1SUNBZ0lDQWdMeThnVW1WdGIzWmxJR1Y0YVhOMGFXNW5JSFJoY21kbGRDQm1iMnhrWlhKY2JpQWdJQ0FnSUdsbUlDaG1jeTVsZUdsemRITlRlVzVqS0hSaGNtZGxkQ2twSUh0Y2JpQWdJQ0FnSUNBZ1puTXVjbTFUZVc1aktIUmhjbWRsZEN3Z2UxeHVJQ0FnSUNBZ0lDQWdJSEpsWTNWeWMybDJaVG9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdJQ0JtYjNKalpUb2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQzh2SUVWdWMzVnlaU0J3WVhKbGJuUWdaWGhwYzNSelhHNGdJQ0FnSUNCbWN5NXRhMlJwY2xONWJtTW9jR0YwYUM1a2FYSnVZVzFsS0hSaGNtZGxkQ2tzSUh0Y2JpQWdJQ0FnSUNBZ2NtVmpkWEp6YVhabE9pQjBjblZsTEZ4dUlDQWdJQ0FnZlNrN1hHNWNiaUFnSUNBZ0lDOHZJRU52Y0hrZ1ptOXNaR1Z5WEc0Z0lDQWdJQ0JtY3k1amNGTjVibU1vYzI5MWNtTmxMQ0IwWVhKblpYUXNJSHRjYmlBZ0lDQWdJQ0FnY21WamRYSnphWFpsT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0JtYjNKalpUb2dkSEoxWlN4Y2JpQWdJQ0FnSUgwcE8xeHVYRzRnSUNBZ0lDQmpiMjV6YjJ4bExteHZaeWhnUTI5d2FXVmtPaUFrZTNOdmRYSmpaWDBnWEc0Z0lDQWdJQ0F0UGlBa2UzUmhjbWRsZEgxZ0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J2Y21sbmFXNGdQU0J3WVhSb0xuSmxjMjlzZG1Vb2IzQjBhVzl1Y3k1dmNtbG5hVzVHYjJ4a1pYSXBPMXh1SUNBZ0lHTnZibk4wSUdSbGMzUWdQU0J3WVhSb0xuSmxjMjlzZG1Vb2IzQjBhVzl1Y3k1a1pYTjBSbTlzWkdWeUtUdGNibHh1SUNBZ0lHVjRaV05UZVc1aktHQmpaQ0JtYjNJdFptRmljbWxqSUNZbUlHNXdiU0J5ZFc0Z1luVnBiR1JnTENCN1hHNGdJQ0FnSUNCamQyUTZJRzl5YVdkcGJpeGNiaUFnSUNBZ0lITjBaR2x2T2lCY0ltbHVhR1Z5YVhSY0lpeGNiaUFnSUNCOUtUdGNiaUFnSUNCbGVHVmpVM2x1WXloZ1kyUWdabTl5TFdaaFluSnBZeUFtSmlCdWNHMGdjblZ1SUdKMWFXeGtPbU52Ym5SeVlXTjBPbk5vWVhKbFpHQXNJSHRjYmlBZ0lDQWdJR04zWkRvZ2IzSnBaMmx1TEZ4dUlDQWdJQ0FnYzNSa2FXODZJRndpYVc1b1pYSnBkRndpTEZ4dUlDQWdJSDBwTzF4dVhHNGdJQ0FnWTI5dWMzUWdjMjkxY21ObFRHbGlJRDBnY0dGMGFDNXFiMmx1S0c5eWFXZHBiaXdnWENKbWIzSXRabUZpY21salhDSXNJRndpYkdsaVhDSXBPMXh1SUNBZ0lHTnZibk4wSUhSaGNtZGxkRXhwWWlBOUlIQmhkR2d1YW05cGJpaGtaWE4wTENCY0ltbHVabkpoWENJc0lGd2labTl5TFdaaFluSnBZMXdpTENCY0lteHBZbHdpS1R0Y2JseHVJQ0FnSUdOdmNIbEdiMnhrWlhJb2MyOTFjbU5sVEdsaUxDQjBZWEpuWlhSTWFXSXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2MyOTFjbU5sUjJ4dlltRnNJRDBnY0dGMGFDNXFiMmx1S0Z4dUlDQWdJQ0FnYjNKcFoybHVMRnh1SUNBZ0lDQWdYQ0ptYjNJdFptRmljbWxqWENJc1hHNGdJQ0FnSUNCY0ltUnZZMnRsY2x3aUxGeHVJQ0FnSUNBZ1hDSnBibVp5WVhOMGNuVmpkSFZ5WlZ3aUxGeHVJQ0FnSUNBZ1hDSmphR0ZwYm1OdlpHVmNJaXhjYmlBZ0lDQWdJRndpUjJ4dlltRnNYQ0pjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2RHRnlaMlYwUTI5dWRISmhZM1J6SUQwZ2NHRjBhQzVxYjJsdUtHUmxjM1FzSUZ3aWRHOXZiR3RwZEZ3aUxDQmNJbU52Ym5SeVlXTjBjMXdpS1R0Y2JseHVJQ0FnSUdaekxtMXJaR2x5VTNsdVl5aDBZWEpuWlhSRGIyNTBjbUZqZEhNc0lIdGNiaUFnSUNBZ0lISmxZM1Z5YzJsMlpUb2dkSEoxWlN4Y2JpQWdJQ0I5S1R0Y2JseHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ2FYUmxiU0J2WmlCbWN5NXlaV0ZrWkdseVUzbHVZeWh6YjNWeVkyVkhiRzlpWVd3cEtTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCemIzVnlZMlZKZEdWdElEMGdjR0YwYUM1cWIybHVLSE52ZFhKalpVZHNiMkpoYkN3Z2FYUmxiU2s3WEc0Z0lDQWdJQ0JqYjI1emRDQjBZWEpuWlhSSmRHVnRJRDBnY0dGMGFDNXFiMmx1S0hSaGNtZGxkRU52Ym5SeVlXTjBjeXdnYVhSbGJTazdYRzVjYmlBZ0lDQWdJQzh2SUZKbGJXOTJaU0JsZUdsemRHbHVaeUIwWVhKblpYUWdhWFJsYlNCcFppQnVaV1ZrWldSY2JpQWdJQ0FnSUdsbUlDaG1jeTVsZUdsemRITlRlVzVqS0hSaGNtZGxkRWwwWlcwcEtTQjdYRzRnSUNBZ0lDQWdJR1p6TG5KdFUzbHVZeWgwWVhKblpYUkpkR1Z0TENCN1hHNGdJQ0FnSUNBZ0lDQWdjbVZqZFhKemFYWmxPaUIwY25WbExGeHVJQ0FnSUNBZ0lDQWdJR1p2Y21ObE9pQjBjblZsTEZ4dUlDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdabk11WTNCVGVXNWpLSE52ZFhKalpVbDBaVzBzSUhSaGNtZGxkRWwwWlcwc0lIdGNiaUFnSUNBZ0lDQWdjbVZqZFhKemFYWmxPaUIwY25WbExGeHVJQ0FnSUNBZ0lDQm1iM0pqWlRvZ2RISjFaU3hjYmlBZ0lDQWdJSDBwTzF4dVhHNGdJQ0FnSUNCamIyNXpiMnhsTG14dlp5aGdRMjl3YVdWa09pQWtlM052ZFhKalpVbDBaVzE5SUZ4dUlDQWdJQ0FnTFQ0Z0pIdDBZWEpuWlhSSmRHVnRmV0FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR1Y0WldOVGVXNWpLR0JqWkNCMGIyOXNhMmwwSUNZbUlHNXdiU0J5ZFc0Z1luVnBiR1JnTENCN0lHTjNaRG9nWkdWemRDd2djM1JrYVc4NklGd2lhVzVvWlhKcGRGd2lJSDBwTzF4dUlDQWdJR1Y0WldOVGVXNWpLR0JqWkNCMGIyOXNhMmwwSUNZbUlHNXdiU0J5ZFc0Z1pHOWphMlZ5T21KMWFXeGtMV052Ym5SeVlXTjBjMkFzSUh0Y2JpQWdJQ0FnSUdOM1pEb2daR1Z6ZEN4Y2JpQWdJQ0FnSUhOMFpHbHZPaUJjSW1sdWFHVnlhWFJjSWl4Y2JpQWdJQ0I5S1R0Y2JpQWdJQ0JsZUdWalUzbHVZeWhnWTJRZ2FXNW1jbUVnSmlZZ2JuQnRJSEoxYmlCaWRXbHNaR0FzSUhzZ1kzZGtPaUJrWlhOMExDQnpkR1JwYnpvZ1hDSnBibWhsY21sMFhDSWdmU2s3WEc0Z0lDQWdaWGhsWTFONWJtTW9ZR05rSUdsdVpuSmhJQ1ltSUc1d2JTQnlkVzRnWW5WcGJHUTZhbVZ6ZERwcGJXRm5aV0FzSUh0Y2JpQWdJQ0FnSUdOM1pEb2daR1Z6ZEN4Y2JpQWdJQ0FnSUhOMFpHbHZPaUJjSW1sdWFHVnlhWFJjSWl4Y2JpQWdJQ0I5S1R0Y2JpQWdmU2s3WEc1Y2JtTnZibk4wSUdaaFluSnBZME50WkNBOUlHNWxkeUJEYjIxdFlXNWtLQ2xjYmlBZ0xtNWhiV1VvWENKbWIzSXRabUZpY21salhDSXBYRzRnSUM1amIyMXRZVzVrS0Z3aVptRmljbWxqWENJcFhHNGdJQzVrWlhOamNtbHdkR2x2YmloY2JpQWdJQ0JjSW1WNGNHOXpaWE1nYzJWMlpYSmhiQ0JqYjIxdFlXNWtjeUIwYnlCb1pXeHdJRzFoYm1GblpTQjBhR1VnWm1GaWNtbGpJR2x1Wm5KaGMzUnlkV04wZFhKbFhDSmNiaUFnS1R0Y2JseHVabUZpY21salEyMWtMbUZrWkVOdmJXMWhibVFvWTI5dGNHbHNaVU52YlcxaGJtUXBPMXh1Wm1GaWNtbGpRMjFrTG1Ga1pFTnZiVzFoYm1Rb1pYaDBjbUZqZEVsdVpHVjRaWE1wTzF4dVptRmljbWxqUTIxa0xtRmtaRU52YlcxaGJtUW9aVzV6ZFhKbFNXNW1jbUVwTzF4dVptRmljbWxqUTIxa0xtRmtaRU52YlcxaGJtUW9aR1Z3Ykc5NVEyOXVkSEpoWTNRcE8xeHVabUZpY21salEyMWtMbUZrWkVOdmJXMWhibVFvWjJWMFEzSjVjSFJ2VFdGMFpYSnBZV3dwTzF4dVptRmljbWxqUTIxa0xtRmtaRU52YlcxaGJtUW9aWGgwY21GamRFTnZiR3hsWTNScGIyNXpLVHRjYm1aaFluSnBZME50WkM1aFpHUkRiMjF0WVc1a0tHZGxkRU52Y0hsVWIxQlVVQ2s3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUdaMWJtTjBhVzl1SUdaaFluSnBZeWdwSUh0Y2JpQWdjbVYwZFhKdUlHWmhZbkpwWTBOdFpEdGNibjFjYmlKZGZRPT0iXX0=
|
|
718
|
+
//# sourceMappingURL=cli-module.js.map
|
|
719
|
+
//# sourceMappingURL=cli-module.cjs.map
|