diff --git a/app/main.3bc8efccbfe0b27994c6.js.map b/app/main.3bc8efccbfe0b27994c6.js.map deleted file mode 100644 index 90830416..00000000 --- a/app/main.3bc8efccbfe0b27994c6.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./jslib/src/abstractions/i18n.service.ts","webpack:///./jslib/src/abstractions/api.service.ts","webpack:///./jslib/src/angular/pipes/i18n.pipe.ts","webpack:///./jslib/src/abstractions/platformUtils.service.ts","webpack:///./jslib/src/angular/services/validation.service.ts","webpack:///./jslib/src/angular/directives/api-action.directive.ts","webpack:///./jslib/src/abstractions/crypto.service.ts","webpack:///./jslib/src/abstractions/user.service.ts","webpack:///./jslib/src/abstractions/cipher.service.ts","webpack:///./jslib/src/abstractions/messaging.service.ts","webpack:///./jslib/src/models/domain/importResult.ts","webpack:///./jslib/src/importers/baseImporter.ts","webpack:///./jslib/src/abstractions/token.service.ts","webpack:///./src/app/components/callout.component.ts","webpack:///./src/app/components/callout.component.html","webpack:///./jslib/src/abstractions/collection.service.ts","webpack:///./jslib/src/angular/directives/input-verbatim.directive.ts","webpack:///./jslib/src/misc/utils.ts","webpack:///./jslib/src/abstractions/folder.service.ts","webpack:///./jslib/src/enums/cipherType.ts","webpack:///./jslib/src/angular/directives/stop-click.directive.ts","webpack:///./jslib/src/abstractions/state.service.ts","webpack:///./jslib/src/abstractions/sync.service.ts","webpack:///./jslib/src/models/request/passwordVerificationRequest.ts","webpack:///./jslib/src/enums/twoFactorProviderType.ts","webpack:///./jslib/src/angular/directives/autofocus.directive.ts","webpack:///./jslib/src/models/view/secureNoteView.ts","webpack:///./jslib/src/angular/directives/stop-prop.directive.ts","webpack:///./src/app/modal.component.ts","webpack:///./jslib/src/abstractions/passwordGeneration.service.ts","webpack:///./jslib/src/abstractions/auth.service.ts","webpack:///./jslib/src/models/domain/domain.ts","webpack:///./jslib/src/enums/secureNoteType.ts","webpack:///./jslib/src/services/constants.service.ts","webpack:///./jslib/src/models/data/cipherData.ts","webpack:///./jslib/src/models/view/cardView.ts","webpack:///./src/app/components/avatar.component.ts","webpack:///./jslib/src/abstractions/storage.service.ts","webpack:///./src/app/settings/two-factor-verify.component.ts","webpack:///./jslib/src/models/data/collectionData.ts","webpack:///./src/app/settings/payment.component.ts","webpack:///./jslib/src/models/view/folderView.ts","webpack:///./jslib/src/abstractions/audit.service.ts","webpack:///./src/app/components/avatar.component.ts.AvatarComponent.html","webpack:///./jslib/src/abstractions/environment.service.ts","webpack:///./src/app/settings/two-factor-verify.component.html","webpack:///./jslib/src/models/domain/cipher.ts","webpack:///./jslib/src/models/domain/collection.ts","webpack:///./jslib/src/models/view/loginView.ts","webpack:///./jslib/src/models/view/cipherView.ts","webpack:///./jslib/src/models/request/cipherRequest.ts","webpack:///./jslib/src/enums/deviceType.ts","webpack:///./jslib/src/angular/services/broadcaster.service.ts","webpack:///./jslib/src/enums/organizationUserType.ts","webpack:///./src/app/services/event.service.ts","webpack:///./jslib/src/abstractions/export.service.ts","webpack:///./jslib/src/models/view/collectionView.ts","webpack:///./src/app/settings/two-factor-base.component.ts","webpack:///./jslib/src/models/view/fieldView.ts","webpack:///./jslib/src/abstractions/totp.service.ts","webpack:///./src/app/settings/organizations.component.ts","webpack:///./src/app/services/router.service.ts","webpack:///./jslib/src/models/domain/cipherString.ts","webpack:///./src/app/tools/export.component.ts","webpack:///./src/app/tools/import.component.ts","webpack:///./src/app/settings/two-factor-setup.component.ts","webpack:///./jslib/src/models/view/loginUriView.ts","webpack:///./jslib/src/models/view/identityView.ts","webpack:///./src/app/vault/ciphers.component.ts","webpack:///./jslib/src/enums/fieldType.ts","webpack:///./jslib/src/enums/encryptionType.ts","webpack:///./src/app/vault/groupings.component.ts","webpack:///./jslib/src/services/auth.service.ts","webpack:///./jslib/src/models/response/selectionReadOnlyResponse.ts","webpack:///./src/app/organizations/settings/organization-billing.component.ts","webpack:///./src/app/organizations/settings/two-factor-setup.component.ts","webpack:///./src/app/organizations/settings/account.component.ts","webpack:///./src/app/organizations/settings/settings.component.ts","webpack:///./src/app/organizations/manage/people.component.ts","webpack:///./src/app/organizations/manage/groups.component.ts","webpack:///./src/app/organizations/manage/events.component.ts","webpack:///./jslib/src/enums/organizationUserStatusType.ts","webpack:///./src/app/organizations/manage/entity-users.component.ts","webpack:///./jslib/src/models/request/selectionReadOnlyRequest.ts","webpack:///./src/app/organizations/manage/collections.component.ts","webpack:///./jslib/src/angular/pipes/search.pipe.ts","webpack:///./src/app/organizations/manage/manage.component.ts","webpack:///./src/app/organizations/tools/export.component.ts","webpack:///./src/app/organizations/tools/import.component.ts","webpack:///./src/app/organizations/tools/tools.component.ts","webpack:///./src/app/organizations/manage/entity-events.component.ts","webpack:///./src/app/organizations/vault/vault.component.ts","webpack:///./src/app/organizations/vault/ciphers.component.ts","webpack:///./src/app/organizations/vault/groupings.component.ts","webpack:///./src/app/layouts/organization-layout.component.ts","webpack:///./src/app/tools/breach-report.component.ts","webpack:///./src/app/tools/password-generator.component.ts","webpack:///./src/app/tools/tools.component.ts","webpack:///./src/app/settings/create-organization.component.ts","webpack:///./src/app/settings/user-billing.component.ts","webpack:///./jslib/src/enums/paymentMethodType.ts","webpack:///./src/app/settings/adjust-payment.component.ts","webpack:///./src/app/settings/adjust-storage.component.ts","webpack:///./src/app/settings/update-license.component.ts","webpack:///./src/app/settings/premium.component.ts","webpack:///./src/app/settings/payment.component.html","webpack:///./src/app/settings/two-factor-duo.component.ts","webpack:///./src/app/settings/domain-rules.component.ts","webpack:///./src/app/settings/options.component.ts","webpack:///./src/app/settings/account.component.ts","webpack:///./src/app/settings/settings.component.ts","webpack:///./src/app/vault/collections.component.ts","webpack:///./src/app/vault/attachments.component.ts","webpack:///./src/app/vault/add-edit.component.ts","webpack:///./jslib/src/models/request/folderRequest.ts","webpack:///./src/app/vault/vault.component.ts","webpack:///./jslib/src/enums/uriMatchType.ts","webpack:///./jslib/src/angular/components/icon.component.ts","webpack:///./src/app/layouts/user-layout.component.ts","webpack:///./src/app/layouts/footer.component.ts","webpack:///./src/app/layouts/navbar.component.ts","webpack:///./src/app/accounts/verify-recover-delete.component.ts","webpack:///./src/app/accounts/recover-delete.component.ts","webpack:///./src/app/accounts/recover-two-factor.component.ts","webpack:///./src/app/accounts/accept-organization.component.ts","webpack:///./src/app/accounts/verify-email-token.component.ts","webpack:///./src/app/accounts/lock.component.ts","webpack:///./src/app/accounts/hint.component.ts","webpack:///./src/app/accounts/register.component.ts","webpack:///./jslib/src/misc/duo.js","webpack:///./src/app/accounts/two-factor.component.ts","webpack:///./src/app/accounts/login.component.ts","webpack:///./src/app/layouts/frontend-layout.component.ts","webpack:///./jslib/src/abstractions/settings.service.ts","webpack:///./jslib/src/abstractions/lock.service.ts","webpack:///./src/app/services/unauth-guard.service.ts","webpack:///./src/app/services/organization-type-guard.service.ts","webpack:///./src/app/services/organization-guard.service.ts","webpack:///./jslib/src/angular/services/auth-guard.service.ts","webpack:///./jslib/src/services/user.service.ts","webpack:///./jslib/src/services/totp.service.ts","webpack:///./jslib/src/services/token.service.ts","webpack:///./jslib/src/services/sync.service.ts","webpack:///./jslib/src/services/state.service.ts","webpack:///./jslib/src/services/settings.service.ts","webpack:///./jslib/src/services/passwordGeneration.service.ts","webpack:///./jslib/src/services/lock.service.ts","webpack:///./jslib/src/services/i18n.service.ts","webpack:///./jslib/src/models/data/folderData.ts","webpack:///./jslib/src/services/folder.service.ts","webpack:///./jslib/src/services/environment.service.ts","webpack:///./jslib/src/services/crypto.service.ts","webpack:///./jslib/src/services/container.service.ts","webpack:///./jslib/src/services/collection.service.ts","webpack:///./jslib/src/services/cipher.service.ts","webpack:///./jslib/src/services/audit.service.ts","webpack:///./jslib/src/services/appId.service.ts","webpack:///./jslib/src/models/response/profileResponse.ts","webpack:///./jslib/src/models/response/organizationResponse.ts","webpack:///./jslib/src/models/response/folderResponse.ts","webpack:///./jslib/src/models/response/domainsResponse.ts","webpack:///./jslib/src/models/response/collectionResponse.ts","webpack:///./jslib/src/models/response/cipherResponse.ts","webpack:///./jslib/src/models/response/billingResponse.ts","webpack:///./jslib/src/services/api.service.ts","webpack:///./jslib/src/angular/directives/true-false-value.directive.ts","webpack:///./jslib/src/angular/directives/box-row.directive.ts","webpack:///./src/app/organizations/settings/adjust-seats.component.ts","webpack:///./src/app/organizations/settings/delete-organization.component.ts","webpack:///./src/app/organizations/manage/user-groups.component.ts","webpack:///./src/app/organizations/manage/user-add-edit.component.ts","webpack:///./src/app/organizations/manage/group-add-edit.component.ts","webpack:///./src/app/organizations/manage/collection-add-edit.component.ts","webpack:///./jslib/src/models/request/collectionRequest.ts","webpack:///./jslib/src/models/request/cipherCollectionsRequest.ts","webpack:///./src/app/organizations/vault/collections.component.ts","webpack:///./src/app/organizations/vault/attachments.component.ts","webpack:///./src/app/organizations/vault/add-edit.component.ts","webpack:///./jslib/src/models/domain/secureNote.ts","webpack:///./jslib/src/models/domain/loginUri.ts","webpack:///./jslib/src/models/domain/login.ts","webpack:///./jslib/src/models/domain/identity.ts","webpack:///./jslib/src/models/domain/field.ts","webpack:///./jslib/src/models/domain/card.ts","webpack:///./jslib/src/models/domain/attachment.ts","webpack:///./jslib/src/models/data/secureNoteData.ts","webpack:///./jslib/src/models/data/loginUriData.ts","webpack:///./jslib/src/models/data/loginData.ts","webpack:///./jslib/src/models/data/identityData.ts","webpack:///./jslib/src/models/data/fieldData.ts","webpack:///./jslib/src/models/data/cardData.ts","webpack:///./jslib/src/models/data/attachmentData.ts","webpack:///./src/app/tools/password-generator-history.component.ts","webpack:///./jslib/src/models/view/attachmentView.ts","webpack:///./jslib/src/models/request/kvpRequest.ts","webpack:///./jslib/src/enums/planType.ts","webpack:///./src/app/settings/adjust-payment.component.html","webpack:///./src/app/settings/adjust-storage.component.html","webpack:///./src/app/settings/update-license.component.html","webpack:///./src/app/settings/two-factor-yubikey.component.ts","webpack:///./src/app/settings/two-factor-u2f.component.ts","webpack:///./src/app/settings/two-factor-recovery.component.ts","webpack:///./src/app/settings/two-factor-email.component.ts","webpack:///./src/app/settings/two-factor-authenticator.component.ts","webpack:///./src/app/settings/purge-vault.component.ts","webpack:///./src/app/settings/delete-account.component.ts","webpack:///./src/app/settings/deauthorize-sessions.component.ts","webpack:///./src/app/settings/change-password.component.ts","webpack:///./jslib/src/models/request/emailTokenRequest.ts","webpack:///./src/app/settings/change-email.component.ts","webpack:///./src/app/settings/profile.component.ts","webpack:///./src/app/vault/share.component.ts","webpack:///./src/app/vault/folder-add-edit.component.ts","webpack:///./src/app/vault/bulk-share.component.ts","webpack:///./src/app/vault/bulk-move.component.ts","webpack:///./src/app/vault/bulk-delete.component.ts","webpack:///./jslib/src/models/request/cipherWithIdRequest.ts","webpack:///./src/app/settings/update-key.component.ts","webpack:///./src/app/settings/organizations.component.html","webpack:///./jslib/src/angular/pipes/search-ciphers.pipe.ts","webpack:///./jslib/src/angular/components/icon.component.html","webpack:///./src/app/settings/verify-email.component.ts","webpack:///./src/app/layouts/footer.component.html","webpack:///./src/app/layouts/navbar.component.html","webpack:///./jslib/src/models/request/keysRequest.ts","webpack:///./jslib/src/models/request/twoFactorEmailRequest.ts","webpack:///./src/app/accounts/two-factor-options.component.ts","webpack:///./src/app/app.component.ts","webpack:///./src lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./jslib/src/models/domain/decryptParameters.ts","webpack:///./jslib/src/services/webCryptoFunction.service.ts","webpack:///./jslib/src/services/export.service.ts","webpack:///./jslib/src/misc/analytics.ts","webpack:///./src/services/webPlatformUtils.service.ts","webpack:///./src/services/memoryStorage.service.ts","webpack:///./src/services/i18n.service.ts","webpack:///./jslib/src/models/domain/organization.ts","webpack:///./jslib/src/models/data/organizationData.ts","webpack:///./jslib/src/models/domain/passwordHistory.ts","webpack:///./jslib/src/models/domain/folder.ts","webpack:///./jslib/src/models/domain/environmentUrls.ts","webpack:///./jslib/src/misc/sequentialize.ts","webpack:///./jslib/src/models/domain/symmetricCryptoKey.ts","webpack:///./jslib/src/models/domain/encryptedObject.ts","webpack:///./jslib/src/models/request/cipherShareRequest.ts","webpack:///./jslib/src/models/request/cipherBulkShareRequest.ts","webpack:///./jslib/src/models/request/cipherBulkMoveRequest.ts","webpack:///./jslib/src/models/request/cipherBulkDeleteRequest.ts","webpack:///./jslib/src/models/response/breachAccountResponse.ts","webpack:///./jslib/src/models/response/userKeyResponse.ts","webpack:///./jslib/src/models/response/twoFactorYubiKeyResponse.ts","webpack:///./jslib/src/models/response/twoFactorU2fResponse.ts","webpack:///./jslib/src/models/response/twoFactorRescoverResponse.ts","webpack:///./jslib/src/models/response/twoFactorProviderResponse.ts","webpack:///./jslib/src/models/response/twoFactorEmailResponse.ts","webpack:///./jslib/src/models/response/twoFactorDuoResponse.ts","webpack:///./jslib/src/models/response/twoFactorAuthenticatorResponse.ts","webpack:///./jslib/src/models/response/syncResponse.ts","webpack:///./jslib/src/models/response/profileOrganizationResponse.ts","webpack:///./jslib/src/models/response/organizationUserResponse.ts","webpack:///./jslib/src/models/response/organizationBillingResponse.ts","webpack:///./jslib/src/models/response/listResponse.ts","webpack:///./jslib/src/models/response/identityTwoFactorResponse.ts","webpack:///./jslib/src/models/response/identityTokenResponse.ts","webpack:///./jslib/src/models/response/groupUserResponse.ts","webpack:///./jslib/src/models/response/groupResponse.ts","webpack:///./jslib/src/models/response/eventResponse.ts","webpack:///./jslib/src/models/response/errorResponse.ts","webpack:///./jslib/src/models/response/globalDomainResponse.ts","webpack:///./jslib/src/models/response/collectionUserResponse.ts","webpack:///./jslib/src/models/api/secureNoteApi.ts","webpack:///./jslib/src/models/api/loginUriApi.ts","webpack:///./jslib/src/models/api/loginApi.ts","webpack:///./jslib/src/models/api/identityApi.ts","webpack:///./jslib/src/models/api/fieldApi.ts","webpack:///./jslib/src/models/api/cardApi.ts","webpack:///./jslib/src/models/response/attachmentResponse.ts","webpack:///./jslib/src/services/index.ts","webpack:///./src/services/htmlStorage.service.ts","webpack:///./src/services/broadcasterMessaging.service.ts","webpack:///./src/app/services/services.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/settings/update-key.component.html","webpack:///./src/app/settings/two-factor-yubikey.component.html","webpack:///./src/app/settings/two-factor-u2f.component.html","webpack:///./src/app/settings/two-factor-recovery.component.html","webpack:///./src/app/accounts/two-factor-options.component.html","webpack:///./src/app/settings/two-factor-email.component.html","webpack:///./src/app/settings/two-factor-duo.component.html","webpack:///./src/app/settings/two-factor-authenticator.component.html","webpack:///./src/app/vault/share.component.html","webpack:///./src/app/settings/purge-vault.component.html","webpack:///./src/app/tools/password-generator-history.component.html","webpack:///./src/app/organizations/manage/user-groups.component.html","webpack:///./src/app/organizations/manage/user-add-edit.component.html","webpack:///./src/app/organizations/manage/group-add-edit.component.html","webpack:///./src/app/organizations/manage/entity-users.component.html","webpack:///./src/app/organizations/manage/entity-events.component.html","webpack:///./src/app/vault/collections.component.html","webpack:///./src/app/organizations/manage/collection-add-edit.component.html","webpack:///./src/app/vault/attachments.component.html","webpack:///./src/app/vault/add-edit.component.html","webpack:///./src/app/modal.component.ts.ModalComponent.html","webpack:///./src/app/vault/folder-add-edit.component.html","webpack:///./src/app/organizations/settings/delete-organization.component.html","webpack:///./src/app/settings/delete-account.component.html","webpack:///./src/app/settings/deauthorize-sessions.component.html","webpack:///./src/app/vault/bulk-share.component.html","webpack:///./src/app/vault/bulk-move.component.html","webpack:///./src/app/vault/bulk-delete.component.html","webpack:///./jslib/src/models/request/verifyBankRequest.ts","webpack:///./jslib/src/models/request/seatRequest.ts","webpack:///./src/app/organizations/settings/adjust-seats.component.html","webpack:///./src/app/organizations/settings/organization-billing.component.html","webpack:///./src/app/settings/two-factor-setup.component.html","webpack:///./jslib/src/models/request/organizationUpdateRequest.ts","webpack:///./src/app/organizations/settings/account.component.html","webpack:///./src/app/organizations/settings/settings.component.html","webpack:///./jslib/src/models/request/organizationUserUpdateGroupsRequest.ts","webpack:///./jslib/src/models/request/organizationUserUpdateRequest.ts","webpack:///./jslib/src/models/request/organizationUserInviteRequest.ts","webpack:///./jslib/src/models/request/organizationUserConfirmRequest.ts","webpack:///./src/app/organizations/manage/people.component.html","webpack:///./jslib/src/models/request/groupRequest.ts","webpack:///./src/app/organizations/manage/groups.component.html","webpack:///./src/app/organizations/manage/events.component.html","webpack:///./src/app/organizations/manage/collections.component.html","webpack:///./src/app/organizations/manage/manage.component.html","webpack:///./src/app/tools/export.component.html","webpack:///./jslib/src/models/request/importOrganizationCiphersRequest.ts","webpack:///./src/app/tools/import.component.html","webpack:///./src/app/organizations/tools/tools.component.html","webpack:///./jslib/src/enums/eventType.ts","webpack:///./src/app/vault/ciphers.component.html","webpack:///./src/app/vault/groupings.component.html","webpack:///./src/app/organizations/vault/vault.component.html","webpack:///./src/app/layouts/organization-layout.component.html","webpack:///./src/app/tools/breach-report.component.html","webpack:///./jslib/src/angular/components/password-generator-history.component.ts","webpack:///./jslib/src/angular/components/password-generator.component.ts","webpack:///./src/app/tools/password-generator.component.html","webpack:///./jslib/src/angular/components/export.component.ts","webpack:///./jslib/src/importers/zohoVaultCsvImporter.ts","webpack:///./jslib/src/importers/upmCsvImporter.ts","webpack:///./jslib/src/importers/truekeyCsvImporter.ts","webpack:///./jslib/src/importers/stickyPasswordXmlImporter.ts","webpack:///./jslib/src/importers/splashIdCsvImporter.ts","webpack:///./jslib/src/importers/saferpassCsvImport.ts","webpack:///./jslib/src/importers/safeInCloudXmlImporter.ts","webpack:///./jslib/src/importers/roboformCsvImporter.ts","webpack:///./jslib/src/importers/passwordSafeXmlImporter.ts","webpack:///./jslib/src/importers/passwordDragonXmlImporter.ts","webpack:///./jslib/src/importers/passwordBossJsonImporter.ts","webpack:///./jslib/src/importers/passwordAgentCsvImporter.ts","webpack:///./jslib/src/importers/passkeepCsvImporter.ts","webpack:///./jslib/src/importers/padlockCsvImporter.ts","webpack:///./jslib/src/models/view/view.ts","webpack:///./jslib/src/models/view/index.ts","webpack:///./jslib/src/importers/onepasswordWinCsvImporter.ts","webpack:///./jslib/src/importers/onepassword1PifImporter.ts","webpack:///./jslib/src/importers/msecureCsvImporter.ts","webpack:///./jslib/src/importers/meldiumCsvImporter.ts","webpack:///./jslib/src/importers/lastpassCsvImporter.ts","webpack:///./jslib/src/importers/keeperCsvImporter.ts","webpack:///./jslib/src/importers/keepassxCsvImporter.ts","webpack:///./jslib/src/importers/keepass2XmlImporter.ts","webpack:///./jslib/src/importers/gnomeJsonImporter.ts","webpack:///./jslib/src/importers/firefoxCsvImporter.ts","webpack:///./jslib/src/importers/enpassCsvImporter.ts","webpack:///./jslib/src/importers/dashlaneCsvImporter.ts","webpack:///./jslib/src/importers/clipperzHtmlImporter.ts","webpack:///./jslib/src/importers/chromeCsvImporter.ts","webpack:///./jslib/src/importers/blurCsvImporter.ts","webpack:///./jslib/src/importers/bitwardenCsvImporter.ts","webpack:///./jslib/src/importers/aviraCsvImporter.ts","webpack:///./jslib/src/importers/ascendoCsvImporter.ts","webpack:///./jslib/src/models/request/importCiphersRequest.ts","webpack:///./src/app/tools/tools.component.html","webpack:///./jslib/src/models/request/organizationCreateRequest.ts","webpack:///./src/app/settings/create-organization.component.html","webpack:///./jslib/src/models/request/paymentRequest.ts","webpack:///./jslib/src/models/request/storageRequest.ts","webpack:///./src/app/settings/user-billing.component.html","webpack:///./src/app/settings/premium.component.html","webpack:///./jslib/src/models/request/updateTwoFactorYubioOtpRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorU2fRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorEmailRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorDuoRequest.ts","webpack:///./jslib/src/models/request/twoFactorProviderRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorAuthenticatorRequest.ts","webpack:///./jslib/src/models/request/updateDomainsRequest.ts","webpack:///./src/app/settings/domain-rules.component.html","webpack:///./src/app/settings/options.component.html","webpack:///./jslib/src/models/request/passwordRequest.ts","webpack:///./src/app/settings/change-password.component.html","webpack:///./jslib/src/models/request/emailRequest.ts","webpack:///./src/app/settings/change-email.component.html","webpack:///./jslib/src/models/request/updateProfileRequest.ts","webpack:///./src/app/settings/profile.component.html","webpack:///./src/app/settings/account.component.html","webpack:///./src/app/settings/settings.component.html","webpack:///./jslib/src/angular/components/folder-add-edit.component.ts","webpack:///./jslib/src/angular/components/attachments.component.ts","webpack:///./jslib/src/angular/components/add-edit.component.ts","webpack:///./jslib/src/models/request/updateKeyRequest.ts","webpack:///./jslib/src/models/request/folderWithIdRequest.ts","webpack:///./jslib/src/angular/components/ciphers.component.ts","webpack:///./jslib/src/enums/logLevelType.ts","webpack:///./jslib/src/enums/index.ts","webpack:///./jslib/src/angular/directives/fallback-src.directive.ts","webpack:///./jslib/src/angular/components/groupings.component.ts","webpack:///./src/app/settings/verify-email.component.html","webpack:///./src/app/vault/vault.component.html","webpack:///./src/app/layouts/user-layout.component.html","webpack:///./jslib/src/models/request/verifyDeleteRecoverRequest.ts","webpack:///./src/app/accounts/verify-recover-delete.component.html","webpack:///./jslib/src/models/request/deleteRecoverRequest.ts","webpack:///./src/app/accounts/recover-delete.component.html","webpack:///./jslib/src/models/request/twoFactorRecoveryRequest.ts","webpack:///./src/app/accounts/recover-two-factor.component.html","webpack:///./jslib/src/models/request/organizationUserAcceptRequest.ts","webpack:///./src/app/accounts/accept-organization.component.html","webpack:///./jslib/src/models/request/verifyEmailRequest.ts","webpack:///./src/app/accounts/verify-email-token.component.html","webpack:///./jslib/src/angular/components/lock.component.ts","webpack:///./src/app/accounts/lock.component.html","webpack:///./jslib/src/models/request/passwordHintRequest.ts","webpack:///./jslib/src/angular/components/hint.component.ts","webpack:///./src/app/accounts/hint.component.html","webpack:///./jslib/src/models/request/registerRequest.ts","webpack:///./jslib/src/angular/components/register.component.ts","webpack:///./src/app/accounts/register.component.html","webpack:///./jslib/src/misc/u2f.ts","webpack:///./jslib/src/models/request/tokenRequest.ts","webpack:///./jslib/src/models/request/deviceRequest.ts","webpack:///./jslib/src/models/domain/authResult.ts","webpack:///./jslib/src/angular/components/two-factor.component.ts","webpack:///./jslib/src/angular/components/modal.component.ts","webpack:///./jslib/src/angular/components/two-factor-options.component.ts","webpack:///./src/app/accounts/two-factor.component.html","webpack:///./jslib/src/angular/components/login.component.ts","webpack:///./src/app/accounts/login.component.html","webpack:///./src/app/layouts/frontend-layout.component.html","webpack:///./src/app/app.module.ts","webpack:///./src/app/main.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","3","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","I18nService","ApiService","I18nPipe","i18nService","this","transform","id","p1","p2","p3","PlatformUtilsService","ValidationService","toasterService","showError","defaultErrorMessage","errors","validationErrors","message","forEach","item","popAsync","ApiActionDirective","el","validationService","ngOnChanges","changes","_this","appApiAction","then","nativeElement","loading","response","e","CryptoService","UserService","CipherService","MessagingService","ImportResult","success","ciphers","folders","folderRelationships","collections","collectionRelationships","papa","cipherView_1","collectionView_1","loginUriView_1","utils_1","fieldView_1","folderView_1","loginView_1","secureNoteView_1","cipherType_1","fieldType_1","secureNoteType_1","BaseImporter","organization","newLineRegex","passwordFieldNames","usernameFieldNames","notesFieldNames","uriFieldNames","parseXml","doc","DOMParser","parseFromString","querySelector","parseCsv","header","splitNewLine","join","trim","parse","encoding","skipEmptyLines","console","warn","row","parseSingleRowCsv","rowData","isNullOrWhitespace","parsedRow","makeUriArray","uri","loginUri","LoginUriView","fixUri","match","returnArr_1","u","toLowerCase","indexOf","substring","nameFromUrl","url","hostname","Utils","getHostname","startsWith","replace","str","getValueOrDefault","defaultValue","split","getCardBrand","cardNum","re","RegExp","test","moveFoldersToCollections","map","f","collection","CollectionView","querySelectorDirectChild","parentEl","query","els","querySelectorAllDirectChild","Array","from","querySelectorAll","filter","parentNode","initLoginCipher","cipher","CipherView","favorite","notes","fields","login","LoginView","type","CipherType","Login","cleanupCipher","processKvp","search","field","FieldView","FieldType","Text","processFolder","folderName","folderIndex","hasFolder","addFolder","FolderView","convertToNoteIfNeeded","username","password","uris","SecureNote","secureNote","SecureNoteView","SecureNoteType","Generic","TokenService","CalloutComponent","ngOnInit","calloutStyle","undefined","title","icon","_l","i0","ɵeld","_ck","_v","_co","component","ɵinlineInterpolate","ɵted","ɵand","View_CalloutComponent_2","ɵdid","i1","NgIf","ViewContainerRef","TemplateRef","ngIf","View_CalloutComponent_1","ɵncd","CollectionService","InputVerbatimDirective","renderer","condition","disableComplete","hasAttribute","setAttribute","nodeURL","URL","init","inited","isNode","process","release","isBrowser","global","fromB64ToArray","Uint8Array","Buffer","binaryString","atob","bytes","charCodeAt","fromHexToArray","parseInt","substr","fromUtf8ToArray","strUtf8","unescape","encodeURIComponent","arr","fromByteStringToArray","fromBufferToB64","buffer","toString","binary","byteLength","String","fromCharCode","btoa","fromBufferToUtf8","encodedString","decodeURIComponent","escape","fromBufferToByteString","fromBufferToHex","x","fromUrlB64ToUtf8","b64Str","output","Error","fromB64ToUtf8","newGuid","Math","random","uriString","getUrl","getHost","host","getSortFunction","prop","a","b","collator","compare","localeCompare","anchor","document","createElement","href","FolderService","StopClickDirective","onClick","$event","preventDefault","StateService","SyncService","PasswordVerificationRequest","TwoFactorProviderType","AutofocusDirective","autofocus","focus","StopPropDirective","stopPropagation","jq","ModalComponent","_super","componentFactoryResolver","__extends","ngOnDestroy","show","parentContainer","fade","factory","resolveComponentFactory","componentRef","container","createComponent","modals","modal","on","onShow","emit","onShown","find","onClose","onClosed","clear","instance","close","PasswordGenerationService","AuthService","cipherString_1","Domain","buildDomainModel","domain","dataObj","alreadyEncrypted","notEncList","objProp","CipherString","buildDataModel","notCipherStringList","encryptedString","decryptObj","viewModel","orgId","promises","self","theProp","Promise","resolve","mapProp","decrypt","val","all","_a","sent","ConstantsService","environmentUrlsKey","disableGaKey","disableAddLoginNotificationKey","disableContextMenuItemKey","disableFaviconKey","disableAutoTotpCopyKey","enableAutoFillOnPageLoadKey","lockOptionKey","lastActiveKey","neverDomainsKey","installedVersionKey","localeKey","themeKey","attachmentData_1","cardData_1","fieldData_1","identityData_1","loginData_1","secureNoteData_1","CipherData","userId","collectionIds","organizationId","folderId","edit","organizationUseTotp","revisionDate","LoginData","SecureNoteData","Card","card","CardData","Identity","identity","IdentityData","FieldData","attachments","attachment","AttachmentData","CardView","expMonth","_brand","code","repeat","_subTitle","_number","brand","number","expYear","exp","formatYear","year","AvatarComponent","sanitizer","width","height","charCount","textColor","fontSize","fontWeight","dynamic","circle","generate","chars","upperData","toUpperCase","getFirstLetters","charObj","getCharText","color","stringToColor","svg","getSvg","appendChild","html","outerHTML","svgHtml","src","hash","count","parts","text","svgTag","style","backgroundColor","character","textTag","textContent","StorageService","core_1","twoFactorProviderType_1","passwordVerificationRequest_1","TwoFactorVerifyComponent","apiService","cryptoService","onAuthed","EventEmitter","submit","masterPassword","request","_b","hashPassword","masterPasswordHash","_d","formPromise","getTwoFactorRecover","Duo","OrganizationDuo","getTwoFactorOrganizationDuo","getTwoFactorDuo","Email","getTwoFactorEmail","U2f","getTwoFactorU2f","Authenticator","getTwoFactorAuthenticator","Yubikey","getTwoFactorYubiKey","CollectionData","readOnly","Keys","stripeTest","stripeLive","btSandbox","btProduction","PaymentComponent","platformUtilsService","showOptions","method","hideBank","hidePaypal","exp_month","exp_year","address_country","address_zip","bank","routing_number","account_number","account_holder_name","account_holder_type","currency","country","btInstance","stripeScript","async","onload","Stripe","setPublishableKey","isDev","btScript","cardExpMonthOptions","cardExpYearOptions","Date","getFullYear","head","removeChild","body","btStylesheet","changeMethod","setTimeout","braintree","dropin","authorization","paymentOptionPriority","paypal","flow","buttonStyle","label","size","shape","createErr","error","createPaymentToken","reject","requestPaymentMethod","payload","nonce","catch","err","createObj","bankAccount","sourceObj","createToken","status","getCountry","AuditService","NgClass","IterableDiffers","KeyValueDiffers","ElementRef","Renderer2","ngClass","ɵpod","rounded-circle","bypassSecurityTrustResourceUrl","EnvironmentService","en","ad","i3","NgForm","ngSubmit","ɵprd","ControlContainer","NgControlStatusGroup","i4","i5","ɵppd","DefaultValueAccessor","COMPOSITION_BUFFER_MODE","RequiredValidator","required","NG_VALIDATORS","p0_0","NG_VALUE_ACCESSOR","NgModel","model","update","NgControl","NgControlStatus","i6","appInputVerbatim","ɵnov","ngClassUntouched","ngClassTouched","ngClassPristine","ngClassDirty","ngClassValid","ngClassInvalid","ngClassPending","ɵunv","cipherData_1","attachment_1","card_1","domain_1","field_1","identity_1","login_1","secureNote_1","Cipher","obj","localData","Attachment","Field","_f","_c","_e","attachments_1","reduce","promise","decAttachment","fields_1","decField","toCipherData","toLoginData","toSecureNoteData","toCardData","toIdentityData","toFieldData","toAttachmentData","default","Collection","hasUris","canLaunch","subTitle","CipherRequest","totp","cardholderName","firstName","middleName","lastName","address1","address2","address3","city","state","postalCode","company","email","phone","ssn","passportNumber","licenseNumber","fileName","DeviceType","BroadcasterService","subscribers","Map","send","has","subscribe","messageCallback","set","unsubscribe","delete","OrganizationUserType","deviceType_1","eventType_1","EventService","getDefaultDateFilters","end","getMonth","getDate","setDate","start","toDateTimeLocalString","formatDateFilters","filterStart","filterEnd","isNaN","getTime","toISOString","getEventInfo","ev","options","EventOptions","appInfo","getAppInfo","deviceType","getEventMessage","appIcon","appName","msg","EventType","User_LoggedIn","User_ChangedPassword","User_Enabled2fa","User_Disabled2fa","User_Recovered2fa","User_FailedLogIn","User_FailedLogIn2fa","Cipher_Created","formatCipherId","Cipher_Updated","Cipher_Deleted","Cipher_AttachmentCreated","Cipher_AttachmentDeleted","Cipher_Shared","Cipher_UpdatedCollections","Collection_Created","formatCollectionId","Collection_Updated","Collection_Deleted","Group_Created","formatGroupId","Group_Updated","Group_Deleted","OrganizationUser_Invited","formatOrgUserId","OrganizationUser_Confirmed","OrganizationUser_Updated","OrganizationUser_Removed","OrganizationUser_UpdatedGroups","Organization_Updated","Android","iOS","UWP","ChromeExtension","FirefoxExtension","OperaExtension","EdgeExtension","VivaldiExtension","SafariExtension","WindowsDesktop","MacOsDesktop","LinuxDesktop","ChromeBrowser","FirefoxBrowser","OperaBrowser","SafariBrowser","VivaldiBrowser","EdgeBrowser","IEBrowser","UnknownBrowser","shortId","getShortId","cipherId","cipherInfo","makeAnchor","groupId","collectionId","organizationUserId","innerHTML","date","pad","getHours","getMinutes","num","norm","floor","abs","EventInfo","ExportService","twoFactorProviderRequest_1","TwoFactorBaseComponent","analytics","onUpdated","twoFactorProviderType","enabled","authed","auth","authResponse","enable","enableFunction","eventTrack","next","action","disable","showDialog","TwoFactorProviderRequest","putTwoFactorOrganizationDisable","putTwoFactorDisable","TotpService","OrganizationsComponent","userService","syncService","vault","loaded","load","getAllOrganizations","orgs","sort","organizations","leave","org","actionPromise","postLeaveOrganization","fullSync","router_1","RouterService","router","activatedRoute","titleService","previousUrl","currentUrl","events","event","NavigationEnd","titleId","rawTitle","child","firstChild","snapshot","newTitle","setTitle","getPreviousUrl","encryptionType_1","encryptedStringOrType","iv","mac","encType","encryptionType","headerPieces","encPieces","EncryptionType","AesCbc128_HmacSha256_B64","AesCbc256_B64","AesCbc256_HmacSha256_B64","Rsa2048_OaepSha256_B64","Rsa2048_OaepSha1_B64","decryptedValue","containerService","bitwardenContainerService","getCryptoService","getOrgKey","orgKey","decryptToUtf8","ExportComponent","exportService","saved","cipherRequest_1","folderRequest_1","importCiphersRequest_1","kvpRequest_1","ascendoCsvImporter_1","aviraCsvImporter_1","bitwardenCsvImporter_1","blurCsvImporter_1","chromeCsvImporter_1","clipperzHtmlImporter_1","dashlaneCsvImporter_1","enpassCsvImporter_1","firefoxCsvImporter_1","gnomeJsonImporter_1","keepass2XmlImporter_1","keepassxCsvImporter_1","keeperCsvImporter_1","lastpassCsvImporter_1","meldiumCsvImporter_1","msecureCsvImporter_1","onepassword1PifImporter_1","onepasswordWinCsvImporter_1","padlockCsvImporter_1","passkeepCsvImporter_1","passwordAgentCsvImporter_1","passwordBossJsonImporter_1","passwordDragonXmlImporter_1","passwordSafeXmlImporter_1","roboformCsvImporter_1","safeInCloudXmlImporter_1","saferpassCsvImport_1","splashIdCsvImporter_1","stickyPasswordXmlImporter_1","truekeyCsvImporter_1","upmCsvImporter_1","zohoVaultCsvImporter_1","ImportComponent","cipherService","folderService","format","successNavigate","setImportOptions","importOptions","importer","getImporter","fileEl","getElementById","files","fileContents","getFileContents","content","importResult","halfway","last","badData","postImport","properties","navigate","getFormatInstructionTitle","results","featuredImportOptions","concat","ImportCiphersRequest","encrypt","FolderRequest","KvpRequest","postImportCiphers","BitwardenCsvImporter","LastPassCsvImporter","KeePassXCsvImporter","AviraCsvImporter","BlurCsvImporter","SafeInCloudXmlImporter","PadlockCsvImporter","KeePass2XmlImporter","ChromeCsvImporter","FirefoxCsvImporter","UpmCsvImporter","SaferPassCsvImporter","MeldiumCsvImporter","OnePassword1PifImporter","OnePasswordWinCsvImporter","KeeperCsvImporter","PasswordDragonXmlImporter","EnpassCsvImporter","PasswordSafeXmlImporter","DashlaneCsvImporter","MSecureCsvImporter","StickyPasswordXmlImporter","TrueKeyCsvImporter","ClipperzHtmlImporter","RoboFormCsvImporter","AscendoCsvImporter","PasswordBossJsonImporter","ZohoVaultCsvImporter","SplashIdCsvImporter","PassKeepCsvImporter","GnomeJsonImporter","PasswordAgentCsvImporter","errorMessage","file","reader","FileReader","readAsText","evt","pre","target","onerror","auth_service_1","modal_component_1","two_factor_authenticator_component_1","two_factor_duo_component_1","two_factor_email_component_1","two_factor_recovery_component_1","two_factor_u2f_component_1","two_factor_yubikey_component_1","TwoFactorSetupComponent","tokenService","messagingService","providers","premium","getPremium","TwoFactorProviders","filterProvider","description","getTwoFactorProviders","manage","openModal","authenticatorModalRef","TwoFactorAuthenticatorComponent","updateStatus","yubikeyModalRef","TwoFactorYubiKeyComponent","duoModalRef","TwoFactorDuoComponent","emailModalRef","TwoFactorEmailComponent","u2fModalRef","TwoFactorU2fComponent","recoveryCode","recoveryModalRef","TwoFactorRecoveryComponent","premiumRequired","ref","childComponent","_uri","_domain","getPlatformUtilsService","getDomain","_hostname","IdentityView","_firstName","_lastName","name_1","ciphers_component_1","CiphersComponent","showAddNew","onAttachmentsClicked","onShareClicked","onCollectionsClicked","cipherType","checkCipher","select","checked","selectAll","selectCount","getSelected","getSelectedIds","share","deleteWithServer","refresh","copy","typeI18nKey","aType","copyToClipboard","GroupingsComponent","collectionService","onSearchTextChanged","searchText","searchPlaceholder","searchTextChanged","authResult_1","deviceRequest_1","keysRequest_1","tokenRequest_1","priority","appIdService","setCryptoKeys","selectedTwoFactorProviderType","logIn","makeKey","hashedPassword","logInHelper","logInTwoFactor","twoFactorProvider","twoFactorToken","remember","logInComplete","logOut","callback","getSupportedTwoFactorProviders","win","twoFactorProviders","supportsDuo","supportsU2f","getDefaultTwoFactorProvider","u2fSupported","providerType","providerPriority","provider","getTwoFactorToken","storedTwoFactorToken","getAppId","appId","deviceRequest","DeviceRequest","TokenRequest","Remember","postIdentityToken","clearState","AuthResult","twoFactor","accessToken","twoFactorResponse","twoFactorProviders2","tokenResponse","setTwoFactorToken","setTokens","refreshToken","setUserIdAndEmail","getUserId","getEmail","setKey","setKeyHash","setEncKey","privateKey","makeKeyPair","keyPair","postAccountKeys","KeysRequest","e_1","setEncPrivateKey","SelectionReadOnlyResponse","Id","ReadOnly","verifyBankRequest_1","paymentMethodType_1","planType_1","OrganizationBillingComponent","route","firstLoaded","adjustSeatsAdd","showAdjustSeats","adjustStorageAdd","showAdjustStorage","showAdjustPayment","showUpdateLicense","paymentMethodType","PaymentMethodType","selfHosted","isSelfHost","parent","params","__awaiter","getOrganizationBilling","billing","reinstate","reinstatePromise","postOrganizationReinstate","cancel","cancelPromise","postOrganizationCancel","changePlan","launchUri","downloadLicense","installationId","prompt","licensePromise","getOrganizationLicense","license","licenseString","JSON","stringify","saveFile","updateLicense","verifyBank","VerifyBankRequest","amount1","verifyAmount1","amount2","verifyAmount2","verifyBankPromise","postOrganizationVerifyBank","closeUpdateLicense","adjustSeats","add","closeSeats","adjustStorage","closeStorage","changePayment","closePayment","viewInvoice","charge","getToken","token","apiBaseUrl","invoiceId","subscription","cancelled","cancelAtEndDate","upcomingInvoice","paymentSource","charges","maxStorageGb","storageGb","toFixed","storagePercentage","planType","PlanType","EnterpriseMonthly","TeamsMonthly","billingInterval","EnterpriseAnnually","TeamsAnnually","Free","duoComp","getTwoFactorOrganizationProviders","organizationUpdateRequest_1","delete_organization_component_1","AccountComponent","getOrganization","OrganizationUpdateRequest","businessName","billingEmail","putOrganization","deleteOrganization","deleteModalRef","DeleteOrganizationComponent","SettingsComponent","access2fa","use2fa","organizationUserConfirmRequest_1","organizationUserStatusType_1","organizationUserType_1","entity_events_component_1","user_add_edit_component_1","user_groups_component_1","PeopleComponent","statusMap","organizationUserType","organizationUserStatusType","OrganizationUserStatusType","accessEvents","accessGroups","useEvents","useGroups","queryParams","qParams","viewEvents","user","users","Confirmed","getOrganizationUsers","allUsers","Invited","Accepted","addEditModalRef","UserAddEditComponent","onSavedUser","onDeletedUser","removeUser","invite","groups","groupsModalRef","UserGroupsComponent","remove","deleteOrganizationUser","reinvite","postOrganizationUserReinvite","confirm","doConfirmation","eventsModalRef","EntityEventsComponent","entityId","showUser","entity","getUserPublicKey","publicKeyResponse","publicKey","rsaEncrypt","OrganizationUserConfirmRequest","postOrganizationUserConfirm","index","entity_users_component_1","group_add_edit_component_1","GroupsComponent","getGroups","group","GroupAddEditComponent","onSavedGroup","onDeletedGroup","removeGroup","deleteGroup","usersModalRef","EntityUsersComponent","entityName","EventsComponent","eventService","orgUsersUserIdMap","orgUsersIdMap","defaultDates","loadEvents","clearExisting","refreshPromise","morePromise","dates","getEventsOrganization","continuationToken","actingUserId","eventInfo","userName","userEmail","ip","ipAddress","onRemovedUser","loadUsers","getGroupUsers","getCollectionUsers","accessAll","deleteGroupUser","deleteCollectionUser","SelectionReadOnlyRequest","collectionData_1","collection_1","collection_add_edit_component_1","CollectionsComponent","getCollections","decryptMany","CollectionAddEditComponent","onSavedCollection","onDeletedCollection","removeCollection","deleteCollection","SearchPipe","items","prop1","prop2","prop3","ManageComponent","getExportData","getOrganizationExport","getFileName","collectionRequest_1","importOrganizationCiphersRequest_1","ImportOrganizationCiphersRequest","CollectionRequest","postImportOrganizationCiphers","ToolsComponent","getEventsOrganizationUser","getEventsCipher","add_edit_component_1","attachments_component_1","collections_component_1","VaultComponent","location","groupingsComponent","ciphersComponent","isAdmin","selectedAll","selectedType","filterCipherType","selectedCollectionId","filterCollection","clearGroupingFilters","applyFilter","clearFilters","go","filterSearchText","editCipherAttachments","attachmentsModalRef","AttachmentsComponent","madeAttachmentChanges","onUploadedAttachment","onDeletedAttachment","editCipherCollections","collectionsModalRef","onSavedCollections","addCipher","editCipher","cipherAddEditModalRef","AddEditComponent","onSavedCipher","onDeletedCipher","createUrlTree","cipher_1","onEventsClicked","getCiphersOrganization","decCiphers_1","promises_1","getLocaleSortingFunction","allCiphers","loadCollections","collectionDomains","unassignedCollection","OrganizationLayoutComponent","classList","BreachReportComponent","auditService","breachedAccounts","checkedUsername","password_generator_component_1","password_generator_history_component_1","PasswordGeneratorComponent","passwordGenerationService","history","historyModalRef","PasswordGeneratorHistoryComponent","organizationCreateRequest_1","CreateOrganizationComponent","ownedBusiness","storageGbPriceMonthly","additionalStorage","additionalSeats","plan","interval","price","monthlyPrice","yearlyPrice","plans","free","basePrice","noAdditionalSeats","noPayment","families","annualBasePrice","baseSeats","annualPlanType","FamiliesAnnually","teams","monthlyBasePrice","seatPrice","annualSeatPrice","monthlySeatPrice","monthPlanType","enterprise","collectionCt","makeShareKey","shareKey","paymentComponent","fd","FormData","append","postOrganizationLicense","OrganizationCreateRequest","collectionName","paymentToken","additionalStorageGb","postOrganization","finalize","refreshIdentityToken","changedPlan","changedOwnedBusiness","additionalStorageTotal","annual","seatTotal","baseTotal","UserBillingComponent","getUserBilling","postReinstatePremium","postCancelPremium","paymentRequest_1","AdjustPaymentComponent","onAdjusted","onCanceled","request_1","PaymentRequest","postAccountPayment","postOrganizationPayment","currentType","storageRequest_1","AdjustStorageComponent","storageGbPrice","storageAdjustment","StorageRequest","storageGbAdjustment","postAccountStorage","postOrganizationStorage","UpdateLicenseComponent","postAccountLicense","postOrganizationLicenseUpdate","PremiumComponent","premiumPrice","getEmailVerified","finalizePremium","postPremium","RadioControlValueAccessor","ɵi","Injector","p1_0","View_PaymentComponent_2","i2","View_PaymentComponent_3","NgSelectOption","SelectControlValueAccessor","ngValue","ɵq","context","$implicit","PatternValidator","pattern","View_PaymentComponent_5","NgForOf","ngForOf","View_PaymentComponent_6","cvc","View_CalloutComponent_0","RenderType_CalloutComponent","View_PaymentComponent_1","View_PaymentComponent_4","View_PaymentComponent_7","View_PaymentComponent_8","updateTwoFactorDuoRequest_1","processResponse","UpdateTwoFactorDuoRequest","integrationKey","ikey","secretKey","skey","putTwoFactorOrganizationDuo","putTwoFactorDuo","updateDomainsRequest_1","DomainRulesComponent","custom","getSettingsDomains","equivalentDomains","globalEquivalentDomains","domains","excluded","toggleExcluded","globalDomain","customize","UpdateDomainsRequest","excludedGlobalEquivalentDomains","d2","putSettingsDomains","indexTrackBy","constants_service_1","OptionsComponent","storageService","stateService","localeOptions","supportedTranslationLocales","locale","disableIcons","startingLocale","save","reload","deauthorize_sessions_component_1","delete_account_component_1","purge_vault_component_1","deauthorizeSessions","deauthModalRef","DeauthorizeSessionsComponent","purgeVault","purgeModalRef","PurgeVaultComponent","deleteAccount","DeleteAccountComponent","broadcasterService","ngZone","run","command","loadCipher","cipherDomain","loadCipherCollections","saveCollections","check","getAllDecrypted","saveCollectionsWithServer","totpService","cleanUp","isPremium","totpUpdateCode","totpTick","totpInterval","setInterval","toggleFavorite","launch","generatePassword","confirmed","getOptions","upgradeOrganization","clearInterval","getCode","totpCode","totpCodeFormatted","epoch","round","mod","totpSec","totpDash","totpLow","folder","update_key_component_1","bulk_delete_component_1","bulk_move_component_1","bulk_share_component_1","folder_add_edit_component_1","share_component_1","favorites","showVerifyEmail","showBrowserOutdated","showUpdateKey","showPremiumCallout","navigator","userAgent","hasEncKey","organizationsComponent","inOrgWithPremium","selectedFavorites","filterFavorites","selectedFolder","selectedFolderId","filterFolder","shareCipher","shareModalRef","ShareComponent","onSharedCipher","folderAddEditModalRef","FolderAddEditComponent","onSavedFolder","loadFolders","editFolder","onDeletedFolder","bulkDelete","selectedIds","bulkDeleteModalRef","BulkDeleteComponent","cipherIds","onDeleted","bulkShare","selectedCiphers","bulkShareModalRef","BulkShareComponent","onShared","bulkMove","bulkMoveModalRef","BulkMoveComponent","onMoved","updateKey","updateKeyModalRef","UpdateKeyComponent","usersGetPremium","UriMatchType","IconComponent","environmentService","iconsUrl","baseUrl","imageEnabled","setLoginIcon","hostnameUri","isWebsite","image","fallbackImage","UserLayoutComponent","FooterComponent","version","getApplicationVersion","NavbarComponent","getName","lock","verifyDeleteRecoverRequest_1","VerifyRecoverDeleteComponent","fired","VerifyDeleteRecoverRequest","postAccountRecoverDeleteToken","deleteRecoverRequest_1","RecoverDeleteComponent","DeleteRecoverRequest","postAccountRecoverDelete","twoFactorRecoveryRequest_1","RecoverTwoFactorComponent","TwoFactorRecoveryRequest","postTwoFactorRecover","organizationUserAcceptRequest_1","AcceptOrganizationComponent","isAuthenticated","OrganizationUserAcceptRequest","postOrganizationUserAccept","toast","timeout","orgName","organizationName","verifyEmailRequest_1","VerifyEmailTokenComponent","postAccountVerifyEmailToken","VerifyEmailRequest","LockComponent","routerService","hasKey","successRoute","HintComponent","RegisterComponent","authService","showCreateOrgMessage","showTerms","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","duoSig","appSig","iframe","submitCallback","DUO_MESSAGE_FORMAT","DUO_ERROR_FORMAT","DUO_OPEN_WINDOW_FORMAT","VALID_OPEN_WINDOW_DOMAINS","iframeId","postAction","postArgument","throwError","getDataAttribute","element","dataset","getAttribute","fallbackEvent","addEventListener","attachEvent","off","removeEventListener","detachEvent","onReady","offReady","parseSigRequest","sig","sigParts","sigRequest","onDOMReady","ready","isDuoMessage","Boolean","origin","onReceivedMessage","parser","protocol","endsWith","isValidUrlToOpen","open","doPostBack","input","form","parentElement","insertBefore","nextSibling","sig_request","post_action","post_argument","tagName","submit_callback","_onReady","_parseSigRequest","_isDuoMessage","_doPostBack","two_factor_options_component_1","TwoFactorComponent","onSuccessfulLoginNavigate","goAfterLogIn","anotherMethod","twoFactorOptionsModal","TwoFactorOptionsComponent","onProviderSelected","selectedProviderType","onRecoverSelected","loginRedirect","LoginComponent","FrontendLayoutComponent","SettingsService","LockService","UnauthGuardService","canActivate","OrganizationTypeGuardService","allowedTypes","OrganizationGuardService","AuthGuardService","organization_1","setSecurityStamp","stamp","getSecurityStamp","clearOrganizations","Organization","replaceOrganizations","b32Chars","cryptoFunctionService","keyb32","timeHex","leftpad","dec2hex","timeBytes","keyBytes","b32tobytes","sign","hashHex","offset","hex2dec","otp","isAutoCopyEnabled","b32tohex","cleanedInput","bits","hex","byteIndex","charAt","chunk","hmac","signature","setToken","setRefreshToken","decodedToken","getRefreshToken","clearTwoFactorToken","clearToken","decodeToken","decoded","getTokenExpirationDate","setUTCSeconds","tokenSecondsRemaining","offsetSeconds","msRemaining","valueOf","tokenNeedsRefresh","minutes","sub","email_verified","getIssuer","iss","folderData_1","organizationData_1","settingsService","logoutCallback","syncInProgress","getLastSync","lastSync","setLastSync","toJSON","syncStarted","syncCompleted","successfully","forceSync","now","needsSyncing","needsSyncResult","needsSync","getSync","syncProfile","profile","syncFolders","syncCollections","syncCiphers","syncSettings","getAccountRevisionDate","accountRevisionDate","securityStamp","setOrgKeys","OrganizationData","FolderData","eqDomains","setEquivalentDomains","purge","clearCache","settingsCache","getEquivalentDomains","getSettingsKey","setSettingsKey","getSettings","settings","passwordHistory_1","DefaultOptions","ambiguous","minNumber","uppercase","minUppercase","lowercase","minLowercase","special","minSpecial","assign","minLength","positions","shuffleArray","allCharSet","lowercaseCharSet","uppercaseCharSet","numberCharSet","specialCharSet","positionChars","randomNumber","randomCharIndex","optionsCache","saveOptions","getHistory","encrypted","decryptHistory","addHistory","currentHistory","matchesPrevious","unshift","PasswordHistory","pop","encryptHistory","newHistory","decrypted","array","lockedCallback","checkOnInterval","checkLock","isViewOpen","lockOption","lockTimeout","lastActive","lockOptionSeconds","clearKey","clearOrgKeys","clearKeyPair","clearEncKey","setLockOption","toggleKey","systemLanguage","localesDirectory","getLocalesJson","defaultMessages","localeMessages","translationLocale","Intl","Collator","numeric","sensitivity","loadMessages","translate","messagesObj","formattedLocale","locales","placeholders","placeProp","replaceToken","replaceContent","folder_1","decryptedFolderCache","Folder","getAll","decFolders","noneFolder","saveWithServer","postFolder","putFolder","upsert","cId","updates","deleteFolder","environmentUrls_1","getWebVaultUrl","webVaultUrl","setUrlsFromStorage","urlsObj","urls","base","api","icons","webVault","envUrls","EnvironmentUrls","setUrls","apiUrl","identityUrl","formatUrl","encryptedObject_1","symmetricCryptoKey_1","sequentialize_1","ɵ1","secureStorageService","keyB64","keyHash","encKey","encPrivateKey","orgKeys","getKey","SymmetricCryptoKey","getKeyHash","getEncKey","encKeyCipher","decEncKey","stretchKey","newKey","getPublicKey","getPrivateKey","rsaExtractPublicKey","getOrgKeys","encOrgKeys","rsaDecrypt","decValue","legacyEtmKey","clearKeyHash","memoryOnly","clearKeys","option","salt","pbkdf2","randomBytes","rsaGenerateKeyPair","publicB64","privateEnc","makeEncKey","encKeyEnc","plainValue","plainBuf","aesEncrypt","encObj","encryptToBytes","encValue","macLen","encBytes","macKey","Rsa2048_OaepSha1_HmacSha256_B64","macBytes","cipherString","aesDecryptToBytes","decipher","aesDecryptToUtf8","decryptFromBytes","encBuf","ctBytes","ivBytes","min","max","rval","range","bitsNeeded","ceil","log2","bytesNeeded","mask","pow","byteArray","EncryptedObject","getKeyForEncryption","macData","keyForEnc","theKey","resolveLegacyKey","fastParams","aesDecryptFastParameters","hmacFast","computedMac","compareFast","aesDecryptFast","aesDecrypt","Rsa2048_OaepSha256_HmacSha256_B64","alg","hkdfExpand","prk","info","hashLen","okm","previousT","__decorate","sequentialize","ɵ0","ContainerService","attachToWindow","attachToGlobal","decryptedCollectionCache","decCollections","uriMatchType_1","loginUri_1","cipherBulkDeleteRequest_1","cipherBulkMoveRequest_1","cipherBulkShareRequest_1","cipherCollectionsRequest_1","cipherShareRequest_1","decryptedCipherCache","encryptObjProperty","encryptCipherData","encryptFields","encryptAttachments","attachmentsModel","encAttachments","sizeName","fieldsModel","encFields","encryptField","encField","fieldModel","decCiphers","getAllDecryptedForGrouping","groupingId","getAllDecryptedForUrl","includeOtherTypes","eqDomainsPromise","matches","eqDomain","matchingDomains","Host","urlHost","Exact","StartsWith","RegularExpression","Never","getLastUsedForUrl","sortCiphersByLastUsed","updateLastUsedDate","ciphersLocalData","lastUsedDate","cached","saveNeverDomain","postCipher","putCipher","shareWithServer","encCipher","CipherShareRequest","putShareCipher","shareManyWithServer","encCiphers","_i","ciphers_1","CipherBulkShareRequest","putShareCiphers","shareAttachmentWithServer","attachmentView","fetch","Request","cache","attachmentResponse","arrayBuffer","buf","decBuf","encData","encFileName","blob","Blob","filepath","contentType","postShareCipherAttachment","getSingleMessage","saveAttachmentWithServer","unencryptedFile","admin","readAsArrayBuffer","saveAttachmentRawWithServer","cData","e_2","filename","postCipherAttachmentAdmin","postCipherAttachment","e_3","CipherCollectionsRequest","putCipherCollections","moveManyWithServer","ids","putMoveCiphers","CipherBulkMoveRequest","deleteCipher","deleteManyWithServer","deleteManyCiphers","CipherBulkDeleteRequest","deleteAttachment","attachmentId","deleteAttachmentWithServer","deleteCipherAttachment","e_4","aLastUsed","bLastUsed","sortCiphersByLastUsedThenName","aName","bName","theObj","modelProp","LoginUri","breachAccountResponse_1","passwordLeaked","hashBytes","hashStart","hashEnding","leakedHashes","v","json","BreachAccountResponse","AppIdService","makeAndGetAppId","getAnonymousAppId","existingId","guid","profileOrganizationResponse_1","ProfileResponse","Name","emailVerified","EmailVerified","masterPasswordHint","MasterPasswordHint","Premium","culture","Culture","twoFactorEnabled","TwoFactorEnabled","Key","PrivateKey","SecurityStamp","Organizations","ProfileOrganizationResponse","OrganizationResponse","BusinessName","businessAddress1","BusinessAddress1","businessAddress2","BusinessAddress2","businessAddress3","BusinessAddress3","businessCountry","BusinessCountry","businessTaxNumber","BusinessTaxNumber","BillingEmail","Plan","seats","Seats","maxCollections","MaxCollections","MaxStorageGb","UseGroups","useDirectory","UseDirectory","UseEvents","useTotp","UseTotp","Use2fa","FolderResponse","RevisionDate","globalDomainResponse_1","DomainsResponse","EquivalentDomains","GlobalEquivalentDomains","GlobalDomainResponse","selectionReadOnlyResponse_1","CollectionResponse","OrganizationId","CollectionDetailsResponse","CollectionGroupDetailsResponse","Groups","g","attachmentResponse_1","cardApi_1","fieldApi_1","identityApi_1","loginApi_1","secureNoteApi_1","CipherResponse","FolderId","Type","Notes","Favorite","Edit","OrganizationUseTotp","LoginApi","CardApi","IdentityApi","SecureNoteApi","Fields","FieldApi","Attachments","AttachmentResponse","CollectionIds","BillingResponse","storageName","StorageName","StorageGb","PaymentSource","BillingSourceResponse","Subscription","BillingSubscriptionResponse","UpcomingInvoice","BillingInvoiceResponse","Charges","BillingChargeResponse","License","expiration","Expiration","cardBrand","CardBrand","Description","needsVerification","NeedsVerification","trialEndDate","TrialStartDate","TrialEndDate","periodStartDate","PeriodStartDate","periodEndDate","PeriodEndDate","cancelledDate","CancelledDate","CancelAtEndDate","Status","Cancelled","Items","BillingSubscriptionItemResponse","amount","Amount","quantity","Quantity","Interval","createdDate","CreatedDate","failureMessage","FailureMessage","refunded","Refunded","partiallyRefunded","PartiallyRefunded","refundedAmount","RefundedAmount","InvoiceId","billingResponse_1","cipherResponse_1","collectionResponse_1","collectionUserResponse_1","domainsResponse_1","errorResponse_1","eventResponse_1","folderResponse_1","groupResponse_1","groupUserResponse_1","identityTokenResponse_1","identityTwoFactorResponse_1","listResponse_1","organizationBillingResponse_1","organizationResponse_1","organizationUserResponse_1","profileResponse_1","syncResponse_1","twoFactorAuthenticatorResponse_1","twoFactorDuoResponse_1","twoFactorEmailResponse_1","twoFactorProviderResponse_1","twoFactorRescoverResponse_1","twoFactorU2fResponse_1","twoFactorYubiKeyResponse_1","userKeyResponse_1","urlsSet","isWebClient","isDesktopClient","usingBaseUrl","device","getDevice","identityBaseUrl","qsStringify","toIdentityToken","identityClientId","credentials","getCredentials","headers","Headers","Content-Type","Accept","Device-Type","responseJson","typeHeader","IdentityTokenResponse","TwoFactorProviders2","keys","IdentityTwoFactorResponse","ErrorResponse","doRefreshToken","getProfile","putProfile","postEmailToken","postEmail","postPassword","postSecurityStamp","postPasswordHint","postRegister","postAccountKey","postAccountVerifyEmail","getCipher","getCipherAdmin","ListResponse","postCipherAdmin","putCipherAdmin","deleteCipherAdmin","putCipherCollectionsAdmin","postPurgeCiphers","deleteCipherAttachmentAdmin","getCollectionDetails","CollectionUserResponse","postCollection","putCollection","getGroupDetails","GroupDetailsResponse","GroupResponse","GroupUserResponse","postGroup","putGroup","getOrganizationUser","OrganizationUserDetailsResponse","getOrganizationUserGroups","OrganizationUserUserDetailsResponse","postOrganizationUserInvite","putOrganizationUser","putOrganizationUserGroups","path","SyncResponse","postImportDirectory","TwoFactorProviderResponse","TwoFactorAuthenticatorResponse","TwoFactorEmailResponse","TwoFactorDuoResponse","TwoFactorYubiKeyResponse","TwoFactorU2fResponse","TwoFactorRecoverResponse","putTwoFactorAuthenticator","putTwoFactorEmail","putTwoFactorYubiKey","putTwoFactorU2f","postTwoFactorEmailSetup","postTwoFactorEmail","OrganizationBillingResponse","postOrganizationSeat","getEvents","addEventParameters","EventResponse","UserKeyResponse","hasResponse","requestInit","handleTokenState","authHeader","handleError","tokenError","grant_type","client_id","refresh_token","TrueFalseValueDirective","elementRef","trueValue","falseValue","propagateChange","_","onHostChange","writeValue","setProperty","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","BoxRowDirective","elRef","formEls","formEl","inputEl","click","seatRequest_1","AdjustSeatsComponent","seatAdjustment","SeatRequest","organizationUserUpdateGroupsRequest_1","groupsResponse","userGroups","ug","OrganizationUserUpdateGroupsRequest","groupIds","organizationUserInviteRequest_1","organizationUserUpdateRequest_1","selectionReadOnlyRequest_1","editMode","User","access","OrganizationUserUpdateRequest","OrganizationUserInviteRequest","emails","deletePromise","groupRequest_1","externalId","GroupRequest","saveCipherAttachment","encryptCipher","saveCipher","loginUriData_1","toLoginUriData","LoginUriData","view","identityView_1","cardView_1","attachmentView_1","AttachmentView","i7","View_PaymentComponent_0","RenderType_PaymentComponent","i8","i9","View_AdjustPaymentComponent_1","i11","View_AdjustPaymentComponent_2","canChange","adjustedStorageTotal","ɵbc","View_AdjustStorageComponent_1","updateTwoFactorYubioOtpRequest_1","nfc","UpdateTwoFactorYubioOtpRequest","key1","key2","key3","key4","key5","disablePromise","existingKey","padRight","updateTwoFactorU2fRequest_1","closed","u2fScript","readDevice","UpdateTwoFactorU2fRequest","deviceResponse","u2fResponse","log","u2fError","u2fListening","u2f","register","u2fChallenge","challenge","errorCode","print","w","write","formatString","twoFactorEmailRequest_1","updateTwoFactorEmailRequest_1","sendEmail","TwoFactorEmailRequest","emailPromise","sentEmail","UpdateTwoFactorEmailRequest","updateTwoFactorAuthenticatorRequest_1","qrScript","UpdateTwoFactorAuthenticatorRequest","QRious","passwordRequest_1","ChangePasswordComponent","currentMasterPassword","newMasterPassword","confirmNewMasterPassword","PasswordRequest","newMasterPasswordHash","newEncKey","EmailTokenRequest","emailRequest_1","emailTokenRequest_1","ChangeEmailComponent","tokenSent","newEmail","EmailRequest","reset","updateProfileRequest_1","ProfileComponent","UpdateProfileRequest","writeableCollections","allCollections","filterCollections","cipherView","attachmentPromises","checkedCollectionIds","nonShareableCount","shareableCiphers","hasAttachments","CipherWithIdRequest","cipherWithIdRequest_1","folderWithIdRequest_1","updateKeyRequest_1","makeRequest","UpdateKeyRequest","FolderWithIdRequest","ɵpad","View_OrganizationsComponent_5","View_OrganizationsComponent_4","View_OrganizationsComponent_6","View_OrganizationsComponent_2","View_OrganizationsComponent_3","View_AvatarComponent_0","RenderType_AvatarComponent","DomSanitizer","View_OrganizationsComponent_14","View_OrganizationsComponent_12","View_OrganizationsComponent_13","View_OrganizationsComponent_8","View_OrganizationsComponent_9","View_OrganizationsComponent_10","View_OrganizationsComponent_11","View_OrganizationsComponent_1","View_OrganizationsComponent_7","enums_1","SearchCiphersPipe","onlySearchName","View_IconComponent_1","View_IconComponent_2","VerifyEmailComponent","klass","bg-secondary-alt","RouterLinkActive","Router","ChangeDetectorRef","routerLinkActive","ɵqud","links","linksWithHrefs","View_NavbarComponent_1","encryptedPrivateKey","_swal","angular2_toaster_1","swal","AppComponent","angulartics2GoogleAnalytics","lockService","toasterConfig","ToasterConfig","showCloseButton","mouseoverTimerStop","animation","limit","lastActivity","runOutsideAngular","onmousemove","recordActivity","onmousedown","ontouchstart","onclick","onscroll","onkeypress","expired","modals_1","webpackEmptyAsyncContext","req","frontend_layout_component_1","organization_layout_component_1","user_layout_component_1","accept_organization_component_1","hint_component_1","lock_component_1","login_component_1","recover_delete_component_1","recover_two_factor_component_1","register_component_1","two_factor_component_1","verify_email_token_component_1","verify_recover_delete_component_1","events_component_1","groups_component_1","manage_component_1","people_component_1","account_component_1","organization_billing_component_1","settings_component_1","two_factor_setup_component_1","export_component_1","import_component_1","tools_component_1","vault_component_1","account_component_2","create_organization_component_1","domain_rules_component_1","options_component_1","organizations_component_1","premium_component_1","settings_component_2","two_factor_setup_component_2","user_billing_component_1","breach_report_component_1","export_component_2","import_component_2","tools_component_2","vault_component_2","organization_guard_service_1","organization_type_guard_service_1","unauth_guard_service_1","auth_guard_service_1","ɵ2","ɵ3","ɵ4","ɵ5","ɵ6","ɵ7","ɵ8","ɵ9","ɵ10","ɵ11","ɵ12","ɵ13","ɵ14","ɵ15","ɵ16","ɵ17","ɵ18","ɵ19","ɵ20","Owner","Admin","ɵ21","ɵ22","ɵ23","ɵ24","ɵ25","ɵ26","ɵ27","ɵ28","ɵ29","ɵ30","ɵ31","AppRoutingModule","DecryptParameters","forge","decryptParameters_1","WebCryptoFunctionService","crypto","subtle","isEdge","isIE","algorithm","iterations","forgeLen","passwordBytes","toByteString","saltBytes","derivedKeyBytes","wcLen","passwordBuf","toBuf","saltBuf","pbkdf2Params","toWebCryptoAlgorithm","importKey","impKey","deriveBits","md","sha1","valueBytes","digest","valueBuf","signingAlgorithm","mac1","mac2","arr1","arr2","getBytes","rand","Uint32Array","util","createBuffer","putInt32","meta","encKeyByteString","macKeyByteString","decode64","encKeyB64","macKeyB64","parameters","dataBuffer","createDecipher","finish","rsaParams","impPrivateKey","exportKey","jwkPrivateKey","jwkPublicKeyParams","kty","ext","impPublicKey","modulusLength","publicExponent","generateKey","getRandomValues","encodeUtf8","getExport","foldersMap","exportCiphers","buildCommonCipher","unparse","collectionPromises","decCol","cipherPromises","decCipher","collectionsMap","prefix","dateString","padNumber","getSeconds","padCharacter","numString","login_uri","login_username","login_password","login_totp","GaObj","AnalyticsIds","Analytics","gaFilter","dependencyResolver","gaTrackingId","defaultDisabled","deps","appVersion","isMacAppStore","analyticsId","GoogleAnalyticsObject","param1","param2","ga","disabled","gaAnonAppId","gaTrackPageView","hitType","page","gaTrackEvent","XMLHttpRequest","eventCategory","eventAction","eventLabel","eventValue","cleanPagePath","pagePath","paramIndex","newPathParts","WebPlatformUtilsService","browserCache","chrome","getDeviceString","isFirefox","isChrome","isOpera","isVivaldi","isSafari","rel","blobData","blobOptions","msSaveOrOpenBlob","msSaveBlob","createObjectURL","download","position","isMobile","showToast","confirmText","cancelText","buttons","contentDiv","contains","titleDiv","createTextNode","textDiv","clipboardData","setData","queryCommandSupported","textarea","execCommand","mobile","vendor","opera","MemoryStorageService","store","filePath","selfHost","cacheKey","propertyKey","descriptor","originalMethod","caches","args","arguments","argsCacheKey","getCache","addedDate","AddedDate","breachDate","BreachDate","dataClasses","DataClasses","isActive","IsActive","isVerified","IsVerified","logoType","LogoType","modifiedDate","ModifiedDate","pwnCount","PwnCount","Title","UserId","PublicKey","Enabled","Key1","Key2","Key3","Key4","Key5","Nfc","Challenge","ChallengeResponse","AppId","Version","Code","SecretKey","IntegrationKey","Profile","Folders","Collections","Ciphers","Domains","SelfHost","UsersGetPremium","OrganizationUserResponse","AccessAll","Data","dr","ContinuationToken","access_token","expiresIn","expires_in","tokenType","token_type","TwoFactorToken","OrganizationUserId","ExternalId","CipherId","CollectionId","GroupId","ActingUserId","IpAddress","identityResponse","errorModel","ErrorModel","Message","ValidationErrors","statusCode","Excluded","LoginUriApi","Uri","Match","loginUriApi_1","Username","Password","Totp","Uris","FirstName","MiddleName","LastName","Address1","Address2","Address3","City","State","PostalCode","Country","Company","Phone","SSN","PassportNumber","LicenseNumber","Value","CardholderName","Brand","Number","ExpMonth","ExpYear","Url","FileName","Size","SizeName","api_service_1","appId_service_1","audit_service_1","cipher_service_1","collection_service_1","container_service_1","crypto_service_1","environment_service_1","folder_service_1","i18n_service_1","lock_service_1","passwordGeneration_service_1","settings_service_1","state_service_1","sync_service_1","token_service_1","totp_service_1","user_service_1","services_1","HtmlStorageService","localStorageKeys","Set","localStorageStartsWithKeys","isLocalStorage","localStorage","getItem","sessionStorage","setItem","removeItem","swKey","BroadcasterMessagingService","subscriber","arg","broadcasterMessaging_service_1","htmlStorage_service_1","memoryStorage_service_1","webPlatformUtils_service_1","broadcaster_service_1","analytics_1","export_service_1","webCryptoFunction_service_1","language","__generator","initFactory","htmlEl","documentElement","theme","ServicesModule","View_ToasterContainerComponent_0","RenderType_ToasterContainerComponent","ToasterContainerComponent","ToasterService","NgZone","toasterconfig","RouterOutlet","ChildrenOutletContexts","ComponentFactoryResolver","appAutofocus","View_TwoFactorVerifyComponent_0","RenderType_TwoFactorVerifyComponent","i10","View_TwoFactorYubiKeyComponent_5","View_TwoFactorYubiKeyComponent_6","i12","i13","View_TwoFactorYubiKeyComponent_3","View_TwoFactorYubiKeyComponent_4","CheckboxControlValueAccessor","View_TwoFactorYubiKeyComponent_7","View_TwoFactorYubiKeyComponent_1","View_TwoFactorYubiKeyComponent_2","View_TwoFactorU2fComponent_5","View_TwoFactorU2fComponent_6","View_TwoFactorU2fComponent_7","View_TwoFactorU2fComponent_10","View_TwoFactorU2fComponent_11","View_TwoFactorU2fComponent_3","View_TwoFactorU2fComponent_4","View_TwoFactorU2fComponent_8","View_TwoFactorU2fComponent_9","View_TwoFactorU2fComponent_1","View_TwoFactorU2fComponent_2","View_TwoFactorRecoveryComponent_3","View_TwoFactorRecoveryComponent_4","View_TwoFactorRecoveryComponent_5","View_TwoFactorRecoveryComponent_1","View_TwoFactorRecoveryComponent_2","View_TwoFactorOptionsComponent_1","View_TwoFactorEmailComponent_5","View_TwoFactorEmailComponent_3","View_TwoFactorEmailComponent_4","View_TwoFactorEmailComponent_6","View_TwoFactorEmailComponent_7","View_TwoFactorEmailComponent_1","View_TwoFactorEmailComponent_2","View_TwoFactorDuoComponent_3","View_TwoFactorDuoComponent_4","View_TwoFactorDuoComponent_5","View_TwoFactorDuoComponent_6","View_TwoFactorDuoComponent_1","View_TwoFactorDuoComponent_2","View_TwoFactorAuthenticatorComponent_3","View_TwoFactorAuthenticatorComponent_4","View_TwoFactorAuthenticatorComponent_5","View_TwoFactorAuthenticatorComponent_6","mb-0","View_TwoFactorAuthenticatorComponent_7","View_TwoFactorAuthenticatorComponent_8","View_TwoFactorAuthenticatorComponent_9","View_TwoFactorAuthenticatorComponent_1","View_TwoFactorAuthenticatorComponent_2","View_ShareComponent_6","ɵbf","View_ShareComponent_1","View_ShareComponent_2","View_ShareComponent_3","View_ShareComponent_4","View_ShareComponent_5","View_PasswordGeneratorHistoryComponent_2","View_PasswordGeneratorHistoryComponent_1","View_PasswordGeneratorHistoryComponent_3","View_UserGroupsComponent_6","View_UserGroupsComponent_4","View_UserGroupsComponent_5","View_UserGroupsComponent_1","View_UserGroupsComponent_2","View_UserGroupsComponent_3","View_UserAddEditComponent_9","View_UserAddEditComponent_7","View_UserAddEditComponent_8","View_UserAddEditComponent_4","View_UserAddEditComponent_5","View_UserAddEditComponent_6","modal-lg","View_UserAddEditComponent_1","View_UserAddEditComponent_2","View_UserAddEditComponent_3","View_UserAddEditComponent_10","View_GroupAddEditComponent_7","View_GroupAddEditComponent_5","View_GroupAddEditComponent_6","View_GroupAddEditComponent_3","View_GroupAddEditComponent_4","View_GroupAddEditComponent_1","View_GroupAddEditComponent_2","View_GroupAddEditComponent_8","View_EntityUsersComponent_10","View_EntityUsersComponent_11","View_EntityUsersComponent_6","View_EntityUsersComponent_7","View_EntityUsersComponent_8","View_EntityUsersComponent_9","View_EntityUsersComponent_12","View_EntityUsersComponent_13","View_EntityUsersComponent_14","View_EntityUsersComponent_15","View_EntityUsersComponent_5","View_EntityUsersComponent_3","View_EntityUsersComponent_4","View_EntityUsersComponent_1","View_EntityUsersComponent_2","View_EntityEventsComponent_8","View_EntityEventsComponent_6","View_EntityEventsComponent_7","fa-spin","View_EntityEventsComponent_4","View_EntityEventsComponent_5","View_EntityEventsComponent_9","View_EntityEventsComponent_1","View_EntityEventsComponent_2","View_EntityEventsComponent_3","View_CollectionsComponent_5","View_CollectionsComponent_1","View_CollectionsComponent_2","View_CollectionsComponent_3","View_CollectionsComponent_4","View_CollectionAddEditComponent_7","View_CollectionAddEditComponent_6","View_CollectionAddEditComponent_3","View_CollectionAddEditComponent_4","View_CollectionAddEditComponent_5","View_CollectionAddEditComponent_1","View_CollectionAddEditComponent_2","View_CollectionAddEditComponent_8","View_AttachmentsComponent_4","View_AttachmentsComponent_5","downloading","deletePromises","View_AttachmentsComponent_3","View_AttachmentsComponent_1","View_AttachmentsComponent_2","View_AddEditComponent_3","typeOptions","View_AddEditComponent_5","View_AddEditComponent_8","View_AddEditComponent_9","NgStyle","ngStyle","stroke-dashoffset.px","View_AddEditComponent_13","uriMatchOptions","View_AddEditComponent_12","fa-eye","fa-eye-slash","low","View_AddEditComponent_7","View_AddEditComponent_10","View_AddEditComponent_11","checkPasswordPromise","showPassword","View_AddEditComponent_15","View_AddEditComponent_16","cardBrandOptions","showCardCode","View_AddEditComponent_18","identityTitleOptions","showValue","View_AddEditComponent_21","View_AddEditComponent_22","View_AddEditComponent_23","fieldType","Hidden","View_AddEditComponent_20","View_AddEditComponent_2","View_AddEditComponent_4","View_AddEditComponent_6","View_AddEditComponent_14","View_AddEditComponent_17","View_AddEditComponent_19","View_AddEditComponent_24","hasFields","addFieldType","addFieldTypeOptions","fa-star","fa-star-o","View_AddEditComponent_26","View_AddEditComponent_27","View_AddEditComponent_1","View_AddEditComponent_25","View_ModalComponent_1","View_FolderAddEditComponent_1","View_BulkShareComponent_5","View_BulkShareComponent_1","View_BulkShareComponent_2","View_BulkShareComponent_3","View_BulkShareComponent_4","View_BulkMoveComponent_1","adjustedSeatTotal","View_AdjustSeatsComponent_1","View_OrganizationBillingComponent_7","View_OrganizationBillingComponent_8","View_OrganizationBillingComponent_11","subscriptionMarkedForCancel","nextInvoice","View_OrganizationBillingComponent_13","View_OrganizationBillingComponent_10","View_OrganizationBillingComponent_12","View_UpdateLicenseComponent_0","RenderType_UpdateLicenseComponent","Angulartics2","View_OrganizationBillingComponent_15","View_AdjustSeatsComponent_0","RenderType_AdjustSeatsComponent","View_OrganizationBillingComponent_20","View_OrganizationBillingComponent_21","i14","View_AdjustStorageComponent_0","RenderType_AdjustStorageComponent","i15","View_OrganizationBillingComponent_23","View_OrganizationBillingComponent_24","i16","View_OrganizationBillingComponent_27","fa-credit-card","fa-university","fa-paypal text-primary","BankAccount","PayPal","i17","View_AdjustPaymentComponent_0","RenderType_AdjustPaymentComponent","i18","i19","text-strike","View_OrganizationBillingComponent_32","View_OrganizationBillingComponent_17","View_OrganizationBillingComponent_18","View_OrganizationBillingComponent_19","View_OrganizationBillingComponent_22","View_OrganizationBillingComponent_25","View_OrganizationBillingComponent_26","View_OrganizationBillingComponent_28","View_OrganizationBillingComponent_29","View_OrganizationBillingComponent_30","View_OrganizationBillingComponent_31","canDownloadLicense","canAdjustSeats","storageProgressWidth","View_OrganizationBillingComponent_4","View_OrganizationBillingComponent_5","View_OrganizationBillingComponent_6","View_OrganizationBillingComponent_9","View_OrganizationBillingComponent_14","View_OrganizationBillingComponent_16","View_OrganizationBillingComponent_1","View_OrganizationBillingComponent_2","View_OrganizationBillingComponent_3","View_TwoFactorSetupComponent_6","View_TwoFactorSetupComponent_7","View_TwoFactorSetupComponent_1","View_TwoFactorSetupComponent_2","View_TwoFactorSetupComponent_3","mt-5","View_TwoFactorSetupComponent_4","View_TwoFactorSetupComponent_5","View_TwoFactorSetupComponent_8","View_TwoFactorSetupComponent_9","View_TwoFactorSetupComponent_10","View_TwoFactorSetupComponent_11","View_TwoFactorSetupComponent_12","View_TwoFactorSetupComponent_13","View_AccountComponent_1","View_AccountComponent_2","View_AccountComponent_3","View_AccountComponent_4","View_SettingsComponent_1","invitedCount","acceptedCount","View_PeopleComponent_8","View_PeopleComponent_9","View_PeopleComponent_10","View_PeopleComponent_11","View_PeopleComponent_12","View_PeopleComponent_13","View_PeopleComponent_14","View_PeopleComponent_15","View_PeopleComponent_16","View_PeopleComponent_17","View_PeopleComponent_7","View_PeopleComponent_5","View_PeopleComponent_6","active","View_PeopleComponent_1","View_PeopleComponent_2","View_PeopleComponent_3","View_PeopleComponent_4","View_PeopleComponent_18","View_PeopleComponent_19","View_PeopleComponent_20","View_GroupsComponent_5","View_GroupsComponent_3","View_GroupsComponent_4","View_GroupsComponent_1","View_GroupsComponent_2","View_GroupsComponent_6","View_GroupsComponent_7","View_EventsComponent_5","View_EventsComponent_3","View_EventsComponent_4","View_EventsComponent_6","View_EventsComponent_1","View_EventsComponent_2","View_CollectionsComponent_6","View_CollectionsComponent_7","View_ManageComponent_1","View_ManageComponent_2","View_ImportComponent_3","View_ImportComponent_18","View_ImportComponent_5","View_ImportComponent_6","View_ImportComponent_7","View_ImportComponent_8","View_ImportComponent_9","View_ImportComponent_10","View_ImportComponent_11","View_ImportComponent_12","View_ImportComponent_13","View_ImportComponent_14","View_ImportComponent_15","View_ImportComponent_16","View_ImportComponent_17","View_ImportComponent_19","View_ImportComponent_20","View_ImportComponent_21","View_ImportComponent_22","View_ImportComponent_23","View_ImportComponent_24","View_ImportComponent_25","View_ImportComponent_26","View_ImportComponent_27","View_ImportComponent_28","View_ImportComponent_29","View_ImportComponent_30","View_ImportComponent_31","View_ImportComponent_32","View_ImportComponent_33","View_ImportComponent_34","View_ImportComponent_35","View_ImportComponent_36","View_ImportComponent_37","View_ImportComponent_1","View_ImportComponent_2","View_ImportComponent_4","View_CiphersComponent_4","View_IconComponent_0","RenderType_IconComponent","View_CiphersComponent_5","View_CiphersComponent_6","View_CiphersComponent_7","View_CiphersComponent_8","View_CiphersComponent_9","View_CiphersComponent_10","View_CiphersComponent_3","View_CiphersComponent_14","View_CiphersComponent_12","View_CiphersComponent_13","View_CiphersComponent_2","View_CiphersComponent_11","View_CiphersComponent_1","View_GroupingsComponent_6","View_GroupingsComponent_5","View_GroupingsComponent_8","View_GroupingsComponent_4","View_GroupingsComponent_7","showFolders","showCollections","View_GroupingsComponent_1","View_GroupingsComponent_2","View_GroupingsComponent_3","showFavorites","View_GroupingsComponent_0","RenderType_GroupingsComponent","onAllClicked","onCipherTypeClicked","onCollectionClicked","View_CiphersComponent_0","RenderType_CiphersComponent","onCipherClicked","onAddCipher","View_VaultComponent_1","View_VaultComponent_2","View_VaultComponent_3","View_VaultComponent_4","View_OrganizationLayoutComponent_3","isOwner","View_OrganizationLayoutComponent_2","View_NavbarComponent_0","RenderType_NavbarComponent","View_OrganizationLayoutComponent_1","View_FooterComponent_0","RenderType_FooterComponent","View_BreachReportComponent_8","View_BreachReportComponent_7","View_BreachReportComponent_4","View_BreachReportComponent_5","View_BreachReportComponent_6","View_BreachReportComponent_2","View_BreachReportComponent_3","View_BreachReportComponent_1","copyOptions","showSelect","onSelected","avoidAmbiguous","sliderChanged","sliderInput","normalizeOptions","regenerate","toggleOptions","View_PasswordGeneratorComponent_1","onSaved","storedKeyHash","downloadFile","togglePassword","csv","baseImporter_1","importResult_1","ChamberName","parseData","SecretData","CustomData","line","delimPosition","fieldLower","PropertiesToIgnore","memo","kind","note","cardholder","expiryDate","expDate","document_content","loginNodes","loginNode","accountId","usernameText","passwordText","titleText","linkText","notesText","groupText","accountLogin","account","buildGroupText","parseFieldsToNotes","startIndex","labelEl","cardEl","labelIdEl","labelId","fieldEl","notesEl","Note","Pwd","passwordSafe","notesDelimiter","entries","entry","records","record","category","categoryText","accountName","attributes","attr","login_url","identifiers","valObj","getValue","tags","tag","addCollection","collectionIndex","View","view_1","IgnoredProperties","notesPlain","altUsername","openContents","faveIndex","typeName","secureContents","parseFields","sections","section","designationKey","valueKey","nameKey","fieldValue","fieldDesignation","fieldName","DisplayName","UserName","cipherIndex","grouping","buildBaseCipher","extra","parseSecureNote","parseCard","parseIdentity","ccnum","cardCipher","profilename","firstname","lastname","fav","ccname","cccsc","ccexp","ccexpParts","middlename","zip","extraParts","processedNote","typeParts","mappedData","parseSecureNoteMapping","Name on Card","Security Code","First Name","Last Name","Middle Name","Address 1","Address 2","Address 3","City / Town","Zip / Postal Code","Email Address","extraPart","fieldParts","Group","groupName","rootGroup","traverse","node","isRootNode","groupPrefixName","nameEl","entryString","valueEl","keyEl","keyRing","this_1","display_name","secret","username_value","firstRow","fieldNameLower","month","skip","currentVersion","actionType","labelLower","col","lastIndexOf","website","secondary_username","View_CreateOrganizationComponent_11","View_CreateOrganizationComponent_12","View_CreateOrganizationComponent_16","View_CreateOrganizationComponent_17","View_CreateOrganizationComponent_14","View_CreateOrganizationComponent_15","View_CreateOrganizationComponent_7","View_CreateOrganizationComponent_8","View_CreateOrganizationComponent_9","View_CreateOrganizationComponent_10","View_CreateOrganizationComponent_13","total","View_CreateOrganizationComponent_3","View_CreateOrganizationComponent_4","View_CreateOrganizationComponent_5","View_CreateOrganizationComponent_6","mt-4","View_CreateOrganizationComponent_1","View_CreateOrganizationComponent_2","View_UserBillingComponent_7","View_UserBillingComponent_8","View_UserBillingComponent_12","View_UserBillingComponent_10","View_UserBillingComponent_11","View_UserBillingComponent_14","View_UserBillingComponent_19","View_UserBillingComponent_20","View_UserBillingComponent_27","View_UserBillingComponent_16","View_UserBillingComponent_17","View_UserBillingComponent_18","View_UserBillingComponent_21","View_UserBillingComponent_22","View_UserBillingComponent_23","View_UserBillingComponent_24","View_UserBillingComponent_25","View_UserBillingComponent_26","View_UserBillingComponent_4","View_UserBillingComponent_5","View_UserBillingComponent_6","View_UserBillingComponent_9","View_UserBillingComponent_13","View_UserBillingComponent_15","View_UserBillingComponent_1","View_UserBillingComponent_2","View_UserBillingComponent_3","View_PremiumComponent_1","View_PremiumComponent_2","View_PremiumComponent_3","View_DomainRulesComponent_3","ngForTrackBy","table-list-strike","View_DomainRulesComponent_7","View_DomainRulesComponent_8","View_DomainRulesComponent_6","View_DomainRulesComponent_1","View_DomainRulesComponent_2","View_DomainRulesComponent_4","View_DomainRulesComponent_5","View_OptionsComponent_1","View_ChangeEmailComponent_1","View_ChangeEmailComponent_2","View_ChangeEmailComponent_3","View_ChangeEmailComponent_4","View_ProfileComponent_1","View_ProfileComponent_2","View_ProfileComponent_0","RenderType_ProfileComponent","View_ChangeEmailComponent_0","RenderType_ChangeEmailComponent","View_ChangePasswordComponent_0","RenderType_ChangePasswordComponent","View_SettingsComponent_2","hasUpdatedKey","canAccessAttachments","onCancelled","onEditAttachments","onGeneratePassword","addUri","removeUri","addField","removeField","toggleCardCode","toggleFieldValue","toggleUriOptions","loginUriMatchChanged","checkPassword","activeCipherId","onCipherRightClicked","onAddCipherOptions","selectCipher","rightClickCipher","addCipherOptions","LogLevelType","logLevelType_1","FallbackSrcDirective","onError","appFallbackSrc","onFavoritesClicked","onFolderClicked","onAddFolder","onEditFolder","setLoaded","clearSelections","selectFavorites","selectType","selectFolder","selectCollection","View_VerifyEmailComponent_0","RenderType_VerifyEmailComponent","View_OrganizationsComponent_0","RenderType_OrganizationsComponent","i20","i21","i22","View_VaultComponent_5","View_VaultComponent_6","View_VaultComponent_7","View_VaultComponent_8","View_VaultComponent_9","View_VaultComponent_10","View_VaultComponent_11","View_VaultComponent_12","View_VaultComponent_13","View_AcceptOrganizationComponent_1","View_AcceptOrganizationComponent_2","PasswordHintRequest","passwordHintRequest_1","RegisterRequest","registerRequest_1","confirmMasterPassword","hint","orgInvite","confirmField","View_RegisterComponent_1","View_RegisterComponent_2","successCallback","errorCallback","infoCallback","parseFunction","parseMessage","connectorLink","base64Encode","stop","sendMessage","contentWindow","postMessage","cleanup","validMessage","clientId","scope","deviceIdentifier","identifier","deviceName","twoFactorRemember","pushToken","DuoWebSDK","u2f_1","u2fReady","twoFactorEmail","loginRoute","customWebVaultUrl","cleanupU2f","challenges","Challenges","keyHandle","Signature","onSuccessfulLogin","doToast","backdrop","className","choose","recover","View_TwoFactorComponent_5","View_TwoFactorComponent_2","View_TwoFactorComponent_3","View_TwoFactorComponent_4","View_TwoFactorComponent_8","View_TwoFactorComponent_9","col-9","View_TwoFactorComponent_1","View_TwoFactorComponent_6","View_TwoFactorComponent_7","View_TwoFactorComponent_10","View_TwoFactorComponent_11","View_TwoFactorComponent_12","View_TwoFactorComponent_13","View_TwoFactorComponent_14","View_TwoFactorComponent_15","rememberEmail","twoFactorRoute","common_1","da_1","sk_1","registerLocaleData","AppModule","enableProdMode","__NgCli_bootstrap_2","platformBrowser","bootstrapModuleFactory","__NgCli_bootstrap_1","AppModuleNgFactory"],"mappings":"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AAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,KAARD,EAAAC,EAAA,MAAQ,KACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA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","file":"app/main.3bc8efccbfe0b27994c6.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t3: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([937,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export abstract class I18nService {\r\n locale: string;\r\n supportedTranslationLocales: string[];\r\n translationLocale: string;\r\n collator: Intl.Collator;\r\n t: (id: string, p1?: string, p2?: string, p3?: string) => string;\r\n translate: (id: string, p1?: string, p2?: string, p3?: string) => string;\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\r\nimport { EmailRequest } from '../models/request/emailRequest';\r\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { GroupRequest } from '../models/request/groupRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KeysRequest } from '../models/request/keysRequest';\r\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\r\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\r\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\r\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\r\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\r\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\r\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\r\nimport { PasswordRequest } from '../models/request/passwordRequest';\r\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\r\nimport { PaymentRequest } from '../models/request/paymentRequest';\r\nimport { RegisterRequest } from '../models/request/registerRequest';\r\nimport { SeatRequest } from '../models/request/seatRequest';\r\nimport { StorageRequest } from '../models/request/storageRequest';\r\nimport { TokenRequest } from '../models/request/tokenRequest';\r\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\r\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\r\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\r\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\r\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\r\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\r\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\r\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\r\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\r\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\r\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\r\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\r\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\r\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\r\n\r\nimport { BillingResponse } from '../models/response/billingResponse';\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport {\r\n CollectionGroupDetailsResponse,\r\n CollectionResponse,\r\n} from '../models/response/collectionResponse';\r\nimport { CollectionUserResponse } from '../models/response/collectionUserResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { EventResponse } from '../models/response/eventResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n GroupDetailsResponse,\r\n GroupResponse,\r\n} from '../models/response/groupResponse';\r\nimport { GroupUserResponse } from '../models/response/groupUserResponse';\r\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\r\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\r\nimport { ListResponse } from '../models/response/listResponse';\r\nimport { OrganizationBillingResponse } from '../models/response/organizationBillingResponse';\r\nimport { OrganizationResponse } from '../models/response/organizationResponse';\r\nimport {\r\n OrganizationUserDetailsResponse,\r\n OrganizationUserUserDetailsResponse,\r\n} from '../models/response/organizationUserResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\nimport { SyncResponse } from '../models/response/syncResponse';\r\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\r\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\r\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\r\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\r\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\r\nimport { TwoFactorU2fResponse } from '../models/response/twoFactorU2fResponse';\r\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\r\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\r\n\r\nexport abstract class ApiService {\r\n urlsSet: boolean;\r\n apiBaseUrl: string;\r\n identityBaseUrl: string;\r\n\r\n setUrls: (urls: EnvironmentUrls) => void;\r\n postIdentityToken: (request: TokenRequest) => Promise;\r\n refreshIdentityToken: () => Promise;\r\n\r\n getProfile: () => Promise;\r\n getUserBilling: () => Promise;\r\n putProfile: (request: UpdateProfileRequest) => Promise;\r\n postEmailToken: (request: EmailTokenRequest) => Promise;\r\n postEmail: (request: EmailRequest) => Promise;\r\n postPassword: (request: PasswordRequest) => Promise;\r\n postSecurityStamp: (request: PasswordVerificationRequest) => Promise;\r\n deleteAccount: (request: PasswordVerificationRequest) => Promise;\r\n getAccountRevisionDate: () => Promise;\r\n postPasswordHint: (request: PasswordHintRequest) => Promise;\r\n postRegister: (request: RegisterRequest) => Promise;\r\n postPremium: (data: FormData) => Promise;\r\n postReinstatePremium: () => Promise;\r\n postCancelPremium: () => Promise;\r\n postAccountStorage: (request: StorageRequest) => Promise;\r\n postAccountPayment: (request: PaymentRequest) => Promise;\r\n postAccountLicense: (data: FormData) => Promise;\r\n postAccountKey: (request: UpdateKeyRequest) => Promise;\r\n postAccountKeys: (request: KeysRequest) => Promise;\r\n postAccountVerifyEmail: () => Promise;\r\n postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise;\r\n postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise;\r\n postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise;\r\n\r\n postFolder: (request: FolderRequest) => Promise;\r\n putFolder: (id: string, request: FolderRequest) => Promise;\r\n deleteFolder: (id: string) => Promise;\r\n\r\n getCipher: (id: string) => Promise;\r\n getCipherAdmin: (id: string) => Promise;\r\n getCiphersOrganization: (organizationId: string) => Promise>;\r\n postCipher: (request: CipherRequest) => Promise;\r\n postCipherAdmin: (request: CipherRequest) => Promise;\r\n putCipher: (id: string, request: CipherRequest) => Promise;\r\n putCipherAdmin: (id: string, request: CipherRequest) => Promise;\r\n deleteCipher: (id: string) => Promise;\r\n deleteCipherAdmin: (id: string) => Promise;\r\n deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\r\n putMoveCiphers: (request: CipherBulkMoveRequest) => Promise;\r\n putShareCipher: (id: string, request: CipherShareRequest) => Promise;\r\n putShareCiphers: (request: CipherBulkShareRequest) => Promise;\r\n putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise;\r\n putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise;\r\n postPurgeCiphers: (request: PasswordVerificationRequest) => Promise;\r\n postImportCiphers: (request: ImportCiphersRequest) => Promise;\r\n postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise;\r\n\r\n postCipherAttachment: (id: string, data: FormData) => Promise;\r\n postCipherAttachmentAdmin: (id: string, data: FormData) => Promise;\r\n deleteCipherAttachment: (id: string, attachmentId: string) => Promise;\r\n deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise;\r\n postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,\r\n organizationId: string) => Promise;\r\n\r\n getCollectionDetails: (organizationId: string, id: string) => Promise;\r\n getCollections: (organizationId: string) => Promise>;\r\n getCollectionUsers: (organizationId: string, id: string) => Promise>;\r\n postCollection: (organizationId: string, request: CollectionRequest) => Promise;\r\n putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise;\r\n deleteCollection: (organizationId: string, id: string) => Promise;\r\n deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\r\n\r\n getGroupDetails: (organizationId: string, id: string) => Promise;\r\n getGroups: (organizationId: string) => Promise>;\r\n getGroupUsers: (organizationId: string, id: string) => Promise>;\r\n postGroup: (organizationId: string, request: GroupRequest) => Promise;\r\n putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise;\r\n deleteGroup: (organizationId: string, id: string) => Promise;\r\n deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\r\n\r\n getOrganizationUser: (organizationId: string, id: string) => Promise;\r\n getOrganizationUserGroups: (organizationId: string, id: string) => Promise;\r\n getOrganizationUsers: (organizationId: string) => Promise>;\r\n postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise;\r\n postOrganizationUserReinvite: (organizationId: string, id: string) => Promise;\r\n postOrganizationUserAccept: (organizationId: string, id: string,\r\n request: OrganizationUserAcceptRequest) => Promise;\r\n postOrganizationUserConfirm: (organizationId: string, id: string,\r\n request: OrganizationUserConfirmRequest) => Promise;\r\n putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise;\r\n putOrganizationUserGroups: (organizationId: string, id: string,\r\n request: OrganizationUserUpdateGroupsRequest) => Promise;\r\n deleteOrganizationUser: (organizationId: string, id: string) => Promise;\r\n\r\n getSync: () => Promise;\r\n postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise;\r\n\r\n getSettingsDomains: () => Promise;\r\n putSettingsDomains: (request: UpdateDomainsRequest) => Promise;\r\n\r\n getTwoFactorProviders: () => Promise>;\r\n getTwoFactorOrganizationProviders: (organizationId: string) => Promise>;\r\n getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorOrganizationDuo: (organizationId: string,\r\n request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise;\r\n putTwoFactorAuthenticator: (\r\n request: UpdateTwoFactorAuthenticatorRequest) => Promise;\r\n putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise;\r\n putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise;\r\n putTwoFactorOrganizationDuo: (organizationId: string,\r\n request: UpdateTwoFactorDuoRequest) => Promise;\r\n putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise;\r\n putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise;\r\n putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise;\r\n putTwoFactorOrganizationDisable: (organizationId: string,\r\n request: TwoFactorProviderRequest) => Promise;\r\n postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise;\r\n postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise;\r\n postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise;\r\n\r\n getOrganization: (id: string) => Promise;\r\n getOrganizationBilling: (id: string) => Promise;\r\n getOrganizationLicense: (id: string, installationId: string) => Promise;\r\n postOrganization: (request: OrganizationCreateRequest) => Promise;\r\n putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise;\r\n postLeaveOrganization: (id: string) => Promise;\r\n postOrganizationLicense: (data: FormData) => Promise;\r\n postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise;\r\n postOrganizationSeat: (id: string, request: SeatRequest) => Promise;\r\n postOrganizationStorage: (id: string, request: StorageRequest) => Promise;\r\n postOrganizationPayment: (id: string, request: PaymentRequest) => Promise;\r\n postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise;\r\n postOrganizationCancel: (id: string) => Promise;\r\n postOrganizationReinstate: (id: string) => Promise;\r\n deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise;\r\n\r\n getEvents: (start: string, end: string, token: string) => Promise>;\r\n getEventsCipher: (id: string, start: string, end: string, token: string) => Promise>;\r\n getEventsOrganization: (id: string, start: string, end: string,\r\n token: string) => Promise>;\r\n getEventsOrganizationUser: (organizationId: string, id: string,\r\n start: string, end: string, token: string) => Promise>;\r\n\r\n getUserPublicKey: (id: string) => Promise;\r\n\r\n fetch: (request: Request) => Promise;\r\n}\r\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\r\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\r\n@Pipe({\n name: 'i18n',\n})\r\nexport class I18nPipe implements PipeTransform {\n constructor(private i18nService: I18nService) { }\n\r\n transform(id: string, p1?: string, p2?: string, p3?: string): string {\r\n return this.i18nService.t(id, p1, p2, p3);\r\n }\r\n}\n","import { DeviceType } from '../enums/deviceType';\n\nexport abstract class PlatformUtilsService {\n identityClientId: string;\n getDevice: () => DeviceType;\n getDeviceString: () => string;\n isFirefox: () => boolean;\n isChrome: () => boolean;\n isEdge: () => boolean;\n isOpera: () => boolean;\n isVivaldi: () => boolean;\n isSafari: () => boolean;\n isIE: () => boolean;\n isMacAppStore: () => boolean;\n analyticsId: () => string;\n getDomain: (uriString: string) => string;\n isViewOpen: () => boolean;\n lockTimeout: () => number;\n launchUri: (uri: string, options?: any) => void;\n saveFile: (win: Window, blobData: any, blobOptions: any, fileName: string) => void;\n getApplicationVersion: () => string;\n supportsU2f: (win: Window) => boolean;\n supportsDuo: () => boolean;\n showToast: (type: 'error' | 'success' | 'warning' | 'info', title: string, text: string) => void;\n showDialog: (text: string, title?: string, confirmText?: string, cancelText?: string,\n type?: string) => Promise;\n isDev: () => boolean;\n isSelfHost: () => boolean;\n copyToClipboard: (text: string, options?: any) => void;\n}\n","import { Injectable } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Injectable()\nexport class ValidationService {\n constructor(private toasterService: ToasterService, private i18nService: I18nService) { }\n\n showError(data: any): string[] {\n const defaultErrorMessage = this.i18nService.t('unexpectedError');\n const errors: string[] = [];\n\n if (data != null && typeof data === 'string') {\n errors.push(data);\n } else if (data == null || typeof data !== 'object') {\n errors.push(defaultErrorMessage);\n } else if (data.validationErrors == null) {\n errors.push(data.message ? data.message : defaultErrorMessage);\n } else {\n for (const key in data.validationErrors) {\n if (!data.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n\n data.validationErrors[key].forEach((item: string) => {\n errors.push(item);\n });\n }\n }\n\n if (errors.length > 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), errors[0]);\n }\n\n return errors;\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { ValidationService } from '../services/validation.service';\r\n\r\n@Directive({\r\n selector: '[appApiAction]',\r\n})\r\nexport class ApiActionDirective implements OnChanges {\r\n @Input() appApiAction: Promise;\n\n constructor(private el: ElementRef, private validationService: ValidationService) { }\n\n ngOnChanges(changes: any) {\n if (this.appApiAction == null || this.appApiAction.then == null) {\r\n return;\r\n }\n\n this.el.nativeElement.loading = true;\n\r\n this.appApiAction.then((response: any) => {\n this.el.nativeElement.loading = false;\n }, (e: any) => {\n this.el.nativeElement.loading = false;\n this.validationService.showError(e);\n });\r\n }\r\n}\n","import { CipherString } from '../models/domain/cipherString';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\r\n\r\nexport abstract class CryptoService {\r\n setKey: (key: SymmetricCryptoKey) => Promise;\r\n setKeyHash: (keyHash: string) => Promise<{}>;\r\n setEncKey: (encKey: string) => Promise<{}>;\r\n setEncPrivateKey: (encPrivateKey: string) => Promise<{}>;\r\n setOrgKeys: (orgs: ProfileOrganizationResponse[]) => Promise<{}>;\r\n getKey: () => Promise;\r\n getKeyHash: () => Promise;\r\n getEncKey: () => Promise;\r\n getPublicKey: () => Promise;\r\n getPrivateKey: () => Promise;\r\n getOrgKeys: () => Promise>;\r\n getOrgKey: (orgId: string) => Promise;\r\n hasKey: () => Promise;\r\n hasEncKey: () => Promise;\r\n clearKey: () => Promise;\r\n clearKeyHash: () => Promise;\r\n clearEncKey: (memoryOnly?: boolean) => Promise;\r\n clearKeyPair: (memoryOnly?: boolean) => Promise;\r\n clearOrgKeys: (memoryOnly?: boolean) => Promise;\r\n clearKeys: () => Promise;\r\n toggleKey: () => Promise;\r\n makeKey: (password: string, salt: string) => Promise;\r\n makeShareKey: () => Promise<[CipherString, SymmetricCryptoKey]>;\r\n makeKeyPair: (key?: SymmetricCryptoKey) => Promise<[string, CipherString]>;\r\n hashPassword: (password: string, key: SymmetricCryptoKey) => Promise;\r\n makeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\r\n encrypt: (plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n encryptToBytes: (plainValue: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n rsaEncrypt: (data: ArrayBuffer, publicKey?: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n decryptToUtf8: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\r\n decryptFromBytes: (encBuf: ArrayBuffer, key: SymmetricCryptoKey) => Promise;\r\n randomNumber: (min: number, max: number) => Promise;\r\n}\r\n","import { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nexport abstract class UserService {\n userId: string;\n email: string;\n stamp: string;\n\n setUserIdAndEmail: (userId: string, email: string) => Promise;\n setSecurityStamp: (stamp: string) => Promise;\n getUserId: () => Promise;\n getEmail: () => Promise;\n getSecurityStamp: () => Promise;\n clear: () => Promise;\n isAuthenticated: () => Promise;\n getOrganization: (id: string) => Promise;\n getAllOrganizations: () => Promise;\n replaceOrganizations: (organizations: { [id: string]: OrganizationData; }) => Promise;\n clearOrganizations: (userId: string) => Promise;\n}\n","import { CipherType } from '../enums/cipherType';\n\nimport { CipherData } from '../models/data/cipherData';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Field } from '../models/domain/field';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { AttachmentView } from '../models/view/attachmentView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FieldView } from '../models/view/fieldView';\n\nexport abstract class CipherService {\n decryptedCipherCache: CipherView[];\n\n clearCache: () => void;\n encrypt: (model: CipherView, key?: SymmetricCryptoKey) => Promise;\n encryptFields: (fieldsModel: FieldView[], key: SymmetricCryptoKey) => Promise;\n encryptField: (fieldModel: FieldView, key: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n getAllDecryptedForGrouping: (groupingId: string, folder?: boolean) => Promise;\n getAllDecryptedForUrl: (url: string, includeOtherTypes?: CipherType[]) => Promise;\n getLastUsedForUrl: (url: string) => Promise;\n updateLastUsedDate: (id: string) => Promise;\n saveNeverDomain: (domain: string) => Promise;\n saveWithServer: (cipher: Cipher) => Promise;\n shareWithServer: (cipher: CipherView, organizationId: string, collectionIds: string[]) => Promise;\n shareManyWithServer: (ciphers: CipherView[], organizationId: string, collectionIds: string[]) => Promise;\n shareAttachmentWithServer: (attachmentView: AttachmentView, cipherId: string,\n organizationId: string) => Promise;\n saveAttachmentWithServer: (cipher: Cipher, unencryptedFile: any, admin?: boolean) => Promise;\n saveAttachmentRawWithServer: (cipher: Cipher, filename: string, data: ArrayBuffer,\n admin?: boolean) => Promise;\n saveCollectionsWithServer: (cipher: Cipher) => Promise;\n upsert: (cipher: CipherData | CipherData[]) => Promise;\n replace: (ciphers: { [id: string]: CipherData; }) => Promise;\n clear: (userId: string) => Promise;\n moveManyWithServer: (ids: string[], folderId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n deleteManyWithServer: (ids: string[]) => Promise;\n deleteAttachment: (id: string, attachmentId: string) => Promise;\n deleteAttachmentWithServer: (id: string, attachmentId: string) => Promise;\n sortCiphersByLastUsed: (a: any, b: any) => number;\n sortCiphersByLastUsedThenName: (a: any, b: any) => number;\n getLocaleSortingFunction: () => (a: CipherView, b: CipherView) => number;\n}\n","export abstract class MessagingService {\r\n send: (subscriber: string, arg?: any) => void;\r\n}\r\n","import { CipherView } from '../view/cipherView';\nimport { CollectionView } from '../view/collectionView';\nimport { FolderView } from '../view/folderView';\n\nexport class ImportResult {\n success = false;\n errorMessage: string;\n ciphers: CipherView[] = [];\n folders: FolderView[] = [];\n folderRelationships: Array<[number, number]> = [];\n collections: CollectionView[] = [];\n collectionRelationships: Array<[number, number]> = [];\n}\n","import * as papa from 'papaparse';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { LoginUriView } from '../models/view/loginUriView';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport abstract class BaseImporter {\r\n organization = false;\r\n\r\n protected newLineRegex = /(?:\\r\\n|\\r|\\n)/;\r\n\r\n protected passwordFieldNames = [\r\n 'password', 'pass word', 'passphrase', 'pass phrase',\r\n 'pass', 'code', 'code word', 'codeword',\r\n 'secret', 'secret word', 'personpwd',\r\n 'key', 'keyword', 'key word', 'keyphrase', 'key phrase',\r\n 'form_pw', 'wppassword', 'pin', 'pwd', 'pw', 'pword', 'passwd',\r\n 'p', 'serial', 'serial#', 'license key', 'reg #',\r\n\r\n // Non-English names\r\n 'passwort',\r\n ];\r\n\r\n protected usernameFieldNames = [\r\n 'user', 'name', 'user name', 'username', 'login name',\r\n 'email', 'e-mail', 'id', 'userid', 'user id',\r\n 'login', 'form_loginname', 'wpname', 'mail',\r\n 'loginid', 'login id', 'log', 'personlogin',\r\n 'first name', 'last name', 'card#', 'account #',\r\n 'member', 'member #',\r\n\r\n // Non-English names\r\n 'nom', 'benutzername',\r\n ];\r\n\r\n protected notesFieldNames = [\r\n 'note', 'notes', 'comment', 'comments', 'memo',\r\n 'description', 'free form', 'freeform',\r\n 'free text', 'freetext', 'free',\r\n\r\n // Non-English names\r\n 'kommentar',\r\n ];\r\n\r\n protected uriFieldNames: string[] = [\r\n 'url', 'hyper link', 'hyperlink', 'link',\r\n 'host', 'hostname', 'host name', 'server', 'address',\r\n 'hyper ref', 'href', 'web', 'website', 'web site', 'site',\r\n 'web-site', 'uri',\r\n\r\n // Non-English names\r\n 'ort', 'adresse',\r\n ];\r\n\r\n protected parseXml(data: string): Document {\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(data, 'application/xml');\r\n return doc != null && doc.querySelector('parsererror') == null ? doc : null;\r\n }\r\n\r\n protected parseCsv(data: string, header: boolean): any[] {\r\n data = this.splitNewLine(data).join('\\n').trim();\r\n const result = papa.parse(data, {\r\n header: header,\r\n encoding: 'UTF-8',\r\n skipEmptyLines: false,\r\n });\r\n if (result.errors != null && result.errors.length > 0) {\r\n result.errors.forEach((e) => {\r\n // tslint:disable-next-line\r\n console.warn('Error parsing row ' + e.row + ': ' + e.message);\r\n });\r\n }\r\n return result.data && result.data.length > 0 ? result.data : null;\r\n }\r\n\r\n protected parseSingleRowCsv(rowData: string) {\r\n if (this.isNullOrWhitespace(rowData)) {\r\n return null;\r\n }\r\n const parsedRow = this.parseCsv(rowData, false);\r\n if (parsedRow != null && parsedRow.length > 0 && parsedRow[0].length > 0) {\r\n return parsedRow[0];\r\n }\r\n return null;\r\n }\r\n\r\n protected makeUriArray(uri: string | string[]): LoginUriView[] {\r\n if (uri == null) {\r\n return null;\r\n }\r\n\r\n if (typeof uri === 'string') {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(uri);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return null;\r\n }\r\n loginUri.match = null;\r\n return [loginUri];\r\n }\r\n\r\n if (uri.length > 0) {\r\n const returnArr: LoginUriView[] = [];\r\n uri.forEach((u) => {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(u);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return;\r\n }\r\n loginUri.match = null;\r\n returnArr.push(loginUri);\r\n });\r\n return returnArr.length === 0 ? null : returnArr;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected fixUri(uri: string) {\r\n if (uri == null) {\r\n return null;\r\n }\r\n uri = uri.toLowerCase().trim();\r\n if (uri.indexOf('://') === -1 && uri.indexOf('.') >= 0) {\r\n uri = 'http://' + uri;\r\n }\r\n if (uri.length > 1000) {\r\n return uri.substring(0, 1000);\r\n }\r\n return uri;\r\n }\r\n\r\n protected nameFromUrl(url: string) {\r\n const hostname = Utils.getHostname(url);\r\n if (this.isNullOrWhitespace(hostname)) {\r\n return null;\r\n }\r\n return hostname.startsWith('www.') ? hostname.replace('www.', '') : hostname;\r\n }\r\n\r\n protected isNullOrWhitespace(str: string): boolean {\r\n return str == null || str.trim() === '';\r\n }\r\n\r\n protected getValueOrDefault(str: string, defaultValue: string = null): string {\r\n if (this.isNullOrWhitespace(str)) {\r\n return defaultValue;\r\n }\r\n return str;\r\n }\r\n\r\n protected splitNewLine(str: string): string[] {\r\n return str.split(this.newLineRegex);\r\n }\r\n\r\n // ref https://stackoverflow.com/a/5911300\r\n protected getCardBrand(cardNum: string) {\r\n if (this.isNullOrWhitespace(cardNum)) {\r\n return null;\r\n }\r\n\r\n // Visa\r\n let re = new RegExp('^4');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n // Mastercard\r\n // Updated for Mastercard 2017 BINs expansion\r\n if (/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/\r\n .test(cardNum)) {\r\n return 'Mastercard';\r\n }\r\n\r\n // AMEX\r\n re = new RegExp('^3[47]');\r\n if (cardNum.match(re) != null) {\r\n return 'Amex';\r\n }\r\n\r\n // Discover\r\n re = new RegExp('^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)');\r\n if (cardNum.match(re) != null) {\r\n return 'Discover';\r\n }\r\n\r\n // Diners\r\n re = new RegExp('^36');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // Diners - Carte Blanche\r\n re = new RegExp('^30[0-5]');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // JCB\r\n re = new RegExp('^35(2[89]|[3-8][0-9])');\r\n if (cardNum.match(re) != null) {\r\n return 'JCB';\r\n }\r\n\r\n // Visa Electron\r\n re = new RegExp('^(4026|417500|4508|4844|491(3|7))');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected moveFoldersToCollections(result: ImportResult) {\r\n result.folderRelationships.forEach((r) => result.collectionRelationships.push(r));\r\n result.collections = result.folders.map((f) => {\r\n const collection = new CollectionView();\r\n collection.name = f.name;\r\n return collection;\r\n });\r\n result.folderRelationships = [];\r\n result.folders = [];\r\n }\r\n\r\n protected querySelectorDirectChild(parentEl: Element, query: string) {\r\n const els = this.querySelectorAllDirectChild(parentEl, query);\r\n return els.length === 0 ? null : els[0];\r\n }\r\n\r\n protected querySelectorAllDirectChild(parentEl: Element, query: string) {\r\n return Array.from(parentEl.querySelectorAll(query)).filter((el) => el.parentNode === parentEl);\r\n }\r\n\r\n protected initLoginCipher() {\r\n const cipher = new CipherView();\r\n cipher.favorite = false;\r\n cipher.notes = '';\r\n cipher.fields = [];\r\n cipher.login = new LoginView();\r\n cipher.type = CipherType.Login;\r\n return cipher;\r\n }\r\n\r\n protected cleanupCipher(cipher: CipherView) {\r\n if (cipher == null) {\r\n return;\r\n }\r\n if (cipher.type !== CipherType.Login) {\r\n cipher.login = null;\r\n }\r\n if (this.isNullOrWhitespace(cipher.name)) {\r\n cipher.name = '--';\r\n }\r\n if (this.isNullOrWhitespace(cipher.notes)) {\r\n cipher.notes = null;\r\n } else {\r\n cipher.notes = cipher.notes.trim();\r\n }\r\n if (cipher.fields != null && cipher.fields.length === 0) {\r\n cipher.fields = null;\r\n }\r\n }\r\n\r\n protected processKvp(cipher: CipherView, key: string, value: string) {\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n if (this.isNullOrWhitespace(key)) {\r\n key = '';\r\n }\r\n if (value.length > 200 || value.trim().search(this.newLineRegex) > -1) {\r\n if (cipher.notes == null) {\r\n cipher.notes = '';\r\n }\r\n cipher.notes += (key + ': ' + this.splitNewLine(value).join('\\n') + '\\n');\r\n } else {\r\n if (cipher.fields == null) {\r\n cipher.fields = [];\r\n }\r\n const field = new FieldView();\r\n field.type = FieldType.Text;\r\n field.name = key;\r\n field.value = value;\r\n cipher.fields.push(field);\r\n }\r\n }\r\n\r\n protected processFolder(result: ImportResult, folderName: string) {\r\n let folderIndex = result.folders.length;\r\n const hasFolder = !this.isNullOrWhitespace(folderName);\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === folderName) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = folderName;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([result.ciphers.length, folderIndex]);\r\n }\r\n }\r\n\r\n protected convertToNoteIfNeeded(cipher: CipherView) {\r\n if (cipher.type === CipherType.Login && this.isNullOrWhitespace(cipher.login.username) &&\r\n this.isNullOrWhitespace(cipher.login.password) &&\r\n (cipher.login.uris == null || cipher.login.uris.length === 0)) {\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n }\r\n }\r\n}\r\n","export abstract class TokenService {\n token: string;\n decodedToken: any;\n refreshToken: string;\n setTokens: (accessToken: string, refreshToken: string) => Promise;\n setToken: (token: string) => Promise;\n getToken: () => Promise;\n setRefreshToken: (refreshToken: string) => Promise;\n getRefreshToken: () => Promise;\n setTwoFactorToken: (token: string, email: string) => Promise;\n getTwoFactorToken: (email: string) => Promise;\n clearTwoFactorToken: (email: string) => Promise;\n clearToken: () => Promise;\n decodeToken: () => any;\n getTokenExpirationDate: () => Date;\n tokenSecondsRemaining: (offsetSeconds?: number) => number;\n tokenNeedsRefresh: (minutes?: number) => boolean;\n getUserId: () => string;\n getEmail: () => string;\n getEmailVerified: () => boolean;\n getName: () => string;\n getPremium: () => boolean;\n getIssuer: () => string;\n}\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-callout',\r\n templateUrl: 'callout.component.html',\r\n})\r\nexport class CalloutComponent implements OnInit {\r\n @Input() type = 'info';\r\n @Input() icon: string;\r\n @Input() title: string;\r\n\r\n calloutStyle: string;\r\n\r\n constructor(private i18nService: I18nService) { }\r\n\r\n ngOnInit() {\r\n this.calloutStyle = this.type;\r\n\r\n if (this.type === 'warning' || this.type === 'danger') {\r\n if (this.type === 'danger') {\r\n this.calloutStyle = 'danger';\r\n }\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('warning');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-warning';\r\n }\r\n } else if (this.type === 'error') {\r\n this.calloutStyle = 'danger';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('error');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-bolt';\r\n }\r\n } else if (this.type === 'tip') {\r\n this.calloutStyle = 'success';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('tip');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-lightbulb-o';\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n

\r\n \r\n {{title}}\r\n

\r\n \r\n
\r\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nexport abstract class CollectionService {\n decryptedCollectionCache: CollectionView[];\n\n clearCache: () => void;\n encrypt: (model: CollectionView) => Promise;\n decryptMany: (collections: Collection[]) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n upsert: (collection: CollectionData | CollectionData[]) => Promise;\n replace: (collections: { [id: string]: CollectionData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appInputVerbatim]',\n})\nexport class InputVerbatimDirective {\n @Input() set appInputVerbatim(condition: boolean | string) {\n this.disableComplete = condition === '' || condition === true;\n }\n\n private disableComplete: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (this.disableComplete && !this.el.nativeElement.hasAttribute('autocomplete')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocomplete', 'off');\n }\n if (!this.el.nativeElement.hasAttribute('autocapitalize')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocapitalize', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('autocorrect')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocorrect', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('spellcheck')) {\n this.renderer.setAttribute(this.el.nativeElement, 'spellcheck', 'false');\n }\n if (!this.el.nativeElement.hasAttribute('inputmode')) {\n this.renderer.setAttribute(this.el.nativeElement, 'inputmode', 'verbatim');\n }\n }\n}\n","import { I18nService } from '../abstractions/i18n.service';\n\n// tslint:disable-next-line\nconst nodeURL = typeof window === 'undefined' ? require('url').URL : null;\n\nexport class Utils {\n static inited = false;\n static isNode = false;\n static isBrowser = true;\n static global: NodeJS.Global | Window = null;\n\n static init() {\n if (Utils.inited) {\n return;\n }\n\n Utils.inited = true;\n Utils.isNode = typeof process !== 'undefined' && (process as any).release != null &&\n (process as any).release.name === 'node';\n Utils.isBrowser = typeof window !== 'undefined';\n Utils.global = Utils.isNode && !Utils.isBrowser ? global : window;\n }\n\n static fromB64ToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'base64'));\n } else {\n const binaryString = window.atob(str);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n }\n }\n\n static fromHexToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'hex'));\n } else {\n const bytes = new Uint8Array(str.length / 2);\n for (let i = 0; i < str.length; i += 2) {\n bytes[i / 2] = parseInt(str.substr(i, 2), 16);\n }\n return bytes;\n }\n }\n\n static fromUtf8ToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'utf8'));\n } else {\n const strUtf8 = unescape(encodeURIComponent(str));\n const arr = new Uint8Array(strUtf8.length);\n for (let i = 0; i < strUtf8.length; i++) {\n arr[i] = strUtf8.charCodeAt(i);\n }\n return arr;\n }\n }\n\n static fromByteStringToArray(str: string): Uint8Array {\n const arr = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n arr[i] = str.charCodeAt(i);\n }\n return arr;\n }\n\n static fromBufferToB64(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('base64');\n } else {\n let binary = '';\n const bytes = new Uint8Array(buffer);\n for (let i = 0; i < bytes.byteLength; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n }\n }\n\n static fromBufferToUtf8(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('utf8');\n } else {\n const bytes = new Uint8Array(buffer);\n const encodedString = String.fromCharCode.apply(null, bytes);\n return decodeURIComponent(escape(encodedString));\n }\n }\n\n static fromBufferToByteString(buffer: ArrayBuffer): string {\n return String.fromCharCode.apply(null, new Uint8Array(buffer));\n }\n\n // ref: https://stackoverflow.com/a/40031979/1090359\n static fromBufferToHex(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('hex');\n } else {\n const bytes = new Uint8Array(buffer);\n return Array.prototype.map.call(bytes, (x: number) => ('00' + x.toString(16)).slice(-2)).join('');\n }\n }\n\n static fromUrlB64ToUtf8(b64Str: string): string {\n let output = b64Str.replace(/-/g, '+').replace(/_/g, '/');\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += '==';\n break;\n case 3:\n output += '=';\n break;\n default:\n throw new Error('Illegal base64url string!');\n }\n\n return Utils.fromB64ToUtf8(output);\n }\n\n static fromB64ToUtf8(b64Str: string): string {\n if (Utils.isNode) {\n return new Buffer(b64Str, 'base64').toString('utf8');\n } else {\n return decodeURIComponent(escape(window.atob(b64Str)));\n }\n }\n\n // ref: http://stackoverflow.com/a/2117523/1090359\n static newGuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n // tslint:disable-next-line\n const r = Math.random() * 16 | 0;\n // tslint:disable-next-line\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n static getHostname(uriString: string): string {\n const url = Utils.getUrl(uriString);\n return url != null ? url.hostname : null;\n }\n\n static getHost(uriString: string): string {\n const url = Utils.getUrl(uriString);\n return url != null ? url.host : null;\n }\n\n static getSortFunction(i18nService: I18nService, prop: string) {\n return (a: any, b: any) => {\n if (a[prop] == null && b[prop] != null) {\n return -1;\n }\n if (a[prop] != null && b[prop] == null) {\n return 1;\n }\n if (a[prop] == null && b[prop] == null) {\n return 0;\n }\n\n return i18nService.collator ? i18nService.collator.compare(a[prop], b[prop]) :\n a[prop].localeCompare(b[prop]);\n };\n }\n\n private static getUrl(uriString: string): URL {\n if (uriString == null) {\n return null;\n }\n\n uriString = uriString.trim();\n if (uriString === '') {\n return null;\n }\n\n if (uriString.indexOf('://') === -1 && uriString.indexOf('.') > -1) {\n uriString = 'http://' + uriString;\n }\n\n if (uriString.startsWith('http://') || uriString.startsWith('https://')) {\n try {\n if (nodeURL != null) {\n return new nodeURL(uriString);\n } else if (typeof URL === 'function') {\n return new URL(uriString);\n } else if (window != null) {\n const anchor = window.document.createElement('a');\n anchor.href = uriString;\n return anchor as any;\n }\n } catch (e) { }\n }\n\n return null;\n }\n}\n\nUtils.init();\n","import { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport abstract class FolderService {\n decryptedFolderCache: FolderView[];\n\n clearCache: () => void;\n encrypt: (model: FolderView, key?: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n saveWithServer: (folder: Folder) => Promise;\n upsert: (folder: FolderData | FolderData[]) => Promise;\n replace: (folders: { [id: string]: FolderData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n}\n","export enum CipherType {\r\n Login = 1,\r\n SecureNote = 2,\r\n Card = 3,\r\n Identity = 4,\r\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopClick]',\r\n})\r\nexport class StopClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.preventDefault();\r\n }\r\n}\n","export abstract class StateService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n purge: () => Promise;\r\n}\r\n","export abstract class SyncService {\r\n syncInProgress: boolean;\n\r\n getLastSync: () => Promise;\r\n setLastSync: (date: Date) => Promise;\r\n syncStarted: () => void;\r\n syncCompleted: (successfully: boolean) => void;\r\n fullSync: (forceSync: boolean) => Promise;\r\n}\r\n","export class PasswordVerificationRequest {\n masterPasswordHash: string;\n}\n","export enum TwoFactorProviderType {\r\n Authenticator = 0,\r\n Email = 1,\r\n Duo = 2,\r\n Yubikey = 3,\n U2f = 4,\r\n Remember = 5,\r\n OrganizationDuo = 6,\r\n}\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\n\n@Directive({\n selector: '[appAutofocus]',\n})\nexport class AutofocusDirective {\n @Input() set appAutofocus(condition: boolean | string) {\n this.autofocus = condition === '' || condition === true;\n }\n\n private autofocus: boolean;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n if (this.autofocus) {\n this.el.nativeElement.focus();\n }\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { SecureNote } from '../domain/secureNote';\r\n\r\nexport class SecureNoteView implements View {\r\n type: SecureNoteType;\r\n\r\n constructor(n?: SecureNote) {\r\n if (!n) {\r\n return;\r\n }\r\n\r\n this.type = n.type;\r\n }\r\n\r\n get subTitle(): string {\r\n return null;\r\n }\r\n}\r\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopProp]',\r\n})\r\nexport class StopPropDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.stopPropagation();\r\n }\r\n}\n","import * as jq from 'jquery';\r\n\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent extends BaseModalComponent {\r\n el: any = null;\r\n\r\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\r\n super(componentFactoryResolver);\r\n }\r\n\r\n ngOnDestroy() { /* Nothing */ }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal'));\r\n if (modals.length > 0) {\r\n this.el = jq(modals[0]);\r\n this.el.modal('show');\r\n\r\n this.el.on('show.bs.modal', () => {\r\n this.onShow.emit();\r\n });\r\n this.el.on('shown.bs.modal', () => {\r\n this.onShown.emit();\r\n this.el.find('*[appAutoFocus]').focus();\r\n });\r\n this.el.on('hide.bs.modal', () => {\r\n this.onClose.emit();\r\n });\r\n this.el.on('hidden.bs.modal', () => {\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n });\r\n }\r\n\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n if (this.el != null) {\r\n this.el.modal('hide');\r\n }\r\n }\r\n}\r\n","import { PasswordHistory } from '../models/domain/passwordHistory';\r\n\r\nexport abstract class PasswordGenerationService {\r\n generatePassword: (options: any) => Promise;\r\n getOptions: () => any;\r\n saveOptions: (options: any) => Promise;\r\n getHistory: () => Promise;\r\n addHistory: (password: string) => Promise;\r\n clear: () => Promise;\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\n\nexport abstract class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType;\n\n logIn: (email: string, masterPassword: string) => Promise;\n logInTwoFactor: (twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean) => Promise;\n logInComplete: (email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean) => Promise;\n logOut: (callback: Function) => void;\n getSupportedTwoFactorProviders: (win: Window) => any[];\n getDefaultTwoFactorProvider: (u2fSupported: boolean) => TwoFactorProviderType;\n}\n","import { CipherString } from './cipherString';\n\nimport { View } from '../view/view';\n\nexport default abstract class Domain {\n protected buildDomainModel(domain: D, dataObj: any, map: any,\n alreadyEncrypted: boolean, notEncList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = dataObj[(map[prop] || prop)];\n if (alreadyEncrypted === true || notEncList.indexOf(prop) > -1) {\n (domain as any)[prop] = objProp ? objProp : null;\n } else {\n (domain as any)[prop] = objProp ? new CipherString(objProp) : null;\n }\n }\n }\n protected buildDataModel(domain: D, dataObj: any, map: any, notCipherStringList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = (domain as any)[(map[prop] || prop)];\n if (notCipherStringList.indexOf(prop) > -1) {\n (dataObj as any)[prop] = objProp != null ? objProp : null;\n } else {\n (dataObj as any)[prop] = objProp != null ? (objProp as CipherString).encryptedString : null;\n }\n }\n }\n\n protected async decryptObj(viewModel: T, map: any, orgId: string): Promise {\n const promises = [];\n const self: any = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp) {\n const p = Promise.resolve().then(() => {\n const mapProp = map[theProp] || theProp;\n if (self[mapProp]) {\n return self[mapProp].decrypt(orgId);\n }\n return null;\n }).then((val: any) => {\n (viewModel as any)[theProp] = val;\n });\n promises.push(p);\n })(prop);\n }\n\n await Promise.all(promises);\n return viewModel;\n }\n}\n","export enum SecureNoteType {\r\n Generic = 0,\r\n}\r\n","export class ConstantsService {\r\n static readonly environmentUrlsKey: string = 'environmentUrls';\r\n static readonly disableGaKey: string = 'disableGa';\r\n static readonly disableAddLoginNotificationKey: string = 'disableAddLoginNotification';\r\n static readonly disableContextMenuItemKey: string = 'disableContextMenuItem';\r\n static readonly disableFaviconKey: string = 'disableFavicon';\r\n static readonly disableAutoTotpCopyKey: string = 'disableAutoTotpCopy';\r\n static readonly enableAutoFillOnPageLoadKey: string = 'enableAutoFillOnPageLoad';\r\n static readonly lockOptionKey: string = 'lockOption';\r\n static readonly lastActiveKey: string = 'lastActive';\r\n static readonly neverDomainsKey: string = 'neverDomains';\r\n static readonly installedVersionKey: string = 'installedVersion';\r\n static readonly localeKey: string = 'locale';\r\n static readonly themeKey: string = 'theme';\r\n\r\n readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey;\r\n readonly disableGaKey: string = ConstantsService.disableGaKey;\r\n readonly disableAddLoginNotificationKey: string = ConstantsService.disableAddLoginNotificationKey;\r\n readonly disableContextMenuItemKey: string = ConstantsService.disableContextMenuItemKey;\r\n readonly disableFaviconKey: string = ConstantsService.disableFaviconKey;\r\n readonly disableAutoTotpCopyKey: string = ConstantsService.disableAutoTotpCopyKey;\r\n readonly enableAutoFillOnPageLoadKey: string = ConstantsService.enableAutoFillOnPageLoadKey;\r\n readonly lockOptionKey: string = ConstantsService.lockOptionKey;\r\n readonly lastActiveKey: string = ConstantsService.lastActiveKey;\r\n readonly neverDomainsKey: string = ConstantsService.neverDomainsKey;\r\n readonly installedVersionKey: string = ConstantsService.installedVersionKey;\r\n readonly localeKey: string = ConstantsService.localeKey;\r\n readonly themeKey: string = ConstantsService.themeKey;\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\n\nimport { AttachmentData } from './attachmentData';\nimport { CardData } from './cardData';\nimport { FieldData } from './fieldData';\nimport { IdentityData } from './identityData';\nimport { LoginData } from './loginData';\nimport { SecureNoteData } from './secureNoteData';\n\nimport { CipherResponse } from '../response/cipherResponse';\n\nexport class CipherData {\n id: string;\n organizationId: string;\n folderId: string;\n userId: string;\n edit: boolean;\n organizationUseTotp: boolean;\n favorite: boolean;\n revisionDate: Date;\n type: CipherType;\n sizeName: string;\n name: string;\n notes: string;\n login?: LoginData;\n secureNote?: SecureNoteData;\n card?: CardData;\n identity?: IdentityData;\n fields?: FieldData[];\n attachments?: AttachmentData[];\n collectionIds?: string[];\n\n constructor(response?: CipherResponse, userId?: string, collectionIds?: string[]) {\n if (response == null) {\n return;\n }\n\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.folderId = response.folderId;\n this.userId = userId;\n this.edit = response.edit;\n this.organizationUseTotp = response.organizationUseTotp;\n this.favorite = response.favorite;\n this.revisionDate = response.revisionDate;\n this.type = response.type;\n this.name = response.name;\n this.notes = response.notes;\n\n if (collectionIds != null) {\n this.collectionIds = collectionIds;\n } else {\n this.collectionIds = response.collectionIds;\n }\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new LoginData(response.login);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNoteData(response.secureNote);\n break;\n case CipherType.Card:\n this.card = new CardData(response.card);\n break;\n case CipherType.Identity:\n this.identity = new IdentityData(response.identity);\n break;\n default:\n break;\n }\n\n if (response.fields != null) {\n this.fields = [];\n response.fields.forEach((field) => {\n this.fields.push(new FieldData(field));\n });\n }\n\n if (response.attachments != null) {\n this.attachments = [];\n response.attachments.forEach((attachment) => {\n this.attachments.push(new AttachmentData(attachment));\n });\n }\n }\n}\n","import { View } from './view';\r\n\r\nimport { Card } from '../domain/card';\r\n\r\nexport class CardView implements View {\r\n cardholderName: string;\r\n expMonth: string = null;\r\n expYear: string;\r\n code: string;\r\n\r\n // tslint:disable\r\n private _brand: string = null;\r\n private _number: string;\r\n private _subTitle: string;\r\n // tslint:enable\r\n\r\n constructor(c?: Card) {\r\n // ctor\r\n }\r\n\r\n get maskedCode(): string {\r\n return this.code != null ? '•'.repeat(this.code.length) : null;\r\n }\r\n\r\n get brand(): string {\r\n return this._brand;\r\n }\r\n set brand(value: string) {\r\n this._brand = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get number(): string {\r\n return this._number;\r\n }\r\n set number(value: string) {\r\n this._number = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null) {\r\n this._subTitle = this.brand;\r\n if (this.number != null && this.number.length >= 4) {\r\n if (this._subTitle != null && this._subTitle !== '') {\r\n this._subTitle += ', ';\r\n } else {\r\n this._subTitle = '';\r\n }\r\n this._subTitle += ('*' + this.number.substr(this.number.length - 4));\r\n }\r\n }\r\n return this._subTitle;\r\n }\r\n\r\n get expiration(): string {\r\n if (!this.expMonth && !this.expYear) {\r\n return null;\r\n }\r\n\r\n let exp = this.expMonth != null ? ('0' + this.expMonth).slice(-2) : '__';\r\n exp += (' / ' + (this.expYear != null ? this.formatYear(this.expYear) : '____'));\r\n return exp;\r\n }\r\n\r\n private formatYear(year: string): string {\r\n return year.length === 2 ? '20' + year : year;\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-avatar',\r\n template: '',\r\n})\r\nexport class AvatarComponent implements OnChanges, OnInit {\r\n @Input() data: string;\r\n @Input() width = 45;\r\n @Input() height = 45;\r\n @Input() charCount = 2;\r\n @Input() textColor = '#ffffff';\r\n @Input() fontSize = 20;\r\n @Input() fontWeight = 300;\r\n @Input() dynamic = false;\r\n @Input() circle = false;\r\n\r\n src: string;\r\n\r\n constructor(public sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit() {\r\n if (!this.dynamic) {\r\n this.generate();\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.dynamic) {\r\n this.generate();\r\n }\r\n }\r\n\r\n private generate() {\r\n let chars: string = null;\r\n const upperData = this.data.toUpperCase();\r\n\r\n if (this.charCount > 1) {\r\n chars = this.getFirstLetters(upperData, this.charCount);\r\n }\r\n if (chars == null) {\r\n chars = upperData.substr(0, this.charCount);\r\n }\r\n\r\n const charObj = this.getCharText(chars);\r\n const color = this.stringToColor(upperData);\r\n const svg = this.getSvg(this.width, this.height, color);\r\n svg.appendChild(charObj);\r\n const html = window.document.createElement('div').appendChild(svg).outerHTML;\r\n const svgHtml = window.btoa(unescape(encodeURIComponent(html)));\r\n this.src = 'data:image/svg+xml;base64,' + svgHtml;\r\n }\r\n\r\n private stringToColor(str: string): string {\r\n let hash = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n // tslint:disable-next-line\r\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\r\n }\r\n let color = '#';\r\n for (let i = 0; i < 3; i++) {\r\n // tslint:disable-next-line\r\n const value = (hash >> (i * 8)) & 0xFF;\r\n color += ('00' + value.toString(16)).substr(-2);\r\n }\r\n return color;\r\n }\r\n\r\n private getFirstLetters(data: string, count: number): string {\r\n const parts = data.split(' ');\r\n if (parts.length > 1) {\r\n let text = '';\r\n for (let i = 0; i < count; i++) {\r\n text += parts[i].substr(0, 1);\r\n }\r\n return text;\r\n }\r\n return null;\r\n }\r\n\r\n private getSvg(width: number, height: number, color: string): HTMLElement {\r\n const svgTag = window.document.createElement('svg');\r\n svgTag.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\r\n svgTag.setAttribute('pointer-events', 'none');\r\n svgTag.setAttribute('width', width.toString());\r\n svgTag.setAttribute('height', height.toString());\r\n svgTag.style.backgroundColor = color;\r\n svgTag.style.width = width + 'px';\r\n svgTag.style.height = height + 'px';\r\n return svgTag;\r\n }\r\n\r\n private getCharText(character: string): HTMLElement {\r\n const textTag = window.document.createElement('text');\r\n textTag.setAttribute('text-anchor', 'middle');\r\n textTag.setAttribute('y', '50%');\r\n textTag.setAttribute('x', '50%');\r\n textTag.setAttribute('dy', '0.35em');\r\n textTag.setAttribute('pointer-events', 'auto');\r\n textTag.setAttribute('fill', this.textColor);\r\n textTag.setAttribute('font-family', '\"Open Sans\",\"Helvetica Neue\",Helvetica,Arial,' +\r\n 'sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"');\r\n textTag.textContent = character;\r\n textTag.style.fontWeight = this.fontWeight.toString();\r\n textTag.style.fontSize = this.fontSize + 'px';\r\n return textTag;\r\n }\r\n}\r\n","export abstract class StorageService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-two-factor-verify',\n templateUrl: 'two-factor-verify.component.html',\n})\nexport class TwoFactorVerifyComponent {\n @Input() type: TwoFactorProviderType;\n @Input() organizationId: string;\n @Output() onAuthed = new EventEmitter();\n\n masterPassword: string;\n formPromise: Promise;\n\n private masterPasswordHash: string;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private toasterService: ToasterService, private cryptoService: CryptoService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash =\n await this.cryptoService.hashPassword(this.masterPassword, null);\n\n try {\n switch (this.type) {\n case -1:\n this.formPromise = this.apiService.getTwoFactorRecover(request);\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n if (this.organizationId != null) {\n this.formPromise = this.apiService.getTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.getTwoFactorDuo(request);\n }\n break;\n case TwoFactorProviderType.Email:\n this.formPromise = this.apiService.getTwoFactorEmail(request);\n break;\n case TwoFactorProviderType.U2f:\n this.formPromise = this.apiService.getTwoFactorU2f(request);\n break;\n case TwoFactorProviderType.Authenticator:\n this.formPromise = this.apiService.getTwoFactorAuthenticator(request);\n break;\n case TwoFactorProviderType.Yubikey:\n this.formPromise = this.apiService.getTwoFactorYubiKey(request);\n break;\n }\n\n const response = await this.formPromise;\n this.onAuthed.emit({\n response: response,\n masterPasswordHash: this.masterPasswordHash,\n });\n } catch { }\n }\n}\n","import { CollectionDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionData {\n id: string;\n organizationId: string;\n name: string;\n readOnly: boolean;\n\n constructor(response: CollectionDetailsResponse) {\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.name = response.name;\n this.readOnly = response.readOnly;\n }\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nconst Keys = {\n stripeTest: 'pk_test_KPoCfZXu7mznb9uSCPZ2JpTD',\n stripeLive: 'pk_live_bpN0P37nMxrMQkcaHXtAybJk',\n btSandbox: 'sandbox_r72q8jq6_9pnxkwm75f87sdc2',\n btProduction: 'production_qfbsv8kc_njj2zjtyngtjmbjd',\n};\n\n@Component({\n selector: 'app-payment',\n templateUrl: 'payment.component.html',\n})\nexport class PaymentComponent implements OnInit {\n @Input() showOptions = true;\n @Input() method: 'card' | 'paypal' | 'bank' = 'card';\n @Input() hideBank = false;\n @Input() hidePaypal = false;\n\n card: any = {\n number: null,\n exp_month: null,\n exp_year: null,\n address_country: '',\n address_zip: null,\n };\n bank: any = {\n routing_number: null,\n account_number: null,\n account_holder_name: null,\n account_holder_type: '',\n currency: 'USD',\n country: 'US',\n };\n cardExpMonthOptions: any[];\n cardExpYearOptions: any[];\n\n private stripeScript: HTMLScriptElement;\n private btScript: HTMLScriptElement;\n private btInstance: any = null;\n\n constructor(i18nService: I18nService, private platformUtilsService: PlatformUtilsService) {\n this.stripeScript = window.document.createElement('script');\n this.stripeScript.src = 'https://js.stripe.com/v2/';\n this.stripeScript.async = true;\n this.stripeScript.onload = () => {\n (window as any).Stripe.setPublishableKey(\n this.platformUtilsService.isDev() ? Keys.stripeTest : Keys.stripeLive);\n };\n this.btScript = window.document.createElement('script');\n this.btScript.src = 'https://js.braintreegateway.com/web/dropin/1.4.0/js/dropin.min.js';\n this.btScript.async = true;\n\n this.cardExpMonthOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: '01 - ' + i18nService.t('january'), value: '01' },\n { name: '02 - ' + i18nService.t('february'), value: '02' },\n { name: '03 - ' + i18nService.t('march'), value: '03' },\n { name: '04 - ' + i18nService.t('april'), value: '04' },\n { name: '05 - ' + i18nService.t('may'), value: '05' },\n { name: '06 - ' + i18nService.t('june'), value: '06' },\n { name: '07 - ' + i18nService.t('july'), value: '07' },\n { name: '08 - ' + i18nService.t('august'), value: '08' },\n { name: '09 - ' + i18nService.t('september'), value: '09' },\n { name: '10 - ' + i18nService.t('october'), value: '10' },\n { name: '11 - ' + i18nService.t('november'), value: '11' },\n { name: '12 - ' + i18nService.t('december'), value: '12' },\n ];\n\n this.cardExpYearOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n ];\n const year = (new Date()).getFullYear();\n for (let i = year; i < (year + 15); i++) {\n this.cardExpYearOptions.push({ name: i.toString(), value: i.toString().slice(-2) });\n }\n }\n\n ngOnInit() {\n if (!this.showOptions) {\n this.hidePaypal = this.method !== 'paypal';\n this.hideBank = this.method !== 'bank';\n }\n window.document.head.appendChild(this.stripeScript);\n if (!this.hidePaypal) {\n window.document.head.appendChild(this.btScript);\n }\n }\n\n ngOnDestroy() {\n window.document.head.removeChild(this.stripeScript);\n Array.from(window.document.querySelectorAll('iframe')).forEach((el) => {\n if (el.src != null && el.src.indexOf('stripe') > -1) {\n window.document.body.removeChild(el);\n }\n });\n if (!this.hidePaypal) {\n window.document.head.removeChild(this.btScript);\n const btStylesheet = window.document.head.querySelector('#braintree-dropin-stylesheet');\n if (btStylesheet != null) {\n window.document.head.removeChild(btStylesheet);\n }\n }\n }\n\n changeMethod() {\n if (this.method !== 'paypal') {\n this.btInstance = null;\n return;\n }\n\n window.setTimeout(() => {\n (window as any).braintree.dropin.create({\n authorization: this.platformUtilsService.isDev() ? Keys.btSandbox : Keys.btProduction,\n container: '#bt-dropin-container',\n paymentOptionPriority: ['paypal'],\n paypal: {\n flow: 'vault',\n buttonStyle: {\n label: 'pay',\n size: 'medium',\n shape: 'pill',\n color: 'blue',\n },\n },\n }, (createErr: any, instance: any) => {\n if (createErr != null) {\n // tslint:disable-next-line\n console.error(createErr);\n return;\n }\n this.btInstance = instance;\n });\n }, 250);\n }\n\n createPaymentToken(): Promise {\n return new Promise((resolve, reject) => {\n if (this.method === 'paypal') {\n this.btInstance.requestPaymentMethod().then((payload: any) => {\n resolve(payload.nonce);\n }).catch((err: any) => {\n reject(err.message);\n });\n } else if (this.method === 'card' || this.method === 'bank') {\n const createObj: any = this.method === 'card' ? (window as any).Stripe.card :\n (window as any).Stripe.bankAccount;\n const sourceObj = this.method === 'card' ? this.card : this.bank;\n createObj.createToken(sourceObj, (status: number, response: any) => {\n if (status === 200 && response.id != null) {\n resolve(response.id);\n } else if (response.error != null) {\n reject(response.error.message);\n } else {\n reject();\n }\n });\n }\n });\n }\n\n getCountry(): string {\n return this.card.address_country;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Folder } from '../domain/folder';\r\n\r\nexport class FolderView implements View {\r\n id: string = null;\r\n name: string;\r\n\r\n constructor(f?: Folder) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.id = f.id;\r\n }\r\n}\r\n","import { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nexport abstract class AuditService {\n passwordLeaked: (password: string) => Promise;\n breachedAccounts: (username: string) => Promise;\n}\n","","export abstract class EnvironmentService {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n\n getWebVaultUrl: () => string;\n setUrlsFromStorage: () => Promise;\n setUrls: (urls: any) => Promise;\n}\n","
\n
\n

{{'twoStepLoginAuthDesc' | i18n}}

\n \n \n
\n
\n \n \n
\n
\n","import { CipherType } from '../../enums/cipherType';\n\nimport { CipherData } from '../data/cipherData';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Attachment } from './attachment';\nimport { Card } from './card';\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { SecureNote } from './secureNote';\n\nexport class Cipher extends Domain {\n id: string;\n organizationId: string;\n folderId: string;\n name: CipherString;\n notes: CipherString;\n type: CipherType;\n favorite: boolean;\n organizationUseTotp: boolean;\n edit: boolean;\n revisionDate: Date;\n localData: any;\n login: Login;\n identity: Identity;\n card: Card;\n secureNote: SecureNote;\n attachments: Attachment[];\n fields: Field[];\n collectionIds: string[];\n\n constructor(obj?: CipherData, alreadyEncrypted: boolean = false, localData: any = null) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n userId: null,\n organizationId: null,\n folderId: null,\n name: null,\n notes: null,\n }, alreadyEncrypted, ['id', 'userId', 'organizationId', 'folderId']);\n\n this.type = obj.type;\n this.favorite = obj.favorite;\n this.organizationUseTotp = obj.organizationUseTotp;\n this.edit = obj.edit;\n this.revisionDate = obj.revisionDate;\n this.collectionIds = obj.collectionIds;\n this.localData = localData;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new Login(obj.login, alreadyEncrypted);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNote(obj.secureNote, alreadyEncrypted);\n break;\n case CipherType.Card:\n this.card = new Card(obj.card, alreadyEncrypted);\n break;\n case CipherType.Identity:\n this.identity = new Identity(obj.identity, alreadyEncrypted);\n break;\n default:\n break;\n }\n\n if (obj.attachments != null) {\n this.attachments = [];\n obj.attachments.forEach((attachment) => {\n this.attachments.push(new Attachment(attachment, alreadyEncrypted));\n });\n } else {\n this.attachments = null;\n }\n\n if (obj.fields != null) {\n this.fields = [];\n obj.fields.forEach((field) => {\n this.fields.push(new Field(field, alreadyEncrypted));\n });\n } else {\n this.fields = null;\n }\n }\n\n async decrypt(): Promise {\n const model = new CipherView(this);\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, this.organizationId);\n\n switch (this.type) {\n case CipherType.Login:\n model.login = await this.login.decrypt(this.organizationId);\n break;\n case CipherType.SecureNote:\n model.secureNote = await this.secureNote.decrypt(this.organizationId);\n break;\n case CipherType.Card:\n model.card = await this.card.decrypt(this.organizationId);\n break;\n case CipherType.Identity:\n model.identity = await this.identity.decrypt(this.organizationId);\n break;\n default:\n break;\n }\n\n const orgId = this.organizationId;\n\n if (this.attachments != null && this.attachments.length > 0) {\n const attachments: any[] = [];\n await this.attachments.reduce((promise, attachment) => {\n return promise.then(() => {\n return attachment.decrypt(orgId);\n }).then((decAttachment) => {\n attachments.push(decAttachment);\n });\n }, Promise.resolve());\n model.attachments = attachments;\n }\n\n if (this.fields != null && this.fields.length > 0) {\n const fields: any[] = [];\n await this.fields.reduce((promise, field) => {\n return promise.then(() => {\n return field.decrypt(orgId);\n }).then((decField) => {\n fields.push(decField);\n });\n }, Promise.resolve());\n model.fields = fields;\n }\n\n return model;\n }\n\n toCipherData(userId: string): CipherData {\n const c = new CipherData();\n c.id = this.id;\n c.organizationId = this.organizationId;\n c.folderId = this.folderId;\n c.userId = this.organizationId != null ? userId : null;\n c.edit = this.edit;\n c.organizationUseTotp = this.organizationUseTotp;\n c.favorite = this.favorite;\n c.revisionDate = this.revisionDate;\n c.type = this.type;\n c.collectionIds = this.collectionIds;\n\n this.buildDataModel(this, c, {\n name: null,\n notes: null,\n });\n\n switch (c.type) {\n case CipherType.Login:\n c.login = this.login.toLoginData();\n break;\n case CipherType.SecureNote:\n c.secureNote = this.secureNote.toSecureNoteData();\n break;\n case CipherType.Card:\n c.card = this.card.toCardData();\n break;\n case CipherType.Identity:\n c.identity = this.identity.toIdentityData();\n break;\n default:\n break;\n }\n\n if (this.fields != null) {\n c.fields = [];\n this.fields.forEach((field) => {\n c.fields.push(field.toFieldData());\n });\n }\n\n if (this.attachments != null) {\n c.attachments = [];\n this.attachments.forEach((attachment) => {\n c.attachments.push(attachment.toAttachmentData());\n });\n }\n return c;\n }\n}\n","import { CollectionData } from '../data/collectionData';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class Collection extends Domain {\n id: string;\n organizationId: string;\n name: CipherString;\n readOnly: boolean;\n\n constructor(obj?: CollectionData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n organizationId: null,\n name: null,\n readOnly: null,\n }, alreadyEncrypted, ['id', 'organizationId', 'readOnly']);\n }\n\n decrypt(): Promise {\n return this.decryptObj(new CollectionView(this), {\n name: null,\n }, this.organizationId);\n }\n}\n","import { LoginUriView } from './loginUriView';\r\nimport { View } from './view';\r\n\r\nimport { Login } from '../domain/login';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class LoginView implements View {\r\n username: string;\r\n password: string;\r\n totp: string;\r\n uris: LoginUriView[];\r\n\r\n constructor(l?: Login) {\r\n // ctor\r\n }\r\n\r\n get uri(): string {\r\n return this.hasUris ? this.uris[0].uri : null;\r\n }\r\n\r\n get maskedPassword(): string {\r\n return this.password != null ? '••••••••' : null;\r\n }\r\n\r\n get subTitle(): string {\r\n return this.username;\r\n }\r\n\r\n get canLaunch(): boolean {\r\n return this.hasUris && this.uris[0].canLaunch;\r\n }\r\n\r\n get hasUris(): boolean {\r\n return this.uris != null && this.uris.length > 0;\r\n }\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\n\nimport { Cipher } from '../domain/cipher';\n\nimport { AttachmentView } from './attachmentView';\nimport { CardView } from './cardView';\nimport { FieldView } from './fieldView';\nimport { IdentityView } from './identityView';\nimport { LoginView } from './loginView';\nimport { SecureNoteView } from './secureNoteView';\nimport { View } from './view';\n\nexport class CipherView implements View {\n id: string;\n organizationId: string;\n folderId: string;\n name: string;\n notes: string;\n type: CipherType;\n favorite = false;\n organizationUseTotp = false;\n edit = false;\n localData: any;\n login: LoginView;\n identity: IdentityView;\n card: CardView;\n secureNote: SecureNoteView;\n attachments: AttachmentView[];\n fields: FieldView[];\n collectionIds: string[];\n\n constructor(c?: Cipher) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.folderId = c.folderId;\n this.favorite = c.favorite;\n this.organizationUseTotp = c.organizationUseTotp;\n this.edit = c.edit;\n this.type = c.type;\n this.localData = c.localData;\n this.collectionIds = c.collectionIds;\n }\n\n get subTitle(): string {\n switch (this.type) {\n case CipherType.Login:\n return this.login.subTitle;\n case CipherType.SecureNote:\n return this.secureNote.subTitle;\n case CipherType.Card:\n return this.card.subTitle;\n case CipherType.Identity:\n return this.identity.subTitle;\n default:\n break;\n }\n\n return null;\n }\n\n get hasAttachments(): boolean {\n return this.attachments && this.attachments.length > 0;\n }\n\n get hasFields(): boolean {\n return this.fields && this.fields.length > 0;\n }\n\n get login_username(): string {\n return this.login != null ? this.login.username : null;\n }\n}\n","import { CipherType } from '../../enums/cipherType';\n\nimport { Cipher } from '../domain/cipher';\n\nimport { CardApi } from '../api/cardApi';\nimport { FieldApi } from '../api/fieldApi';\nimport { IdentityApi } from '../api/identityApi';\nimport { LoginApi } from '../api/loginApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class CipherRequest {\n type: CipherType;\n folderId: string;\n organizationId: string;\n name: string;\n notes: string;\n favorite: boolean;\n login: LoginApi;\n secureNote: SecureNoteApi;\n card: CardApi;\n identity: IdentityApi;\n fields: FieldApi[];\n attachments: { [id: string]: string; };\n\n constructor(cipher: Cipher) {\n this.type = cipher.type;\n this.folderId = cipher.folderId;\n this.organizationId = cipher.organizationId;\n this.name = cipher.name ? cipher.name.encryptedString : null;\n this.notes = cipher.notes ? cipher.notes.encryptedString : null;\n this.favorite = cipher.favorite;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = {\n uris: null,\n username: cipher.login.username ? cipher.login.username.encryptedString : null,\n password: cipher.login.password ? cipher.login.password.encryptedString : null,\n totp: cipher.login.totp ? cipher.login.totp.encryptedString : null,\n };\n\n if (cipher.login.uris) {\n this.login.uris = [];\n cipher.login.uris.forEach((u) => {\n this.login.uris.push({\n uri: u.uri ? u.uri.encryptedString : null,\n match: u.match != null ? u.match : null,\n });\n });\n }\n break;\n case CipherType.SecureNote:\n this.secureNote = {\n type: cipher.secureNote.type,\n };\n break;\n case CipherType.Card:\n this.card = {\n cardholderName: cipher.card.cardholderName ? cipher.card.cardholderName.encryptedString : null,\n brand: cipher.card.brand ? cipher.card.brand.encryptedString : null,\n number: cipher.card.number ? cipher.card.number.encryptedString : null,\n expMonth: cipher.card.expMonth ? cipher.card.expMonth.encryptedString : null,\n expYear: cipher.card.expYear ? cipher.card.expYear.encryptedString : null,\n code: cipher.card.code ? cipher.card.code.encryptedString : null,\n };\n break;\n case CipherType.Identity:\n this.identity = {\n title: cipher.identity.title ? cipher.identity.title.encryptedString : null,\n firstName: cipher.identity.firstName ? cipher.identity.firstName.encryptedString : null,\n middleName: cipher.identity.middleName ? cipher.identity.middleName.encryptedString : null,\n lastName: cipher.identity.lastName ? cipher.identity.lastName.encryptedString : null,\n address1: cipher.identity.address1 ? cipher.identity.address1.encryptedString : null,\n address2: cipher.identity.address2 ? cipher.identity.address2.encryptedString : null,\n address3: cipher.identity.address3 ? cipher.identity.address3.encryptedString : null,\n city: cipher.identity.city ? cipher.identity.city.encryptedString : null,\n state: cipher.identity.state ? cipher.identity.state.encryptedString : null,\n postalCode: cipher.identity.postalCode ? cipher.identity.postalCode.encryptedString : null,\n country: cipher.identity.country ? cipher.identity.country.encryptedString : null,\n company: cipher.identity.company ? cipher.identity.company.encryptedString : null,\n email: cipher.identity.email ? cipher.identity.email.encryptedString : null,\n phone: cipher.identity.phone ? cipher.identity.phone.encryptedString : null,\n ssn: cipher.identity.ssn ? cipher.identity.ssn.encryptedString : null,\n username: cipher.identity.username ? cipher.identity.username.encryptedString : null,\n passportNumber: cipher.identity.passportNumber ?\n cipher.identity.passportNumber.encryptedString : null,\n licenseNumber: cipher.identity.licenseNumber ? cipher.identity.licenseNumber.encryptedString : null,\n };\n break;\n default:\n break;\n }\n\n if (cipher.fields) {\n this.fields = [];\n cipher.fields.forEach((field) => {\n this.fields.push({\n type: field.type,\n name: field.name ? field.name.encryptedString : null,\n value: field.value ? field.value.encryptedString : null,\n });\n });\n }\n\n if (cipher.attachments) {\n this.attachments = {};\n cipher.attachments.forEach((attachment) => {\n this.attachments[attachment.id] = attachment.fileName ? attachment.fileName.encryptedString : null;\n });\n }\n }\n}\n","export enum DeviceType {\n Android = 0,\n iOS = 1,\n ChromeExtension = 2,\n FirefoxExtension = 3,\n OperaExtension = 4,\n EdgeExtension = 5,\n WindowsDesktop = 6,\n MacOsDesktop = 7,\n LinuxDesktop = 8,\n ChromeBrowser = 9,\n FirefoxBrowser = 10,\n OperaBrowser = 11,\n EdgeBrowser = 12,\n IEBrowser = 13,\n UnknownBrowser = 14,\n AndroidAmazon = 15,\n UWP = 16,\n SafariBrowser = 17,\n VivaldiBrowser = 18,\n VivaldiExtension = 19,\n SafariExtension = 20,\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class BroadcasterService {\n subscribers: Map any> = new Map any>();\n\n send(message: any, id?: string) {\n if (id != null) {\n if (this.subscribers.has(id)) {\n this.subscribers.get(id)(message);\r\n }\n return;\r\n }\n\n this.subscribers.forEach((value) => {\n value(message);\n });\r\n }\n\n subscribe(id: string, messageCallback: (message: any) => any) {\n if (this.subscribers.has(id)) {\n return;\r\n }\n\n this.subscribers.set(id, messageCallback);\r\n }\n\n unsubscribe(id: string) {\n if (this.subscribers.has(id)) {\n this.subscribers.delete(id);\r\n }\r\n }\n}\r\n","export enum OrganizationUserType {\n Owner = 0,\n Admin = 1,\n User = 2,\n}\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\n\n@Injectable()\nexport class EventService {\n constructor(private i18nService: I18nService) { }\n\n getDefaultDateFilters() {\n const d = new Date();\n const end = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59);\n d.setDate(d.getDate() - 30);\n const start = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0);\n return [this.toDateTimeLocalString(start), this.toDateTimeLocalString(end)];\n }\n\n formatDateFilters(filterStart: string, filterEnd: string) {\n const start: Date = new Date(filterStart);\n const end: Date = new Date(filterEnd + ':59.999');\n if (isNaN(start.getTime()) || isNaN(end.getTime()) || end < start) {\n throw new Error('Invalid date range.');\n }\n return [start.toISOString(), end.toISOString()];\n }\n\n getEventInfo(ev: EventResponse, options = new EventOptions()): EventInfo {\n const appInfo = this.getAppInfo(ev.deviceType);\n return {\n message: this.getEventMessage(ev, options),\n appIcon: appInfo[0],\n appName: appInfo[1],\n };\n }\n\n private getEventMessage(ev: EventResponse, options: EventOptions) {\n let msg = '';\n switch (ev.type) {\n // User\n case EventType.User_LoggedIn:\n msg = this.i18nService.t('loggedIn');\n break;\n case EventType.User_ChangedPassword:\n msg = this.i18nService.t('changedPassword');\n break;\n case EventType.User_Enabled2fa:\n msg = this.i18nService.t('enabled2fa');\n break;\n case EventType.User_Disabled2fa:\n msg = this.i18nService.t('disabled2fa');\n break;\n case EventType.User_Recovered2fa:\n msg = this.i18nService.t('recovered2fa');\n break;\n case EventType.User_FailedLogIn:\n msg = this.i18nService.t('failedLogin');\n break;\n case EventType.User_FailedLogIn2fa:\n msg = this.i18nService.t('failedLogin2fa');\n break;\n // Cipher\n case EventType.Cipher_Created:\n msg = this.i18nService.t('createdItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Updated:\n msg = this.i18nService.t('editedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Deleted:\n msg = this.i18nService.t('deletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentCreated:\n msg = this.i18nService.t('createdAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentDeleted:\n msg = this.i18nService.t('deletedAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Shared:\n msg = this.i18nService.t('sharedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_UpdatedCollections:\n msg = this.i18nService.t('editedCollectionsForItem', this.formatCipherId(ev, options));\n break;\n // Collection\n case EventType.Collection_Created:\n msg = this.i18nService.t('createdCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Updated:\n msg = this.i18nService.t('editedCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Deleted:\n msg = this.i18nService.t('deletedCollectionId', this.formatCollectionId(ev));\n break;\n // Group\n case EventType.Group_Created:\n msg = this.i18nService.t('createdGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Updated:\n msg = this.i18nService.t('editedGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Deleted:\n msg = this.i18nService.t('deletedGroupId', this.formatGroupId(ev));\n break;\n // Org user\n case EventType.OrganizationUser_Invited:\n msg = this.i18nService.t('invitedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Confirmed:\n msg = this.i18nService.t('confirmedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Updated:\n msg = this.i18nService.t('editedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Removed:\n msg = this.i18nService.t('removedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_UpdatedGroups:\n msg = this.i18nService.t('editedGroupsForUser', this.formatOrgUserId(ev));\n break;\n // Org\n case EventType.Organization_Updated:\n msg = this.i18nService.t('editedOrgSettings');\n break;\n default:\n break;\n }\n return msg === '' ? null : msg;\n }\n\n private getAppInfo(deviceType: DeviceType): [string, string] {\n switch (deviceType) {\n case DeviceType.Android:\n return ['fa-android', this.i18nService.t('mobile') + ' - Android'];\n case DeviceType.iOS:\n return ['fa-apple', this.i18nService.t('mobile') + ' - iOS'];\n case DeviceType.UWP:\n return ['fa-windows', this.i18nService.t('mobile') + ' - Windows'];\n case DeviceType.ChromeExtension:\n return ['fa-chrome', this.i18nService.t('extension') + ' - Chrome'];\n case DeviceType.FirefoxExtension:\n return ['fa-firefox', this.i18nService.t('extension') + ' - Firefox'];\n case DeviceType.OperaExtension:\n return ['fa-opera', this.i18nService.t('extension') + ' - Opera'];\n case DeviceType.EdgeExtension:\n return ['fa-edge', this.i18nService.t('extension') + ' - Edge'];\n case DeviceType.VivaldiExtension:\n return ['fa-puzzle-piece', this.i18nService.t('extension') + ' - Vivaldi'];\n case DeviceType.SafariExtension:\n return ['fa-safari', this.i18nService.t('extension') + ' - Safari'];\n case DeviceType.WindowsDesktop:\n return ['fa-windows', this.i18nService.t('desktop') + ' - Windows'];\n case DeviceType.MacOsDesktop:\n return ['fa-apple', this.i18nService.t('desktop') + ' - macOS'];\n case DeviceType.LinuxDesktop:\n return ['fa-linux', this.i18nService.t('desktop') + ' - Linux'];\n case DeviceType.ChromeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Chrome'];\n case DeviceType.FirefoxBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Firefox'];\n case DeviceType.OperaBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Opera'];\n case DeviceType.SafariBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Safari'];\n case DeviceType.VivaldiBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Vivaldi'];\n case DeviceType.EdgeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Edge'];\n case DeviceType.IEBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - IE'];\n case DeviceType.UnknownBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - ' + this.i18nService.t('unknown')];\n default:\n return ['fa-globe', this.i18nService.t('unknown')];\n }\n }\n\n private formatCipherId(ev: EventResponse, options: EventOptions) {\n const shortId = this.getShortId(ev.cipherId);\n if (ev.organizationId == null || !options.cipherInfo) {\n return '' + shortId + '';\n }\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/vault?search=' + shortId +\n '&viewEvents=' + ev.cipherId);\n return a.outerHTML;\n }\n\n private formatGroupId(ev: EventResponse) {\n const shortId = this.getShortId(ev.groupId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/groups?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatCollectionId(ev: EventResponse) {\n const shortId = this.getShortId(ev.collectionId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/collections?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatOrgUserId(ev: EventResponse) {\n const shortId = this.getShortId(ev.organizationUserId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/people?search=' + shortId +\n '&viewEvents=' + ev.organizationUserId);\n return a.outerHTML;\n }\n\n private makeAnchor(shortId: string) {\n const a = document.createElement('a');\n a.title = this.i18nService.t('view');\n a.innerHTML = '' + shortId + '';\n return a;\n }\n\n private getShortId(id: string) {\n return id.substring(0, 8);\n }\n\n private toDateTimeLocalString(date: Date) {\n return date.getFullYear() +\n '-' + this.pad(date.getMonth() + 1) +\n '-' + this.pad(date.getDate()) +\n 'T' + this.pad(date.getHours()) +\n ':' + this.pad(date.getMinutes());\n }\n\n private pad(num: number) {\n const norm = Math.floor(Math.abs(num));\n return (norm < 10 ? '0' : '') + norm;\n }\n}\n\nexport class EventInfo {\n message: string;\n appIcon: string;\n appName: string;\n}\n\nexport class EventOptions {\n cipherInfo = true;\n}\n","export abstract class ExportService {\n getExport: (format?: 'csv' | 'json') => Promise;\n getOrganizationExport: (organizationId: string, format?: 'csv' | 'json') => Promise;\n getFileName: (prefix?: string) => string;\n}\n","import { View } from './view';\n\nimport { Collection } from '../domain/collection';\n\nexport class CollectionView implements View {\n id: string;\n organizationId: string;\n name: string;\n readOnly: boolean;\n\n constructor(c?: Collection) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.readOnly = c.readOnly;\n }\n}\n","import {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { TwoFactorProviderRequest } from 'jslib/models/request/twoFactorProviderRequest';\n\nexport abstract class TwoFactorBaseComponent {\n @Output() onUpdated = new EventEmitter();\n\n type: TwoFactorProviderType;\n organizationId: string;\n twoFactorProviderType = TwoFactorProviderType;\n enabled = false;\n authed = false;\n\n protected masterPasswordHash: string;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n protected auth(authResponse: any) {\n this.masterPasswordHash = authResponse.masterPasswordHash;\n this.authed = true;\n }\n\n protected async enable(enableFunction: () => Promise) {\n try {\n await enableFunction();\n this.analytics.eventTrack.next({\n action: 'Enabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.onUpdated.emit(true);\n } catch { }\n }\n\n protected async disable(promise: Promise) {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('twoStepDisableDesc'),\n this.i18nService.t('disable'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n const request = new TwoFactorProviderRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.type = this.type;\n if (this.organizationId != null) {\n promise = this.apiService.putTwoFactorOrganizationDisable(this.organizationId, request);\n } else {\n promise = this.apiService.putTwoFactorDisable(request);\n }\n await promise;\n this.enabled = false;\n this.analytics.eventTrack.next({\n action: 'Disabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepDisabled'));\n this.onUpdated.emit(false);\n } catch { }\n }\n}\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { Field } from '../domain/field';\r\n\r\nexport class FieldView implements View {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(f?: Field) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.type = f.type;\r\n }\r\n\r\n get maskedValue(): string {\r\n return this.value != null ? '••••••••' : null;\r\n }\r\n}\r\n","export abstract class TotpService {\r\n getCode: (keyb32: string) => Promise;\r\n isAutoCopyEnabled: () => Promise;\r\n}\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-organizations',\n templateUrl: 'organizations.component.html',\n})\nexport class OrganizationsComponent implements OnInit {\n @Input() vault = false;\n\n organizations: Organization[];\n loaded: boolean = false;\n actionPromise: Promise;\n\n constructor(private userService: UserService, private platformUtilsService: PlatformUtilsService,\n private i18nService: I18nService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private syncService: SyncService) { }\n\n async ngOnInit() {\n if (!this.vault) {\n await this.load();\n }\n }\n\n async load() {\n const orgs = await this.userService.getAllOrganizations();\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.organizations = orgs;\n this.loaded = true;\n }\n\n async leave(org: Organization) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('leaveOrganizationConfirmation'), org.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.apiService.postLeaveOrganization(org.id).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Left Organization' });\n this.toasterService.popAsync('success', null, this.i18nService.t('leftOrganization'));\n await this.load();\n } catch { }\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport {\r\n ActivatedRoute,\r\n NavigationEnd,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Injectable()\r\nexport class RouterService {\r\n private previousUrl: string = undefined;\r\n private currentUrl: string = undefined;\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute,\r\n private titleService: Title, private i18nService: I18nService) {\r\n this.currentUrl = this.router.url;\r\n router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = event.url;\r\n\r\n let title = i18nService.t('pageTitle', 'Bitwarden');\r\n let titleId: string = null;\r\n let rawTitle: string = null;\r\n let child = this.activatedRoute.firstChild;\r\n while (child != null) {\r\n if (child.firstChild != null) {\r\n child = child.firstChild;\r\n } else if (child.snapshot.data != null && child.snapshot.data.title != null) {\r\n rawTitle = child.snapshot.data.title;\r\n break;\r\n } else if (child.snapshot.data != null && child.snapshot.data.titleId != null) {\r\n titleId = child.snapshot.data.titleId;\r\n break;\r\n } else {\r\n titleId = null;\r\n rawTitle = null;\r\n break;\r\n }\r\n }\r\n\r\n if (titleId != null || rawTitle != null) {\r\n const newTitle = rawTitle != null ? rawTitle : i18nService.t(titleId);\r\n if (newTitle != null && newTitle !== '') {\r\n title = (newTitle + ' | ' + title);\r\n }\r\n }\r\n this.titleService.setTitle(title);\r\n }\r\n });\r\n }\r\n\r\n getPreviousUrl() {\r\n return this.previousUrl;\r\n }\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class CipherString {\r\n encryptedString?: string;\r\n encryptionType?: EncryptionType;\r\n decryptedValue?: string;\r\n data?: string;\r\n iv?: string;\r\n mac?: string;\r\n\r\n constructor(encryptedStringOrType: string | EncryptionType, data?: string, iv?: string, mac?: string) {\r\n if (data != null) {\r\n // data and header\r\n const encType = encryptedStringOrType as EncryptionType;\r\n this.encryptedString = encType + '.' + data;\r\n\r\n // iv\r\n if (iv != null) {\r\n this.encryptedString += ('|' + iv);\r\n }\r\n\r\n // mac\r\n if (mac != null) {\r\n this.encryptedString += ('|' + mac);\r\n }\r\n\r\n this.encryptionType = encType;\r\n this.data = data;\r\n this.iv = iv;\r\n this.mac = mac;\r\n\r\n return;\r\n }\r\n\r\n this.encryptedString = encryptedStringOrType as string;\r\n if (!this.encryptedString) {\r\n return;\r\n }\r\n\r\n const headerPieces = this.encryptedString.split('.');\r\n let encPieces: string[] = null;\r\n\r\n if (headerPieces.length === 2) {\r\n try {\r\n this.encryptionType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) {\r\n return;\r\n }\r\n } else {\r\n encPieces = this.encryptedString.split('|');\r\n this.encryptionType = encPieces.length === 3 ? EncryptionType.AesCbc128_HmacSha256_B64 :\r\n EncryptionType.AesCbc256_B64;\r\n }\r\n\r\n switch (this.encryptionType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encPieces.length !== 3) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n this.mac = encPieces[2];\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encPieces.length !== 2) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n if (encPieces.length !== 1) {\r\n return;\r\n }\r\n\r\n this.data = encPieces[0];\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n if (this.decryptedValue) {\r\n return Promise.resolve(this.decryptedValue);\r\n }\r\n\r\n let cryptoService: CryptoService;\r\n const containerService = (Utils.global as any).bitwardenContainerService;\r\n if (containerService) {\r\n cryptoService = containerService.getCryptoService();\r\n } else {\r\n throw new Error('global bitwardenContainerService not initialized.');\r\n }\r\n\r\n try {\r\n const orgKey = await cryptoService.getOrgKey(orgId);\r\n this.decryptedValue = await cryptoService.decryptToUtf8(this, orgKey);\r\n } catch (e) {\r\n this.decryptedValue = '[error: cannot decrypt]';\r\n }\r\n return this.decryptedValue;\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component';\r\n\r\n@Component({\r\n selector: 'app-export',\r\n templateUrl: 'export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n constructor(analytics: Angulartics2, toasterService: ToasterService,\r\n cryptoService: CryptoService, userService: UserService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n exportService: ExportService) {\r\n super(analytics, toasterService, cryptoService, userService, i18nService, platformUtilsService,\r\n exportService, window);\r\n }\r\n\r\n protected saved() {\r\n super.saved();\r\n this.masterPassword = null;\r\n this.toasterService.popAsync('success', null, this.i18nService.t('exportSuccess'));\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { ImportResult } from 'jslib/models/domain/importResult';\n\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\nimport { FolderRequest } from 'jslib/models/request/folderRequest';\nimport { ImportCiphersRequest } from 'jslib/models/request/importCiphersRequest';\nimport { KvpRequest } from 'jslib/models/request/kvpRequest';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { AscendoCsvImporter } from 'jslib/importers/ascendoCsvImporter';\nimport { AviraCsvImporter } from 'jslib/importers/aviraCsvImporter';\nimport { BitwardenCsvImporter } from 'jslib/importers/bitwardenCsvImporter';\nimport { BlurCsvImporter } from 'jslib/importers/blurCsvImporter';\nimport { ChromeCsvImporter } from 'jslib/importers/chromeCsvImporter';\nimport { ClipperzHtmlImporter } from 'jslib/importers/clipperzHtmlImporter';\nimport { DashlaneCsvImporter } from 'jslib/importers/dashlaneCsvImporter';\nimport { EnpassCsvImporter } from 'jslib/importers/enpassCsvImporter';\nimport { FirefoxCsvImporter } from 'jslib/importers/firefoxCsvImporter';\nimport { GnomeJsonImporter } from 'jslib/importers/gnomeJsonImporter';\nimport { Importer } from 'jslib/importers/importer';\nimport { KeePass2XmlImporter } from 'jslib/importers/keepass2XmlImporter';\nimport { KeePassXCsvImporter } from 'jslib/importers/keepassxCsvImporter';\nimport { KeeperCsvImporter } from 'jslib/importers/keeperCsvImporter';\nimport { LastPassCsvImporter } from 'jslib/importers/lastpassCsvImporter';\nimport { MeldiumCsvImporter } from 'jslib/importers/meldiumCsvImporter';\nimport { MSecureCsvImporter } from 'jslib/importers/msecureCsvImporter';\nimport { OnePassword1PifImporter } from 'jslib/importers/onepassword1PifImporter';\nimport { OnePasswordWinCsvImporter } from 'jslib/importers/onepasswordWinCsvImporter';\nimport { PadlockCsvImporter } from 'jslib/importers/padlockCsvImporter';\nimport { PassKeepCsvImporter } from 'jslib/importers/passkeepCsvImporter';\nimport { PasswordAgentCsvImporter } from 'jslib/importers/passwordAgentCsvImporter';\nimport { PasswordBossJsonImporter } from 'jslib/importers/passwordBossJsonImporter';\nimport { PasswordDragonXmlImporter } from 'jslib/importers/passwordDragonXmlImporter';\nimport { PasswordSafeXmlImporter } from 'jslib/importers/passwordSafeXmlImporter';\nimport { RoboFormCsvImporter } from 'jslib/importers/roboformCsvImporter';\nimport { SafeInCloudXmlImporter } from 'jslib/importers/safeInCloudXmlImporter';\nimport { SaferPassCsvImporter } from 'jslib/importers/saferpassCsvImport';\nimport { SplashIdCsvImporter } from 'jslib/importers/splashIdCsvImporter';\nimport { StickyPasswordXmlImporter } from 'jslib/importers/stickyPasswordXmlImporter';\nimport { TrueKeyCsvImporter } from 'jslib/importers/truekeyCsvImporter';\nimport { UpmCsvImporter } from 'jslib/importers/upmCsvImporter';\nimport { ZohoVaultCsvImporter } from 'jslib/importers/zohoVaultCsvImporter';\n\n@Component({\n selector: 'app-import',\n templateUrl: 'import.component.html',\n})\nexport class ImportComponent implements OnInit {\n featuredImportOptions: any[];\n importOptions: any[];\n format: string = null;\n fileContents: string;\n formPromise: Promise;\n\n protected successNavigate: any[] = ['vault'];\n\n constructor(protected i18nService: I18nService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected cipherService: CipherService,\n protected folderService: FolderService, protected apiService: ApiService,\n protected router: Router) {\n }\n\n ngOnInit() {\n this.setImportOptions();\n this.importOptions.sort((a, b) => {\n if (a.name == null && b.name != null) {\n return -1;\n }\n if (a.name != null && b.name == null) {\n return 1;\n }\n if (a.name == null && b.name == null) {\n return 0;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(a.name, b.name) :\n a.name.localeCompare(b.name);\n });\n }\n\n async submit() {\n const importer = this.getImporter();\n if (importer === null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFormat'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if ((files == null || files.length === 0) && (this.fileContents == null || this.fileContents === '')) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n let fileContents = this.fileContents;\n if (files != null && files.length > 0) {\n try {\n const content = await this.getFileContents(files[0]);\n if (content != null) {\n fileContents = content;\n }\n } catch { }\n }\n\n if (fileContents == null || fileContents === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n const importResult = await importer.parse(fileContents);\n if (importResult.success) {\n if (importResult.folders.length === 0 && importResult.ciphers.length === 0) {\n this.error(this.i18nService.t('importNothingError'));\n return;\n } else if (importResult.ciphers.length > 0) {\n const halfway = Math.floor(importResult.ciphers.length / 2);\n const last = importResult.ciphers.length - 1;\n if (this.badData(importResult.ciphers[0]) && this.badData(importResult.ciphers[halfway]) &&\n this.badData(importResult.ciphers[last])) {\n this.error(this.i18nService.t('importFormatError'));\n return;\n }\n }\n\n try {\n this.formPromise = this.postImport(importResult);\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: 'Imported Data',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('importSuccess'));\n this.router.navigate(this.successNavigate);\n } catch { }\n } else {\n this.error(this.i18nService.t('importFormatError'));\n }\n }\n\n getFormatInstructionTitle() {\n if (this.format == null) {\n return null;\n }\n\n const results = this.featuredImportOptions.concat(this.importOptions).filter((o) => o.id === this.format);\n if (results.length > 0) {\n return this.i18nService.t('instructionsFor', results[0].name);\n }\n return null;\n }\n\n protected async postImport(importResult: ImportResult) {\n const request = new ImportCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.folders != null) {\n for (let i = 0; i < importResult.folders.length; i++) {\n const f = await this.folderService.encrypt(importResult.folders[i]);\n request.folders.push(new FolderRequest(f));\n }\n }\n if (importResult.folderRelationships != null) {\n importResult.folderRelationships.forEach((r) =>\n request.folderRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportCiphers(request);\n }\n\n protected setImportOptions() {\n this.featuredImportOptions = [\n { id: null, name: '-- ' + this.i18nService.t('select') + ' --' },\n { id: 'bitwardencsv', name: 'Bitwarden (csv)' },\n { id: 'lastpasscsv', name: 'LastPass (csv)' },\n { id: 'chromecsv', name: 'Chrome (csv)' },\n { id: 'firefoxcsv', name: 'Firefox (csv)' },\n { id: 'keepass2xml', name: 'KeePass 2 (xml)' },\n { id: '1password1pif', name: '1Password (1pif)' },\n { id: 'dashlanecsv', name: 'Dashlane (csv)' },\n ];\n\n this.importOptions = [\n { id: 'keepassxcsv', name: 'KeePassX (csv)' },\n { id: '1passwordwincsv', name: '1Password 6 and 7 Windows (csv)' },\n { id: 'roboformcsv', name: 'RoboForm (csv)' },\n { id: 'keepercsv', name: 'Keeper (csv)' },\n { id: 'enpasscsv', name: 'Enpass (csv)' },\n { id: 'safeincloudxml', name: 'SafeInCloud (xml)' },\n { id: 'pwsafexml', name: 'Password Safe (xml)' },\n { id: 'stickypasswordxml', name: 'Sticky Password (xml)' },\n { id: 'msecurecsv', name: 'mSecure (csv)' },\n { id: 'truekeycsv', name: 'True Key (csv)' },\n { id: 'passwordbossjson', name: 'Password Boss (json)' },\n { id: 'zohovaultcsv', name: 'Zoho Vault (csv)' },\n { id: 'splashidcsv', name: 'SplashID (csv)' },\n { id: 'passworddragonxml', name: 'Password Dragon (xml)' },\n { id: 'padlockcsv', name: 'Padlock (csv)' },\n { id: 'passboltcsv', name: 'Passbolt (csv)' },\n { id: 'clipperzhtml', name: 'Clipperz (html)' },\n { id: 'aviracsv', name: 'Avira (csv)' },\n { id: 'saferpasscsv', name: 'SaferPass (csv)' },\n { id: 'upmcsv', name: 'Universal Password Manager (csv)' },\n { id: 'ascendocsv', name: 'Ascendo DataVault (csv)' },\n { id: 'meldiumcsv', name: 'Meldium (csv)' },\n { id: 'passkeepcsv', name: 'PassKeep (csv)' },\n { id: 'operacsv', name: 'Opera (csv)' },\n { id: 'vivaldicsv', name: 'Vivaldi (csv)' },\n { id: 'gnomejson', name: 'GNOME Passwords and Keys/Seahorse (json)' },\n { id: 'blurcsv', name: 'Blur (csv)' },\n { id: 'passwordagentcsv', name: 'Password Agent (csv)' },\n ];\n }\n\n protected getImporter(): Importer {\n if (this.format == null || this.format === '') {\n return null;\n }\n\n switch (this.format) {\n case 'bitwardencsv':\n return new BitwardenCsvImporter();\n case 'lastpasscsv':\n case 'passboltcsv':\n return new LastPassCsvImporter();\n case 'keepassxcsv':\n return new KeePassXCsvImporter();\n case 'aviracsv':\n return new AviraCsvImporter();\n case 'blurcsv':\n return new BlurCsvImporter();\n case 'safeincloudxml':\n return new SafeInCloudXmlImporter();\n case 'padlockcsv':\n return new PadlockCsvImporter();\n case 'keepass2xml':\n return new KeePass2XmlImporter();\n case 'chromecsv':\n case 'operacsv':\n case 'vivaldicsv':\n return new ChromeCsvImporter();\n case 'firefoxcsv':\n return new FirefoxCsvImporter();\n case 'upmcsv':\n return new UpmCsvImporter();\n case 'saferpasscsv':\n return new SaferPassCsvImporter();\n case 'meldiumcsv':\n return new MeldiumCsvImporter();\n case '1password1pif':\n return new OnePassword1PifImporter();\n case '1passwordwincsv':\n return new OnePasswordWinCsvImporter();\n case 'keepercsv':\n return new KeeperCsvImporter();\n case 'passworddragonxml':\n return new PasswordDragonXmlImporter();\n case 'enpasscsv':\n return new EnpassCsvImporter();\n case 'pwsafexml':\n return new PasswordSafeXmlImporter();\n case 'dashlanecsv':\n return new DashlaneCsvImporter();\n case 'msecurecsv':\n return new MSecureCsvImporter();\n case 'stickypasswordxml':\n return new StickyPasswordXmlImporter();\n case 'truekeycsv':\n return new TrueKeyCsvImporter();\n case 'clipperzhtml':\n return new ClipperzHtmlImporter();\n case 'roboformcsv':\n return new RoboFormCsvImporter();\n case 'ascendocsv':\n return new AscendoCsvImporter();\n case 'passwordbossjson':\n return new PasswordBossJsonImporter();\n case 'zohovaultcsv':\n return new ZohoVaultCsvImporter();\n case 'splashidcsv':\n return new SplashIdCsvImporter();\n case 'passkeepcsv':\n return new PassKeepCsvImporter();\n case 'gnomejson':\n return new GnomeJsonImporter();\n case 'passwordagentcsv':\n return new PasswordAgentCsvImporter();\n default:\n return null;\n }\n }\n\n private error(errorMessage: string) {\n this.analytics.eventTrack.next({\n action: 'Import Data Failed',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), errorMessage);\n }\n\n private getFileContents(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = (evt) => {\n if (this.format === 'lastpasscsv' && file.type === 'text/html') {\n const parser = new DOMParser();\n const doc = parser.parseFromString(evt.target.result, 'text/html');\n const pre = doc.querySelector('pre');\n if (pre != null) {\n resolve(pre.textContent);\n return;\n }\n reject();\n return;\n }\n\n resolve(evt.target.result);\n };\n reader.onerror = () => {\n reject();\n };\n });\n }\n\n private badData(c: CipherView) {\n return (c.name == null || c.name === '--') &&\n (c.login != null && (c.login.password == null || c.login.password === ''));\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { TwoFactorProviders } from 'jslib/services/auth.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorAuthenticatorComponent } from './two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './two-factor-recovery.component';\nimport { TwoFactorU2fComponent } from './two-factor-u2f.component';\nimport { TwoFactorYubiKeyComponent } from './two-factor-yubikey.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: 'two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent implements OnInit {\n @ViewChild('recoveryTemplate', { read: ViewContainerRef }) recoveryModalRef: ViewContainerRef;\n @ViewChild('authenticatorTemplate', { read: ViewContainerRef }) authenticatorModalRef: ViewContainerRef;\n @ViewChild('yubikeyTemplate', { read: ViewContainerRef }) yubikeyModalRef: ViewContainerRef;\n @ViewChild('u2fTemplate', { read: ViewContainerRef }) u2fModalRef: ViewContainerRef;\n @ViewChild('duoTemplate', { read: ViewContainerRef }) duoModalRef: ViewContainerRef;\n @ViewChild('emailTemplate', { read: ViewContainerRef }) emailModalRef: ViewContainerRef;\n\n organizationId: string;\n providers: any[] = [];\n premium: boolean;\n loading = true;\n\n private modal: ModalComponent = null;\n\n constructor(protected apiService: ApiService, protected tokenService: TokenService,\n protected componentFactoryResolver: ComponentFactoryResolver, protected messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.premium = this.tokenService.getPremium();\n\n for (const key in TwoFactorProviders) {\n if (!TwoFactorProviders.hasOwnProperty(key)) {\n continue;\n }\n\n const p = (TwoFactorProviders as any)[key];\n if (this.filterProvider(p.type)) {\n continue;\n }\n\n this.providers.push({\n type: p.type,\n name: p.name,\n description: p.description,\n enabled: false,\n premium: p.premium,\n sort: p.sort,\n });\n }\n\n this.providers.sort((a: any, b: any) => a.sort - b.sort);\n await this.load();\n }\n\n async load() {\n this.loading = true;\n const providerList = await this.getTwoFactorProviders();\n providerList.data.forEach((p) => {\n this.providers.forEach((p2) => {\n if (p.type === p2.type) {\n p2.enabled = p.enabled;\n }\n });\n });\n this.loading = false;\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.Authenticator:\n const authComp = this.openModal(this.authenticatorModalRef, TwoFactorAuthenticatorComponent);\n authComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Authenticator);\n });\n break;\n case TwoFactorProviderType.Yubikey:\n const yubiComp = this.openModal(this.yubikeyModalRef, TwoFactorYubiKeyComponent);\n yubiComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Yubikey);\n });\n break;\n case TwoFactorProviderType.Duo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Duo);\n });\n break;\n case TwoFactorProviderType.Email:\n const emailComp = this.openModal(this.emailModalRef, TwoFactorEmailComponent);\n emailComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Email);\n });\n break;\n case TwoFactorProviderType.U2f:\n const u2fComp = this.openModal(this.u2fModalRef, TwoFactorU2fComponent);\n u2fComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.U2f);\n });\n break;\n default:\n break;\n }\n }\n\n recoveryCode() {\n this.openModal(this.recoveryModalRef, TwoFactorRecoveryComponent);\n }\n\n async premiumRequired() {\n const premium = await this.tokenService.getPremium();\n if (!premium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorProviders();\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type === TwoFactorProviderType.OrganizationDuo;\n }\n\n protected openModal(ref: ViewContainerRef, type: Type): T {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = ref.createComponent(factory).instance;\n const childComponent = this.modal.show(type, ref);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return childComponent;\n }\n\n protected updateStatus(enabled: boolean, type: TwoFactorProviderType) {\n if (!enabled && this.modal != null) {\n this.modal.close();\n }\n this.providers.forEach((p) => {\n if (p.type === type) {\n p.enabled = enabled;\n }\n });\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { View } from './view';\n\nimport { LoginUri } from '../domain/loginUri';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { Utils } from '../../misc/utils';\n\nexport class LoginUriView implements View {\n match: UriMatchType = null;\n\n // tslint:disable\n private _uri: string;\n private _domain: string;\n private _hostname: string;\n // tslint:enable\n\n constructor(u?: LoginUri) {\n if (!u) {\n return;\n }\n\n this.match = u.match;\n }\n\n get uri(): string {\n return this._uri;\n }\n set uri(value: string) {\n this._uri = value;\n this._domain = null;\n }\n\n get domain(): string {\n if (this._domain == null && this.uri != null) {\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n const platformUtilsService: PlatformUtilsService = containerService.getPlatformUtilsService();\n this._domain = platformUtilsService.getDomain(this.uri);\n if (this._domain === '') {\n this._domain = null;\n }\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n }\n\n return this._domain;\n }\n\n get hostname(): string {\n if (this._hostname == null && this.uri != null) {\n this._hostname = Utils.getHostname(this.uri);\n if (this._hostname === '') {\n this._hostname = null;\n }\n }\n\n return this._hostname;\n }\n\n get hostnameOrUri(): string {\n return this.hostname != null ? this.hostname : this.uri;\n }\n\n get isWebsite(): boolean {\n return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0);\n }\n\n get canLaunch(): boolean {\n return this.uri != null && this.uri.indexOf('://') > -1;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Identity } from '../domain/identity';\r\n\r\nexport class IdentityView implements View {\r\n title: string = null;\r\n middleName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n // tslint:disable\r\n private _firstName: string;\r\n private _lastName: string;\r\n private _subTitle: string;\r\n // tslint:enable\r\n\r\n constructor(i?: Identity) {\r\n // ctor\r\n }\r\n\r\n get firstName(): string {\r\n return this._firstName;\r\n }\r\n set firstName(value: string) {\r\n this._firstName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get lastName(): string {\r\n return this._lastName;\r\n }\r\n set lastName(value: string) {\r\n this._lastName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {\r\n this._subTitle = '';\r\n if (this.firstName != null) {\r\n this._subTitle = this.firstName;\r\n }\r\n if (this.lastName != null) {\r\n if (this._subTitle !== '') {\r\n this._subTitle += ' ';\r\n }\r\n this._subTitle += this.lastName;\r\n }\r\n }\r\n\r\n return this._subTitle;\r\n }\r\n\r\n get fullName(): string {\r\n if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {\r\n let name = '';\r\n if (this.title != null) {\r\n name += (this.title + ' ');\r\n }\r\n if (this.firstName != null) {\r\n name += (this.firstName + ' ');\r\n }\r\n if (this.middleName != null) {\r\n name += (this.middleName + ' ');\r\n }\r\n if (this.lastName != null) {\r\n name += this.lastName;\r\n }\r\n return name.trim();\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nconst MaxCheckedCount = 500;\r\n\r\n@Component({\r\n selector: 'app-vault-ciphers',\r\n templateUrl: 'ciphers.component.html',\r\n})\r\nexport class CiphersComponent extends BaseCiphersComponent {\r\n @Input() showAddNew = true;\r\n @Output() onAttachmentsClicked = new EventEmitter();\r\n @Output() onShareClicked = new EventEmitter();\r\n @Output() onCollectionsClicked = new EventEmitter();\r\n\r\n cipherType = CipherType;\r\n\r\n constructor(cipherService: CipherService, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService) {\r\n super(cipherService);\r\n }\r\n\r\n checkCipher(c: CipherView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n selectAll(select: boolean) {\r\n if (select) {\r\n this.selectAll(false);\r\n }\r\n const selectCount = select && this.ciphers.length > MaxCheckedCount ? MaxCheckedCount : this.ciphers.length;\r\n for (let i = 0; i < selectCount; i++) {\r\n this.checkCipher(this.ciphers[i], select);\r\n }\r\n }\r\n\r\n getSelected(): CipherView[] {\r\n if (this.ciphers == null) {\r\n return [];\r\n }\r\n return this.ciphers.filter((c) => !!(c as any).checked);\r\n }\r\n\r\n getSelectedIds(): string[] {\r\n return this.getSelected().map((c) => c.id);\r\n }\r\n\r\n attachments(c: CipherView) {\r\n this.onAttachmentsClicked.emit(c);\r\n }\r\n\r\n share(c: CipherView) {\r\n this.onShareClicked.emit(c);\r\n }\r\n\r\n collections(c: CipherView) {\r\n this.onCollectionsClicked.emit(c);\r\n }\r\n\r\n async delete(c: CipherView): Promise {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n await this.cipherService.deleteWithServer(c.id);\r\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\r\n this.refresh();\r\n }\r\n\r\n copy(value: string, typeI18nKey: string, aType: string) {\r\n if (value == null) {\r\n return;\r\n }\r\n\r\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\r\n this.platformUtilsService.copyToClipboard(value, { doc: window.document });\r\n this.toasterService.popAsync('info', null,\r\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\r\n }\r\n}\r\n","export enum FieldType {\r\n Text = 0,\r\n Hidden = 1,\r\n Boolean = 2,\r\n}\r\n","export enum EncryptionType {\r\n AesCbc256_B64 = 0,\r\n AesCbc128_HmacSha256_B64 = 1,\r\n AesCbc256_HmacSha256_B64 = 2,\r\n Rsa2048_OaepSha256_B64 = 3,\r\n Rsa2048_OaepSha1_B64 = 4,\r\n Rsa2048_OaepSha256_HmacSha256_B64 = 5,\r\n Rsa2048_OaepSha1_HmacSha256_B64 = 6,\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/components/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-vault-groupings',\r\n templateUrl: 'groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n @Output() onSearchTextChanged = new EventEmitter();\r\n\r\n searchText: string = '';\r\n searchPlaceholder: string = null;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService) {\r\n super(collectionService, folderService);\r\n }\r\n\r\n searchTextChanged() {\r\n this.onSearchTextChanged.emit(this.searchText);\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { DeviceRequest } from '../models/request/deviceRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\n\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { AppIdService } from '../abstractions/appId.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService } from '../abstractions/user.service';\n\nexport const TwoFactorProviders = {\n [TwoFactorProviderType.Authenticator]: {\n type: TwoFactorProviderType.Authenticator,\n name: null as string,\n description: null as string,\n priority: 1,\n sort: 1,\n premium: false,\n },\n [TwoFactorProviderType.Yubikey]: {\n type: TwoFactorProviderType.Yubikey,\n name: null as string,\n description: null as string,\n priority: 3,\n sort: 2,\n premium: true,\n },\n [TwoFactorProviderType.Duo]: {\n type: TwoFactorProviderType.Duo,\n name: 'Duo',\n description: null as string,\n priority: 2,\n sort: 3,\n premium: true,\n },\n [TwoFactorProviderType.OrganizationDuo]: {\n type: TwoFactorProviderType.OrganizationDuo,\n name: 'Duo (Organization)',\n description: null as string,\n priority: 10,\n sort: 4,\n premium: false,\n },\n [TwoFactorProviderType.U2f]: {\n type: TwoFactorProviderType.U2f,\n name: null as string,\n description: null as string,\n priority: 4,\n sort: 5,\n premium: true,\n },\n [TwoFactorProviderType.Email]: {\n type: TwoFactorProviderType.Email,\n name: null as string,\n description: null as string,\n priority: 0,\n sort: 6,\n premium: false,\n },\n};\n\nexport class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType = null;\n\n private key: SymmetricCryptoKey;\n\n constructor(private cryptoService: CryptoService, private apiService: ApiService,\n private userService: UserService, private tokenService: TokenService,\n private appIdService: AppIdService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService,\n private setCryptoKeys = true) { }\n\n init() {\n TwoFactorProviders[TwoFactorProviderType.Email].name = this.i18nService.t('emailTitle');\n TwoFactorProviders[TwoFactorProviderType.Email].description = this.i18nService.t('emailDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Authenticator].name = this.i18nService.t('authenticatorAppTitle');\n TwoFactorProviders[TwoFactorProviderType.Authenticator].description =\n this.i18nService.t('authenticatorAppDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Duo].description = this.i18nService.t('duoDesc');\n\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].name =\n 'Duo (' + this.i18nService.t('organization') + ')';\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].description =\n this.i18nService.t('duoOrganizationDesc');\n\n TwoFactorProviders[TwoFactorProviderType.U2f].name = this.i18nService.t('u2fTitle');\n TwoFactorProviders[TwoFactorProviderType.U2f].description = this.i18nService.t('u2fDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Yubikey].name = this.i18nService.t('yubiKeyTitle');\n TwoFactorProviders[TwoFactorProviderType.Yubikey].description = this.i18nService.t('yubiKeyDesc');\n }\n\n async logIn(email: string, masterPassword: string): Promise {\n this.selectedTwoFactorProviderType = null;\n email = email.toLowerCase();\n const key = await this.cryptoService.makeKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key);\n }\n\n async logInTwoFactor(twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean): Promise {\n return await this.logInHelper(this.email, this.masterPasswordHash, this.key, twoFactorProvider,\n twoFactorToken, remember);\n }\n\n async logInComplete(email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n email = email.toLowerCase();\n const key = await this.cryptoService.makeKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key, twoFactorProvider, twoFactorToken, remember);\n }\n\n logOut(callback: Function) {\n callback();\n this.messagingService.send('loggedOut');\n }\n\n getSupportedTwoFactorProviders(win: Window): any[] {\n const providers: any[] = [];\n if (this.twoFactorProviders == null) {\n return providers;\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.OrganizationDuo) &&\n this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Authenticator)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Yubikey)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Yubikey]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Duo) && this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Duo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.U2f) && this.platformUtilsService.supportsU2f(win)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.U2f]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Email)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Email]);\n }\n\n return providers;\n }\n\n getDefaultTwoFactorProvider(u2fSupported: boolean): TwoFactorProviderType {\n if (this.twoFactorProviders == null) {\n return null;\n }\n\n if (this.selectedTwoFactorProviderType != null &&\n this.twoFactorProviders.has(this.selectedTwoFactorProviderType)) {\n return this.selectedTwoFactorProviderType;\n }\n\n let providerType: TwoFactorProviderType = null;\n let providerPriority = -1;\n this.twoFactorProviders.forEach((value, type) => {\n const provider = (TwoFactorProviders as any)[type];\n if (provider != null && provider.priority > providerPriority) {\n if (type === TwoFactorProviderType.U2f && !u2fSupported) {\n return;\n }\n\n providerType = type;\n providerPriority = provider.priority;\n }\n });\n\n return providerType;\n }\n\n private async logInHelper(email: string, hashedPassword: string, key: SymmetricCryptoKey,\n twoFactorProvider?: TwoFactorProviderType, twoFactorToken?: string, remember?: boolean): Promise {\n const storedTwoFactorToken = await this.tokenService.getTwoFactorToken(email);\n const appId = await this.appIdService.getAppId();\n const deviceRequest = new DeviceRequest(appId, this.platformUtilsService);\n\n let request: TokenRequest;\n if (twoFactorToken != null && twoFactorProvider != null) {\n request = new TokenRequest(email, hashedPassword, twoFactorProvider, twoFactorToken, remember,\n deviceRequest);\n } else if (storedTwoFactorToken != null) {\n request = new TokenRequest(email, hashedPassword, TwoFactorProviderType.Remember,\n storedTwoFactorToken, false, deviceRequest);\n } else {\n request = new TokenRequest(email, hashedPassword, null, null, false, deviceRequest);\n }\n\n const response = await this.apiService.postIdentityToken(request);\n\n this.clearState();\n const result = new AuthResult();\n result.twoFactor = !(response as any).accessToken;\n\n if (result.twoFactor) {\n // two factor required\n const twoFactorResponse = response as IdentityTwoFactorResponse;\n this.email = email;\n this.masterPasswordHash = hashedPassword;\n this.key = this.setCryptoKeys ? key : null;\n this.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n result.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n return result;\n }\n\n const tokenResponse = response as IdentityTokenResponse;\n if (tokenResponse.twoFactorToken != null) {\n this.tokenService.setTwoFactorToken(tokenResponse.twoFactorToken, email);\n }\n\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n await this.userService.setUserIdAndEmail(this.tokenService.getUserId(), this.tokenService.getEmail());\n if (this.setCryptoKeys) {\n await this.cryptoService.setKey(key);\n await this.cryptoService.setKeyHash(hashedPassword);\n await this.cryptoService.setEncKey(tokenResponse.key);\n\n // User doesn't have a key pair yet (old account), let's generate one for them\n if (tokenResponse.privateKey == null) {\n try {\n const keyPair = await this.cryptoService.makeKeyPair();\n await this.apiService.postAccountKeys(new KeysRequest(keyPair[0], keyPair[1].encryptedString));\n tokenResponse.privateKey = keyPair[1].encryptedString;\n } catch (e) {\n // tslint:disable-next-line\n console.error(e);\n }\n }\n\n await this.cryptoService.setEncPrivateKey(tokenResponse.privateKey);\n }\n\n this.messagingService.send('loggedIn');\n return result;\n }\n\n private clearState(): void {\n this.email = null;\n this.masterPasswordHash = null;\n this.twoFactorProviders = null;\n this.selectedTwoFactorProviderType = null;\n }\n}\n","export class SelectionReadOnlyResponse {\n id: string;\n readOnly: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.readOnly = response.ReadOnly;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { VerifyBankRequest } from 'jslib/models/request/verifyBankRequest';\n\nimport { BillingChargeResponse } from 'jslib/models/response/billingResponse';\nimport { OrganizationBillingResponse } from 'jslib/models/response/organizationBillingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\nimport { PlanType } from 'jslib/enums/planType';\n\n@Component({\n selector: 'app-org-billing',\n templateUrl: 'organization-billing.component.html',\n})\nexport class OrganizationBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n organizationId: string;\n adjustSeatsAdd = true;\n showAdjustSeats = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showAdjustPayment = false;\n showUpdateLicense = false;\n billing: OrganizationBillingResponse;\n paymentMethodType = PaymentMethodType;\n selfHosted = false;\n verifyAmount1: number;\n verifyAmount2: number;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n licensePromise: Promise;\n verifyBankPromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.firstLoaded = true;\n });\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n this.loading = true;\n this.billing = await this.apiService.getOrganizationBilling(this.organizationId);\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postOrganizationReinstate(this.organizationId);\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postOrganizationCancel(this.organizationId);\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n async changePlan() {\n const contactSupport = await this.platformUtilsService.showDialog(this.i18nService.t('changeBillingPlanDesc'),\n this.i18nService.t('changeBillingPlan'), this.i18nService.t('contactSupport'), this.i18nService.t('close'));\n if (contactSupport) {\n this.platformUtilsService.launchUri('https://bitwarden.com/contact');\n }\n }\n\n async downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const installationId = window.prompt(this.i18nService.t('enterInstallationId'));\n if (installationId == null || installationId === '') {\n return;\n }\n\n try {\n this.licensePromise = this.apiService.getOrganizationLicense(this.organizationId, installationId);\n const license = await this.licensePromise;\n const licenseString = JSON.stringify(license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_organization_license.json');\n } catch { }\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n async verifyBank() {\n if (this.loading) {\n return;\n }\n\n try {\n const request = new VerifyBankRequest();\n request.amount1 = this.verifyAmount1;\n request.amount2 = this.verifyAmount2;\n this.verifyBankPromise = this.apiService.postOrganizationVerifyBank(this.organizationId, request);\n await this.verifyBankPromise;\n this.analytics.eventTrack.next({ action: 'Verified Bank Account' });\n this.toasterService.popAsync('success', null, this.i18nService.t('verifiedBankAccount'));\n this.load();\n } catch { }\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustSeats(add: boolean) {\n this.adjustSeatsAdd = add;\n this.showAdjustSeats = true;\n }\n\n closeSeats(load: boolean) {\n this.showAdjustSeats = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n async viewInvoice(charge: BillingChargeResponse) {\n const token = await this.tokenService.getToken();\n const url = this.apiService.apiBaseUrl + '/organizations/' + this.organizationId +\n '/billing-invoice/' + charge.invoiceId + '?access_token=' + token;\n this.platformUtilsService.launchUri(url);\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.billing != null ? this.billing.subscription : null;\n }\n\n get nextInvoice() {\n return this.billing != null ? this.billing.upcomingInvoice : null;\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get charges() {\n return this.billing != null ? this.billing.charges : null;\n }\n\n get storagePercentage() {\n return this.billing != null && this.billing.maxStorageGb ?\n +(100 * (this.billing.storageGb / this.billing.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n\n get billingInterval() {\n const monthly = this.billing.planType === PlanType.EnterpriseMonthly ||\n this.billing.planType === PlanType.TeamsMonthly;\n return monthly ? 'month' : 'year';\n }\n\n get storageGbPrice() {\n return this.billingInterval === 'month' ? 0.5 : 4;\n }\n\n get seatPrice() {\n switch (this.billing.planType) {\n case PlanType.EnterpriseMonthly:\n return 4;\n case PlanType.EnterpriseAnnually:\n return 3;\n case PlanType.TeamsMonthly:\n return 2.5;\n case PlanType.TeamsAnnually:\n return 2;\n default:\n return 0;\n }\n }\n\n get canAdjustSeats() {\n return this.billing.planType === PlanType.EnterpriseMonthly ||\n this.billing.planType === PlanType.EnterpriseAnnually ||\n this.billing.planType === PlanType.TeamsMonthly || this.billing.planType === PlanType.TeamsAnnually;\n }\n\n get canDownloadLicense() {\n return (this.billing.planType !== PlanType.Free && this.subscription == null) ||\n (this.subscription != null && !this.subscription.cancelled);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorDuoComponent } from '../../settings/two-factor-duo.component';\nimport { TwoFactorSetupComponent as BaseTwoFactorSetupComponent } from '../../settings/two-factor-setup.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: '../../settings/two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent extends BaseTwoFactorSetupComponent {\n constructor(apiService: ApiService, tokenService: TokenService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n private route: ActivatedRoute) {\n super(apiService, tokenService, componentFactoryResolver, messagingService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await super.ngOnInit();\n });\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.OrganizationDuo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.type = TwoFactorProviderType.OrganizationDuo;\n duoComp.organizationId = this.organizationId;\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.OrganizationDuo);\n });\n break;\n default:\n break;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorOrganizationProviders(this.organizationId);\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type !== TwoFactorProviderType.OrganizationDuo;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { OrganizationUpdateRequest } from 'jslib/models/request/organizationUpdateRequest';\nimport { OrganizationResponse } from 'jslib/models/response/organizationResponse';\n\nimport { ModalComponent } from '../../modal.component';\nimport { DeleteOrganizationComponent } from './delete-organization.component';\n\n@Component({\n selector: 'app-org-account',\n templateUrl: 'account.component.html',\n})\nexport class AccountComponent {\n @ViewChild('deleteOrganizationTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\n\n loading = true;\n org: OrganizationResponse;\n formPromise: Promise;\n\n private organizationId: string;\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\n private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute, private syncService: SyncService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n try {\n this.org = await this.apiService.getOrganization(this.organizationId);\n } catch { }\n });\n this.loading = false;\n }\n\n async submit() {\n try {\n const request = new OrganizationUpdateRequest();\n request.name = this.org.name;\n request.businessName = this.org.businessName;\n request.billingEmail = this.org.billingEmail;\n this.formPromise = this.apiService.putOrganization(this.organizationId, request).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Organization Settings' });\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpdated'));\n } catch { }\n }\n\n deleteOrganization() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n DeleteOrganizationComponent, this.deleteModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent {\n access2fa = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n const organization = await this.userService.getOrganization(params.organizationId);\n this.access2fa = organization.use2fa;\n });\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityEventsComponent } from './entity-events.component';\nimport { UserAddEditComponent } from './user-add-edit.component';\nimport { UserGroupsComponent } from './user-groups.component';\n\n@Component({\n selector: 'app-org-people',\n templateUrl: 'people.component.html',\n})\nexport class PeopleComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('groupsTemplate', { read: ViewContainerRef }) groupsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n users: OrganizationUserUserDetailsResponse[];\n searchText: string;\n status: OrganizationUserStatusType = null;\n statusMap = new Map();\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n actionPromise: Promise;\n accessEvents = false;\n accessGroups = false;\n\n private modal: ModalComponent = null;\n private allUsers: OrganizationUserUserDetailsResponse[];\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private analytics: Angulartics2,\n private toasterService: ToasterService, private cryptoService: CryptoService,\n private userService: UserService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n this.accessEvents = organization.useEvents;\n this.accessGroups = organization.useGroups;\n await this.load();\n\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const user = this.users.filter((u) => u.id === qParams.viewEvents);\n if (user.length > 0 && user[0].status === OrganizationUserStatusType.Confirmed) {\n this.events(user[0]);\n }\n }\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n this.statusMap.clear();\n this.allUsers = response.data != null && response.data.length > 0 ? response.data : [];\n this.allUsers.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.allUsers.forEach((u) => {\n if (!this.statusMap.has(u.status)) {\n this.statusMap.set(u.status, [u]);\n } else {\n this.statusMap.get(u.status).push(u);\n }\n });\n this.filter(this.status);\n this.loading = false;\n }\n\n filter(status: OrganizationUserStatusType) {\n this.status = status;\n if (this.status != null) {\n this.users = this.statusMap.get(this.status);\n } else {\n this.users = this.allUsers;\n }\n }\n\n get invitedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Invited) ?\n this.statusMap.get(OrganizationUserStatusType.Invited).length : 0;\n }\n\n get acceptedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Accepted) ?\n this.statusMap.get(OrganizationUserStatusType.Accepted).length : 0;\n }\n\n edit(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserAddEditComponent, this.addEditModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedUser.subscribe(() => {\n this.modal.close();\n this.removeUser(user);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n invite() {\n this.edit(null);\n }\n\n groups(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.groupsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserGroupsComponent, this.groupsModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async remove(user: OrganizationUserUserDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.name || user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteOrganizationUser(this.organizationId, user.id);\n this.analytics.eventTrack.next({ action: 'Deleted User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.name || user.email));\n this.removeUser(user);\n } catch { }\n }\n\n async reinvite(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.apiService.postOrganizationUserReinvite(this.organizationId, user.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Reinvited User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', user.name || user.email));\n this.actionPromise = null;\n }\n\n async confirm(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.doConfirmation(user);\n await this.actionPromise;\n user.status = OrganizationUserStatusType.Confirmed;\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', user.name || user.email));\n this.actionPromise = null;\n }\n\n async events(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = user.name || user.email;\n childComponent.organizationId = this.organizationId;\n childComponent.entityId = user.id;\n childComponent.showUser = false;\n childComponent.entity = 'user';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private async doConfirmation(user: OrganizationUserUserDetailsResponse) {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const publicKeyResponse = await this.apiService.getUserPublicKey(user.userId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, user.id, request);\n }\n\n private removeUser(user: OrganizationUserUserDetailsResponse) {\n const index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityUsersComponent } from './entity-users.component';\nimport { GroupAddEditComponent } from './group-add-edit.component';\n\n@Component({\n selector: 'app-org-groups',\n templateUrl: 'groups.component.html',\n})\nexport class GroupsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n groups: GroupResponse[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\n private router: Router) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (organization == null || !organization.useGroups) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n await this.load();\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getGroups(this.organizationId);\n const groups = response.data != null && response.data.length > 0 ? response.data : [];\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n this.loading = false;\n }\n\n edit(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n GroupAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.groupId = group != null ? group.id : null;\n childComponent.onSavedGroup.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedGroup.subscribe(() => {\n this.modal.close();\n this.removeGroup(group);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(group: GroupResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteGroupConfirmation'), group.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteGroup(this.organizationId, group.id);\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', group.name));\n this.removeGroup(group);\n } catch { }\n }\n\n users(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'group';\n childComponent.entityId = group.id;\n childComponent.entityName = group.name;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeGroup(group: GroupResponse) {\n const index = this.groups.indexOf(group);\n if (index > -1) {\n this.groups.splice(index, 1);\n }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { EventService } from '../../services/event.service';\r\n\r\nimport { EventResponse } from 'jslib/models/response/eventResponse';\r\nimport { ListResponse } from 'jslib/models/response/listResponse';\r\n\r\n@Component({\r\n selector: 'app-org-events',\r\n templateUrl: 'events.component.html',\r\n})\r\nexport class EventsComponent implements OnInit {\r\n loading = true;\r\n loaded = false;\r\n organizationId: string;\r\n events: any[];\r\n start: string;\r\n end: string;\r\n continuationToken: string;\r\n refreshPromise: Promise;\r\n morePromise: Promise;\r\n\r\n private orgUsersUserIdMap = new Map();\r\n private orgUsersIdMap = new Map();\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute,\r\n private eventService: EventService, private i18nService: I18nService,\r\n private toasterService: ToasterService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n if (organization == null || !organization.useEvents) {\r\n this.router.navigate(['/organizations', this.organizationId]);\r\n return;\r\n }\r\n const defaultDates = this.eventService.getDefaultDateFilters();\r\n this.start = defaultDates[0];\r\n this.end = defaultDates[1];\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\r\n response.data.forEach((u) => {\r\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\r\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\r\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\r\n });\r\n await this.loadEvents(true);\r\n this.loaded = true;\r\n }\r\n\r\n async loadEvents(clearExisting: boolean) {\r\n if (this.refreshPromise != null || this.morePromise != null) {\r\n return;\r\n }\r\n\r\n let dates: string[] = null;\r\n try {\r\n dates = this.eventService.formatDateFilters(this.start, this.end);\r\n } catch (e) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidDateRange'));\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n let response: ListResponse;\r\n try {\r\n const promise = this.apiService.getEventsOrganization(this.organizationId, dates[0], dates[1],\r\n clearExisting ? null : this.continuationToken);\r\n if (clearExisting) {\r\n this.refreshPromise = promise;\r\n } else {\r\n this.morePromise = promise;\r\n }\r\n response = await promise;\r\n } catch { }\r\n\r\n this.continuationToken = response.continuationToken;\r\n const events = response.data.map((r) => {\r\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\r\n const eventInfo = this.eventService.getEventInfo(r);\r\n const user = userId != null && this.orgUsersUserIdMap.has(userId) ?\r\n this.orgUsersUserIdMap.get(userId) : null;\r\n return {\r\n message: eventInfo.message,\r\n appIcon: eventInfo.appIcon,\r\n appName: eventInfo.appName,\r\n userId: userId,\r\n userName: user != null ? user.name : this.i18nService.t('unknown'),\r\n userEmail: user != null ? user.email : '',\r\n date: r.date,\r\n ip: r.ipAddress,\r\n type: r.type,\r\n };\r\n });\r\n\r\n if (!clearExisting && this.events != null && this.events.length > 0) {\r\n this.events = this.events.concat(events);\r\n } else {\r\n this.events = events;\r\n }\r\n\r\n this.loading = false;\r\n this.morePromise = null;\r\n this.refreshPromise = null;\r\n }\r\n}\r\n","export enum OrganizationUserStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-entity-users',\n templateUrl: 'entity-users.component.html',\n})\nexport class EntityUsersComponent implements OnInit {\n @Input() entity: 'group' | 'collection';\n @Input() entityId: string;\n @Input() entityName: string;\n @Input() organizationId: string;\n @Output() onRemovedUser = new EventEmitter();\n\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n\n loading = true;\n users: any[] = [];\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n await this.loadUsers();\n this.loading = false;\n }\n\n async loadUsers() {\n let users: any[] = [];\n if (this.entity === 'group') {\n const response = await this.apiService.getGroupUsers(this.organizationId, this.entityId);\n users = response.data.map((r) => r);\n } else if (this.entity === 'collection') {\n const response = await this.apiService.getCollectionUsers(this.organizationId, this.entityId);\n users = response.data.map((r) => r);\n }\n users.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.users = users;\n }\n\n async remove(user: any) {\n if (this.actionPromise != null || (this.entity === 'collection' && user.accessAll)) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n if (this.entity === 'group') {\n this.actionPromise = this.apiService.deleteGroupUser(this.organizationId, this.entityId,\n user.organizationUserId);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Removed User From Group' });\n } else if (this.entity === 'collection') {\n this.actionPromise = this.apiService.deleteCollectionUser(this.organizationId, this.entityId,\n user.organizationUserId);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Removed User From Collection' });\n }\n\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.email));\n this.onRemovedUser.emit();\n const index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n } catch { }\n }\n}\n","export class SelectionReadOnlyRequest {\n id: string;\n readOnly: boolean;\n\n constructor(id: string, readOnly: boolean) {\n this.id = id;\n this.readOnly = readOnly;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ModalComponent } from '../../modal.component';\nimport { CollectionAddEditComponent } from './collection-add-edit.component';\nimport { EntityUsersComponent } from './entity-users.component';\n\n@Component({\n selector: 'app-org-manage-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n collections: CollectionView[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private collectionService: CollectionService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getCollections(this.organizationId);\n const collections = response.data.map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n this.loading = false;\n }\n\n edit(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n CollectionAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.collectionId = collection != null ? collection.id : null;\n childComponent.onSavedCollection.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedCollection.subscribe(() => {\n this.modal.close();\n this.removeCollection(collection);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(collection: CollectionView) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), collection.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteCollection(this.organizationId, collection.id);\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', collection.name));\n this.removeCollection(collection);\n } catch { }\n }\n\n users(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'collection';\n childComponent.entityId = collection.id;\n childComponent.entityName = collection.name;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeCollection(collection: CollectionView) {\n const index = this.collections.indexOf(collection);\n if (index > -1) {\n this.collections.splice(index, 1);\n }\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\n@Pipe({\n name: 'search',\n})\nexport class SearchPipe implements PipeTransform {\n transform(items: any[], searchText: string, prop1?: string, prop2?: string, prop3?: string): any[] {\n if (items == null || items.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return items;\n }\n\n searchText = searchText.trim().toLowerCase();\n return items.filter((i) => {\n if (prop1 != null && i[prop1] != null && i[prop1].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop2 != null && i[prop2] != null && i[prop2].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop3 != null && i[prop3] != null && i[prop3].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n return false;\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Component({\r\n selector: 'app-org-manage',\r\n templateUrl: 'manage.component.html',\r\n})\r\nexport class ManageComponent implements OnInit {\r\n accessGroups = false;\r\n accessEvents = false;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n this.route.parent.params.subscribe(async (params) => {\r\n const organization = await this.userService.getOrganization(params.organizationId);\r\n this.accessEvents = organization.useEvents;\r\n this.accessGroups = organization.useGroups;\r\n });\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from '../../tools/export.component';\r\n\r\n@Component({\r\n selector: 'app-org-export',\r\n templateUrl: '../../tools/export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n organizationId: string;\r\n\r\n constructor(analytics: Angulartics2, toasterService: ToasterService,\r\n cryptoService: CryptoService, userService: UserService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n exportService: ExportService, private route: ActivatedRoute) {\r\n super(analytics, toasterService, cryptoService, userService, i18nService, platformUtilsService,\r\n exportService);\r\n }\r\n\r\n ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n });\r\n }\r\n\r\n getExportData() {\r\n return this.exportService.getOrganizationExport(this.organizationId, 'csv');\r\n }\r\n\r\n getFileName() {\r\n return super.getFileName('org');\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { Importer } from 'jslib/importers/importer';\n\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { ImportOrganizationCiphersRequest } from 'jslib/models/request/importOrganizationCiphersRequest';\nimport { KvpRequest } from 'jslib/models/request/kvpRequest';\n\nimport { ImportResult } from 'jslib/models/domain/importResult';\n\nimport { ImportComponent as BaseImportComponent } from '../../tools/import.component';\n\n@Component({\n selector: 'app-org-import',\n templateUrl: '../../tools/import.component.html',\n})\nexport class ImportComponent extends BaseImportComponent {\n organizationId: string;\n\n constructor(i18nService: I18nService, analytics: Angulartics2,\n toasterService: ToasterService, cipherService: CipherService,\n folderService: FolderService, apiService: ApiService,\n router: Router, private collectionService: CollectionService,\n private route: ActivatedRoute) {\n super(i18nService, analytics, toasterService, cipherService, folderService, apiService, router);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n this.successNavigate = ['organizations', this.organizationId, 'vault'];\n super.ngOnInit();\n });\n }\n\n protected async postImport(importResult: ImportResult) {\n const request = new ImportOrganizationCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n importResult.ciphers[i].organizationId = this.organizationId;\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.collections != null) {\n for (let i = 0; i < importResult.collections.length; i++) {\n importResult.collections[i].organizationId = this.organizationId;\n const c = await this.collectionService.encrypt(importResult.collections[i]);\n request.collections.push(new CollectionRequest(c));\n }\n }\n if (importResult.collectionRelationships != null) {\n importResult.collectionRelationships.forEach((r) =>\n request.collectionRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportOrganizationCiphers(this.organizationId, request);\n }\n\n protected getImporter(): Importer {\n const importer = super.getImporter();\n if (importer != null) {\n importer.organization = true;\n }\n return importer;\n }\n}\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-org-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent { }\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { EventService } from '../../services/event.service';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\n\n@Component({\n selector: 'app-entity-events',\n templateUrl: 'entity-events.component.html',\n})\nexport class EntityEventsComponent implements OnInit {\n @Input() name: string;\n @Input() entity: 'user' | 'cipher';\n @Input() entityId: string;\n @Input() organizationId: string;\n @Input() showUser = false;\n\n loading = true;\n loaded = false;\n events: any[];\n start: string;\n end: string;\n continuationToken: string;\n refreshPromise: Promise;\n morePromise: Promise;\n\n private orgUsersUserIdMap = new Map();\n private orgUsersIdMap = new Map();\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private eventService: EventService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const defaultDates = this.eventService.getDefaultDateFilters();\n this.start = defaultDates[0];\n this.end = defaultDates[1];\n await this.load();\n }\n\n async load() {\n if (this.showUser) {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n response.data.forEach((u) => {\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\n });\n }\n await this.loadEvents(true);\n this.loaded = true;\n }\n\n async loadEvents(clearExisting: boolean) {\n if (this.refreshPromise != null || this.morePromise != null) {\n return;\n }\n\n let dates: string[] = null;\n try {\n dates = this.eventService.formatDateFilters(this.start, this.end);\n } catch (e) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidDateRange'));\n return;\n }\n\n this.loading = true;\n let response: ListResponse;\n try {\n let promise: Promise;\n if (this.entity === 'user') {\n promise = this.apiService.getEventsOrganizationUser(this.organizationId, this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n } else {\n promise = this.apiService.getEventsCipher(this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n }\n if (clearExisting) {\n this.refreshPromise = promise;\n } else {\n this.morePromise = promise;\n }\n response = await promise;\n } catch { }\n\n this.continuationToken = response.continuationToken;\n const events = response.data.map((r) => {\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\n const eventInfo = this.eventService.getEventInfo(r);\n const user = this.showUser && userId != null && this.orgUsersUserIdMap.has(userId) ?\n this.orgUsersUserIdMap.get(userId) : null;\n return {\n message: eventInfo.message,\n appIcon: eventInfo.appIcon,\n appName: eventInfo.appName,\n userId: userId,\n userName: user != null ? user.name : this.showUser ? this.i18nService.t('unknown') : null,\n userEmail: user != null ? user.email : this.showUser ? '' : null,\n date: r.date,\n ip: r.ipAddress,\n type: r.type,\n };\n });\n\n if (!clearExisting && this.events != null && this.events.length > 0) {\n this.events = this.events.concat(events);\n } else {\n this.events = events;\n }\n\n this.loading = false;\n this.morePromise = null;\n this.refreshPromise = null;\n }\n}\n","import { Location } from '@angular/common';\nimport {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { ModalComponent } from '../../modal.component';\n\nimport { EntityEventsComponent } from '../manage/entity-events.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { GroupingsComponent } from './groupings.component';\n\n@Component({\n selector: 'app-org-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n organization: Organization;\n collectionId: string;\n type: CipherType;\n\n private modal: ModalComponent = null;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private location: Location, private router: Router,\n private syncService: SyncService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver, private messagingService: MessagingService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.groupingsComponent.organization = this.organization;\n this.ciphersComponent.organization = this.organization;\n\n this.route.queryParams.subscribe(async (qParams) => {\n if (!this.organization.isAdmin) {\n await this.syncService.fullSync(false);\n }\n await this.groupingsComponent.load();\n\n if (qParams == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n } else {\n if (qParams.type) {\n const t = parseInt(qParams.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t, true);\n } else if (qParams.collectionId) {\n this.groupingsComponent.selectedCollectionId = qParams.collectionId;\n await this.filterCollection(qParams.collectionId, true);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n }\n\n this.ciphersComponent.searchText = this.groupingsComponent.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const cipher = this.ciphersComponent.ciphers.filter((c) => c.id === qParams.viewEvents);\n if (cipher.length > 0) {\n this.viewEvents(cipher[0]);\n }\n }\n });\n });\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.applyFilter();\n this.clearFilters();\n this.go();\n }\n\n async filterCipherType(type: CipherType, load = false) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n const filter = (c: CipherView) => c.type === type;\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterCollection(collectionId: string, load = false) {\n this.ciphersComponent.showAddNew = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n const filter = (c: CipherView) => {\n if (collectionId === 'unassigned') {\n return c.collectionIds == null || c.collectionIds.length === 0;\n } else {\n return c.collectionIds.indexOf(collectionId) > -1;\n }\n };\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n }\n\n editCipherAttachments(cipher: CipherView) {\n if (this.organization.maxStorageGb == null || this.organization.maxStorageGb === 0) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n if (this.organization.isAdmin) {\n childComponent.collectionIds = cipher.collectionIds;\n childComponent.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async viewEvents(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = cipher.name;\n childComponent.organizationId = this.organization.id;\n childComponent.entityId = cipher.id;\n childComponent.showUser = true;\n childComponent.entity = 'cipher';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.collectionId = null;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n type: this.type,\n collectionId: this.collectionId,\n };\n }\n\n const url = this.router.createUrlTree(['organizations', this.organization.id, 'vault'],\n { queryParams: queryParams }).toString();\n this.location.go(url);\n }\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CiphersComponent as BaseCiphersComponent } from '../../vault/ciphers.component';\n\n@Component({\n selector: 'app-org-vault-ciphers',\n templateUrl: '../../vault/ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent {\n @Output() onEventsClicked = new EventEmitter();\n\n organization: Organization;\n accessEvents = false;\n\n constructor(cipherService: CipherService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n super(cipherService, analytics, toasterService, i18nService, platformUtilsService);\n }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n if (!this.organization.isAdmin) {\n await super.load();\n return;\n }\n this.accessEvents = this.organization.useEvents;\n const ciphers = await this.apiService.getCiphersOrganization(this.organization.id);\n if (ciphers != null && ciphers.data != null && ciphers.data.length) {\n const decCiphers: CipherView[] = [];\n const promises: any[] = [];\n ciphers.data.forEach((r) => {\n const data = new CipherData(r);\n const cipher = new Cipher(data);\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n await Promise.all(promises);\n decCiphers.sort(this.cipherService.getLocaleSortingFunction());\n this.allCiphers = decCiphers;\n } else {\n this.allCiphers = [];\n }\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n applyFilter(filter: (cipher: CipherView) => boolean = null) {\n if (this.organization.isAdmin) {\n super.applyFilter(filter);\n } else {\n const f = (c: CipherView) => c.organizationId === this.organization.id && (filter == null || filter(c));\n super.applyFilter(f);\n }\n }\n\n checkCipher(c: CipherView) {\n // do nothing\n }\n\n events(c: CipherView) {\n this.onEventsClicked.emit(c);\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from '../../vault/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-groupings',\r\n templateUrl: '../../vault/groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n organization: Organization;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService,\r\n private apiService: ApiService, private i18nService: I18nService) {\r\n super(collectionService, folderService);\r\n }\r\n\r\n async loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n await super.loadCollections(this.organization.id);\r\n return;\r\n }\r\n const collections = await this.apiService.getCollections(this.organization.id);\r\n if (collections != null && collections.data != null && collections.data.length) {\r\n const collectionDomains = collections.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collectionDomains);\r\n } else {\r\n this.collections = [];\r\n }\r\n\r\n const unassignedCollection = new CollectionView();\r\n unassignedCollection.name = this.i18nService.t('unassigned');\r\n unassignedCollection.id = 'unassigned';\r\n unassignedCollection.organizationId = this.organization.id;\r\n unassignedCollection.readOnly = true;\r\n this.collections.push(unassignedCollection);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\n@Component({\r\n selector: 'app-organization-layout',\r\n templateUrl: 'organization-layout.component.html',\r\n})\r\nexport class OrganizationLayoutComponent implements OnInit {\r\n organization: Organization;\r\n\r\n private organizationId: string;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n this.route.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n this.organization = await this.userService.getOrganization(this.organizationId);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { AuditService } from 'jslib/abstractions/audit.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\nimport { BreachAccountResponse } from 'jslib/models/response/breachAccountResponse';\r\n\r\n@Component({\r\n selector: 'app-breach-report',\r\n templateUrl: 'breach-report.component.html',\r\n})\r\nexport class BreachReportComponent implements OnInit {\r\n error = false;\r\n username: string;\r\n checkedUsername: string;\r\n breachedAccounts: BreachAccountResponse[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private auditService: AuditService, private userService: UserService) { }\r\n\r\n async ngOnInit() {\r\n this.username = await this.userService.getEmail();\r\n }\r\n\r\n async submit() {\r\n this.error = false;\r\n this.username = this.username.toLowerCase();\r\n try {\r\n this.formPromise = this.auditService.breachedAccounts(this.username);\r\n this.breachedAccounts = await this.formPromise;\r\n } catch {\r\n this.error = true;\r\n }\r\n this.checkedUsername = this.username;\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorComponent as BasePasswordGeneratorComponent,\r\n} from 'jslib/angular/components/password-generator.component';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { PasswordGeneratorHistoryComponent } from './password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator',\r\n templateUrl: 'password-generator.component.html',\r\n})\r\nexport class PasswordGeneratorComponent extends BasePasswordGeneratorComponent {\r\n @ViewChild('historyTemplate', { read: ViewContainerRef }) historyModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2,\r\n platformUtilsService: PlatformUtilsService, i18nService: I18nService,\r\n toasterService: ToasterService, private componentFactoryResolver: ComponentFactoryResolver) {\r\n super(passwordGenerationService, analytics, platformUtilsService, i18nService, toasterService, window);\r\n }\r\n\r\n history() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.historyModalRef.createComponent(factory).instance;\r\n this.modal.show(PasswordGeneratorHistoryComponent, this.historyModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent { }\r\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { PaymentComponent } from './payment.component';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { OrganizationCreateRequest } from 'jslib/models/request/organizationCreateRequest';\n\n@Component({\n selector: 'app-create-organization',\n templateUrl: 'create-organization.component.html',\n})\nexport class CreateOrganizationComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n ownedBusiness = false;\n storageGbPriceMonthly = 0.33;\n additionalStorage = 0;\n additionalSeats = 0;\n plan = 'free';\n interval = 'year';\n name: string;\n billingEmail: string;\n businessName: string;\n\n storageGb: any = {\n price: 0.33,\n monthlyPrice: 0.50,\n yearlyPrice: 4,\n };\n\n plans: any = {\n free: {\n basePrice: 0,\n noAdditionalSeats: true,\n noPayment: true,\n },\n families: {\n basePrice: 1,\n annualBasePrice: 12,\n baseSeats: 5,\n noAdditionalSeats: true,\n annualPlanType: PlanType.FamiliesAnnually,\n },\n teams: {\n basePrice: 5,\n annualBasePrice: 60,\n monthlyBasePrice: 8,\n baseSeats: 5,\n seatPrice: 2,\n annualSeatPrice: 24,\n monthlySeatPrice: 2.5,\n monthPlanType: PlanType.TeamsMonthly,\n annualPlanType: PlanType.TeamsAnnually,\n },\n enterprise: {\n seatPrice: 3,\n annualSeatPrice: 36,\n monthlySeatPrice: 4,\n monthPlanType: PlanType.EnterpriseMonthly,\n annualPlanType: PlanType.EnterpriseAnnually,\n },\n };\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private router: Router, private syncService: SyncService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.plan === 'families' || qParams.plan === 'teams' || qParams.plan === 'enterprise') {\n this.plan = qParams.plan;\n }\n });\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n let key: string = null;\n let collectionCt: string = null;\n\n try {\n this.formPromise = this.cryptoService.makeShareKey().then((shareKey) => {\n key = shareKey[0].encryptedString;\n return this.cryptoService.encrypt(this.i18nService.t('defaultCollection'), shareKey[1]);\n }).then((collection) => {\n collectionCt = collection.encryptedString;\n if (this.selfHosted || this.plan === 'free') {\n return null;\n } else {\n return this.paymentComponent.createPaymentToken();\n }\n }).then((token: string) => {\n if (this.selfHosted) {\n const fd = new FormData();\n fd.append('license', files[0]);\n fd.append('key', key);\n fd.append('collectionName', collectionCt);\n return this.apiService.postOrganizationLicense(fd);\n } else {\n const request = new OrganizationCreateRequest();\n request.key = key;\n request.collectionName = collectionCt;\n request.name = this.name;\n request.billingEmail = this.billingEmail;\n\n if (this.plan === 'free') {\n request.planType = PlanType.Free;\n } else {\n request.paymentToken = token;\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.country = this.paymentComponent.getCountry();\n if (this.interval === 'month') {\n request.planType = this.plans[this.plan].monthPlanType;\n } else {\n request.planType = this.plans[this.plan].annualPlanType;\n }\n }\n return this.apiService.postOrganization(request);\n }\n }).then((response) => {\n return this.finalize(response.id);\n });\n await this.formPromise;\n } catch { }\n }\n\n async finalize(orgId: string) {\n await Promise.all([\n this.apiService.refreshIdentityToken(),\n this.syncService.fullSync(true),\n ]);\n this.analytics.eventTrack.next({ action: 'Created Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationCreated'),\n this.i18nService.t('organizationReadyToGo'));\n this.router.navigate(['/organizations/' + orgId]);\n }\n\n changedPlan() {\n if (this.plans[this.plan].monthPlanType == null) {\n this.interval = 'year';\n }\n\n if (this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 0;\n } else if (!this.additionalSeats && !this.plans[this.plan].baseSeats &&\n !this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 1;\n }\n }\n\n changedOwnedBusiness() {\n if (!this.ownedBusiness || this.plan === 'teams' || this.plan === 'enterprise') {\n return;\n }\n this.plan = 'teams';\n }\n\n additionalStorageTotal(annual: boolean): number {\n if (annual) {\n return (this.additionalStorage || 0) * this.storageGb.yearlyPrice;\n } else {\n return (this.additionalStorage || 0) * this.storageGb.monthlyPrice;\n }\n }\n\n seatTotal(annual: boolean): number {\n if (this.plans[this.plan].noAdditionalSeats) {\n return 0;\n }\n\n if (annual) {\n return this.plans[this.plan].annualSeatPrice * (this.additionalSeats || 0);\n } else {\n return this.plans[this.plan].monthlySeatPrice * (this.additionalSeats || 0);\n }\n }\n\n baseTotal(annual: boolean): number {\n if (annual) {\n return (this.plans[this.plan].annualBasePrice || 0);\n } else {\n return (this.plans[this.plan].monthlyBasePrice || 0);\n }\n }\n\n get total(): number {\n const annual = this.interval === 'year';\n return this.baseTotal(annual) + this.seatTotal(annual) + this.additionalStorageTotal(annual);\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { BillingResponse } from 'jslib/models/response/billingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\n@Component({\n selector: 'app-user-billing',\n templateUrl: 'user-billing.component.html',\n})\nexport class UserBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showAdjustPayment = false;\n showUpdateLicense = false;\n billing: BillingResponse;\n paymentMethodType = PaymentMethodType;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n await this.load();\n this.firstLoaded = true;\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n\n const premium = this.tokenService.getPremium();\n if (premium) {\n this.loading = true;\n this.billing = await this.apiService.getUserBilling();\n } else {\n this.router.navigate(['/settings/premium']);\n return;\n }\n\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postReinstatePremium();\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postCancelPremium();\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const licenseString = JSON.stringify(this.billing.license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_premium_license.json');\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.billing != null ? this.billing.subscription : null;\n }\n\n get nextInvoice() {\n return this.billing != null ? this.billing.upcomingInvoice : null;\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get charges() {\n return this.billing != null ? this.billing.charges : null;\n }\n\n get storagePercentage() {\n return this.billing != null && this.billing.maxStorageGb ?\n +(100 * (this.billing.storageGb / this.billing.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n}\n","export enum PaymentMethodType {\n Card = 0,\n BankAccount = 1,\n PayPal = 2,\n Bitcoin = 3,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PaymentRequest } from 'jslib/models/request/paymentRequest';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-adjust-payment',\n templateUrl: 'adjust-payment.component.html',\n})\nexport class AdjustPaymentComponent {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n @Input() currentType?: PaymentMethodType;\n @Input() organizationId: string;\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n paymentMethodType = PaymentMethodType;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new PaymentRequest();\n this.formPromise = this.paymentComponent.createPaymentToken().then((token) => {\n request.paymentToken = token;\n if (this.organizationId == null) {\n return this.apiService.postAccountPayment(request);\n } else {\n return this.apiService.postOrganizationPayment(this.organizationId, request);\n }\n });\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.currentType == null ? 'Added Payment Method' : 'Changed Payment Method',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedPaymentMethod'));\n this.onAdjusted.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get canChange() {\n return this.currentType == null || this.currentType === PaymentMethodType.Card || this.organizationId != null;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { StorageRequest } from 'jslib/models/request/storageRequest';\n\n@Component({\n selector: 'app-adjust-storage',\n templateUrl: 'adjust-storage.component.html',\n})\nexport class AdjustStorageComponent {\n @Input() storageGbPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n storageAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new StorageRequest();\n request.storageGbAdjustment = this.storageAdjustment;\n if (!this.add) {\n request.storageGbAdjustment *= -1;\n }\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountStorage(request);\n } else {\n this.formPromise = this.apiService.postOrganizationStorage(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Storage' : 'Removed Storage' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedStorage', request.storageGbAdjustment.toString()));\n this.onAdjusted.emit(this.storageAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedStorageTotal(): number {\n return this.storageGbPrice * this.storageAdjustment;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-update-license',\n templateUrl: 'update-license.component.html',\n})\nexport class UpdateLicenseComponent {\n @Input() organizationId: string;\n @Output() onUpdated = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n try {\n const fd = new FormData();\n fd.append('license', files[0]);\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountLicense(fd);\n } else {\n this.formPromise = this.apiService.postOrganizationLicenseUpdate(this.organizationId, fd);\n }\n\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated License' });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedLicense'));\n this.onUpdated.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-premium',\n templateUrl: 'premium.component.html',\n})\nexport class PremiumComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n premiumPrice = 10;\n storageGbPrice = 4;\n additionalStorage = 0;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private tokenService: TokenService,\n private router: Router, private messagingService: MessagingService,\n private syncService: SyncService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n const premium = await this.tokenService.getPremium();\n if (premium) {\n this.router.navigate(['/settings/billing']);\n return;\n }\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n try {\n if (this.selfHosted) {\n if (!this.tokenService.getEmailVerified()) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verifyEmailFirst'));\n return;\n }\n\n const fd = new FormData();\n fd.append('license', files[0]);\n this.formPromise = this.apiService.postAccountLicense(fd).then(() => {\n return this.finalizePremium();\n });\n } else {\n this.formPromise = this.paymentComponent.createPaymentToken().then((token) => {\n const fd = new FormData();\n fd.append('paymentToken', token);\n fd.append('additionalStorageGb', (this.additionalStorage || 0).toString());\n return this.apiService.postPremium(fd);\n }).then(() => {\n return this.finalizePremium();\n });\n }\n await this.formPromise;\n } catch { }\n }\n\n async finalizePremium() {\n await Promise.all([\n this.apiService.refreshIdentityToken(),\n this.syncService.fullSync(true),\n ]);\n this.analytics.eventTrack.next({ action: 'Signed Up Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('premiumUpdated'));\n this.messagingService.send('purchasedPremium');\n this.router.navigate(['/settings/billing']);\n }\n\n get additionalStorageTotal(): number {\n return this.storageGbPrice * this.additionalStorage;\n }\n\n get total(): number {\n return this.additionalStorageTotal + this.premiumPrice;\n }\n}\n","
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \"Visa,\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n {{'paypalClickSubmit' | i18n}}\n
\n
\n\n \n {{'verifyBankAccountInitialDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorDuoRequest } from 'jslib/models/request/updateTwoFactorDuoRequest';\nimport { TwoFactorDuoResponse } from 'jslib/models/response/twoFactorDuoResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-duo',\n templateUrl: 'two-factor-duo.component.html',\n})\nexport class TwoFactorDuoComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Duo;\n ikey: string;\n skey: string;\n host: string;\n formPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorDuoRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.integrationKey = this.ikey;\n request.secretKey = this.skey;\n request.host = this.host;\n\n return super.enable(async () => {\n if (this.organizationId != null) {\n this.formPromise = this.apiService.putTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.putTwoFactorDuo(request);\n }\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private processResponse(response: TwoFactorDuoResponse) {\n this.ikey = response.integrationKey;\n this.skey = response.secretKey;\n this.host = response.host;\n this.enabled = response.enabled;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { UpdateDomainsRequest } from 'jslib/models/request/updateDomainsRequest';\n\n@Component({\n selector: 'app-domain-rules',\n templateUrl: 'domain-rules.component.html',\n})\nexport class DomainRulesComponent implements OnInit {\n loading = true;\n custom: string[] = [];\n global: any[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const response = await this.apiService.getSettingsDomains();\n this.loading = false;\n if (response.equivalentDomains != null) {\n this.custom = response.equivalentDomains.map((d) => d.join(', '));\n }\n if (response.globalEquivalentDomains != null) {\n this.global = response.globalEquivalentDomains.map((d) => {\n return {\n domains: d.domains.join(', '),\n excluded: d.excluded,\n key: d.type,\n };\n });\n }\n }\n\n toggleExcluded(globalDomain: any) {\n globalDomain.excluded = !globalDomain.excluded;\n }\n\n customize(globalDomain: any) {\n globalDomain.excluded = true;\n this.custom.push(globalDomain.domains);\n }\n\n remove(index: number) {\n this.custom.splice(index, 1);\n }\n\n add() {\n this.custom.push('');\n }\n\n async submit() {\n const request = new UpdateDomainsRequest();\n request.excludedGlobalEquivalentDomains = this.global.filter((d) => d.excluded)\n .map((d) => d.key);\n if (request.excludedGlobalEquivalentDomains.length === 0) {\n request.excludedGlobalEquivalentDomains = null;\n }\n request.equivalentDomains = this.custom.filter((d) => d != null && d.trim() !== '')\n .map((d) => d.split(',').map((d2) => d2.trim()));\n if (request.equivalentDomains.length === 0) {\n request.equivalentDomains = null;\n }\n\n try {\n this.formPromise = this.apiService.putSettingsDomains(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Saved Equivalent Domains' });\n this.toasterService.popAsync('success', null, this.i18nService.t('domainsUpdated'));\n } catch { }\n }\n\n indexTrackBy(index: number, obj: any): any {\n return index;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-options',\n templateUrl: 'options.component.html',\n})\nexport class OptionsComponent implements OnInit {\n disableIcons: boolean;\n locale: string;\n localeOptions: any[];\n\n private startingLocale: string;\n\n constructor(private storageService: StorageService, private stateService: StateService,\n private analytics: Angulartics2, private i18nService: I18nService,\n private toasterService: ToasterService) {\n const localeOptions: any[] = [];\n i18nService.supportedTranslationLocales.forEach((locale) => {\n localeOptions.push({ name: locale, value: locale });\n });\n localeOptions.sort(Utils.getSortFunction(i18nService, 'name'));\n localeOptions.splice(0, 0, { name: i18nService.t('default'), value: null });\n this.localeOptions = localeOptions;\n }\n\n async ngOnInit() {\n this.disableIcons = await this.storageService.get(ConstantsService.disableFaviconKey);\n this.locale = this.startingLocale = await this.storageService.get(ConstantsService.localeKey);\n }\n\n async submit() {\n await this.storageService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.stateService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.storageService.save(ConstantsService.localeKey, this.locale);\n this.analytics.eventTrack.next({ action: 'Saved Options' });\n if (this.locale !== this.startingLocale) {\n window.location.reload();\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('optionsUpdated'));\n }\n }\n}\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { DeauthorizeSessionsComponent } from './deauthorize-sessions.component';\r\nimport { DeleteAccountComponent } from './delete-account.component';\r\nimport { PurgeVaultComponent } from './purge-vault.component';\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: 'account.component.html',\r\n})\r\nexport class AccountComponent {\r\n @ViewChild('deauthorizeSessionsTemplate', { read: ViewContainerRef }) deauthModalRef: ViewContainerRef;\r\n @ViewChild('purgeVaultTemplate', { read: ViewContainerRef }) purgeModalRef: ViewContainerRef;\r\n @ViewChild('deleteAccountTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n deauthorizeSessions() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deauthModalRef.createComponent(factory).instance;\r\n this.modal.show(DeauthorizeSessionsComponent, this.deauthModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n purgeVault() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.purgeModalRef.createComponent(factory).instance;\r\n this.modal.show(PurgeVaultComponent, this.purgeModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n deleteAccount() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deleteModalRef.createComponent(factory).instance;\r\n this.modal.show(DeleteAccountComponent, this.deleteModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nconst BroadcasterSubscriptionId = 'SettingsComponent';\r\n\r\n@Component({\r\n selector: 'app-settings',\r\n templateUrl: 'settings.component.html',\r\n})\r\nexport class SettingsComponent implements OnInit, OnDestroy {\r\n premium: boolean;\r\n\r\n constructor(private tokenService: TokenService, private broadcasterService: BroadcasterService,\r\n private ngZone: NgZone) { }\r\n\r\n async ngOnInit() {\r\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\r\n this.ngZone.run(async () => {\r\n switch (message.command) {\r\n case 'purchasedPremium':\r\n await this.load();\r\n break;\r\n default:\r\n }\r\n });\r\n });\r\n\r\n await this.load();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\r\n }\r\n\r\n async load() {\r\n this.premium = await this.tokenService.getPremium();\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\n\r\n@Component({\r\n selector: 'app-vault-collections',\r\n templateUrl: 'collections.component.html',\r\n})\r\nexport class CollectionsComponent implements OnInit, OnDestroy {\r\n @Input() cipherId: string;\r\n @Output() onSavedCollections = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n cipher: CipherView;\r\n collectionIds: string[];\r\n collections: CollectionView[] = [];\r\n\r\n protected cipherDomain: Cipher;\r\n\r\n constructor(protected collectionService: CollectionService, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected cipherService: CipherService) { }\r\n\r\n async ngOnInit() {\r\n this.cipherDomain = await this.loadCipher();\r\n this.collectionIds = this.loadCipherCollections();\r\n this.cipher = await this.cipherDomain.decrypt();\r\n this.collections = await this.loadCollections();\r\n\r\n this.selectAll(false);\r\n if (this.collectionIds != null) {\r\n this.collections.forEach((c) => {\r\n (c as any).checked = this.collectionIds.indexOf(c.id) > -1;\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.selectAll(false);\r\n }\r\n\r\n async submit() {\r\n this.cipherDomain.collectionIds = this.collections\r\n .filter((c) => !!(c as any).checked)\r\n .map((c) => c.id);\r\n this.formPromise = this.saveCollections();\r\n await this.formPromise;\r\n this.onSavedCollections.emit();\r\n this.analytics.eventTrack.next({ action: 'Edited Cipher Collections' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('editedItem'));\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n protected loadCipher() {\r\n return this.cipherService.get(this.cipherId);\r\n }\r\n\r\n protected loadCipherCollections() {\r\n return this.cipherDomain.collectionIds;\r\n }\r\n\r\n protected async loadCollections() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n return allCollections.filter((c) => !c.readOnly && c.organizationId === this.cipher.organizationId);\r\n }\r\n\r\n protected saveCollections() {\r\n return this.cipherService.saveCollectionsWithServer(this.cipherDomain);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-vault-attachments',\r\n templateUrl: 'attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n constructor(cipherService: CipherService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cryptoService: CryptoService, tokenService: TokenService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(cipherService, analytics, toasterService, i18nService, cryptoService, tokenService,\r\n platformUtilsService, window);\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\n\nimport { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/add-edit.component';\nimport { LoginUriView } from 'jslib/models/view/loginUriView';\n\n@Component({\n selector: 'app-vault-add-edit',\n templateUrl: 'add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent implements OnInit {\n isPremium: boolean;\n totpCode: string;\n totpCodeFormatted: string;\n totpDash: number;\n totpSec: number;\n totpLow: boolean;\n\n protected totpInterval: number;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n analytics: Angulartics2, toasterService: ToasterService,\n auditService: AuditService, stateService: StateService,\n protected tokenService: TokenService, protected totpService: TotpService,\n protected passwordGenerationService: PasswordGenerationService, protected messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, analytics,\n toasterService, auditService, stateService);\n }\n\n async ngOnInit() {\n await super.load();\n this.cleanUp();\n\n this.isPremium = this.tokenService.getPremium();\n if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&\n (this.cipher.organizationUseTotp || this.isPremium)) {\n await this.totpUpdateCode();\n await this.totpTick();\n\n this.totpInterval = window.setInterval(async () => {\n await this.totpTick();\n }, 1000);\n }\n }\n\n toggleFavorite() {\n this.cipher.favorite = !this.cipher.favorite;\n }\n\n launch(uri: LoginUriView) {\n if (!uri.canLaunch) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Launched Login URI' });\n this.platformUtilsService.launchUri(uri.uri);\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType });\n this.platformUtilsService.copyToClipboard(value, { doc: window.document });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n }\n\n async generatePassword(): Promise {\n const confirmed = await super.generatePassword();\n if (confirmed) {\n const options = await this.passwordGenerationService.getOptions();\n this.cipher.login.password = await this.passwordGenerationService.generatePassword(options);\n }\n return confirmed;\n }\n\n async premiumRequired() {\n const premium = await this.tokenService.getPremium();\n if (!premium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n async upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.cipher.organizationId });\n }\n\n protected cleanUp() {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n\n protected async totpUpdateCode() {\n if (this.cipher == null || this.cipher.type !== CipherType.Login || this.cipher.login.totp == null) {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n return;\n }\n\n this.totpCode = await this.totpService.getCode(this.cipher.login.totp);\n if (this.totpCode != null) {\n this.totpCodeFormatted = this.totpCode.substring(0, 3) + ' ' + this.totpCode.substring(3);\n } else {\n this.totpCodeFormatted = null;\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n }\n\n protected async totpTick() {\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const mod = epoch % 30;\n\n this.totpSec = 30 - mod;\n this.totpDash = +(Math.round(((2.62 * mod) + 'e+2') as any) + 'e-2');\n this.totpLow = this.totpSec <= 7;\n if (mod === 0) {\n await this.totpUpdateCode();\n }\n }\n}\n","import { Folder } from '../domain/folder';\r\n\r\nexport class FolderRequest {\r\n name: string;\r\n\r\n constructor(folder: Folder) {\r\n this.name = folder.name ? folder.name.encryptedString : null;\r\n }\r\n}\r\n","import { Location } from '@angular/common';\nimport {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { OrganizationsComponent } from '../settings/organizations.component';\nimport { UpdateKeyComponent } from '../settings/update-key.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { BulkDeleteComponent } from './bulk-delete.component';\nimport { BulkMoveComponent } from './bulk-move.component';\nimport { BulkShareComponent } from './bulk-share.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { FolderAddEditComponent } from './folder-add-edit.component';\nimport { GroupingsComponent } from './groupings.component';\nimport { ShareComponent } from './share.component';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild(OrganizationsComponent) organizationsComponent: OrganizationsComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('folderAddEdit', { read: ViewContainerRef }) folderAddEditModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('share', { read: ViewContainerRef }) shareModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('bulkDeleteTemplate', { read: ViewContainerRef }) bulkDeleteModalRef: ViewContainerRef;\n @ViewChild('bulkMoveTemplate', { read: ViewContainerRef }) bulkMoveModalRef: ViewContainerRef;\n @ViewChild('bulkShareTemplate', { read: ViewContainerRef }) bulkShareModalRef: ViewContainerRef;\n @ViewChild('updateKeyTemplate', { read: ViewContainerRef }) updateKeyModalRef: ViewContainerRef;\n\n favorites: boolean = false;\n type: CipherType = null;\n folderId: string = null;\n collectionId: string = null;\n showVerifyEmail = false;\n showBrowserOutdated = false;\n showUpdateKey = false;\n showPremiumCallout = false;\n\n private modal: ModalComponent = null;\n\n constructor(private syncService: SyncService, private route: ActivatedRoute,\n private router: Router, private location: Location,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private tokenService: TokenService, private cryptoService: CryptoService,\n private messagingService: MessagingService, private userService: UserService,\n private platformUtilsService: PlatformUtilsService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n this.showVerifyEmail = !(await this.tokenService.getEmailVerified());\n this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;\n const hasEncKey = await this.cryptoService.hasEncKey();\n this.showUpdateKey = !hasEncKey;\n const isPremium = await this.tokenService.getPremium();\n\n this.route.queryParams.subscribe(async (params) => {\n await this.syncService.fullSync(false);\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n ]);\n\n this.showPremiumCallout = !this.showVerifyEmail && !isPremium &&\n !this.platformUtilsService.isSelfHost() && !(await this.inOrgWithPremium());\n\n if (params == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n return;\n }\n\n if (params.favorites) {\n this.groupingsComponent.selectedFavorites = true;\n await this.filterFavorites();\n } else if (params.type) {\n const t = parseInt(params.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t);\n } else if (params.folderId) {\n this.groupingsComponent.selectedFolder = true;\n this.groupingsComponent.selectedFolderId = params.folderId;\n await this.filterFolder(params.folderId);\n } else if (params.collectionId) {\n this.groupingsComponent.selectedCollectionId = params.collectionId;\n await this.filterCollection(params.collectionId);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n });\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.load();\n this.clearFilters();\n this.go();\n }\n\n async filterFavorites() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFavorites');\n await this.ciphersComponent.load((c) => c.favorite);\n this.clearFilters();\n this.favorites = true;\n this.go();\n }\n\n async filterCipherType(type: CipherType) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n await this.ciphersComponent.load((c) => c.type === type);\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterFolder(folderId: string) {\n this.ciphersComponent.showAddNew = true;\n folderId = folderId === 'none' ? null : folderId;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFolder');\n await this.ciphersComponent.load((c) => c.folderId === folderId);\n this.clearFilters();\n this.folderId = folderId == null ? 'none' : folderId;\n this.go();\n }\n\n async filterCollection(collectionId: string) {\n this.ciphersComponent.showAddNew = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n await this.ciphersComponent.load((c) => c.collectionIds.indexOf(collectionId) > -1);\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n }\n\n async editCipherAttachments(cipher: CipherView) {\n const premium = await this.tokenService.getPremium();\n if (cipher.organizationId == null && !premium) {\n this.messagingService.send('premiumRequired');\n return;\n } else if (cipher.organizationId != null) {\n const org = await this.userService.getOrganization(cipher.organizationId);\n if (org != null && (org.maxStorageGb == null || org.maxStorageGb === 0)) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n shareCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.shareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ShareComponent, this.shareModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSharedCipher.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async addFolder() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = null;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async editFolder(folderId: string) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = folderId;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n childComponent.onDeletedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n await this.filterFolder('none');\n this.groupingsComponent.selectedFolderId = null;\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n component.folderId = this.folderId === 'none' ? null : this.folderId;\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n bulkDelete() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkDeleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkDeleteComponent, this.bulkDeleteModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onDeleted.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n bulkShare() {\n const selectedCiphers = this.ciphersComponent.getSelected();\n if (selectedCiphers.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkShareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkShareComponent, this.bulkShareModalRef);\n\n childComponent.ciphers = selectedCiphers;\n childComponent.onShared.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n bulkMove() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkMoveModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkMoveComponent, this.bulkMoveModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onMoved.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n selectAll(select: boolean) {\n this.ciphersComponent.selectAll(select);\n }\n\n updateKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.updateKeyModalRef.createComponent(factory).instance;\n this.modal.show(UpdateKeyComponent, this.updateKeyModalRef);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.folderId = null;\n this.collectionId = null;\n this.favorites = false;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n favorites: this.favorites ? true : null,\n type: this.type,\n folderId: this.folderId,\n collectionId: this.collectionId,\n };\n }\n\n const url = this.router.createUrlTree(['vault'], { queryParams: queryParams }).toString();\n this.location.go(url);\n }\n\n private async inOrgWithPremium() {\n const orgs = await this.userService.getAllOrganizations();\n for (let i = 0; i < orgs.length; i++) {\n if (orgs[i].usersGetPremium) {\n return true;\n }\n }\n return false;\n }\n}\n","export enum UriMatchType {\r\n Domain = 0,\r\n Host = 1,\r\n StartsWith = 2,\r\n Exact = 3,\r\n RegularExpression = 4,\r\n Never = 5,\r\n}\r\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\n@Component({\n selector: 'app-vault-icon',\n templateUrl: 'icon.component.html',\n})\nexport class IconComponent implements OnChanges {\n @Input() cipher: any;\n icon: string;\n image: string;\n fallbackImage: string;\n imageEnabled: boolean;\n\n private iconsUrl: string;\n\n constructor(private environmentService: EnvironmentService, private stateService: StateService) {\n this.iconsUrl = environmentService.iconsUrl;\n if (!this.iconsUrl) {\n if (environmentService.baseUrl) {\n this.iconsUrl = environmentService.baseUrl + '/icons';\n } else {\n this.iconsUrl = 'https://icons.bitwarden.net';\n }\n }\n }\n\n async ngOnChanges() {\n this.imageEnabled = !(await this.stateService.get(ConstantsService.disableFaviconKey));\n\n switch (this.cipher.type) {\n case CipherType.Login:\n this.icon = 'fa-globe';\n this.setLoginIcon();\n break;\n case CipherType.SecureNote:\n this.icon = 'fa-sticky-note-o';\n break;\n case CipherType.Card:\n this.icon = 'fa-credit-card';\n break;\n case CipherType.Identity:\n this.icon = 'fa-id-card-o';\n break;\n default:\n break;\n }\n }\n\n private setLoginIcon() {\n if (this.cipher.login.uri) {\n let hostnameUri = this.cipher.login.uri;\n let isWebsite = false;\n\n if (hostnameUri.indexOf('androidapp://') === 0) {\n this.icon = 'fa-android';\n this.image = null;\n } else if (hostnameUri.indexOf('iosapp://') === 0) {\n this.icon = 'fa-apple';\n this.image = null;\n } else if (this.imageEnabled && hostnameUri.indexOf('://') === -1 && hostnameUri.indexOf('.') > -1) {\n hostnameUri = 'http://' + hostnameUri;\n isWebsite = true;\n } else if (this.imageEnabled) {\n isWebsite = hostnameUri.indexOf('http') === 0 && hostnameUri.indexOf('.') > -1;\n }\n\n if (this.imageEnabled && isWebsite) {\n try {\n this.image = this.iconsUrl + '/' + Utils.getHostname(hostnameUri) + '/icon.png';\n this.fallbackImage = 'images/fa-globe.png';\n } catch (e) { }\n }\n } else {\n this.image = null;\n }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user-layout',\r\n templateUrl: 'user-layout.component.html',\r\n})\r\nexport class UserLayoutComponent implements OnInit {\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: 'footer.component.html',\n})\nexport class FooterComponent implements OnInit {\n version: string;\n year: string = '2015';\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.year = new Date().getFullYear().toString();\n this.version = this.platformUtilsService.getApplicationVersion();\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: 'navbar.component.html',\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n selfHosted = false;\r\n name: string;\r\n\r\n constructor(private messagingService: MessagingService, private platformUtilsService: PlatformUtilsService,\r\n private tokenService: TokenService) {\r\n this.selfHosted = this.platformUtilsService.isSelfHost();\r\n }\r\n\r\n async ngOnInit() {\r\n this.name = await this.tokenService.getName();\r\n if (this.name == null || this.name.trim() === '') {\r\n this.name = await this.tokenService.getEmail();\r\n }\r\n }\r\n\r\n lock() {\r\n this.messagingService.send('lockVault');\r\n }\r\n\r\n logOut() {\r\n this.messagingService.send('logout');\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { VerifyDeleteRecoverRequest } from 'jslib/models/request/verifyDeleteRecoverRequest';\n\n@Component({\n selector: 'app-verify-recover-delete',\n templateUrl: 'verify-recover-delete.component.html',\n})\nexport class VerifyRecoverDeleteComponent implements OnInit {\n email: string;\n formPromise: Promise;\n\n private userId: string;\n private token: string;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute) {\n }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null && qParams.email != null) {\n this.userId = qParams.userId;\n this.token = qParams.token;\n this.email = qParams.email;\n } else {\n this.router.navigate(['/']);\n }\n });\n }\n\n async submit() {\n try {\n const request = new VerifyDeleteRecoverRequest(this.userId, this.token);\n this.formPromise = this.apiService.postAccountRecoverDeleteToken(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered Delete' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeleteRecoverRequest } from 'jslib/models/request/deleteRecoverRequest';\n\n@Component({\n selector: 'app-recover-delete',\n templateUrl: 'recover-delete.component.html',\n})\nexport class RecoverDeleteComponent {\n email: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService) {\n }\n\n async submit() {\n try {\n const request = new DeleteRecoverRequest();\n request.email = this.email.toLowerCase();\n this.formPromise = this.apiService.postAccountRecoverDelete(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Started Delete Recovery' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deleteRecoverEmailSent'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoveryRequest } from 'jslib/models/request/twoFactorRecoveryRequest';\n\n@Component({\n selector: 'app-recover-two-factor',\n templateUrl: 'recover-two-factor.component.html',\n})\nexport class RecoverTwoFactorComponent {\n email: string;\n masterPassword: string;\n recoveryCode: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private cryptoService: CryptoService) {\n }\n\n async submit() {\n try {\n const request = new TwoFactorRecoveryRequest();\n request.recoveryCode = this.recoveryCode.replace(/\\s/g, '').toLowerCase();\n request.email = this.email.toLowerCase();\n const key = await this.cryptoService.makeKey(this.masterPassword, request.email);\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n this.formPromise = this.apiService.postTwoFactorRecover(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered 2FA' });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepRecoverDisabled'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserAcceptRequest } from 'jslib/models/request/organizationUserAcceptRequest';\n\n@Component({\n selector: 'app-accept-organization',\n templateUrl: 'accept-organization.component.html',\n})\nexport class AcceptOrganizationComponent implements OnInit {\n loading = true;\n authed = false;\n orgName: string;\n email: string;\n actionPromise: Promise;\n\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService,\n private stateService: StateService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n await this.stateService.remove('orgInvitation');\n let error = qParams.organizationId == null || qParams.organizationUserId == null || qParams.token == null;\n if (!error) {\n this.authed = await this.userService.isAuthenticated();\n if (this.authed) {\n const request = new OrganizationUserAcceptRequest();\n request.token = qParams.token;\n try {\n this.actionPromise = this.apiService.postOrganizationUserAccept(qParams.organizationId,\n qParams.organizationUserId, request);\n await this.actionPromise;\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('inviteAccepted'),\n body: this.i18nService.t('inviteAcceptedDesc'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/vault']);\n } catch {\n error = true;\n }\n } else {\n await this.stateService.save('orgInvitation', qParams);\n this.email = qParams.email;\n this.orgName = qParams.organizationName;\n if (this.orgName != null) {\n // Fix URL encoding of space issue with Angular\n this.orgName = this.orgName.replace(/\\+/g, ' ');\n }\n }\n }\n\n if (error) {\n this.toasterService.popAsync('error', null, this.i18nService.t('inviteAcceptFailed'));\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { VerifyEmailRequest } from 'jslib/models/request/verifyEmailRequest';\n\n@Component({\n selector: 'app-verify-email-token',\n templateUrl: 'verify-email-token.component.html',\n})\nexport class VerifyEmailTokenComponent implements OnInit {\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null) {\n try {\n await this.apiService.postAccountVerifyEmailToken(\n new VerifyEmailRequest(qParams.userId, qParams.token));\n const authed = await this.userService.isAuthenticated();\n if (authed) {\n await this.apiService.refreshIdentityToken();\n }\n this.toasterService.popAsync('success', null, this.i18nService.t('emailVerified'));\n this.router.navigate(['/']);\n return;\n } catch { }\n }\n this.toasterService.popAsync('error', null, this.i18nService.t('emailVerifiedFailed'));\n this.router.navigate(['/']);\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { RouterService } from '../services/router.service';\r\n\r\nimport { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component';\r\n\r\n@Component({\r\n selector: 'app-lock',\r\n templateUrl: 'lock.component.html',\r\n})\r\nexport class LockComponent extends BaseLockComponent implements OnInit {\r\n constructor(router: Router, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n platformUtilsService: PlatformUtilsService, messagingService: MessagingService,\r\n userService: UserService, cryptoService: CryptoService,\r\n private routerService: RouterService) {\r\n super(router, analytics, toasterService, i18nService, platformUtilsService,\r\n messagingService, userService, cryptoService);\r\n }\r\n\r\n async ngOnInit() {\r\n const authed = await this.userService.isAuthenticated();\r\n if (!authed) {\r\n this.router.navigate(['/']);\r\n } else if (await this.cryptoService.hasKey()) {\r\n this.router.navigate(['vault']);\r\n }\r\n\r\n const previousUrl = this.routerService.getPreviousUrl();\r\n if (previousUrl !== '/' && previousUrl.indexOf('lock') === -1) {\r\n this.successRoute = previousUrl;\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { HintComponent as BaseHintComponent } from 'jslib/angular/components/hint.component';\r\n\r\n@Component({\r\n selector: 'app-hint',\r\n templateUrl: 'hint.component.html',\r\n})\r\nexport class HintComponent extends BaseHintComponent {\r\n constructor(router: Router, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n apiService: ApiService) {\r\n super(router, analytics, toasterService, i18nService, apiService);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component';\n\n@Component({\n selector: 'app-register',\n templateUrl: 'register.component.html',\n})\nexport class RegisterComponent extends BaseRegisterComponent {\n showCreateOrgMessage = false;\n showTerms = true;\n\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, cryptoService: CryptoService,\n apiService: ApiService, private route: ActivatedRoute,\n stateService: StateService, platformUtilsService: PlatformUtilsService) {\n super(authService, router, analytics, toasterService, i18nService, cryptoService, apiService, stateService);\n this.showTerms = !platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n this.route.queryParams.subscribe((qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.showCreateOrgMessage = true;\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n });\n }\n}\n","/**\r\n * Duo Web SDK v2\r\n * Copyright 2017, Duo Security\r\n */\r\n(function (root, factory) {\r\n /*eslint-disable */\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define([], factory);\r\n /*eslint-enable */\r\n }\r\n else if (typeof module === 'object' && module.exports) {\r\n // Node. Does not work with strict CommonJS, but\r\n // only CommonJS-like environments that support module.exports,\r\n // like Node.\r\n module.exports = factory();\r\n }\r\n else {\r\n // Browser globals (root is window)\r\n var Duo = factory();\r\n // If the Javascript was loaded via a script tag, attempt to autoload\r\n // the frame.\r\n Duo._onReady(Duo.init);\r\n // Attach Duo to the `window` object\r\n root.Duo = Duo;\r\n }\r\n}(this, function () {\r\n var DUO_MESSAGE_FORMAT = /^(?:AUTH|ENROLL)+\\|[A-Za-z0-9\\+\\/=]+\\|[A-Za-z0-9\\+\\/=]+$/;\r\n var DUO_ERROR_FORMAT = /^ERR\\|[\\w\\s\\.\\(\\)]+$/;\r\n var DUO_OPEN_WINDOW_FORMAT = /^DUO_OPEN_WINDOW\\|/;\r\n var VALID_OPEN_WINDOW_DOMAINS = [\r\n 'duo.com',\r\n 'duosecurity.com',\r\n 'duomobile.s3-us-west-1.amazonaws.com'\r\n ];\r\n var iframeId = 'duo_iframe', postAction = '', postArgument = 'sig_response', host, sigRequest, duoSig, appSig, iframe, submitCallback;\r\n function throwError(message, url) {\r\n throw new Error('Duo Web SDK error: ' + message +\r\n (url ? ('\\n' + 'See ' + url + ' for more information') : ''));\r\n }\r\n function hyphenize(str) {\r\n return str.replace(/([a-z])([A-Z])/, '$1-$2').toLowerCase();\r\n }\r\n // cross-browser data attributes\r\n function getDataAttribute(element, name) {\r\n if ('dataset' in element) {\r\n return element.dataset[name];\r\n }\r\n else {\r\n return element.getAttribute('data-' + hyphenize(name));\r\n }\r\n }\r\n // cross-browser event binding/unbinding\r\n function on(context, event, fallbackEvent, callback) {\r\n if ('addEventListener' in window) {\r\n context.addEventListener(event, callback, false);\r\n }\r\n else {\r\n context.attachEvent(fallbackEvent, callback);\r\n }\r\n }\r\n function off(context, event, fallbackEvent, callback) {\r\n if ('removeEventListener' in window) {\r\n context.removeEventListener(event, callback, false);\r\n }\r\n else {\r\n context.detachEvent(fallbackEvent, callback);\r\n }\r\n }\r\n function onReady(callback) {\r\n on(document, 'DOMContentLoaded', 'onreadystatechange', callback);\r\n }\r\n function offReady(callback) {\r\n off(document, 'DOMContentLoaded', 'onreadystatechange', callback);\r\n }\r\n function onMessage(callback) {\r\n on(window, 'message', 'onmessage', callback);\r\n }\r\n function offMessage(callback) {\r\n off(window, 'message', 'onmessage', callback);\r\n }\r\n /**\r\n * Parse the sig_request parameter, throwing errors if the token contains\r\n * a server error or if the token is invalid.\r\n *\r\n * @param {String} sig Request token\r\n */\r\n function parseSigRequest(sig) {\r\n if (!sig) {\r\n // nothing to do\r\n return;\r\n }\r\n // see if the token contains an error, throwing it if it does\r\n if (sig.indexOf('ERR|') === 0) {\r\n throwError(sig.split('|')[1]);\r\n }\r\n // validate the token\r\n if (sig.indexOf(':') === -1 || sig.split(':').length !== 2) {\r\n throwError('Duo was given a bad token. This might indicate a configuration ' +\r\n 'problem with one of Duo\\'s client libraries.', 'https://www.duosecurity.com/docs/duoweb#first-steps');\r\n }\r\n var sigParts = sig.split(':');\r\n // hang on to the token, and the parsed duo and app sigs\r\n sigRequest = sig;\r\n duoSig = sigParts[0];\r\n appSig = sigParts[1];\r\n return {\r\n sigRequest: sig,\r\n duoSig: sigParts[0],\r\n appSig: sigParts[1]\r\n };\r\n }\r\n /**\r\n * This function is set up to run when the DOM is ready, if the iframe was\r\n * not available during `init`.\r\n */\r\n function onDOMReady() {\r\n iframe = document.getElementById(iframeId);\r\n if (!iframe) {\r\n throw new Error('This page does not contain an iframe for Duo to use.' +\r\n 'Add an element like ' +\r\n 'to this page. ' +\r\n 'See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe ' +\r\n 'for more information.');\r\n }\r\n // we've got an iframe, away we go!\r\n ready();\r\n // always clean up after yourself\r\n offReady(onDOMReady);\r\n }\r\n /**\r\n * Validate that a MessageEvent came from the Duo service, and that it\r\n * is a properly formatted payload.\r\n *\r\n * The Google Chrome sign-in page injects some JS into pages that also\r\n * make use of postMessage, so we need to do additional validation above\r\n * and beyond the origin.\r\n *\r\n * @param {MessageEvent} event Message received via postMessage\r\n */\r\n function isDuoMessage(event) {\r\n return Boolean(event.origin === ('https://' + host) &&\r\n typeof event.data === 'string' &&\r\n (event.data.match(DUO_MESSAGE_FORMAT) ||\r\n event.data.match(DUO_ERROR_FORMAT) ||\r\n event.data.match(DUO_OPEN_WINDOW_FORMAT)));\r\n }\r\n /**\r\n * Validate the request token and prepare for the iframe to become ready.\r\n *\r\n * All options below can be passed into an options hash to `Duo.init`, or\r\n * specified on the iframe using `data-` attributes.\r\n *\r\n * Options specified using the options hash will take precedence over\r\n * `data-` attributes.\r\n *\r\n * Example using options hash:\r\n * ```javascript\r\n * Duo.init({\r\n * iframe: \"some_other_id\",\r\n * host: \"api-main.duo.test\",\r\n * sig_request: \"...\",\r\n * post_action: \"/auth\",\r\n * post_argument: \"resp\"\r\n * });\r\n * ```\r\n *\r\n * Example using `data-` attributes:\r\n * ```\r\n * \r\n * ```\r\n *\r\n * @param {Object} options\r\n * @param {String} options.iframe The iframe, or id of an iframe to set up\r\n * @param {String} options.host Hostname\r\n * @param {String} options.sig_request Request token\r\n * @param {String} [options.post_action=''] URL to POST back to after successful auth\r\n * @param {String} [options.post_argument='sig_response'] Parameter name to use for response token\r\n * @param {Function} [options.submit_callback] If provided, duo will not submit the form instead execute\r\n * the callback function with reference to the \"duo_form\" form object\r\n * submit_callback can be used to prevent the webpage from reloading.\r\n */\r\n function init(options) {\r\n if (options) {\r\n if (options.host) {\r\n host = options.host;\r\n }\r\n if (options.sig_request) {\r\n parseSigRequest(options.sig_request);\r\n }\r\n if (options.post_action) {\r\n postAction = options.post_action;\r\n }\r\n if (options.post_argument) {\r\n postArgument = options.post_argument;\r\n }\r\n if (options.iframe) {\r\n if (options.iframe.tagName) {\r\n iframe = options.iframe;\r\n }\r\n else if (typeof options.iframe === 'string') {\r\n iframeId = options.iframe;\r\n }\r\n }\r\n if (typeof options.submit_callback === 'function') {\r\n submitCallback = options.submit_callback;\r\n }\r\n }\r\n // if we were given an iframe, no need to wait for the rest of the DOM\r\n if (false && iframe) {\r\n ready();\r\n }\r\n else {\r\n // try to find the iframe in the DOM\r\n iframe = document.getElementById(iframeId);\r\n // iframe is in the DOM, away we go!\r\n if (iframe) {\r\n ready();\r\n }\r\n else {\r\n // wait until the DOM is ready, then try again\r\n onReady(onDOMReady);\r\n }\r\n }\r\n // always clean up after yourself!\r\n offReady(init);\r\n }\r\n /**\r\n * This function is called when a message was received from another domain\r\n * using the `postMessage` API. Check that the event came from the Duo\r\n * service domain, and that the message is a properly formatted payload,\r\n * then perform the post back to the primary service.\r\n *\r\n * @param event Event object (contains origin and data)\r\n */\r\n function onReceivedMessage(event) {\r\n if (isDuoMessage(event)) {\r\n if (event.data.match(DUO_OPEN_WINDOW_FORMAT)) {\r\n var url = event.data.substring(\"DUO_OPEN_WINDOW|\".length);\r\n if (isValidUrlToOpen(url)) {\r\n // Open the URL that comes after the DUO_WINDOW_OPEN token.\r\n window.open(url, \"_self\");\r\n }\r\n }\r\n else {\r\n // the event came from duo, do the post back\r\n doPostBack(event.data);\r\n // always clean up after yourself!\r\n offMessage(onReceivedMessage);\r\n }\r\n }\r\n }\r\n /**\r\n * Validate that this passed in URL is one that we will actually allow to\r\n * be opened.\r\n * @param url String URL that the message poster wants to open\r\n * @returns {boolean} true if we allow this url to be opened in the window\r\n */\r\n function isValidUrlToOpen(url) {\r\n if (!url) {\r\n return false;\r\n }\r\n var parser = document.createElement('a');\r\n parser.href = url;\r\n if (parser.protocol === \"duotrustedendpoints:\") {\r\n return true;\r\n }\r\n else if (parser.protocol !== \"https:\") {\r\n return false;\r\n }\r\n for (var i = 0; i < VALID_OPEN_WINDOW_DOMAINS.length; i++) {\r\n if (parser.hostname.endsWith(\".\" + VALID_OPEN_WINDOW_DOMAINS[i]) ||\r\n parser.hostname === VALID_OPEN_WINDOW_DOMAINS[i]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n /**\r\n * Point the iframe at Duo, then wait for it to postMessage back to us.\r\n */\r\n function ready() {\r\n if (!host) {\r\n host = getDataAttribute(iframe, 'host');\r\n if (!host) {\r\n throwError('No API hostname is given for Duo to use. Be sure to pass ' +\r\n 'a `host` parameter to Duo.init, or through the `data-host` ' +\r\n 'attribute on the iframe element.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\r\n }\r\n }\r\n if (!duoSig || !appSig) {\r\n parseSigRequest(getDataAttribute(iframe, 'sigRequest'));\r\n if (!duoSig || !appSig) {\r\n throwError('No valid signed request is given. Be sure to give the ' +\r\n '`sig_request` parameter to Duo.init, or use the ' +\r\n '`data-sig-request` attribute on the iframe element.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\r\n }\r\n }\r\n // if postAction/Argument are defaults, see if they are specified\r\n // as data attributes on the iframe\r\n if (postAction === '') {\r\n postAction = getDataAttribute(iframe, 'postAction') || postAction;\r\n }\r\n if (postArgument === 'sig_response') {\r\n postArgument = getDataAttribute(iframe, 'postArgument') || postArgument;\r\n }\r\n // point the iframe at Duo\r\n iframe.src = [\r\n 'https://', host, '/frame/web/v1/auth?tx=', duoSig,\r\n '&parent=', encodeURIComponent(document.location.href),\r\n '&v=2.6'\r\n ].join('');\r\n // listen for the 'message' event\r\n onMessage(onReceivedMessage);\r\n }\r\n /**\r\n * We received a postMessage from Duo. POST back to the primary service\r\n * with the response token, and any additional user-supplied parameters\r\n * given in form#duo_form.\r\n */\r\n function doPostBack(response) {\r\n // create a hidden input to contain the response token\r\n var input = document.createElement('input');\r\n input.type = 'hidden';\r\n input.name = postArgument;\r\n input.value = response + ':' + appSig;\r\n // user may supply their own form with additional inputs\r\n var form = document.getElementById('duo_form');\r\n // if the form doesn't exist, create one\r\n if (!form) {\r\n form = document.createElement('form');\r\n // insert the new form after the iframe\r\n iframe.parentElement.insertBefore(form, iframe.nextSibling);\r\n }\r\n // make sure we are actually posting to the right place\r\n form.method = 'POST';\r\n form.action = postAction;\r\n // add the response token input to the form\r\n form.appendChild(input);\r\n // away we go!\r\n if (typeof submitCallback === \"function\") {\r\n submitCallback.call(null, form);\r\n }\r\n else {\r\n form.submit();\r\n }\r\n }\r\n return {\r\n init: init,\r\n _onReady: onReady,\r\n _parseSigRequest: parseSigRequest,\r\n _isDuoMessage: isDuoMessage,\r\n _doPostBack: doPostBack\r\n };\r\n}));\r\n//# sourceMappingURL=duo.js.map","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { TwoFactorOptionsComponent } from './two-factor-options.component';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { TwoFactorComponent as BaseTwoFactorComponent } from 'jslib/angular/components/two-factor.component';\n\n@Component({\n selector: 'app-two-factor',\n templateUrl: 'two-factor.component.html',\n})\nexport class TwoFactorComponent extends BaseTwoFactorComponent {\n @ViewChild('twoFactorOptions', { read: ViewContainerRef }) twoFactorOptionsModal: ViewContainerRef;\n\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, apiService: ApiService,\n platformUtilsService: PlatformUtilsService, private stateService: StateService,\n environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(authService, router, analytics, toasterService, i18nService, apiService,\n platformUtilsService, window, environmentService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n anotherMethod() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n const modal = this.twoFactorOptionsModal.createComponent(factory).instance;\n const childComponent = modal.show(TwoFactorOptionsComponent,\n this.twoFactorOptionsModal);\n\n childComponent.onProviderSelected.subscribe(async (provider: TwoFactorProviderType) => {\n modal.close();\n this.selectedProviderType = provider;\n await this.init();\n });\n childComponent.onRecoverSelected.subscribe(() => {\n modal.close();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/login.component';\n\n@Component({\n selector: 'app-login',\n templateUrl: 'login.component.html',\n})\nexport class LoginComponent extends BaseLoginComponent {\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, private route: ActivatedRoute,\n storageService: StorageService, private stateService: StateService) {\n super(authService, router, analytics, toasterService, i18nService, storageService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n async ngOnInit() {\n this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n await super.ngOnInit();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import {\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\n@Component({\r\n selector: 'app-frontend-layout',\r\n templateUrl: 'frontend-layout.component.html',\r\n})\r\nexport class FrontendLayoutComponent implements OnInit, OnDestroy {\r\n version: string;\r\n\r\n constructor(private platformUtilsService: PlatformUtilsService) { }\r\n\r\n ngOnInit() {\r\n this.version = this.platformUtilsService.getApplicationVersion();\r\n document.body.classList.add('layout_frontend');\r\n }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","export abstract class SettingsService {\r\n clearCache: () => void;\r\n getEquivalentDomains: () => Promise;\r\n setEquivalentDomains: (equivalentDomains: string[][]) => Promise;\r\n clear: (userId: string) => Promise;\r\n}\r\n","export abstract class LockService {\r\n checkLock: () => Promise;\r\n lock: () => Promise;\r\n setLockOption: (lockOption: number) => Promise;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Injectable()\r\nexport class UnauthGuardService implements CanActivate {\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async canActivate() {\r\n const isAuthed = await this.userService.isAuthenticated();\r\n if (isAuthed) {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n this.router.navigate(['lock']);\r\n } else {\r\n this.router.navigate(['vault']);\r\n }\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Injectable()\r\nexport class OrganizationTypeGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.parent.params.organizationId);\r\n const allowedTypes = route.data == null ? null : route.data.allowedTypes as OrganizationUserType[];\r\n if (allowedTypes == null || allowedTypes.indexOf(org.type) === -1) {\r\n this.router.navigate(['/organizations', org.id]);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Injectable()\r\nexport class OrganizationGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.params.organizationId);\r\n if (org == null) {\r\n this.router.navigate(['/']);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { UserService } from '../../abstractions/user.service';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n constructor(private cryptoService: CryptoService, private userService: UserService, private router: Router,\n private messagingService: MessagingService) { }\n\n async canActivate() {\n const isAuthed = await this.userService.isAuthenticated();\n if (!isAuthed) {\n this.messagingService.send('logout');\n return false;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n this.router.navigate(['lock']);\n return false;\n }\n\n return true;\n }\n}\n","import { StorageService } from '../abstractions/storage.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService as UserServiceAbstraction } from '../abstractions/user.service';\n\nimport { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nconst Keys = {\n userId: 'userId',\n userEmail: 'userEmail',\n stamp: 'securityStamp',\n organizationsPrefix: 'organizations_',\n};\n\nexport class UserService implements UserServiceAbstraction {\n userId: string;\n email: string;\n stamp: string;\n\n constructor(private tokenService: TokenService, private storageService: StorageService) {\n }\n\n setUserIdAndEmail(userId: string, email: string): Promise {\n this.email = email;\n this.userId = userId;\n\n return Promise.all([\n this.storageService.save(Keys.userEmail, email),\n this.storageService.save(Keys.userId, userId),\n ]);\n }\n\n setSecurityStamp(stamp: string): Promise {\n this.stamp = stamp;\n return this.storageService.save(Keys.stamp, stamp);\n }\n\n async getUserId(): Promise {\n if (this.userId != null) {\n return this.userId;\n }\n\n this.userId = await this.storageService.get(Keys.userId);\n return this.userId;\n }\n\n async getEmail(): Promise {\n if (this.email != null) {\n return this.email;\n }\n\n this.email = await this.storageService.get(Keys.userEmail);\n return this.email;\n }\n\n async getSecurityStamp(): Promise {\n if (this.stamp != null) {\n return this.stamp;\n }\n\n this.stamp = await this.storageService.get(Keys.stamp);\n return this.stamp;\n }\n\n async clear(): Promise {\n const userId = await this.getUserId();\n\n await Promise.all([\n this.storageService.remove(Keys.userId),\n this.storageService.remove(Keys.userEmail),\n this.storageService.remove(Keys.stamp),\n this.clearOrganizations(userId),\n ]);\n\n this.userId = this.email = this.stamp = null;\n }\n\n async isAuthenticated(): Promise {\n const token = await this.tokenService.getToken();\n if (token == null) {\n return false;\n }\n\n const userId = await this.getUserId();\n return userId != null;\n }\n\n async getOrganization(id: string): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n if (organizations == null || !organizations.hasOwnProperty(id)) {\n return null;\n }\n\n return new Organization(organizations[id]);\n }\n\n async getAllOrganizations(): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n const response: Organization[] = [];\n for (const id in organizations) {\n if (organizations.hasOwnProperty(id)) {\n response.push(new Organization(organizations[id]));\n }\n }\n return response;\n }\n\n async replaceOrganizations(organizations: { [id: string]: OrganizationData; }): Promise {\n const userId = await this.getUserId();\n await this.storageService.save(Keys.organizationsPrefix + userId, organizations);\n }\n\n async clearOrganizations(userId: string): Promise {\n await this.storageService.remove(Keys.organizationsPrefix + userId);\n }\n}\n","import { ConstantsService } from './constants.service';\r\n\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst b32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';\r\n\r\nexport class TotpService implements TotpServiceAbstraction {\r\n constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService) {}\r\n\r\n async getCode(keyb32: string): Promise {\r\n const epoch = Math.round(new Date().getTime() / 1000.0);\r\n const timeHex = this.leftpad(this.dec2hex(Math.floor(epoch / 30)), 16, '0');\r\n const timeBytes = Utils.fromHexToArray(timeHex);\r\n const keyBytes = this.b32tobytes(keyb32);\r\n\r\n if (!keyBytes.length || !timeBytes.length) {\r\n return null;\r\n }\r\n\r\n const hashHex = await this.sign(keyBytes, timeBytes);\r\n if (!hashHex) {\r\n return null;\r\n }\r\n\r\n const offset = this.hex2dec(hashHex.substring(hashHex.length - 1));\r\n // tslint:disable-next-line\r\n let otp = (this.hex2dec(hashHex.substr(offset * 2, 8)) & this.hex2dec('7fffffff')) + '';\r\n otp = (otp).substr(otp.length - 6, 6);\r\n return otp;\r\n }\r\n\r\n async isAutoCopyEnabled(): Promise {\r\n return !(await this.storageService.get(ConstantsService.disableAutoTotpCopyKey));\r\n }\r\n\r\n // Helpers\r\n\r\n private leftpad(s: string, l: number, p: string): string {\r\n if (l + 1 >= s.length) {\r\n s = Array(l + 1 - s.length).join(p) + s;\r\n }\r\n return s;\r\n }\r\n\r\n private dec2hex(d: number): string {\r\n return (d < 15.5 ? '0' : '') + Math.round(d).toString(16);\r\n }\r\n\r\n private hex2dec(s: string): number {\r\n return parseInt(s, 16);\r\n }\r\n\r\n private b32tohex(s: string): string {\r\n s = s.toUpperCase();\r\n let cleanedInput = '';\r\n\r\n for (let i = 0; i < s.length; i++) {\r\n if (b32Chars.indexOf(s[i]) < 0) {\r\n continue;\r\n }\r\n\r\n cleanedInput += s[i];\r\n }\r\n s = cleanedInput;\r\n\r\n let bits = '';\r\n let hex = '';\r\n for (let i = 0; i < s.length; i++) {\r\n const byteIndex = b32Chars.indexOf(s.charAt(i));\r\n if (byteIndex < 0) {\r\n continue;\r\n }\r\n bits += this.leftpad(byteIndex.toString(2), 5, '0');\r\n }\r\n for (let i = 0; i + 4 <= bits.length; i += 4) {\r\n const chunk = bits.substr(i, 4);\r\n hex = hex + parseInt(chunk, 2).toString(16);\r\n }\r\n return hex;\r\n }\r\n\r\n private b32tobytes(s: string): Uint8Array {\r\n return Utils.fromHexToArray(this.b32tohex(s));\r\n }\r\n\r\n private async sign(keyBytes: Uint8Array, timeBytes: Uint8Array) {\r\n const signature = await this.cryptoFunctionService.hmac(timeBytes.buffer, keyBytes.buffer, 'sha1');\r\n return Utils.fromBufferToHex(signature);\r\n }\r\n}\r\n","import { ConstantsService } from './constants.service';\n\nimport { StorageService } from '../abstractions/storage.service';\nimport { TokenService as TokenServiceAbstraction } from '../abstractions/token.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n accessToken: 'accessToken',\n refreshToken: 'refreshToken',\n twoFactorTokenPrefix: 'twoFactorToken_',\n};\n\nexport class TokenService implements TokenServiceAbstraction {\n token: string;\n decodedToken: any;\n refreshToken: string;\n\n constructor(private storageService: StorageService) {\n }\n\n setTokens(accessToken: string, refreshToken: string): Promise {\n return Promise.all([\n this.setToken(accessToken),\n this.setRefreshToken(refreshToken),\n ]);\n }\n\n setToken(token: string): Promise {\n this.token = token;\n this.decodedToken = null;\n return this.storageService.save(Keys.accessToken, token);\n }\n\n async getToken(): Promise {\n if (this.token != null) {\n return this.token;\n }\n\n this.token = await this.storageService.get(Keys.accessToken);\n return this.token;\n }\n\n setRefreshToken(refreshToken: string): Promise {\n this.refreshToken = refreshToken;\n return this.storageService.save(Keys.refreshToken, refreshToken);\n }\n\n async getRefreshToken(): Promise {\n if (this.refreshToken != null) {\n return this.refreshToken;\n }\n\n this.refreshToken = await this.storageService.get(Keys.refreshToken);\n return this.refreshToken;\n }\n\n setTwoFactorToken(token: string, email: string): Promise {\n return this.storageService.save(Keys.twoFactorTokenPrefix + email, token);\n }\n\n getTwoFactorToken(email: string): Promise {\n return this.storageService.get(Keys.twoFactorTokenPrefix + email);\n }\n\n clearTwoFactorToken(email: string): Promise {\n return this.storageService.remove(Keys.twoFactorTokenPrefix + email);\n }\n\n clearToken(): Promise {\n this.token = null;\n this.decodedToken = null;\n this.refreshToken = null;\n\n return Promise.all([\n this.storageService.remove(Keys.accessToken),\n this.storageService.remove(Keys.refreshToken),\n ]);\n }\n\n // jwthelper methods\n // ref https://github.com/auth0/angular-jwt/blob/master/src/angularJwt/services/jwt.js\n\n decodeToken(): any {\n if (this.decodedToken) {\n return this.decodedToken;\n }\n\n if (this.token == null) {\n throw new Error('Token not found.');\n }\n\n const parts = this.token.split('.');\n if (parts.length !== 3) {\n throw new Error('JWT must have 3 parts');\n }\n\n const decoded = Utils.fromUrlB64ToUtf8(parts[1]);\n if (decoded == null) {\n throw new Error('Cannot decode the token');\n }\n\n this.decodedToken = JSON.parse(decoded);\n return this.decodedToken;\n }\n\n getTokenExpirationDate(): Date {\n const decoded = this.decodeToken();\n if (typeof decoded.exp === 'undefined') {\n return null;\n }\n\n const d = new Date(0); // The 0 here is the key, which sets the date to the epoch\n d.setUTCSeconds(decoded.exp);\n return d;\n }\n\n tokenSecondsRemaining(offsetSeconds: number = 0): number {\n const d = this.getTokenExpirationDate();\n if (d == null) {\n return 0;\n }\n\n const msRemaining = d.valueOf() - (new Date().valueOf() + (offsetSeconds * 1000));\n return Math.round(msRemaining / 1000);\n }\n\n tokenNeedsRefresh(minutes: number = 5): boolean {\n const sRemaining = this.tokenSecondsRemaining();\n return sRemaining < (60 * minutes);\n }\n\n getUserId(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.sub === 'undefined') {\n throw new Error('No user id found');\n }\n\n return decoded.sub as string;\n }\n\n getEmail(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.email === 'undefined') {\n throw new Error('No email found');\n }\n\n return decoded.email as string;\n }\n\n getEmailVerified(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.email_verified === 'undefined') {\n throw new Error('No email verification found');\n }\n\n return decoded.email_verified as boolean;\n }\n\n getName(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.name === 'undefined') {\n return null;\n }\n\n return decoded.name as string;\n }\n\n getPremium(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.premium === 'undefined') {\n return false;\n }\n\n return decoded.premium as boolean;\n }\n\n getIssuer(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.iss === 'undefined') {\n throw new Error('No issuer found');\n }\n\n return decoded.iss as string;\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from '../abstractions/sync.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { FolderData } from '../models/data/folderData';\nimport { OrganizationData } from '../models/data/organizationData';\n\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\n\nconst Keys = {\n lastSyncPrefix: 'lastSync_',\n};\n\nexport class SyncService implements SyncServiceAbstraction {\n syncInProgress: boolean = false;\n\n constructor(private userService: UserService, private apiService: ApiService,\n private settingsService: SettingsService, private folderService: FolderService,\n private cipherService: CipherService, private cryptoService: CryptoService,\n private collectionService: CollectionService, private storageService: StorageService,\n private messagingService: MessagingService, private logoutCallback: (expired: boolean) => Promise) {\n }\n\n async getLastSync(): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return null;\n }\n\n const lastSync = await this.storageService.get(Keys.lastSyncPrefix + userId);\n if (lastSync) {\n return new Date(lastSync);\n }\n\n return null;\n }\n\n async setLastSync(date: Date): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return;\n }\n\n await this.storageService.save(Keys.lastSyncPrefix + userId, date.toJSON());\n }\n\n syncStarted() {\n this.syncInProgress = true;\n this.messagingService.send('syncStarted');\n }\n\n syncCompleted(successfully: boolean) {\n this.syncInProgress = false;\n this.messagingService.send('syncCompleted', { successfully: successfully });\n }\n\n async fullSync(forceSync: boolean): Promise {\n this.syncStarted();\n const isAuthenticated = await this.userService.isAuthenticated();\n if (!isAuthenticated) {\n this.syncCompleted(false);\n return false;\n }\n\n const now = new Date();\n const needsSyncResult = await this.needsSyncing(forceSync);\n const needsSync = needsSyncResult[0];\n const skipped = needsSyncResult[1];\n\n if (skipped) {\n this.syncCompleted(false);\n return false;\n }\n\n if (!needsSync) {\n await this.setLastSync(now);\n this.syncCompleted(false);\n return false;\n }\n\n const userId = await this.userService.getUserId();\n try {\n const response = await this.apiService.getSync();\n\n await this.syncProfile(response.profile);\n await this.syncFolders(userId, response.folders);\n await this.syncCollections(response.collections);\n await this.syncCiphers(userId, response.ciphers);\n await this.syncSettings(userId, response.domains);\n\n await this.setLastSync(now);\n this.syncCompleted(true);\n return true;\n } catch (e) {\n this.syncCompleted(false);\n return false;\n }\n }\n\n // Helpers\n\n private async needsSyncing(forceSync: boolean) {\n if (forceSync) {\n return [true, false];\n }\n\n try {\n const response = await this.apiService.getAccountRevisionDate();\n const accountRevisionDate = new Date(response);\n const lastSync = await this.getLastSync();\n if (lastSync != null && accountRevisionDate <= lastSync) {\n return [false, false];\n }\n\n return [true, false];\n } catch (e) {\n return [false, true];\n }\n }\n\n private async syncProfile(response: ProfileResponse) {\n const stamp = await this.userService.getSecurityStamp();\n if (stamp != null && stamp !== response.securityStamp) {\n if (this.logoutCallback != null) {\n await this.logoutCallback(true);\n }\n\n throw new Error('Stamp has changed');\n }\n\n await this.cryptoService.setEncKey(response.key);\n await this.cryptoService.setEncPrivateKey(response.privateKey);\n await this.cryptoService.setOrgKeys(response.organizations);\n await this.userService.setSecurityStamp(response.securityStamp);\n await this.userService.setSecurityStamp(response.securityStamp);\n\n const organizations: { [id: string]: OrganizationData; } = {};\n response.organizations.forEach((o) => {\n organizations[o.id] = new OrganizationData(o);\n });\n return await this.userService.replaceOrganizations(organizations);\n }\n\n private async syncFolders(userId: string, response: FolderResponse[]) {\n const folders: { [id: string]: FolderData; } = {};\n response.forEach((f) => {\n folders[f.id] = new FolderData(f, userId);\n });\n return await this.folderService.replace(folders);\n }\n\n private async syncCollections(response: CollectionDetailsResponse[]) {\n const collections: { [id: string]: CollectionData; } = {};\n response.forEach((c) => {\n collections[c.id] = new CollectionData(c);\n });\n return await this.collectionService.replace(collections);\n }\n\n private async syncCiphers(userId: string, response: CipherResponse[]) {\n const ciphers: { [id: string]: CipherData; } = {};\n response.forEach((c) => {\n ciphers[c.id] = new CipherData(c, userId);\n });\n return await this.cipherService.replace(ciphers);\n }\n\n private async syncSettings(userId: string, response: DomainsResponse) {\n let eqDomains: string[][] = [];\n if (response != null && response.equivalentDomains != null) {\n eqDomains = eqDomains.concat(response.equivalentDomains);\n }\n\n if (response != null && response.globalEquivalentDomains != null) {\n response.globalEquivalentDomains.forEach((global) => {\n if (global.domains.length > 0) {\n eqDomains.push(global.domains);\n }\n });\n }\n\n return this.settingsService.setEquivalentDomains(eqDomains);\n }\n}\n","import { StateService as StateServiceAbstraction } from '../abstractions/state.service';\r\n\r\nexport class StateService implements StateServiceAbstraction {\r\n private state: any = {};\r\n\r\n get(key: string): Promise {\r\n if (this.state.hasOwnProperty(key)) {\r\n return Promise.resolve(this.state[key]);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n this.state[key] = obj;\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n delete this.state[key];\r\n return Promise.resolve();\r\n }\r\n\r\n purge(): Promise {\r\n this.state = {};\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { SettingsService as SettingsServiceAbstraction } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nconst Keys = {\r\n settingsPrefix: 'settings_',\r\n equivalentDomains: 'equivalentDomains',\r\n};\r\n\r\nexport class SettingsService implements SettingsServiceAbstraction {\r\n private settingsCache: any;\r\n\r\n constructor(private userService: UserService, private storageService: StorageService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.settingsCache = null;\r\n }\r\n\r\n getEquivalentDomains(): Promise {\r\n return this.getSettingsKey(Keys.equivalentDomains);\r\n }\r\n\r\n async setEquivalentDomains(equivalentDomains: string[][]): Promise {\r\n await this.setSettingsKey(Keys.equivalentDomains, equivalentDomains);\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.settingsPrefix + userId);\r\n this.settingsCache = null;\r\n }\r\n\r\n // Helpers\r\n\r\n private async getSettings(): Promise {\r\n if (this.settingsCache == null) {\r\n const userId = await this.userService.getUserId();\r\n this.settingsCache = this.storageService.get(Keys.settingsPrefix + userId);\r\n }\r\n return this.settingsCache;\r\n }\r\n\r\n private async getSettingsKey(key: string): Promise {\r\n const settings = await this.getSettings();\r\n if (settings != null && settings[key]) {\r\n return settings[key];\r\n }\r\n return null;\r\n }\r\n\r\n private async setSettingsKey(key: string, value: any): Promise {\r\n const userId = await this.userService.getUserId();\r\n let settings = await this.getSettings();\r\n if (!settings) {\r\n settings = {};\r\n }\r\n\r\n settings[key] = value;\r\n await this.storageService.save(Keys.settingsPrefix + userId, settings);\r\n this.settingsCache = settings;\r\n }\r\n}\r\n","import { CipherString } from '../models/domain/cipherString';\nimport { PasswordHistory } from '../models/domain/passwordHistory';\n\nimport { CryptoService } from '../abstractions/crypto.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from '../abstractions/passwordGeneration.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nconst DefaultOptions = {\n length: 14,\n ambiguous: false,\n number: true,\n minNumber: 1,\n uppercase: true,\n minUppercase: 0,\n lowercase: true,\n minLowercase: 0,\n special: false,\n minSpecial: 1,\n};\n\nconst Keys = {\n options: 'passwordGenerationOptions',\n history: 'generatedPasswordHistory',\n};\n\nconst MaxPasswordsInHistory = 100;\n\nexport class PasswordGenerationService implements PasswordGenerationServiceAbstraction {\n private optionsCache: any;\n private history: PasswordHistory[];\n\n constructor(private cryptoService: CryptoService, private storageService: StorageService) { }\n\n async generatePassword(options: any): Promise {\n // overload defaults with given options\n const o = Object.assign({}, DefaultOptions, options);\n\n // sanitize\n if (o.uppercase && o.minUppercase <= 0) {\n o.minUppercase = 1;\n }\n if (o.lowercase && o.minLowercase <= 0) {\n o.minLowercase = 1;\n }\n if (o.number && o.minNumber <= 0) {\n o.minNumber = 1;\n }\n if (o.special && o.minSpecial <= 0) {\n o.minSpecial = 1;\n }\n\n if (!o.length || o.length < 1) {\n o.length = 10;\n }\n\n const minLength: number = o.minUppercase + o.minLowercase + o.minNumber + o.minSpecial;\n if (o.length < minLength) {\n o.length = minLength;\n }\n\n const positions: string[] = [];\n if (o.lowercase && o.minLowercase > 0) {\n for (let i = 0; i < o.minLowercase; i++) {\n positions.push('l');\n }\n }\n if (o.uppercase && o.minUppercase > 0) {\n for (let i = 0; i < o.minUppercase; i++) {\n positions.push('u');\n }\n }\n if (o.number && o.minNumber > 0) {\n for (let i = 0; i < o.minNumber; i++) {\n positions.push('n');\n }\n }\n if (o.special && o.minSpecial > 0) {\n for (let i = 0; i < o.minSpecial; i++) {\n positions.push('s');\n }\n }\n while (positions.length < o.length) {\n positions.push('a');\n }\n\n // shuffle\n await this.shuffleArray(positions);\n\n // build out the char sets\n let allCharSet = '';\n\n let lowercaseCharSet = 'abcdefghijkmnopqrstuvwxyz';\n if (o.ambiguous) {\n lowercaseCharSet += 'l';\n }\n if (o.lowercase) {\n allCharSet += lowercaseCharSet;\n }\n\n let uppercaseCharSet = 'ABCDEFGHIJKLMNPQRSTUVWXYZ';\n if (o.ambiguous) {\n uppercaseCharSet += 'O';\n }\n if (o.uppercase) {\n allCharSet += uppercaseCharSet;\n }\n\n let numberCharSet = '23456789';\n if (o.ambiguous) {\n numberCharSet += '01';\n }\n if (o.number) {\n allCharSet += numberCharSet;\n }\n\n const specialCharSet = '!@#$%^&*';\n if (o.special) {\n allCharSet += specialCharSet;\n }\n\n let password = '';\n for (let i = 0; i < o.length; i++) {\n let positionChars: string;\n switch (positions[i]) {\n case 'l':\n positionChars = lowercaseCharSet;\n break;\n case 'u':\n positionChars = uppercaseCharSet;\n break;\n case 'n':\n positionChars = numberCharSet;\n break;\n case 's':\n positionChars = specialCharSet;\n break;\n case 'a':\n positionChars = allCharSet;\n break;\n default:\n break;\n }\n\n const randomCharIndex = await this.cryptoService.randomNumber(0, positionChars.length - 1);\n password += positionChars.charAt(randomCharIndex);\n }\n\n return password;\n }\n\n async getOptions() {\n if (this.optionsCache == null) {\n const options = await this.storageService.get(Keys.options);\n if (options == null) {\n this.optionsCache = DefaultOptions;\n } else {\n this.optionsCache = options;\n }\n }\n\n return this.optionsCache;\n }\n\n async saveOptions(options: any) {\n await this.storageService.save(Keys.options, options);\n this.optionsCache = options;\n }\n\n async getHistory(): Promise {\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n return new Array();\n }\n\n if (!this.history) {\n const encrypted = await this.storageService.get(Keys.history);\n this.history = await this.decryptHistory(encrypted);\n }\n\n return this.history || new Array();\n }\n\n async addHistory(password: string): Promise {\n // Cannot add new history if no key is available\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n return;\n }\n\n const currentHistory = await this.getHistory();\n\n // Prevent duplicates\n if (this.matchesPrevious(password, currentHistory)) {\n return;\n }\n\n currentHistory.unshift(new PasswordHistory(password, Date.now()));\n\n // Remove old items.\n if (currentHistory.length > MaxPasswordsInHistory) {\n currentHistory.pop();\n }\n\n const newHistory = await this.encryptHistory(currentHistory);\n return await this.storageService.save(Keys.history, newHistory);\n }\n\n async clear(): Promise {\n this.history = [];\n return await this.storageService.remove(Keys.history);\n }\n\n private async encryptHistory(history: PasswordHistory[]): Promise {\n if (history == null || history.length === 0) {\n return Promise.resolve([]);\n }\n\n const promises = history.map(async (item) => {\n const encrypted = await this.cryptoService.encrypt(item.password);\n return new PasswordHistory(encrypted.encryptedString, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private async decryptHistory(history: PasswordHistory[]): Promise {\n if (history == null || history.length === 0) {\n return Promise.resolve([]);\n }\n\n const promises = history.map(async (item) => {\n const decrypted = await this.cryptoService.decryptToUtf8(new CipherString(item.password));\n return new PasswordHistory(decrypted, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private matchesPrevious(password: string, history: PasswordHistory[]): boolean {\n if (history == null || history.length === 0) {\n return false;\n }\n\n return history[history.length - 1].password === password;\n }\n\n // ref: https://stackoverflow.com/a/12646864/1090359\n private async shuffleArray(array: string[]) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = await this.cryptoService.randomNumber(0, i);\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { LockService as LockServiceAbstraction } from '../abstractions/lock.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class LockService implements LockServiceAbstraction {\n private inited = false;\n\n constructor(private cipherService: CipherService, private folderService: FolderService,\n private collectionService: CollectionService, private cryptoService: CryptoService,\n private platformUtilsService: PlatformUtilsService, private storageService: StorageService,\n private messagingService: MessagingService, private lockedCallback: () => Promise) {\n }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.checkLock();\n setInterval(() => this.checkLock(), 10 * 1000); // check every 10 seconds\n }\n }\n\n async checkLock(): Promise {\n if (this.platformUtilsService.isViewOpen()) {\n // Do not lock\n return;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n // no key so no need to lock\n return;\n }\n\n let lockOption = this.platformUtilsService.lockTimeout();\n if (lockOption == null) {\n lockOption = await this.storageService.get(ConstantsService.lockOptionKey);\n }\n if (lockOption == null || lockOption < 0) {\n return;\n }\n\n const lastActive = await this.storageService.get(ConstantsService.lastActiveKey);\n if (lastActive == null) {\n return;\n }\n\n const lockOptionSeconds = lockOption * 60;\n const diffSeconds = ((new Date()).getTime() - lastActive) / 1000;\n if (diffSeconds >= lockOptionSeconds) {\n // need to lock now\n await this.lock();\n }\n }\n\n async lock(): Promise {\n await Promise.all([\n this.cryptoService.clearKey(),\n this.cryptoService.clearOrgKeys(true),\n this.cryptoService.clearKeyPair(true),\n this.cryptoService.clearEncKey(true),\n ]);\n\n this.folderService.clearCache();\n this.cipherService.clearCache();\n this.collectionService.clearCache();\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n }\n\n async setLockOption(lockOption: number): Promise {\n await this.storageService.save(ConstantsService.lockOptionKey, lockOption);\n await this.cryptoService.toggleKey();\n }\n}\n","import { I18nService as I18nServiceAbstraction } from '../abstractions/i18n.service';\n\nexport class I18nService implements I18nServiceAbstraction {\n locale: string;\n // First locale is the default (English)\n supportedTranslationLocales: string[] = ['en'];\n translationLocale: string;\n collator: Intl.Collator;\n\n protected inited: boolean;\n protected defaultMessages: any = {};\n protected localeMessages: any = {};\n\n constructor(protected systemLanguage: string, protected localesDirectory: string,\n protected getLocalesJson: (formattedLocale: string) => Promise) {\n this.systemLanguage = systemLanguage.replace('_', '-');\n }\n\n async init(locale?: string) {\n if (this.inited) {\n throw new Error('i18n already initialized.');\n }\n if (this.supportedTranslationLocales == null || this.supportedTranslationLocales.length === 0) {\n throw new Error('supportedTranslationLocales not set.');\n }\n\n this.inited = true;\n this.locale = this.translationLocale = locale != null ? locale : this.systemLanguage;\n\n try {\n this.collator = new Intl.Collator(this.locale, { numeric: true, sensitivity: 'base' });\n } catch {\n this.collator = null;\n }\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.translationLocale.slice(0, 2);\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.supportedTranslationLocales[0];\n }\n }\n\n if (this.localesDirectory != null) {\n await this.loadMessages(this.translationLocale, this.localeMessages);\n if (this.translationLocale !== this.supportedTranslationLocales[0]) {\n await this.loadMessages(this.supportedTranslationLocales[0], this.defaultMessages);\n }\n }\n }\n\n t(id: string, p1?: string, p2?: string, p3?: string): string {\n return this.translate(id, p1, p2, p3);\n }\n\n translate(id: string, p1?: string, p2?: string, p3?: string): string {\n let result: string;\n if (this.localeMessages.hasOwnProperty(id) && this.localeMessages[id]) {\n result = this.localeMessages[id];\n } else if (this.defaultMessages.hasOwnProperty(id) && this.defaultMessages[id]) {\n result = this.defaultMessages[id];\n } else {\n result = '';\n }\n\n if (result !== '') {\n if (p1 != null) {\n result = result.split('__$1__').join(p1);\n }\n if (p2 != null) {\n result = result.split('__$2__').join(p2);\n }\n if (p3 != null) {\n result = result.split('__$3__').join(p3);\n }\n }\n\n return result;\n }\n\n private async loadMessages(locale: string, messagesObj: any): Promise {\n const formattedLocale = locale.replace('-', '_');\n const locales = await this.getLocalesJson(formattedLocale);\n for (const prop in locales) {\n if (!locales.hasOwnProperty(prop)) {\n continue;\n }\n messagesObj[prop] = locales[prop].message;\n\n if (locales[prop].placeholders) {\n for (const placeProp in locales[prop].placeholders) {\n if (!locales[prop].placeholders.hasOwnProperty(placeProp) ||\n !locales[prop].placeholders[placeProp].content) {\n continue;\n }\n\n const replaceToken = '\\\\$' + placeProp.toUpperCase() + '\\\\$';\n let replaceContent = locales[prop].placeholders[placeProp].content;\n if (replaceContent === '$1' || replaceContent === '$2' || replaceContent === '$3') {\n replaceContent = '__' + replaceContent + '__';\n }\n messagesObj[prop] = messagesObj[prop].replace(new RegExp(replaceToken, 'g'), replaceContent);\n }\n }\n }\n }\n\n}\n","import { FolderResponse } from '../response/folderResponse';\r\n\r\nexport class FolderData {\r\n id: string;\r\n userId: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: FolderResponse, userId: string) {\r\n this.userId = userId;\r\n this.name = response.name;\r\n this.id = response.id;\r\n this.revisionDate = response.revisionDate;\r\n }\r\n}\r\n","import { FolderData } from '../models/data/folderData';\r\n\r\nimport { Folder } from '../models/domain/folder';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\n\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n foldersPrefix: 'folders_',\r\n ciphersPrefix: 'ciphers_',\r\n};\r\n\r\nexport class FolderService implements FolderServiceAbstraction {\r\n decryptedFolderCache: FolderView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private apiService: ApiService, private storageService: StorageService,\r\n private i18nService: I18nService, private cipherService: CipherService) { }\r\n\r\n clearCache(): void {\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise {\r\n const folder = new Folder();\r\n folder.id = model.id;\r\n folder.name = await this.cryptoService.encrypt(model.name, key);\r\n return folder;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null || !folders.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Folder(folders[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n const response: Folder[] = [];\r\n for (const id in folders) {\r\n if (folders.hasOwnProperty(id)) {\r\n response.push(new Folder(folders[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedFolderCache != null) {\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const decFolders: FolderView[] = [];\r\n const promises: Array> = [];\r\n const folders = await this.getAll();\r\n folders.forEach((folder) => {\r\n promises.push(folder.decrypt().then((f) => decFolders.push(f)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decFolders.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n\r\n const noneFolder = new FolderView();\r\n noneFolder.name = this.i18nService.t('noneFolder');\r\n decFolders.push(noneFolder);\r\n\r\n this.decryptedFolderCache = decFolders;\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n async saveWithServer(folder: Folder): Promise {\r\n const request = new FolderRequest(folder);\r\n\r\n let response: FolderResponse;\r\n if (folder.id == null) {\r\n response = await this.apiService.postFolder(request);\r\n folder.id = response.id;\r\n } else {\r\n response = await this.apiService.putFolder(folder.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new FolderData(response, userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(folder: FolderData | FolderData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n folders = {};\r\n }\r\n\r\n if (folder instanceof FolderData) {\r\n const f = folder as FolderData;\r\n folders[f.id] = f;\r\n } else {\r\n (folder as FolderData[]).forEach((f) => {\r\n folders[f.id] = f;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async replace(folders: { [id: string]: FolderData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.foldersPrefix + userId);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete folders[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete folders[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n\r\n // Items in a deleted folder are re-assigned to \"No Folder\"\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(Keys.ciphersPrefix + userId);\r\n if (ciphers != null) {\r\n const updates: CipherData[] = [];\r\n for (const cId in ciphers) {\r\n if (ciphers[cId].folderId === id) {\r\n ciphers[cId].folderId = null;\r\n updates.push(ciphers[cId]);\r\n }\r\n }\r\n if (updates.length > 0) {\r\n this.cipherService.upsert(updates);\r\n }\r\n }\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteFolder(id);\r\n await this.delete(id);\r\n }\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { ConstantsService } from './constants.service';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from '../abstractions/environment.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class EnvironmentService implements EnvironmentServiceAbstraction {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n\n constructor(private apiService: ApiService, private storageService: StorageService) {}\n\n getWebVaultUrl(): string {\n if (this.webVaultUrl != null) {\n return this.webVaultUrl;\n } else if (this.baseUrl) {\n return this.baseUrl;\n }\n return null;\n }\n\n async setUrlsFromStorage(): Promise {\n const urlsObj: any = await this.storageService.get(ConstantsService.environmentUrlsKey);\n const urls = urlsObj || {\n base: null,\n api: null,\n identity: null,\n icons: null,\n webVault: null,\n };\n\n const envUrls = new EnvironmentUrls();\n\n if (urls.base) {\n this.baseUrl = envUrls.base = urls.base;\n await this.apiService.setUrls(envUrls);\n return;\n }\n\n this.webVaultUrl = urls.webVault;\n this.apiUrl = envUrls.api = urls.api;\n this.identityUrl = envUrls.identity = urls.identity;\n this.iconsUrl = urls.icons;\n await this.apiService.setUrls(envUrls);\n }\n\n async setUrls(urls: any): Promise {\n urls.base = this.formatUrl(urls.base);\n urls.webVault = this.formatUrl(urls.webVault);\n urls.api = this.formatUrl(urls.api);\n urls.identity = this.formatUrl(urls.identity);\n urls.icons = this.formatUrl(urls.icons);\n\n await this.storageService.save(ConstantsService.environmentUrlsKey, {\n base: urls.base,\n api: urls.api,\n identity: urls.identity,\n webVault: urls.webVault,\n icons: urls.icons,\n });\n\n this.baseUrl = urls.base;\n this.webVaultUrl = urls.webVault;\n this.apiUrl = urls.api;\n this.identityUrl = urls.identity;\n this.iconsUrl = urls.icons;\n\n const envUrls = new EnvironmentUrls();\n if (this.baseUrl) {\n envUrls.base = this.baseUrl;\n } else {\n envUrls.api = this.apiUrl;\n envUrls.identity = this.identityUrl;\n }\n\n await this.apiService.setUrls(envUrls);\n return urls;\n }\n\n private formatUrl(url: string): string {\n if (url == null || url === '') {\n return null;\n }\n\n url = url.replace(/\\/+$/g, '');\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\n url = 'https://' + url;\n }\n\n return url;\n }\n}\n","import { EncryptionType } from '../enums/encryptionType';\r\n\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport { EncryptedObject } from '../models/domain/encryptedObject';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\r\n\r\nimport { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service';\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nimport { ConstantsService } from './constants.service';\r\n\r\nimport { sequentialize } from '../misc/sequentialize';\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n key: 'key',\r\n encOrgKeys: 'encOrgKeys',\r\n encPrivateKey: 'encPrivateKey',\r\n encKey: 'encKey',\r\n keyHash: 'keyHash',\r\n};\r\n\r\nexport class CryptoService implements CryptoServiceAbstraction {\r\n private key: SymmetricCryptoKey;\r\n private encKey: SymmetricCryptoKey;\r\n private legacyEtmKey: SymmetricCryptoKey;\r\n private keyHash: string;\r\n private publicKey: ArrayBuffer;\r\n private privateKey: ArrayBuffer;\r\n private orgKeys: Map;\r\n\r\n constructor(private storageService: StorageService, private secureStorageService: StorageService,\r\n private cryptoFunctionService: CryptoFunctionService) { }\r\n\r\n async setKey(key: SymmetricCryptoKey): Promise {\r\n this.key = key;\r\n\r\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\r\n if (option != null) {\r\n // if we have a lock option set, we do not store the key\r\n return;\r\n }\r\n\r\n return this.secureStorageService.save(Keys.key, key.keyB64);\r\n }\r\n\r\n setKeyHash(keyHash: string): Promise<{}> {\r\n this.keyHash = keyHash;\r\n return this.storageService.save(Keys.keyHash, keyHash);\r\n }\r\n\r\n async setEncKey(encKey: string): Promise<{}> {\r\n if (encKey == null) {\r\n return;\r\n }\r\n\r\n await this.storageService.save(Keys.encKey, encKey);\r\n this.encKey = null;\r\n }\r\n\r\n async setEncPrivateKey(encPrivateKey: string): Promise<{}> {\r\n if (encPrivateKey == null) {\r\n return;\r\n }\r\n\r\n await this.storageService.save(Keys.encPrivateKey, encPrivateKey);\r\n this.privateKey = null;\r\n }\r\n\r\n setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}> {\r\n const orgKeys: any = {};\r\n orgs.forEach((org) => {\r\n orgKeys[org.id] = org.key;\r\n });\r\n\r\n return this.storageService.save(Keys.encOrgKeys, orgKeys);\r\n }\r\n\r\n async getKey(): Promise {\r\n if (this.key != null) {\r\n return this.key;\r\n }\r\n\r\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\r\n if (option != null) {\r\n return null;\r\n }\r\n\r\n const key = await this.secureStorageService.get(Keys.key);\r\n if (key != null) {\r\n this.key = new SymmetricCryptoKey(Utils.fromB64ToArray(key).buffer);\r\n }\r\n\r\n return key == null ? null : this.key;\r\n }\r\n\r\n getKeyHash(): Promise {\r\n if (this.keyHash != null) {\r\n return Promise.resolve(this.keyHash);\r\n }\r\n\r\n return this.storageService.get(Keys.keyHash);\r\n }\r\n\r\n @sequentialize(() => 'getEncKey')\r\n async getEncKey(): Promise {\r\n if (this.encKey != null) {\r\n return this.encKey;\r\n }\r\n\r\n const encKey = await this.storageService.get(Keys.encKey);\r\n if (encKey == null) {\r\n return null;\r\n }\r\n\r\n const key = await this.getKey();\r\n if (key == null) {\r\n return null;\r\n }\r\n\r\n let decEncKey: ArrayBuffer;\r\n const encKeyCipher = new CipherString(encKey);\r\n if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_B64) {\r\n decEncKey = await this.decrypt(encKeyCipher, key);\r\n } else if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_HmacSha256_B64) {\r\n const newKey = await this.stretchKey(key);\r\n decEncKey = await this.decrypt(encKeyCipher, newKey);\r\n } else {\r\n throw new Error('Unsupported encKey type.');\r\n }\r\n\r\n if (decEncKey == null) {\r\n return null;\r\n }\r\n this.encKey = new SymmetricCryptoKey(decEncKey);\r\n return this.encKey;\r\n }\r\n\r\n async getPublicKey(): Promise {\r\n if (this.publicKey != null) {\r\n return this.publicKey;\r\n }\r\n\r\n const privateKey = await this.getPrivateKey();\r\n if (privateKey == null) {\r\n return null;\r\n }\r\n\r\n this.publicKey = await this.cryptoFunctionService.rsaExtractPublicKey(privateKey);\r\n return this.publicKey;\r\n }\r\n\r\n async getPrivateKey(): Promise {\r\n if (this.privateKey != null) {\r\n return this.privateKey;\r\n }\r\n\r\n const encPrivateKey = await this.storageService.get(Keys.encPrivateKey);\r\n if (encPrivateKey == null) {\r\n return null;\r\n }\r\n\r\n this.privateKey = await this.decrypt(new CipherString(encPrivateKey), null);\r\n return this.privateKey;\r\n }\r\n\r\n @sequentialize(() => 'getOrgKeys')\r\n async getOrgKeys(): Promise> {\r\n if (this.orgKeys != null && this.orgKeys.size > 0) {\r\n return this.orgKeys;\r\n }\r\n\r\n const encOrgKeys = await this.storageService.get(Keys.encOrgKeys);\r\n if (encOrgKeys == null) {\r\n return null;\r\n }\r\n\r\n const orgKeys: Map = new Map();\r\n let setKey = false;\r\n\r\n for (const orgId in encOrgKeys) {\r\n if (!encOrgKeys.hasOwnProperty(orgId)) {\r\n continue;\r\n }\r\n\r\n const decValue = await this.rsaDecrypt(encOrgKeys[orgId]);\r\n orgKeys.set(orgId, new SymmetricCryptoKey(decValue));\r\n setKey = true;\r\n }\r\n\r\n if (setKey) {\r\n this.orgKeys = orgKeys;\r\n }\r\n\r\n return this.orgKeys;\r\n }\r\n\r\n async getOrgKey(orgId: string): Promise {\r\n if (orgId == null) {\r\n return null;\r\n }\r\n\r\n const orgKeys = await this.getOrgKeys();\r\n if (orgKeys == null || !orgKeys.has(orgId)) {\r\n return null;\r\n }\r\n\r\n return orgKeys.get(orgId);\r\n }\r\n\r\n async hasKey(): Promise {\r\n return (await this.getKey()) != null;\r\n }\r\n\r\n async hasEncKey(): Promise {\r\n const encKey = await this.storageService.get(Keys.encKey);\r\n return encKey != null;\r\n }\r\n\r\n clearKey(): Promise {\r\n this.key = this.legacyEtmKey = null;\r\n return this.secureStorageService.remove(Keys.key);\r\n }\r\n\r\n clearKeyHash(): Promise {\r\n this.keyHash = null;\r\n return this.storageService.remove(Keys.keyHash);\r\n }\r\n\r\n clearEncKey(memoryOnly?: boolean): Promise {\r\n this.encKey = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encKey);\r\n }\r\n\r\n clearKeyPair(memoryOnly?: boolean): Promise {\r\n this.privateKey = null;\r\n this.publicKey = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encPrivateKey);\r\n }\r\n\r\n clearOrgKeys(memoryOnly?: boolean): Promise {\r\n this.orgKeys = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encOrgKeys);\r\n }\r\n\r\n clearKeys(): Promise {\r\n return Promise.all([\r\n this.clearKey(),\r\n this.clearKeyHash(),\r\n this.clearOrgKeys(),\r\n this.clearEncKey(),\r\n this.clearKeyPair(),\r\n ]);\r\n }\r\n\r\n async toggleKey(): Promise {\r\n const key = await this.getKey();\r\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\r\n if (option != null || option === 0) {\r\n // if we have a lock option set, clear the key\r\n await this.clearKey();\r\n this.key = key;\r\n return;\r\n }\r\n\r\n await this.setKey(key);\r\n }\r\n\r\n async makeKey(password: string, salt: string): Promise {\r\n const key = await this.cryptoFunctionService.pbkdf2(password, salt, 'sha256', 5000);\r\n return new SymmetricCryptoKey(key);\r\n }\r\n\r\n async makeShareKey(): Promise<[CipherString, SymmetricCryptoKey]> {\r\n const shareKey = await this.cryptoFunctionService.randomBytes(64);\r\n const publicKey = await this.getPublicKey();\r\n const encKey = await this.getEncKey();\r\n const encShareKey = await this.rsaEncrypt(shareKey, publicKey, encKey);\r\n return [encShareKey, new SymmetricCryptoKey(shareKey)];\r\n }\r\n\r\n async makeKeyPair(key?: SymmetricCryptoKey): Promise<[string, CipherString]> {\r\n const keyPair = await this.cryptoFunctionService.rsaGenerateKeyPair(2048);\r\n const publicB64 = Utils.fromBufferToB64(keyPair[0]);\r\n const privateEnc = await this.encrypt(keyPair[1], key);\r\n return [publicB64, privateEnc];\r\n }\r\n\r\n async hashPassword(password: string, key: SymmetricCryptoKey): Promise {\r\n if (key == null) {\r\n key = await this.getKey();\r\n }\r\n if (password == null || key == null) {\r\n throw new Error('Invalid parameters.');\r\n }\r\n\r\n const hash = await this.cryptoFunctionService.pbkdf2(key.key, password, 'sha256', 1);\r\n return Utils.fromBufferToB64(hash);\r\n }\r\n\r\n async makeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\r\n const encKey = await this.cryptoFunctionService.randomBytes(64);\r\n let encKeyEnc: CipherString = null;\r\n // TODO: Uncomment when we're ready to enable key stretching\r\n encKeyEnc = await this.encrypt(encKey, key);\r\n /*\r\n if (key.key.byteLength === 32) {\r\n const newKey = await this.stretchKey(key);\r\n encKeyEnc = await this.encrypt(encKey, newKey);\r\n } else if (key.key.byteLength === 64) {\r\n encKeyEnc = await this.encrypt(encKey, key);\r\n } else {\r\n throw new Error('Invalid key size.');\r\n }\r\n */\r\n return [new SymmetricCryptoKey(encKey), encKeyEnc];\r\n }\r\n\r\n async encrypt(plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n if (plainValue == null) {\r\n return Promise.resolve(null);\r\n }\r\n\r\n let plainBuf: ArrayBuffer;\r\n if (typeof (plainValue) === 'string') {\r\n plainBuf = Utils.fromUtf8ToArray(plainValue).buffer;\r\n } else {\r\n plainBuf = plainValue;\r\n }\r\n\r\n const encObj = await this.aesEncrypt(plainBuf, key);\r\n const iv = Utils.fromBufferToB64(encObj.iv);\r\n const data = Utils.fromBufferToB64(encObj.data);\r\n const mac = encObj.mac != null ? Utils.fromBufferToB64(encObj.mac) : null;\r\n return new CipherString(encObj.key.encType, iv, data, mac);\r\n }\r\n\r\n async encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n const encValue = await this.aesEncrypt(plainValue, key);\r\n let macLen = 0;\r\n if (encValue.mac != null) {\r\n macLen = encValue.mac.byteLength;\r\n }\r\n\r\n const encBytes = new Uint8Array(1 + encValue.iv.byteLength + macLen + encValue.data.byteLength);\r\n encBytes.set([encValue.key.encType]);\r\n encBytes.set(new Uint8Array(encValue.iv), 1);\r\n if (encValue.mac != null) {\r\n encBytes.set(new Uint8Array(encValue.mac), 1 + encValue.iv.byteLength);\r\n }\r\n\r\n encBytes.set(new Uint8Array(encValue.data), 1 + encValue.iv.byteLength + macLen);\r\n return encBytes.buffer;\r\n }\r\n\r\n async rsaEncrypt(data: ArrayBuffer, publicKey?: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n if (publicKey == null) {\r\n publicKey = await this.getPublicKey();\r\n }\r\n if (publicKey == null) {\r\n throw new Error('Public key unavailable.');\r\n }\r\n\r\n let type = EncryptionType.Rsa2048_OaepSha1_B64;\r\n const encBytes = await this.cryptoFunctionService.rsaEncrypt(data, publicKey, 'sha1');\r\n let mac: string = null;\r\n if (key != null && key.macKey != null) {\r\n type = EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64;\r\n const macBytes = await this.cryptoFunctionService.hmac(encBytes, key.macKey, 'sha256');\r\n mac = Utils.fromBufferToB64(macBytes);\r\n }\r\n return new CipherString(type, Utils.fromBufferToB64(encBytes), null, mac);\r\n }\r\n\r\n async decrypt(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\r\n const iv = Utils.fromB64ToArray(cipherString.iv).buffer;\r\n const data = Utils.fromB64ToArray(cipherString.data).buffer;\r\n const mac = cipherString.mac ? Utils.fromB64ToArray(cipherString.mac).buffer : null;\r\n const decipher = await this.aesDecryptToBytes(cipherString.encryptionType, data, iv, mac, key);\r\n if (decipher == null) {\r\n return null;\r\n }\r\n\r\n return decipher;\r\n }\r\n\r\n async decryptToUtf8(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\r\n return await this.aesDecryptToUtf8(cipherString.encryptionType, cipherString.data,\r\n cipherString.iv, cipherString.mac, key);\r\n }\r\n\r\n async decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n if (encBuf == null) {\r\n throw new Error('no encBuf.');\r\n }\r\n\r\n const encBytes = new Uint8Array(encBuf);\r\n const encType = encBytes[0];\r\n let ctBytes: Uint8Array = null;\r\n let ivBytes: Uint8Array = null;\r\n let macBytes: Uint8Array = null;\r\n\r\n switch (encType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encBytes.length <= 49) { // 1 + 16 + 32 + ctLength\r\n return null;\r\n }\r\n\r\n ivBytes = encBytes.slice(1, 17);\r\n macBytes = encBytes.slice(17, 49);\r\n ctBytes = encBytes.slice(49);\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encBytes.length <= 17) { // 1 + 16 + ctLength\r\n return null;\r\n }\r\n\r\n ivBytes = encBytes.slice(1, 17);\r\n ctBytes = encBytes.slice(17);\r\n break;\r\n default:\r\n return null;\r\n }\r\n\r\n return await this.aesDecryptToBytes(encType, ctBytes.buffer, ivBytes.buffer,\r\n macBytes != null ? macBytes.buffer : null, key);\r\n }\r\n\r\n // EFForg/OpenWireless\r\n // ref https://github.com/EFForg/OpenWireless/blob/master/app/js/diceware.js\r\n async randomNumber(min: number, max: number): Promise {\r\n let rval = 0;\r\n const range = max - min + 1;\r\n const bitsNeeded = Math.ceil(Math.log2(range));\r\n if (bitsNeeded > 53) {\r\n throw new Error('We cannot generate numbers larger than 53 bits.');\r\n }\r\n\r\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\r\n const mask = Math.pow(2, bitsNeeded) - 1;\r\n // 7776 -> (2^13 = 8192) -1 == 8191 or 0x00001111 11111111\r\n\r\n // Fill a byte array with N random numbers\r\n const byteArray = new Uint8Array(await this.cryptoFunctionService.randomBytes(bytesNeeded));\r\n\r\n let p = (bytesNeeded - 1) * 8;\r\n for (let i = 0; i < bytesNeeded; i++) {\r\n rval += byteArray[i] * Math.pow(2, p);\r\n p -= 8;\r\n }\r\n\r\n // Use & to apply the mask and reduce the number of recursive lookups\r\n // tslint:disable-next-line\r\n rval = rval & mask;\r\n\r\n if (rval >= range) {\r\n // Integer out of acceptable range\r\n return this.randomNumber(min, max);\r\n }\r\n\r\n // Return an integer that falls within the range\r\n return min + rval;\r\n }\r\n\r\n // Helpers\r\n\r\n private async aesEncrypt(data: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n const obj = new EncryptedObject();\r\n obj.key = await this.getKeyForEncryption(key);\r\n obj.iv = await this.cryptoFunctionService.randomBytes(16);\r\n obj.data = await this.cryptoFunctionService.aesEncrypt(data, obj.iv, obj.key.encKey);\r\n\r\n if (obj.key.macKey != null) {\r\n const macData = new Uint8Array(obj.iv.byteLength + obj.data.byteLength);\r\n macData.set(new Uint8Array(obj.iv), 0);\r\n macData.set(new Uint8Array(obj.data), obj.iv.byteLength);\r\n obj.mac = await this.cryptoFunctionService.hmac(macData.buffer, obj.key.macKey, 'sha256');\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n private async aesDecryptToUtf8(encType: EncryptionType, data: string, iv: string, mac: string,\r\n key: SymmetricCryptoKey): Promise {\r\n const keyForEnc = await this.getKeyForEncryption(key);\r\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\r\n\r\n if (theKey.macKey != null && mac == null) {\r\n // tslint:disable-next-line\r\n console.error('mac required.');\r\n return null;\r\n }\r\n\r\n if (theKey.encType !== encType) {\r\n // tslint:disable-next-line\r\n console.error('encType unavailable.');\r\n return null;\r\n }\r\n\r\n const fastParams = this.cryptoFunctionService.aesDecryptFastParameters(data, iv, mac, theKey);\r\n if (fastParams.macKey != null && fastParams.mac != null) {\r\n const computedMac = await this.cryptoFunctionService.hmacFast(fastParams.macData,\r\n fastParams.macKey, 'sha256');\r\n const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac);\r\n if (!macsEqual) {\r\n // tslint:disable-next-line\r\n console.error('mac failed.');\r\n return null;\r\n }\r\n }\r\n\r\n return this.cryptoFunctionService.aesDecryptFast(fastParams);\r\n }\r\n\r\n private async aesDecryptToBytes(encType: EncryptionType, data: ArrayBuffer, iv: ArrayBuffer,\r\n mac: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n const keyForEnc = await this.getKeyForEncryption(key);\r\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\r\n\r\n if (theKey.macKey != null && mac == null) {\r\n return null;\r\n }\r\n\r\n if (theKey.encType !== encType) {\r\n return null;\r\n }\r\n\r\n if (theKey.macKey != null && mac != null) {\r\n const macData = new Uint8Array(iv.byteLength + data.byteLength);\r\n macData.set(new Uint8Array(iv), 0);\r\n macData.set(new Uint8Array(data), iv.byteLength);\r\n const computedMac = await this.cryptoFunctionService.hmac(macData.buffer, theKey.macKey, 'sha256');\r\n if (computedMac === null) {\r\n return null;\r\n }\r\n\r\n const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac);\r\n if (!macsMatch) {\r\n // tslint:disable-next-line\r\n console.error('mac failed.');\r\n return null;\r\n }\r\n }\r\n\r\n return await this.cryptoFunctionService.aesDecrypt(data, iv, theKey.encKey);\r\n }\r\n\r\n private async rsaDecrypt(encValue: string): Promise {\r\n const headerPieces = encValue.split('.');\r\n let encType: EncryptionType = null;\r\n let encPieces: string[];\r\n\r\n if (headerPieces.length === 1) {\r\n encType = EncryptionType.Rsa2048_OaepSha256_B64;\r\n encPieces = [headerPieces[0]];\r\n } else if (headerPieces.length === 2) {\r\n try {\r\n encType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) { }\r\n }\r\n\r\n switch (encType) {\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n if (encPieces.length !== 1) {\r\n throw new Error('Invalid cipher format.');\r\n }\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\r\n if (encPieces.length !== 2) {\r\n throw new Error('Invalid cipher format.');\r\n }\r\n break;\r\n default:\r\n throw new Error('encType unavailable.');\r\n }\r\n\r\n if (encPieces == null || encPieces.length <= 0) {\r\n throw new Error('encPieces unavailable.');\r\n }\r\n\r\n const data = Utils.fromB64ToArray(encPieces[0]).buffer;\r\n const key = await this.getEncKey();\r\n if (key != null && key.macKey != null && encPieces.length > 1) {\r\n const mac = Utils.fromB64ToArray(encPieces[1]).buffer;\r\n const computedMac = await this.cryptoFunctionService.hmac(data, key.macKey, 'sha256');\r\n const macsEqual = await this.cryptoFunctionService.compare(mac, computedMac);\r\n if (!macsEqual) {\r\n throw new Error('MAC failed.');\r\n }\r\n }\r\n\r\n const privateKey = await this.getPrivateKey();\r\n if (privateKey == null) {\r\n throw new Error('No private key.');\r\n }\r\n\r\n let alg: 'sha1' | 'sha256' = 'sha1';\r\n switch (encType) {\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\r\n alg = 'sha256';\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\r\n break;\r\n default:\r\n throw new Error('encType unavailable.');\r\n }\r\n\r\n return this.cryptoFunctionService.rsaDecrypt(data, privateKey, alg);\r\n }\r\n\r\n private async getKeyForEncryption(key?: SymmetricCryptoKey): Promise {\r\n if (key != null) {\r\n return key;\r\n }\r\n\r\n const encKey = await this.getEncKey();\r\n if (encKey != null) {\r\n return encKey;\r\n }\r\n\r\n return await this.getKey();\r\n }\r\n\r\n private resolveLegacyKey(encType: EncryptionType, key: SymmetricCryptoKey): SymmetricCryptoKey {\r\n if (encType === EncryptionType.AesCbc128_HmacSha256_B64 &&\r\n key.encType === EncryptionType.AesCbc256_B64) {\r\n // Old encrypt-then-mac scheme, make a new key\r\n if (this.legacyEtmKey == null) {\r\n this.legacyEtmKey = new SymmetricCryptoKey(key.key, EncryptionType.AesCbc128_HmacSha256_B64);\r\n }\r\n return this.legacyEtmKey;\r\n }\r\n\r\n return key;\r\n }\r\n\r\n private async stretchKey(key: SymmetricCryptoKey): Promise {\r\n const newKey = new Uint8Array(64);\r\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('enc'), 32));\r\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('mac'), 32), 32);\r\n return new SymmetricCryptoKey(newKey.buffer);\r\n }\r\n\r\n // ref: https://tools.ietf.org/html/rfc5869\r\n private async hkdfExpand(prk: ArrayBuffer, info: Uint8Array, size: number) {\r\n const hashLen = 32; // sha256\r\n const okm = new Uint8Array(size);\r\n let previousT = new Uint8Array(0);\r\n const n = Math.ceil(size / hashLen);\r\n for (let i = 0; i < n; i++) {\r\n const t = new Uint8Array(previousT.length + info.length + 1);\r\n t.set(previousT);\r\n t.set(info, previousT.length);\r\n t.set([i + 1], t.length - 1);\r\n previousT = new Uint8Array(await this.cryptoFunctionService.hmac(t.buffer, prk, 'sha256'));\r\n okm.set(previousT, i * hashLen);\r\n }\r\n return okm;\r\n }\r\n}\r\n","import { CryptoService } from '../abstractions/crypto.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nexport class ContainerService {\n constructor(private cryptoService: CryptoService,\n private platformUtilsService: PlatformUtilsService) {\n }\n\n // deprecated, use attachToGlobal instead\n attachToWindow(win: any) {\n this.attachToGlobal(win);\n }\n\n attachToGlobal(global: any) {\n if (!global.bitwardenContainerService) {\n global.bitwardenContainerService = this;\n }\n }\n\n getCryptoService(): CryptoService {\n return this.cryptoService;\n }\n\n getPlatformUtilsService(): PlatformUtilsService {\n return this.platformUtilsService;\n }\n}\n","import { CollectionData } from '../models/data/collectionData';\r\n\r\nimport { Collection } from '../models/domain/collection';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nimport { CollectionService as CollectionServiceAbstraction } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n collectionsPrefix: 'collections_',\r\n};\r\n\r\nexport class CollectionService implements CollectionServiceAbstraction {\r\n decryptedCollectionCache: CollectionView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private storageService: StorageService, private i18nService: I18nService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async encrypt(model: CollectionView): Promise {\r\n if (model.organizationId == null) {\r\n throw new Error('Collection has no organization id.');\r\n }\r\n const key = await this.cryptoService.getOrgKey(model.organizationId);\r\n if (key == null) {\r\n throw new Error('No key for this collection\\'s organization.');\r\n }\r\n const collection = new Collection();\r\n collection.id = model.id;\r\n collection.organizationId = model.organizationId;\r\n collection.readOnly = model.readOnly;\r\n collection.name = await this.cryptoService.encrypt(model.name, key);\r\n return collection;\r\n }\r\n\r\n async decryptMany(collections: Collection[]): Promise {\r\n if (collections == null) {\r\n return [];\r\n }\r\n const decCollections: CollectionView[] = [];\r\n const promises: Array> = [];\r\n collections.forEach((collection) => {\r\n promises.push(collection.decrypt().then((c) => decCollections.push(c)));\r\n });\r\n await Promise.all(promises);\r\n return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null || !collections.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Collection(collections[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n const response: Collection[] = [];\r\n for (const id in collections) {\r\n if (collections.hasOwnProperty(id)) {\r\n response.push(new Collection(collections[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCollectionCache != null) {\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const collections = await this.getAll();\r\n this.decryptedCollectionCache = await this.decryptMany(collections);\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n async upsert(collection: CollectionData | CollectionData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n collections = {};\r\n }\r\n\r\n if (collection instanceof CollectionData) {\r\n const c = collection as CollectionData;\r\n collections[c.id] = c;\r\n } else {\r\n (collection as CollectionData[]).forEach((c) => {\r\n collections[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async replace(collections: { [id: string]: CollectionData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.collectionsPrefix + userId);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete collections[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete collections[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n}\r\n","import { CipherType } from '../enums/cipherType';\r\nimport { UriMatchType } from '../enums/uriMatchType';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Attachment } from '../models/domain/attachment';\r\nimport { Card } from '../models/domain/card';\r\nimport { Cipher } from '../models/domain/cipher';\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport Domain from '../models/domain/domain';\r\nimport { Field } from '../models/domain/field';\r\nimport { Identity } from '../models/domain/identity';\r\nimport { Login } from '../models/domain/login';\r\nimport { LoginUri } from '../models/domain/loginUri';\r\nimport { SecureNote } from '../models/domain/secureNote';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\n\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\n\r\nimport { AttachmentView } from '../models/view/attachmentView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { View } from '../models/view/view';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService as CipherServiceAbstraction } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { SettingsService } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n ciphersPrefix: 'ciphers_',\r\n localData: 'sitesLocalData',\r\n neverDomains: 'neverDomains',\r\n};\r\n\r\nexport class CipherService implements CipherServiceAbstraction {\r\n decryptedCipherCache: CipherView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private settingsService: SettingsService, private apiService: ApiService,\r\n private storageService: StorageService, private i18nService: I18nService,\r\n private platformUtilsService: PlatformUtilsService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async encrypt(model: CipherView, key?: SymmetricCryptoKey): Promise {\r\n const cipher = new Cipher();\r\n cipher.id = model.id;\r\n cipher.folderId = model.folderId;\r\n cipher.favorite = model.favorite;\r\n cipher.organizationId = model.organizationId;\r\n cipher.type = model.type;\r\n cipher.collectionIds = model.collectionIds;\r\n\r\n if (key == null && cipher.organizationId != null) {\r\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\r\n }\r\n await Promise.all([\r\n this.encryptObjProperty(model, cipher, {\r\n name: null,\r\n notes: null,\r\n }, key),\r\n this.encryptCipherData(cipher, model, key),\r\n this.encryptFields(model.fields, key).then((fields) => {\r\n cipher.fields = fields;\r\n }),\r\n this.encryptAttachments(model.attachments, key).then((attachments) => {\r\n cipher.attachments = attachments;\r\n }),\r\n ]);\r\n\r\n return cipher;\r\n }\r\n\r\n async encryptAttachments(attachmentsModel: AttachmentView[], key: SymmetricCryptoKey): Promise {\r\n if (attachmentsModel == null || attachmentsModel.length === 0) {\r\n return null;\r\n }\r\n\r\n const promises: Array> = [];\r\n const encAttachments: Attachment[] = [];\r\n attachmentsModel.forEach(async (model) => {\r\n const attachment = new Attachment();\r\n attachment.id = model.id;\r\n attachment.size = model.size;\r\n attachment.sizeName = model.sizeName;\r\n attachment.url = model.url;\r\n const promise = this.encryptObjProperty(model, attachment, {\r\n fileName: null,\r\n }, key).then(() => {\r\n encAttachments.push(attachment);\r\n });\r\n promises.push(promise);\r\n });\r\n\r\n await Promise.all(promises);\r\n return encAttachments;\r\n }\r\n\r\n async encryptFields(fieldsModel: FieldView[], key: SymmetricCryptoKey): Promise {\r\n if (!fieldsModel || !fieldsModel.length) {\r\n return null;\r\n }\r\n\r\n const self = this;\r\n const encFields: Field[] = [];\r\n await fieldsModel.reduce((promise, field) => {\r\n return promise.then(() => {\r\n return self.encryptField(field, key);\r\n }).then((encField: Field) => {\r\n encFields.push(encField);\r\n });\r\n }, Promise.resolve());\r\n\r\n return encFields;\r\n }\r\n\r\n async encryptField(fieldModel: FieldView, key: SymmetricCryptoKey): Promise {\r\n const field = new Field();\r\n field.type = fieldModel.type;\r\n\r\n await this.encryptObjProperty(fieldModel, field, {\r\n name: null,\r\n value: null,\r\n }, key);\r\n\r\n return field;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const localData = await this.storageService.get(Keys.localData);\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null || !ciphers.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Cipher(ciphers[id], false, localData ? localData[id] : null);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const localData = await this.storageService.get(Keys.localData);\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n const response: Cipher[] = [];\r\n for (const id in ciphers) {\r\n if (ciphers.hasOwnProperty(id)) {\r\n response.push(new Cipher(ciphers[id], false, localData ? localData[id] : null));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCipherCache != null) {\r\n return this.decryptedCipherCache;\r\n }\r\n\r\n const decCiphers: CipherView[] = [];\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const promises: any[] = [];\r\n const ciphers = await this.getAll();\r\n ciphers.forEach((cipher) => {\r\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decCiphers.sort(this.getLocaleSortingFunction());\r\n this.decryptedCipherCache = decCiphers;\r\n return this.decryptedCipherCache;\r\n }\r\n\r\n async getAllDecryptedForGrouping(groupingId: string, folder: boolean = true): Promise {\r\n const ciphers = await this.getAllDecrypted();\r\n\r\n return ciphers.filter((cipher) => {\r\n if (folder && cipher.folderId === groupingId) {\r\n return true;\r\n } else if (!folder && cipher.collectionIds != null && cipher.collectionIds.indexOf(groupingId) > -1) {\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n async getAllDecryptedForUrl(url: string, includeOtherTypes?: CipherType[]): Promise {\r\n if (url == null && !includeOtherTypes) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const domain = this.platformUtilsService.getDomain(url);\r\n const eqDomainsPromise = domain == null ? Promise.resolve([]) :\r\n this.settingsService.getEquivalentDomains().then((eqDomains: any[][]) => {\r\n let matches: any[] = [];\r\n eqDomains.forEach((eqDomain) => {\r\n if (eqDomain.length && eqDomain.indexOf(domain) >= 0) {\r\n matches = matches.concat(eqDomain);\r\n }\r\n });\r\n\r\n if (!matches.length) {\r\n matches.push(domain);\r\n }\r\n\r\n return matches;\r\n });\r\n\r\n const result = await Promise.all([eqDomainsPromise, this.getAllDecrypted()]);\r\n const matchingDomains = result[0];\r\n const ciphers = result[1];\r\n\r\n return ciphers.filter((cipher) => {\r\n if (includeOtherTypes && includeOtherTypes.indexOf(cipher.type) > -1) {\r\n return true;\r\n }\r\n\r\n if (url != null && cipher.type === CipherType.Login && cipher.login.uris != null) {\r\n for (let i = 0; i < cipher.login.uris.length; i++) {\r\n const u = cipher.login.uris[i];\r\n if (u.uri == null) {\r\n continue;\r\n }\r\n\r\n switch (u.match) {\r\n case null:\r\n case undefined:\r\n case UriMatchType.Domain:\r\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.Host:\r\n const urlHost = Utils.getHost(url);\r\n if (urlHost != null && urlHost === Utils.getHost(u.uri)) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.Exact:\r\n if (url === u.uri) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.StartsWith:\r\n if (url.startsWith(u.uri)) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.RegularExpression:\r\n try {\r\n const regex = new RegExp(u.uri, 'i');\r\n if (regex.test(url)) {\r\n return true;\r\n }\r\n } catch { }\r\n break;\r\n case UriMatchType.Never:\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n async getLastUsedForUrl(url: string): Promise {\r\n const ciphers = await this.getAllDecryptedForUrl(url);\r\n if (ciphers.length === 0) {\r\n return null;\r\n }\r\n\r\n const sortedCiphers = ciphers.sort(this.sortCiphersByLastUsed);\r\n return sortedCiphers[0];\r\n }\r\n\r\n async updateLastUsedDate(id: string): Promise {\r\n let ciphersLocalData = await this.storageService.get(Keys.localData);\r\n if (!ciphersLocalData) {\r\n ciphersLocalData = {};\r\n }\r\n\r\n if (ciphersLocalData[id]) {\r\n ciphersLocalData[id].lastUsedDate = new Date().getTime();\r\n } else {\r\n ciphersLocalData[id] = {\r\n lastUsedDate: new Date().getTime(),\r\n };\r\n }\r\n\r\n await this.storageService.save(Keys.localData, ciphersLocalData);\r\n\r\n if (this.decryptedCipherCache == null) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\r\n const cached = this.decryptedCipherCache[i];\r\n if (cached.id === id) {\r\n cached.localData = ciphersLocalData[id];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n async saveNeverDomain(domain: string): Promise {\r\n if (domain == null) {\r\n return;\r\n }\r\n\r\n let domains = await this.storageService.get<{ [id: string]: any; }>(Keys.neverDomains);\r\n if (!domains) {\r\n domains = {};\r\n }\r\n domains[domain] = null;\r\n await this.storageService.save(Keys.neverDomains, domains);\r\n }\r\n\r\n async saveWithServer(cipher: Cipher): Promise {\r\n const request = new CipherRequest(cipher);\r\n\r\n let response: CipherResponse;\r\n if (cipher.id == null) {\r\n response = await this.apiService.postCipher(request);\r\n cipher.id = response.id;\r\n } else {\r\n response = await this.apiService.putCipher(cipher.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new CipherData(response, userId, cipher.collectionIds);\r\n await this.upsert(data);\r\n }\r\n\r\n async shareWithServer(cipher: CipherView, organizationId: string, collectionIds: string[]): Promise {\r\n cipher.organizationId = organizationId;\r\n cipher.collectionIds = collectionIds;\r\n const encCipher = await this.encrypt(cipher);\r\n const request = new CipherShareRequest(encCipher);\r\n await this.apiService.putShareCipher(cipher.id, request);\r\n const userId = await this.userService.getUserId();\r\n await this.upsert(encCipher.toCipherData(userId));\r\n }\r\n\r\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\r\n const promises: Array> = [];\r\n const encCiphers: Cipher[] = [];\r\n for (const cipher of ciphers) {\r\n cipher.organizationId = organizationId;\r\n cipher.collectionIds = collectionIds;\r\n promises.push(this.encrypt(cipher).then((c) => {\r\n encCiphers.push(c);\r\n }));\r\n }\r\n await Promise.all(promises);\r\n const request = new CipherBulkShareRequest(encCiphers, collectionIds);\r\n await this.apiService.putShareCiphers(request);\r\n const userId = await this.userService.getUserId();\r\n await this.upsert(encCiphers.map((c) => c.toCipherData(userId)));\r\n }\r\n\r\n async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\r\n organizationId: string): Promise {\r\n const attachmentResponse = await fetch(new Request(attachmentView.url, { cache: 'no-cache' }));\r\n if (attachmentResponse.status !== 200) {\r\n throw Error('Failed to download attachment: ' + attachmentResponse.status.toString());\r\n }\r\n\r\n const buf = await attachmentResponse.arrayBuffer();\r\n const decBuf = await this.cryptoService.decryptFromBytes(buf, null);\r\n const key = await this.cryptoService.getOrgKey(organizationId);\r\n const encData = await this.cryptoService.encryptToBytes(decBuf, key);\r\n const encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\r\n\r\n const fd = new FormData();\r\n try {\r\n const blob = new Blob([encData], { type: 'application/octet-stream' });\r\n fd.append('data', blob, encFileName.encryptedString);\r\n } catch (e) {\r\n if (Utils.isNode && !Utils.isBrowser) {\r\n fd.append('data', new Buffer(encData) as any, {\r\n filepath: encFileName.encryptedString,\r\n contentType: 'application/octet-stream',\r\n } as any);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n let response: CipherResponse;\r\n try {\r\n response = await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd,\r\n organizationId);\r\n } catch (e) {\r\n throw new Error((e as ErrorResponse).getSingleMessage());\r\n }\r\n }\r\n\r\n saveAttachmentWithServer(cipher: Cipher, unencryptedFile: any, admin = false): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(unencryptedFile);\r\n reader.onload = async (evt: any) => {\r\n try {\r\n const cData = await this.saveAttachmentRawWithServer(cipher,\r\n unencryptedFile.name, evt.target.result, admin);\r\n resolve(cData);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n };\r\n reader.onerror = (evt) => {\r\n reject('Error reading file.');\r\n };\r\n });\r\n }\r\n\r\n async saveAttachmentRawWithServer(cipher: Cipher, filename: string,\r\n data: ArrayBuffer, admin = false): Promise {\r\n const key = await this.cryptoService.getOrgKey(cipher.organizationId);\r\n const encFileName = await this.cryptoService.encrypt(filename, key);\r\n const encData = await this.cryptoService.encryptToBytes(data, key);\r\n\r\n const fd = new FormData();\r\n try {\r\n const blob = new Blob([encData], { type: 'application/octet-stream' });\r\n fd.append('data', blob, encFileName.encryptedString);\r\n } catch (e) {\r\n if (Utils.isNode && !Utils.isBrowser) {\r\n fd.append('data', new Buffer(encData) as any, {\r\n filepath: encFileName.encryptedString,\r\n contentType: 'application/octet-stream',\r\n } as any);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n let response: CipherResponse;\r\n try {\r\n if (admin) {\r\n response = await this.apiService.postCipherAttachmentAdmin(cipher.id, fd);\r\n } else {\r\n response = await this.apiService.postCipherAttachment(cipher.id, fd);\r\n }\r\n } catch (e) {\r\n throw new Error((e as ErrorResponse).getSingleMessage());\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const cData = new CipherData(response, userId, cipher.collectionIds);\r\n if (!admin) {\r\n this.upsert(cData);\r\n }\r\n return new Cipher(cData);\r\n }\r\n\r\n async saveCollectionsWithServer(cipher: Cipher): Promise {\r\n const request = new CipherCollectionsRequest(cipher.collectionIds);\r\n await this.apiService.putCipherCollections(cipher.id, request);\r\n const userId = await this.userService.getUserId();\r\n const data = cipher.toCipherData(userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(cipher: CipherData | CipherData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n ciphers = {};\r\n }\r\n\r\n if (cipher instanceof CipherData) {\r\n const c = cipher as CipherData;\r\n ciphers[c.id] = c;\r\n } else {\r\n (cipher as CipherData[]).forEach((c) => {\r\n ciphers[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async replace(ciphers: { [id: string]: CipherData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.ciphersPrefix + userId);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async moveManyWithServer(ids: string[], folderId: string): Promise {\r\n await this.apiService.putMoveCiphers(new CipherBulkMoveRequest(ids, folderId));\r\n\r\n const userId = await this.userService.getUserId();\r\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n ciphers = {};\r\n }\r\n\r\n ids.forEach((id) => {\r\n if (ciphers.hasOwnProperty(id)) {\r\n ciphers[id].folderId = folderId;\r\n }\r\n });\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete ciphers[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete ciphers[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteCipher(id);\r\n await this.delete(id);\r\n }\r\n\r\n async deleteManyWithServer(ids: string[]): Promise {\r\n await this.apiService.deleteManyCiphers(new CipherBulkDeleteRequest(ids));\r\n await this.delete(ids);\r\n }\r\n\r\n async deleteAttachment(id: string, attachmentId: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n\r\n if (ciphers == null || !ciphers.hasOwnProperty(id) || ciphers[id].attachments == null) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < ciphers[id].attachments.length; i++) {\r\n if (ciphers[id].attachments[i].id === attachmentId) {\r\n ciphers[id].attachments.splice(i, 1);\r\n }\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async deleteAttachmentWithServer(id: string, attachmentId: string): Promise {\r\n try {\r\n await this.apiService.deleteCipherAttachment(id, attachmentId);\r\n } catch (e) {\r\n return Promise.reject((e as ErrorResponse).getSingleMessage());\r\n }\r\n await this.deleteAttachment(id, attachmentId);\r\n }\r\n\r\n sortCiphersByLastUsed(a: CipherView, b: CipherView): number {\r\n const aLastUsed = a.localData && a.localData.lastUsedDate ? a.localData.lastUsedDate as number : null;\r\n const bLastUsed = b.localData && b.localData.lastUsedDate ? b.localData.lastUsedDate as number : null;\r\n\r\n if (aLastUsed != null && bLastUsed != null && aLastUsed < bLastUsed) {\r\n return 1;\r\n }\r\n if (aLastUsed != null && bLastUsed == null) {\r\n return -1;\r\n }\r\n\r\n if (bLastUsed != null && aLastUsed != null && aLastUsed > bLastUsed) {\r\n return -1;\r\n }\r\n if (bLastUsed != null && aLastUsed == null) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n sortCiphersByLastUsedThenName(a: CipherView, b: CipherView): number {\r\n const result = this.sortCiphersByLastUsed(a, b);\r\n if (result !== 0) {\r\n return result;\r\n }\r\n\r\n return this.getLocaleSortingFunction()(a, b);\r\n }\r\n\r\n getLocaleSortingFunction(): (a: CipherView, b: CipherView) => number {\r\n return (a, b) => {\r\n let aName = a.name;\r\n let bName = b.name;\r\n\r\n if (aName == null && bName != null) {\r\n return -1;\r\n }\r\n if (aName != null && bName == null) {\r\n return 1;\r\n }\r\n if (aName == null && bName == null) {\r\n return 0;\r\n }\r\n\r\n const result = this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\r\n aName.localeCompare(bName);\r\n\r\n if (result !== 0 || a.type !== CipherType.Login || b.type !== CipherType.Login) {\r\n return result;\r\n }\r\n\r\n if (a.login.username != null) {\r\n aName += a.login.username;\r\n }\r\n\r\n if (b.login.username != null) {\r\n bName += b.login.username;\r\n }\r\n\r\n return this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\r\n aName.localeCompare(bName);\r\n };\r\n }\r\n\r\n // Helpers\r\n\r\n private async encryptObjProperty(model: V, obj: D,\r\n map: any, key: SymmetricCryptoKey): Promise {\r\n const promises = [];\r\n const self = this;\r\n\r\n for (const prop in map) {\r\n if (!map.hasOwnProperty(prop)) {\r\n continue;\r\n }\r\n\r\n // tslint:disable-next-line\r\n (function (theProp, theObj) {\r\n const p = Promise.resolve().then(() => {\r\n const modelProp = (model as any)[(map[theProp] || theProp)];\r\n if (modelProp && modelProp !== '') {\r\n return self.cryptoService.encrypt(modelProp, key);\r\n }\r\n return null;\r\n }).then((val: CipherString) => {\r\n (theObj as any)[theProp] = val;\r\n });\r\n promises.push(p);\r\n })(prop, obj);\r\n }\r\n\r\n await Promise.all(promises);\r\n }\r\n\r\n private async encryptCipherData(cipher: Cipher, model: CipherView, key: SymmetricCryptoKey) {\r\n switch (cipher.type) {\r\n case CipherType.Login:\r\n cipher.login = new Login();\r\n await this.encryptObjProperty(model.login, cipher.login, {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n }, key);\r\n\r\n if (model.login.uris != null) {\r\n cipher.login.uris = [];\r\n for (let i = 0; i < model.login.uris.length; i++) {\r\n const loginUri = new LoginUri();\r\n loginUri.match = model.login.uris[i].match;\r\n await this.encryptObjProperty(model.login.uris[i], loginUri, {\r\n uri: null,\r\n }, key);\r\n cipher.login.uris.push(loginUri);\r\n }\r\n }\r\n return;\r\n case CipherType.SecureNote:\r\n cipher.secureNote = new SecureNote();\r\n cipher.secureNote.type = model.secureNote.type;\r\n return;\r\n case CipherType.Card:\r\n cipher.card = new Card();\r\n await this.encryptObjProperty(model.card, cipher.card, {\r\n cardholderName: null,\r\n brand: null,\r\n number: null,\r\n expMonth: null,\r\n expYear: null,\r\n code: null,\r\n }, key);\r\n return;\r\n case CipherType.Identity:\r\n cipher.identity = new Identity();\r\n await this.encryptObjProperty(model.identity, cipher.identity, {\r\n title: null,\r\n firstName: null,\r\n middleName: null,\r\n lastName: null,\r\n address1: null,\r\n address2: null,\r\n address3: null,\r\n city: null,\r\n state: null,\r\n postalCode: null,\r\n country: null,\r\n company: null,\r\n email: null,\r\n phone: null,\r\n ssn: null,\r\n username: null,\r\n passportNumber: null,\r\n licenseNumber: null,\r\n }, key);\r\n return;\r\n default:\r\n throw new Error('Unknown cipher type.');\r\n }\r\n }\r\n}\r\n","import { ApiService } from '../abstractions/api.service';\r\nimport { AuditService as AuditServiceAbstraction } from '../abstractions/audit.service';\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\r\n\r\nconst PwnedPasswordsApi = 'https://api.pwnedpasswords.com/range/';\r\nconst HibpBreachApi = 'https://haveibeenpwned.com/api/v2/breachedaccount/';\r\n\r\nexport class AuditService implements AuditServiceAbstraction {\r\n constructor(private cryptoFunctionService: CryptoFunctionService, private apiService: ApiService) { }\r\n\r\n async passwordLeaked(password: string): Promise {\r\n const hashBytes = await this.cryptoFunctionService.hash(password, 'sha1');\r\n const hash = Utils.fromBufferToHex(hashBytes).toUpperCase();\r\n const hashStart = hash.substr(0, 5);\r\n const hashEnding = hash.substr(5);\r\n\r\n const response = await fetch(new Request(PwnedPasswordsApi + hashStart));\r\n const leakedHashes = await response.text();\r\n const match = leakedHashes.split(/\\r?\\n/).find((v) => {\r\n return v.split(':')[0] === hashEnding;\r\n });\r\n\r\n return match != null ? parseInt(match.split(':')[1], 10) : 0;\r\n }\r\n\r\n async breachedAccounts(username: string): Promise {\r\n const response = await this.apiService.fetch(new Request(HibpBreachApi + username));\r\n if (response.status === 404) {\r\n return [];\r\n } else if (response.status !== 200) {\r\n throw new Error();\r\n }\r\n const responseJson = await response.json();\r\n return responseJson.map((a: any) => new BreachAccountResponse(a));\r\n }\r\n}\r\n","import { Utils } from '../misc/utils';\r\n\r\nimport { AppIdService as AppIdServiceAbstraction } from '../abstractions/appId.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class AppIdService implements AppIdServiceAbstraction {\r\n constructor(private storageService: StorageService) {\r\n }\r\n\r\n getAppId(): Promise {\r\n return this.makeAndGetAppId('appId');\r\n }\r\n\r\n getAnonymousAppId(): Promise {\r\n return this.makeAndGetAppId('anonymousAppId');\r\n }\r\n\r\n private async makeAndGetAppId(key: string) {\r\n const existingId = await this.storageService.get(key);\r\n if (existingId != null) {\r\n return existingId;\r\n }\r\n\r\n const guid = Utils.newGuid();\r\n await this.storageService.save(key, guid);\r\n return guid;\r\n }\r\n}\r\n","import { ProfileOrganizationResponse } from './profileOrganizationResponse';\r\n\r\nexport class ProfileResponse {\r\n id: string;\r\n name: string;\r\n email: string;\r\n emailVerified: boolean;\r\n masterPasswordHint: string;\r\n premium: boolean;\r\n culture: string;\r\n twoFactorEnabled: boolean;\r\n key: string;\r\n privateKey: string;\r\n securityStamp: string;\r\n organizations: ProfileOrganizationResponse[] = [];\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.name = response.Name;\r\n this.email = response.Email;\r\n this.emailVerified = response.EmailVerified;\r\n this.masterPasswordHint = response.MasterPasswordHint;\r\n this.premium = response.Premium;\r\n this.culture = response.Culture;\r\n this.twoFactorEnabled = response.TwoFactorEnabled;\r\n this.key = response.Key;\r\n this.privateKey = response.PrivateKey;\r\n this.securityStamp = response.SecurityStamp;\r\n\r\n if (response.Organizations) {\r\n response.Organizations.forEach((org: any) => {\r\n this.organizations.push(new ProfileOrganizationResponse(org));\r\n });\r\n }\r\n }\r\n}\r\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationResponse {\n id: string;\n name: string;\n businessName: string;\n businessAddress1: string;\n businessAddress2: string;\n businessAddress3: string;\n businessCountry: string;\n businessTaxNumber: string;\n billingEmail: string;\n plan: string;\n planType: PlanType;\n seats: number;\n maxCollections: number;\n maxStorageGb: number;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.name = response.Name;\n this.businessName = response.BusinessName;\n this.businessAddress1 = response.BusinessAddress1;\n this.businessAddress2 = response.BusinessAddress2;\n this.businessAddress3 = response.BusinessAddress3;\n this.businessCountry = response.BusinessCountry;\n this.businessTaxNumber = response.BusinessTaxNumber;\n this.billingEmail = response.BillingEmail;\n this.plan = response.Plan;\n this.planType = response.PlanType;\n this.seats = response.Seats;\n this.maxCollections = response.MaxCollections;\n this.maxStorageGb = response.MaxStorageGb;\n this.useGroups = response.UseGroups;\n this.useDirectory = response.UseDirectory;\n this.useEvents = response.UseEvents;\n this.useTotp = response.UseTotp;\n this.use2fa = response.Use2fa;\n }\n}\n","export class FolderResponse {\r\n id: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.name = response.Name;\r\n this.revisionDate = response.RevisionDate;\r\n }\r\n}\r\n","import { GlobalDomainResponse } from './globalDomainResponse';\r\n\r\nexport class DomainsResponse {\r\n equivalentDomains: string[][];\r\n globalEquivalentDomains: GlobalDomainResponse[] = [];\r\n\r\n constructor(response: any) {\r\n this.equivalentDomains = response.EquivalentDomains;\r\n\r\n this.globalEquivalentDomains = [];\r\n if (response.GlobalEquivalentDomains) {\r\n response.GlobalEquivalentDomains.forEach((domain: any) => {\r\n this.globalEquivalentDomains.push(new GlobalDomainResponse(domain));\r\n });\r\n }\r\n }\r\n}\r\n","import { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class CollectionResponse {\n id: string;\n organizationId: string;\n name: string;\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.name = response.Name;\n }\n}\n\nexport class CollectionDetailsResponse extends CollectionResponse {\n readOnly: boolean;\n\n constructor(response: any) {\n super(response);\n this.readOnly = response.ReadOnly || false;\n }\n}\n\nexport class CollectionGroupDetailsResponse extends CollectionResponse {\n groups: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Groups != null) {\n this.groups = response.Groups.map((g: any) => new SelectionReadOnlyResponse(g));\n }\n }\n}\n","import { AttachmentResponse } from './attachmentResponse';\n\nimport { CardApi } from '../api/cardApi';\nimport { FieldApi } from '../api/fieldApi';\nimport { IdentityApi } from '../api/identityApi';\nimport { LoginApi } from '../api/loginApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class CipherResponse {\n id: string;\n organizationId: string;\n folderId: string;\n type: number;\n name: string;\n notes: string;\n fields: FieldApi[];\n login: LoginApi;\n card: CardApi;\n identity: IdentityApi;\n secureNote: SecureNoteApi;\n favorite: boolean;\n edit: boolean;\n organizationUseTotp: boolean;\n revisionDate: Date;\n attachments: AttachmentResponse[];\n collectionIds: string[];\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.folderId = response.FolderId || null;\n this.type = response.Type;\n this.name = response.Name;\n this.notes = response.Notes;\n this.favorite = response.Favorite || false;\n this.edit = response.Edit || true;\n this.organizationUseTotp = response.OrganizationUseTotp;\n this.revisionDate = new Date(response.RevisionDate);\n\n if (response.Login != null) {\n this.login = new LoginApi(response.Login);\n }\n\n if (response.Card != null) {\n this.card = new CardApi(response.Card);\n }\n\n if (response.Identity != null) {\n this.identity = new IdentityApi(response.Identity);\n }\n\n if (response.SecureNote != null) {\n this.secureNote = new SecureNoteApi(response.SecureNote);\n }\n\n if (response.Fields != null) {\n this.fields = [];\n response.Fields.forEach((field: any) => {\n this.fields.push(new FieldApi(field));\n });\n }\n\n if (response.Attachments != null) {\n this.attachments = [];\n response.Attachments.forEach((attachment: any) => {\n this.attachments.push(new AttachmentResponse(attachment));\n });\n }\n\n if (response.CollectionIds) {\n this.collectionIds = [];\n response.CollectionIds.forEach((id: string) => {\n this.collectionIds.push(id);\n });\n }\n }\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\n\nexport class BillingResponse {\n storageName: string;\n storageGb: number;\n maxStorageGb: number;\n paymentSource: BillingSourceResponse;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingInvoiceResponse;\n charges: BillingChargeResponse[] = [];\n license: any;\n expiration: Date;\n\n constructor(response: any) {\n this.storageName = response.StorageName;\n this.storageGb = response.StorageGb;\n this.maxStorageGb = response.MaxStorageGb;\n this.paymentSource = response.PaymentSource == null ? null : new BillingSourceResponse(response.PaymentSource);\n this.subscription = response.Subscription == null ?\n null : new BillingSubscriptionResponse(response.Subscription);\n this.upcomingInvoice = response.UpcomingInvoice == null ?\n null : new BillingInvoiceResponse(response.UpcomingInvoice);\n if (response.Charges != null) {\n this.charges = response.Charges.map((c: any) => new BillingChargeResponse(c));\n }\n this.license = response.License;\n this.expiration = response.Expiration;\n }\n}\n\nexport class BillingSourceResponse {\n type: PaymentMethodType;\n cardBrand: string;\n description: string;\n needsVerification: boolean;\n\n constructor(response: any) {\n this.type = response.Type;\n this.cardBrand = response.CardBrand;\n this.description = response.Description;\n this.needsVerification = response.NeedsVerification;\n }\n}\n\nexport class BillingSubscriptionResponse {\n trialStartDate: Date;\n trialEndDate: Date;\n periodStartDate: Date;\n periodEndDate: Date;\n cancelledDate: Date;\n cancelAtEndDate: boolean;\n status: string;\n cancelled: boolean;\n items: BillingSubscriptionItemResponse[] = [];\n\n constructor(response: any) {\n this.trialEndDate = response.TrialStartDate;\n this.trialEndDate = response.TrialEndDate;\n this.periodStartDate = response.PeriodStartDate;\n this.periodEndDate = response.PeriodEndDate;\n this.cancelledDate = response.CancelledDate;\n this.cancelAtEndDate = response.CancelAtEndDate;\n this.status = response.Status;\n this.cancelled = response.Cancelled;\n if (response.Items != null) {\n this.items = response.Items.map((i: any) => new BillingSubscriptionItemResponse(i));\n }\n }\n}\n\nexport class BillingSubscriptionItemResponse {\n name: string;\n amount: number;\n quantity: number;\n interval: string;\n\n constructor(response: any) {\n this.name = response.Name;\n this.amount = response.Amount;\n this.quantity = response.Quantity;\n this.interval = response.Interval;\n }\n}\n\nexport class BillingInvoiceResponse {\n date: Date;\n amount: number;\n\n constructor(response: any) {\n this.date = response.Date;\n this.amount = response.Amount;\n }\n}\n\nexport class BillingChargeResponse {\n createdDate: Date;\n amount: number;\n paymentSource: BillingSourceResponse;\n status: string;\n failureMessage: string;\n refunded: boolean;\n partiallyRefunded: boolean;\n refundedAmount: number;\n invoiceId: string;\n\n constructor(response: any) {\n this.createdDate = response.CreatedDate;\n this.amount = response.Amount;\n this.paymentSource = response.PaymentSource != null ? new BillingSourceResponse(response.PaymentSource) : null;\n this.status = response.Status;\n this.failureMessage = response.FailureMessage;\n this.refunded = response.Refunded;\n this.partiallyRefunded = response.PartiallyRefunded;\n this.refundedAmount = response.RefundedAmount;\n this.invoiceId = response.InvoiceId;\n }\n}\n","import { DeviceType } from '../enums/deviceType';\r\n\r\nimport { ApiService as ApiServiceAbstraction } from '../abstractions/api.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { TokenService } from '../abstractions/token.service';\r\n\r\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\r\nimport { EmailRequest } from '../models/request/emailRequest';\r\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { GroupRequest } from '../models/request/groupRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KeysRequest } from '../models/request/keysRequest';\r\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\r\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\r\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\r\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\r\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\r\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\r\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\r\nimport { PasswordRequest } from '../models/request/passwordRequest';\r\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\r\nimport { PaymentRequest } from '../models/request/paymentRequest';\r\nimport { RegisterRequest } from '../models/request/registerRequest';\r\nimport { SeatRequest } from '../models/request/seatRequest';\r\nimport { StorageRequest } from '../models/request/storageRequest';\r\nimport { TokenRequest } from '../models/request/tokenRequest';\r\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\r\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\r\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\r\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\r\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\r\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\r\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\r\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\r\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\r\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\r\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\r\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\r\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\r\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\r\n\r\nimport { BillingResponse } from '../models/response/billingResponse';\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport {\r\n CollectionGroupDetailsResponse,\r\n CollectionResponse,\r\n} from '../models/response/collectionResponse';\r\nimport { CollectionUserResponse } from '../models/response/collectionUserResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\nimport { EventResponse } from '../models/response/eventResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n GroupDetailsResponse,\r\n GroupResponse,\r\n} from '../models/response/groupResponse';\r\nimport { GroupUserResponse } from '../models/response/groupUserResponse';\r\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\r\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\r\nimport { ListResponse } from '../models/response/listResponse';\r\nimport { OrganizationBillingResponse } from '../models/response/organizationBillingResponse';\r\nimport { OrganizationResponse } from '../models/response/organizationResponse';\r\nimport {\r\n OrganizationUserDetailsResponse,\r\n OrganizationUserUserDetailsResponse,\r\n} from '../models/response/organizationUserResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\nimport { SyncResponse } from '../models/response/syncResponse';\r\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\r\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\r\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\r\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\r\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\r\nimport { TwoFactorU2fResponse } from '../models/response/twoFactorU2fResponse';\r\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\r\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\r\n\r\nexport class ApiService implements ApiServiceAbstraction {\r\n urlsSet: boolean = false;\r\n apiBaseUrl: string;\r\n identityBaseUrl: string;\r\n\r\n private deviceType: string;\r\n private isWebClient = false;\r\n private isDesktopClient = false;\r\n private usingBaseUrl = false;\r\n\r\n constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,\r\n private logoutCallback: (expired: boolean) => Promise) {\r\n const device = platformUtilsService.getDevice();\r\n this.deviceType = device.toString();\r\n this.isWebClient = device === DeviceType.IEBrowser || device === DeviceType.ChromeBrowser ||\r\n device === DeviceType.EdgeBrowser || device === DeviceType.FirefoxBrowser ||\r\n device === DeviceType.OperaBrowser || device === DeviceType.SafariBrowser ||\r\n device === DeviceType.UnknownBrowser || device === DeviceType.VivaldiBrowser;\r\n this.isDesktopClient = device === DeviceType.WindowsDesktop || device === DeviceType.MacOsDesktop ||\r\n device === DeviceType.LinuxDesktop;\r\n }\r\n\r\n setUrls(urls: EnvironmentUrls): void {\r\n this.urlsSet = true;\r\n\r\n if (urls.base != null) {\r\n this.usingBaseUrl = true;\r\n this.apiBaseUrl = urls.base + '/api';\r\n this.identityBaseUrl = urls.base + '/identity';\r\n return;\r\n }\r\n\r\n if (urls.api != null && urls.identity != null) {\r\n this.apiBaseUrl = urls.api;\r\n this.identityBaseUrl = urls.identity;\r\n return;\r\n }\r\n\r\n /* tslint:disable */\r\n // Local Dev\r\n //this.apiBaseUrl = 'http://localhost:4000';\r\n //this.identityBaseUrl = 'http://localhost:33656';\r\n\r\n // Production\r\n this.apiBaseUrl = 'https://api.bitwarden.com';\r\n this.identityBaseUrl = 'https://identity.bitwarden.com';\r\n /* tslint:enable */\r\n }\r\n\r\n // Auth APIs\r\n\r\n async postIdentityToken(request: TokenRequest): Promise {\r\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\r\n body: this.qsStringify(request.toIdentityToken(this.platformUtilsService.identityClientId)),\r\n credentials: this.getCredentials(),\r\n cache: 'no-cache',\r\n headers: new Headers({\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\r\n 'Accept': 'application/json',\r\n 'Device-Type': this.deviceType,\r\n }),\r\n method: 'POST',\r\n }));\r\n\r\n let responseJson: any = null;\r\n const typeHeader = response.headers.get('content-type');\r\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\r\n responseJson = await response.json();\r\n }\r\n\r\n if (responseJson != null) {\r\n if (response.status === 200) {\r\n return new IdentityTokenResponse(responseJson);\r\n } else if (response.status === 400 && responseJson.TwoFactorProviders2 &&\r\n Object.keys(responseJson.TwoFactorProviders2).length) {\r\n await this.tokenService.clearTwoFactorToken(request.email);\r\n return new IdentityTwoFactorResponse(responseJson);\r\n }\r\n }\r\n\r\n return Promise.reject(new ErrorResponse(responseJson, response.status, true));\r\n }\r\n\r\n async refreshIdentityToken(): Promise {\r\n try {\r\n await this.doRefreshToken();\r\n } catch (e) {\r\n return Promise.reject(null);\r\n }\r\n }\r\n\r\n // Account APIs\r\n\r\n async getProfile(): Promise {\r\n const r = await this.send('GET', '/accounts/profile', null, true, true);\r\n return new ProfileResponse(r);\r\n }\r\n\r\n async getUserBilling(): Promise {\r\n const r = await this.send('GET', '/accounts/billing', null, true, true);\r\n return new BillingResponse(r);\r\n }\r\n\r\n async putProfile(request: UpdateProfileRequest): Promise {\r\n const r = await this.send('PUT', '/accounts/profile', request, true, true);\r\n return new ProfileResponse(r);\r\n }\r\n\r\n postEmailToken(request: EmailTokenRequest): Promise {\r\n return this.send('POST', '/accounts/email-token', request, true, false);\r\n }\r\n\r\n postEmail(request: EmailRequest): Promise {\r\n return this.send('POST', '/accounts/email', request, true, false);\r\n }\r\n\r\n postPassword(request: PasswordRequest): Promise {\r\n return this.send('POST', '/accounts/password', request, true, false);\r\n }\r\n\r\n postSecurityStamp(request: PasswordVerificationRequest): Promise {\r\n return this.send('POST', '/accounts/security-stamp', request, true, false);\r\n }\r\n\r\n deleteAccount(request: PasswordVerificationRequest): Promise {\r\n return this.send('DELETE', '/accounts', request, true, false);\r\n }\r\n\r\n async getAccountRevisionDate(): Promise {\r\n const r = await this.send('GET', '/accounts/revision-date', null, true, true);\r\n return r as number;\r\n }\r\n\r\n postPasswordHint(request: PasswordHintRequest): Promise {\r\n return this.send('POST', '/accounts/password-hint', request, false, false);\r\n }\r\n\r\n postRegister(request: RegisterRequest): Promise {\r\n return this.send('POST', '/accounts/register', request, false, false);\r\n }\r\n\r\n postPremium(data: FormData): Promise {\r\n return this.send('POST', '/accounts/premium', data, true, false);\r\n }\r\n\r\n postReinstatePremium(): Promise {\r\n return this.send('POST', '/accounts/reinstate-premium', null, true, false);\r\n }\r\n\r\n postCancelPremium(): Promise {\r\n return this.send('POST', '/accounts/cancel-premium', null, true, false);\r\n }\r\n\r\n postAccountStorage(request: StorageRequest): Promise {\r\n return this.send('POST', '/accounts/storage', request, true, false);\r\n }\r\n\r\n postAccountPayment(request: PaymentRequest): Promise {\r\n return this.send('POST', '/accounts/payment', request, true, false);\r\n }\r\n\r\n postAccountLicense(data: FormData): Promise {\r\n return this.send('POST', '/accounts/license', data, true, false);\r\n }\r\n\r\n postAccountKeys(request: KeysRequest): Promise {\r\n return this.send('POST', '/accounts/keys', request, true, false);\r\n }\r\n\r\n postAccountKey(request: UpdateKeyRequest): Promise {\r\n return this.send('POST', '/accounts/key', request, true, false);\r\n }\r\n\r\n postAccountVerifyEmail(): Promise {\r\n return this.send('POST', '/accounts/verify-email', null, true, false);\r\n }\r\n\r\n postAccountVerifyEmailToken(request: VerifyEmailRequest): Promise {\r\n return this.send('POST', '/accounts/verify-email-token', request, false, false);\r\n }\r\n\r\n postAccountRecoverDelete(request: DeleteRecoverRequest): Promise {\r\n return this.send('POST', '/accounts/delete-recover', request, false, false);\r\n }\r\n\r\n postAccountRecoverDeleteToken(request: VerifyDeleteRecoverRequest): Promise {\r\n return this.send('POST', '/accounts/delete-recover-token', request, false, false);\r\n }\r\n\r\n // Folder APIs\r\n\r\n async postFolder(request: FolderRequest): Promise {\r\n const r = await this.send('POST', '/folders', request, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n async putFolder(id: string, request: FolderRequest): Promise {\r\n const r = await this.send('PUT', '/folders/' + id, request, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n deleteFolder(id: string): Promise {\r\n return this.send('DELETE', '/folders/' + id, null, true, false);\r\n }\r\n\r\n // Cipher APIs\r\n\r\n async getCipher(id: string): Promise {\r\n const r = await this.send('GET', '/ciphers/' + id, null, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async getCipherAdmin(id: string): Promise {\r\n const r = await this.send('GET', '/ciphers/' + id + '/admin', null, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async getCiphersOrganization(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/ciphers/organization-details?organizationId=' + organizationId,\r\n null, true, true);\r\n return new ListResponse(r, CipherResponse);\r\n }\r\n\r\n async postCipher(request: CipherRequest): Promise {\r\n const r = await this.send('POST', '/ciphers', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherAdmin(request: CipherRequest): Promise {\r\n const r = await this.send('POST', '/ciphers/admin', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async putCipher(id: string, request: CipherRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id, request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async putCipherAdmin(id: string, request: CipherRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id + '/admin', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n deleteCipher(id: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id, null, true, false);\r\n }\r\n\r\n deleteCipherAdmin(id: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/admin', null, true, false);\r\n }\r\n\r\n deleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\r\n return this.send('DELETE', '/ciphers', request, true, false);\r\n }\r\n\r\n putMoveCiphers(request: CipherBulkMoveRequest): Promise {\r\n return this.send('PUT', '/ciphers/move', request, true, false);\r\n }\r\n\r\n putShareCipher(id: string, request: CipherShareRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/share', request, true, false);\r\n }\r\n\r\n putShareCiphers(request: CipherBulkShareRequest): Promise {\r\n return this.send('PUT', '/ciphers/share', request, true, false);\r\n }\r\n\r\n putCipherCollections(id: string, request: CipherCollectionsRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/collections', request, true, false);\r\n }\r\n\r\n putCipherCollectionsAdmin(id: string, request: CipherCollectionsRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/collections-admin', request, true, false);\r\n }\r\n\r\n postPurgeCiphers(request: PasswordVerificationRequest): Promise {\r\n return this.send('POST', '/ciphers/purge', request, true, false);\r\n }\r\n\r\n postImportCiphers(request: ImportCiphersRequest): Promise {\r\n return this.send('POST', '/ciphers/import', request, true, false);\r\n }\r\n\r\n postImportOrganizationCiphers(organizationId: string, request: ImportOrganizationCiphersRequest): Promise {\r\n return this.send('POST', '/ciphers/import-organization?organizationId=' + organizationId, request, true, false);\r\n }\r\n\r\n // Attachments APIs\r\n\r\n async postCipherAttachment(id: string, data: FormData): Promise {\r\n const r = await this.send('POST', '/ciphers/' + id + '/attachment', data, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherAttachmentAdmin(id: string, data: FormData): Promise {\r\n const r = await this.send('POST', '/ciphers/' + id + '/attachment-admin', data, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n deleteCipherAttachment(id: string, attachmentId: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId, null, true, false);\r\n }\r\n\r\n deleteCipherAttachmentAdmin(id: string, attachmentId: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId + '/admin', null, true, false);\r\n }\r\n\r\n postShareCipherAttachment(id: string, attachmentId: string, data: FormData,\r\n organizationId: string): Promise {\r\n return this.send('POST', '/ciphers/' + id + '/attachment/' +\r\n attachmentId + '/share?organizationId=' + organizationId, data, true, false);\r\n }\r\n\r\n // Collections APIs\r\n\r\n async getCollectionDetails(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/details',\r\n null, true, true);\r\n return new CollectionGroupDetailsResponse(r);\r\n }\r\n\r\n async getCollections(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections', null, true, true);\r\n return new ListResponse(r, CollectionResponse);\r\n }\r\n\r\n async getCollectionUsers(organizationId: string, id: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/users',\r\n null, true, true);\r\n return new ListResponse(r, CollectionUserResponse);\r\n }\r\n\r\n async postCollection(organizationId: string, request: CollectionRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/collections', request, true, true);\r\n return new CollectionResponse(r);\r\n }\r\n\r\n async putCollection(organizationId: string, id: string, request: CollectionRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id,\r\n request, true, true);\r\n return new CollectionResponse(r);\r\n }\r\n\r\n deleteCollection(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/collections/' + id, null, true, false);\r\n }\r\n\r\n deleteCollectionUser(organizationId: string, id: string, organizationUserId: string): Promise {\r\n return this.send('DELETE',\r\n '/organizations/' + organizationId + '/collections/' + id + '/user/' + organizationUserId,\r\n null, true, false);\r\n }\r\n\r\n // Groups APIs\r\n\r\n async getGroupDetails(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/details',\r\n null, true, true);\r\n return new GroupDetailsResponse(r);\r\n }\r\n\r\n async getGroups(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups', null, true, true);\r\n return new ListResponse(r, GroupResponse);\r\n }\r\n\r\n async getGroupUsers(organizationId: string, id: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/users',\r\n null, true, true);\r\n return new ListResponse(r, GroupUserResponse);\r\n }\r\n\r\n async postGroup(organizationId: string, request: GroupRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/groups', request, true, true);\r\n return new GroupResponse(r);\r\n }\r\n\r\n async putGroup(organizationId: string, id: string, request: GroupRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id, request, true, true);\r\n return new GroupResponse(r);\r\n }\r\n\r\n deleteGroup(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/groups/' + id, null, true, false);\r\n }\r\n\r\n deleteGroupUser(organizationId: string, id: string, organizationUserId: string): Promise {\r\n return this.send('DELETE',\r\n '/organizations/' + organizationId + '/groups/' + id + '/user/' + organizationUserId, null, true, false);\r\n }\r\n\r\n // Organization User APIs\r\n\r\n async getOrganizationUser(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id, null, true, true);\r\n return new OrganizationUserDetailsResponse(r);\r\n }\r\n\r\n async getOrganizationUserGroups(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id + '/groups',\r\n null, true, true);\r\n return r;\r\n }\r\n\r\n async getOrganizationUsers(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users', null, true, true);\r\n return new ListResponse(r, OrganizationUserUserDetailsResponse);\r\n }\r\n\r\n postOrganizationUserInvite(organizationId: string, request: OrganizationUserInviteRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/invite', request, true, false);\r\n }\r\n\r\n postOrganizationUserReinvite(organizationId: string, id: string): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false);\r\n }\r\n\r\n postOrganizationUserAccept(organizationId: string, id: string,\r\n request: OrganizationUserAcceptRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/accept', request, true, false);\r\n }\r\n\r\n postOrganizationUserConfirm(organizationId: string, id: string,\r\n request: OrganizationUserConfirmRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/confirm',\r\n request, true, false);\r\n }\r\n\r\n putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise {\r\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false);\r\n }\r\n\r\n putOrganizationUserGroups(organizationId: string, id: string,\r\n request: OrganizationUserUpdateGroupsRequest): Promise {\r\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id + '/groups', request, true, false);\r\n }\r\n\r\n deleteOrganizationUser(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false);\r\n }\r\n\r\n // Sync APIs\r\n\r\n async getSync(): Promise {\r\n const path = this.isDesktopClient || this.isWebClient ? '/sync?excludeDomains=true' : '/sync';\r\n const r = await this.send('GET', path, null, true, true);\r\n return new SyncResponse(r);\r\n }\r\n\r\n async postImportDirectory(organizationId: string, request: ImportDirectoryRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/import', request, true, false);\r\n }\r\n\r\n // Settings APIs\r\n\r\n async getSettingsDomains(): Promise {\r\n const r = await this.send('GET', '/settings/domains', null, true, true);\r\n return new DomainsResponse(r);\r\n }\r\n\r\n async putSettingsDomains(request: UpdateDomainsRequest): Promise {\r\n const r = await this.send('PUT', '/settings/domains', request, true, true);\r\n return new DomainsResponse(r);\r\n }\r\n\r\n // Two-factor APIs\r\n\r\n async getTwoFactorProviders(): Promise> {\r\n const r = await this.send('GET', '/two-factor', null, true, true);\r\n return new ListResponse(r, TwoFactorProviderResponse);\r\n }\r\n\r\n async getTwoFactorOrganizationProviders(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true);\r\n return new ListResponse(r, TwoFactorProviderResponse);\r\n }\r\n\r\n async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true);\r\n return new TwoFactorAuthenticatorResponse(r);\r\n }\r\n\r\n async getTwoFactorEmail(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-email', request, true, true);\r\n return new TwoFactorEmailResponse(r);\r\n }\r\n\r\n async getTwoFactorDuo(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async getTwoFactorOrganizationDuo(organizationId: string,\r\n request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo',\r\n request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true);\r\n return new TwoFactorYubiKeyResponse(r);\r\n }\r\n\r\n async getTwoFactorU2f(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async getTwoFactorRecover(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-recover', request, true, true);\r\n return new TwoFactorRecoverResponse(r);\r\n }\r\n\r\n async putTwoFactorAuthenticator(\r\n request: UpdateTwoFactorAuthenticatorRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/authenticator', request, true, true);\r\n return new TwoFactorAuthenticatorResponse(r);\r\n }\r\n\r\n async putTwoFactorEmail(request: UpdateTwoFactorEmailRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/email', request, true, true);\r\n return new TwoFactorEmailResponse(r);\r\n }\r\n\r\n async putTwoFactorDuo(request: UpdateTwoFactorDuoRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async putTwoFactorOrganizationDuo(organizationId: string,\r\n request: UpdateTwoFactorDuoRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/yubikey', request, true, true);\r\n return new TwoFactorYubiKeyResponse(r);\r\n }\r\n\r\n async putTwoFactorU2f(request: UpdateTwoFactorU2fRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async putTwoFactorDisable(request: TwoFactorProviderRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/disable', request, true, true);\r\n return new TwoFactorProviderResponse(r);\r\n }\r\n\r\n async putTwoFactorOrganizationDisable(organizationId: string,\r\n request: TwoFactorProviderRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable',\r\n request, true, true);\r\n return new TwoFactorProviderResponse(r);\r\n }\r\n\r\n postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise {\r\n return this.send('POST', '/two-factor/recover', request, false, false);\r\n }\r\n\r\n postTwoFactorEmailSetup(request: TwoFactorEmailRequest): Promise {\r\n return this.send('POST', '/two-factor/send-email', request, true, false);\r\n }\r\n\r\n postTwoFactorEmail(request: TwoFactorEmailRequest): Promise {\r\n return this.send('POST', '/two-factor/send-email-login', request, false, false);\r\n }\r\n\r\n // Organization APIs\r\n\r\n async getOrganization(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id, null, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async getOrganizationBilling(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id + '/billing', null, true, true);\r\n return new OrganizationBillingResponse(r);\r\n }\r\n\r\n async getOrganizationLicense(id: string, installationId: string): Promise {\r\n return this.send('GET', '/organizations/' + id + '/license?installationId=' + installationId,\r\n null, true, true);\r\n }\r\n\r\n async postOrganization(request: OrganizationCreateRequest): Promise {\r\n const r = await this.send('POST', '/organizations', request, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async putOrganization(id: string, request: OrganizationUpdateRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + id, request, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n postLeaveOrganization(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/leave', null, true, false);\r\n }\r\n\r\n async postOrganizationLicense(data: FormData): Promise {\r\n const r = await this.send('POST', '/organizations/license', data, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async postOrganizationLicenseUpdate(id: string, data: FormData): Promise {\r\n return this.send('POST', '/organizations/' + id + '/license', data, true, false);\r\n }\r\n\r\n postOrganizationSeat(id: string, request: SeatRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/seat', request, true, false);\r\n }\r\n\r\n postOrganizationStorage(id: string, request: StorageRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/storage', request, true, false);\r\n }\r\n\r\n postOrganizationPayment(id: string, request: PaymentRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/payment', request, true, false);\r\n }\r\n\r\n postOrganizationVerifyBank(id: string, request: VerifyBankRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/verify-bank', request, true, false);\r\n }\r\n\r\n postOrganizationCancel(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/cancel', null, true, false);\r\n }\r\n\r\n postOrganizationReinstate(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/reinstate', null, true, false);\r\n }\r\n\r\n deleteOrganization(id: string, request: PasswordVerificationRequest): Promise {\r\n return this.send('DELETE', '/organizations/' + id, request, true, false);\r\n }\r\n\r\n // Event APIs\r\n\r\n async getEvents(start: string, end: string, token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/events', start, end, token), null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsCipher(id: string, start: string, end: string,\r\n token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/ciphers/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsOrganization(id: string, start: string, end: string,\r\n token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/organizations/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsOrganizationUser(organizationId: string, id: string,\r\n start: string, end: string, token: string): Promise> {\r\n const r = await this.send('GET',\r\n this.addEventParameters('/organizations/' + organizationId + '/users/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n // User APIs\r\n\r\n async getUserPublicKey(id: string): Promise {\r\n const r = await this.send('GET', '/users/' + id + '/public-key', null, true, true);\r\n return new UserKeyResponse(r);\r\n }\r\n\r\n // Helpers\r\n\r\n fetch(request: Request): Promise {\r\n if (request.method === 'GET') {\r\n request.headers.set('Cache-Control', 'no-cache');\r\n request.headers.set('Pragma', 'no-cache');\r\n }\r\n return fetch(request);\r\n }\r\n\r\n private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any,\r\n authed: boolean, hasResponse: boolean): Promise {\r\n const headers = new Headers({\r\n 'Device-Type': this.deviceType,\r\n });\r\n\r\n const requestInit: RequestInit = {\r\n cache: 'no-cache',\r\n credentials: this.getCredentials(),\r\n method: method,\r\n };\r\n\r\n if (authed) {\r\n const authHeader = await this.handleTokenState();\r\n headers.set('Authorization', authHeader);\r\n }\r\n if (body != null) {\r\n if (typeof body === 'string') {\r\n requestInit.body = body;\r\n headers.set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');\r\n } else if (typeof body === 'object') {\r\n if (body instanceof FormData) {\r\n requestInit.body = body;\r\n } else {\r\n headers.set('Content-Type', 'application/json; charset=utf-8');\r\n requestInit.body = JSON.stringify(body);\r\n }\r\n }\r\n }\r\n if (hasResponse) {\r\n headers.set('Accept', 'application/json');\r\n }\r\n\r\n requestInit.headers = headers;\r\n const response = await this.fetch(new Request(this.apiBaseUrl + path, requestInit));\r\n\r\n if (hasResponse && response.status === 200) {\r\n const responseJson = await response.json();\r\n return responseJson;\r\n } else if (response.status !== 200) {\r\n const error = await this.handleError(response, false);\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n private async handleError(response: Response, tokenError: boolean): Promise {\r\n if ((tokenError && response.status === 400) || response.status === 401 || response.status === 403) {\r\n await this.logoutCallback(true);\r\n return null;\r\n }\r\n\r\n let responseJson: any = null;\r\n const typeHeader = response.headers.get('content-type');\r\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\r\n responseJson = await response.json();\r\n }\r\n\r\n return new ErrorResponse(responseJson, response.status, tokenError);\r\n }\r\n\r\n private async handleTokenState(): Promise {\r\n let accessToken = await this.tokenService.getToken();\r\n if (this.tokenService.tokenNeedsRefresh()) {\r\n const tokenResponse = await this.doRefreshToken();\r\n accessToken = tokenResponse.accessToken;\r\n }\r\n\r\n return 'Bearer ' + accessToken;\r\n }\r\n\r\n private async doRefreshToken(): Promise {\r\n const refreshToken = await this.tokenService.getRefreshToken();\r\n if (refreshToken == null || refreshToken === '') {\r\n throw new Error();\r\n }\r\n\r\n const decodedToken = this.tokenService.decodeToken();\r\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\r\n body: this.qsStringify({\r\n grant_type: 'refresh_token',\r\n client_id: decodedToken.client_id,\r\n refresh_token: refreshToken,\r\n }),\r\n cache: 'no-cache',\r\n credentials: this.getCredentials(),\r\n headers: new Headers({\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\r\n 'Accept': 'application/json',\r\n 'Device-Type': this.deviceType,\r\n }),\r\n method: 'POST',\r\n }));\r\n\r\n if (response.status === 200) {\r\n const responseJson = await response.json();\r\n const tokenResponse = new IdentityTokenResponse(responseJson);\r\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\r\n return tokenResponse;\r\n } else {\r\n const error = await this.handleError(response, true);\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n private qsStringify(params: any): string {\r\n return Object.keys(params).map((key) => {\r\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\r\n }).join('&');\r\n }\r\n\r\n private getCredentials(): RequestCredentials {\r\n if (!this.isWebClient || this.usingBaseUrl) {\r\n return 'include';\r\n }\r\n return undefined;\r\n }\r\n\r\n private addEventParameters(base: string, start: string, end: string, token: string) {\r\n if (start != null) {\r\n base += ('?start=' + start);\r\n }\r\n if (end != null) {\r\n base += (base.indexOf('?') > -1 ? '&' : '?');\r\n base += ('end=' + end);\r\n }\r\n if (token != null) {\r\n base += (base.indexOf('?') > -1 ? '&' : '?');\r\n base += ('continuationToken=' + token);\r\n }\r\n return base;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n forwardRef,\r\n HostListener,\r\n Input,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n NgControl,\r\n} from '@angular/forms';\r\n\r\n// ref: https://juristr.com/blog/2018/02/ng-true-value-directive/\r\n@Directive({\r\n selector: 'input[type=checkbox][appTrueFalseValue]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TrueFalseValueDirective),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TrueFalseValueDirective implements ControlValueAccessor {\r\n @Input() trueValue = true;\r\n @Input() falseValue = false;\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('change', ['$event'])\r\n onHostChange(ev: any) {\r\n this.propagateChange(ev.target.checked ? this.trueValue : this.falseValue);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj === this.trueValue) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\r\n } else {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void { /* nothing */ }\r\n\r\n setDisabledState?(isDisabled: boolean): void { /* nothing */ }\r\n\r\n private propagateChange = (_: any) => { /* nothing */ };\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appBoxRow]',\r\n})\r\nexport class BoxRowDirective implements OnInit {\r\n el: HTMLElement = null;\r\n formEls: Element[];\r\n\r\n constructor(private elRef: ElementRef) {\r\n this.el = elRef.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formEls = Array.from(this.el.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\r\n this.formEls.forEach((formEl) => {\r\n formEl.addEventListener('focus', (event: Event) => {\r\n this.el.classList.add('active');\r\n }, false);\r\n\r\n formEl.addEventListener('blur', (event: Event) => {\r\n this.el.classList.remove('active');\r\n }, false);\r\n });\r\n }\r\n\r\n @HostListener('click', ['$event']) onClick(event: Event) {\r\n if (event.target !== this.el) {\r\n return;\r\n }\r\n\r\n if (this.formEls.length > 0) {\r\n const formEl = (this.formEls[0] as HTMLElement);\r\n if (formEl.tagName.toLowerCase() === 'input') {\r\n const inputEl = (formEl as HTMLInputElement);\r\n if (inputEl.type != null && inputEl.type.toLowerCase() === 'checkbox') {\r\n inputEl.click();\r\n return;\r\n }\r\n }\r\n formEl.focus();\r\n }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { SeatRequest } from 'jslib/models/request/seatRequest';\n\n@Component({\n selector: 'app-adjust-seats',\n templateUrl: 'adjust-seats.component.html',\n})\nexport class AdjustSeatsComponent {\n @Input() seatPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n seatAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new SeatRequest();\n request.seatAdjustment = this.seatAdjustment;\n if (!this.add) {\n request.seatAdjustment *= -1;\n }\n\n this.formPromise = this.apiService.postOrganizationSeat(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Seats' : 'Removed Seats' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedSeats', request.seatAdjustment.toString()));\n this.onAdjusted.emit(this.seatAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedSeatTotal(): number {\n return this.seatAdjustment * this.seatAdjustment;\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-organization',\n templateUrl: 'delete-organization.component.html',\n})\nexport class DeleteOrganizationComponent {\n organizationId: string;\n\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteOrganization(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationDeleted'),\n this.i18nService.t('organizationDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { OrganizationUserUpdateGroupsRequest } from 'jslib/models/request/organizationUserUpdateGroupsRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-groups',\n templateUrl: 'user-groups.component.html',\n})\nexport class UserGroupsComponent implements OnInit {\n @Input() name: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onSavedUser = new EventEmitter();\n\n loading = true;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n const groups = groupsResponse.data.map((r) => r);\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n\n try {\n const userGroups = await this.apiService.getOrganizationUserGroups(\n this.organizationId, this.organizationUserId);\n if (userGroups != null && this.groups != null) {\n userGroups.forEach((ug) => {\n const group = this.groups.filter((g) => g.id === ug);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n }\n });\n }\n } catch { }\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new OrganizationUserUpdateGroupsRequest();\n request.groupIds = this.groups.filter((g) => (g as any).checked).map((g) => g.id);\n\n try {\n this.formPromise = this.apiService.putOrganizationUserGroups(this.organizationId, this.organizationUserId,\n request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Edited User Groups' });\n this.toasterService.popAsync('success', null, this.i18nService.t('editedGroupsForUser', this.name));\n this.onSavedUser.emit();\n } catch { }\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { OrganizationUserInviteRequest } from 'jslib/models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateRequest } from 'jslib/models/request/organizationUserUpdateRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Component({\r\n selector: 'app-user-add-edit',\r\n templateUrl: 'user-add-edit.component.html',\r\n})\r\nexport class UserAddEditComponent implements OnInit {\r\n @Input() name: string;\r\n @Input() organizationUserId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedUser = new EventEmitter();\r\n @Output() onDeletedUser = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n emails: string;\r\n type: OrganizationUserType = OrganizationUserType.User;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n organizationUserType = OrganizationUserType;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.organizationUserId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editUser');\r\n try {\r\n const user = await this.apiService.getOrganizationUser(this.organizationId, this.organizationUserId);\r\n this.access = user.accessAll ? 'all' : 'selected';\r\n this.type = user.type;\r\n if (user.collections != null && this.collections != null) {\r\n user.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('inviteUser');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n let collections: SelectionReadOnlyRequest[] = null;\r\n if (this.access !== 'all') {\r\n collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n const request = new OrganizationUserUpdateRequest();\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.putOrganizationUser(this.organizationId, this.organizationUserId,\r\n request);\r\n } else {\r\n const request = new OrganizationUserInviteRequest();\r\n request.emails = this.emails.trim().split(/\\s*,\\s*/);\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.postOrganizationUserInvite(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited User' : 'Invited User' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\r\n this.onSavedUser.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('removeUserConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteOrganizationUser(this.organizationId, this.organizationUserId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted User' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', this.name));\r\n this.onDeletedUser.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { GroupRequest } from 'jslib/models/request/groupRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\n@Component({\r\n selector: 'app-group-add-edit',\r\n templateUrl: 'group-add-edit.component.html',\r\n})\r\nexport class GroupAddEditComponent implements OnInit {\r\n @Input() groupId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedGroup = new EventEmitter();\r\n @Output() onDeletedGroup = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n name: string;\r\n externalId: string;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.groupId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editGroup');\r\n try {\r\n const group = await this.apiService.getGroupDetails(this.organizationId, this.groupId);\r\n this.access = group.accessAll ? 'all' : 'selected';\r\n this.name = group.name;\r\n this.externalId = group.externalId;\r\n if (group.collections != null && this.collections != null) {\r\n group.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('addGroup');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n const request = new GroupRequest();\r\n request.name = this.name;\r\n request.externalId = this.externalId;\r\n request.accessAll = this.access === 'all';\r\n if (!request.accessAll) {\r\n request.collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n this.formPromise = this.apiService.putGroup(this.organizationId, this.groupId, request);\r\n } else {\r\n this.formPromise = this.apiService.postGroup(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Group' : 'Created Group' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedGroupId' : 'createdGroupId', this.name));\r\n this.onSavedGroup.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteGroupConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteGroup(this.organizationId, this.groupId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', this.name));\r\n this.onDeletedGroup.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-collection-add-edit',\n templateUrl: 'collection-add-edit.component.html',\n})\nexport class CollectionAddEditComponent implements OnInit {\n @Input() collectionId: string;\n @Input() organizationId: string;\n @Output() onSavedCollection = new EventEmitter();\n @Output() onDeletedCollection = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n title: string;\n name: string;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n\n private orgKey: SymmetricCryptoKey;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.collectionId != null;\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n this.groups = groupsResponse.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editCollection');\n try {\n const collection = await this.apiService.getCollectionDetails(this.organizationId, this.collectionId);\n this.name = await this.cryptoService.decryptToUtf8(new CipherString(collection.name), this.orgKey);\n if (collection.groups != null && this.groups != null) {\n collection.groups.forEach((s) => {\n const group = this.groups.filter((g) => !g.accessAll && g.id === s.id);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n (group[0] as any).readOnly = s.readOnly;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('addCollection');\n }\n\n this.groups.forEach((g) => {\n if (g.accessAll) {\n (g as any).checked = true;\n }\n });\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n if (g.accessAll) {\n return;\n }\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new CollectionRequest();\n request.name = (await this.cryptoService.encrypt(this.name, this.orgKey)).encryptedString;\n request.groups = this.groups.filter((g) => (g as any).checked && !g.accessAll)\n .map((g) => new SelectionReadOnlyRequest(g.id, !!(g as any).readOnly));\n\n try {\n if (this.editMode) {\n this.formPromise = this.apiService.putCollection(this.organizationId, this.collectionId, request);\n } else {\n this.formPromise = this.apiService.postCollection(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Collection' : 'Created Collection' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedCollectionId' : 'createdCollectionId', this.name));\n this.onSavedCollection.emit();\n } catch { }\n }\n\n async delete() {\n if (!this.editMode) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), this.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.apiService.deleteCollection(this.organizationId, this.collectionId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', this.name));\n this.onDeletedCollection.emit();\n } catch { }\n }\n}\n","import { Collection } from '../domain/collection';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class CollectionRequest {\n name: string;\n groups: SelectionReadOnlyRequest[] = [];\n\n constructor(collection?: Collection) {\n if (collection == null) {\n return;\n }\n this.name = collection.name ? collection.name.encryptedString : null;\n }\n}\n","export class CipherCollectionsRequest {\n collectionIds: string[];\n\n constructor(collectionIds: string[]) {\n this.collectionIds = collectionIds == null ? [] : collectionIds;\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CipherData } from 'jslib/models/data/cipherData';\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CipherCollectionsRequest } from 'jslib/models/request/cipherCollectionsRequest';\r\n\r\nimport { CollectionsComponent as BaseCollectionsComponent } from '../../vault/collections.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-collections',\r\n templateUrl: '../../vault/collections.component.html',\r\n})\r\nexport class CollectionsComponent extends BaseCollectionsComponent {\r\n organization: Organization;\r\n\r\n constructor(collectionService: CollectionService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cipherService: CipherService, private apiService: ApiService) {\r\n super(collectionService, analytics, toasterService, i18nService, cipherService);\r\n }\r\n\r\n protected async loadCipher() {\r\n if (!this.organization.isAdmin) {\r\n return await super.loadCipher();\r\n }\r\n const response = await this.apiService.getCipherAdmin(this.cipherId);\r\n return new Cipher(new CipherData(response));\r\n }\r\n\r\n protected loadCipherCollections() {\r\n if (!this.organization.isAdmin) {\r\n return super.loadCipherCollections();\r\n }\r\n return this.collectionIds;\r\n }\r\n\r\n protected loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n return super.loadCollections();\r\n }\r\n return Promise.resolve(this.collections);\r\n }\r\n\r\n protected saveCollections() {\r\n const request = new CipherCollectionsRequest(this.cipherDomain.collectionIds);\r\n return this.apiService.putCipherCollectionsAdmin(this.cipherId, request);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { CipherData } from 'jslib/models/data/cipherData';\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from '../../vault/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-attachments',\r\n templateUrl: '../../vault/attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n organization: Organization;\r\n\r\n constructor(cipherService: CipherService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cryptoService: CryptoService, tokenService: TokenService,\r\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\r\n super(cipherService, analytics, toasterService, i18nService, cryptoService, tokenService,\r\n platformUtilsService);\r\n }\r\n\r\n protected async loadCipher() {\r\n if (!this.organization.isAdmin) {\r\n return await super.loadCipher();\r\n }\r\n const response = await this.apiService.getCipherAdmin(this.cipherId);\r\n return new Cipher(new CipherData(response));\r\n }\r\n\r\n protected saveCipherAttachment(file: File) {\r\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file, this.organization.isAdmin);\r\n }\r\n\r\n protected deleteCipherAttachment(attachmentId: string) {\r\n if (!this.organization.isAdmin) {\r\n return super.deleteCipherAttachment(attachmentId);\r\n }\r\n return this.apiService.deleteCipherAttachmentAdmin(this.cipherId, attachmentId);\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\n\nimport { AddEditComponent as BaseAddEditComponent } from '../../vault/add-edit.component';\n\n@Component({\n selector: 'app-org-vault-add-edit',\n templateUrl: '../../vault/add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent implements OnInit {\n organization: Organization;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n analytics: Angulartics2, toasterService: ToasterService,\n auditService: AuditService, stateService: StateService,\n tokenService: TokenService, totpService: TotpService,\n passwordGenerationService: PasswordGenerationService, private apiService: ApiService,\n messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, analytics,\n toasterService, auditService, stateService, tokenService, totpService, passwordGenerationService,\n messagingService);\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected encryptCipher() {\n if (!this.editMode) {\n this.cipher.organizationId = this.organization.id;\n }\n return super.encryptCipher();\n }\n\n protected async saveCipher(cipher: Cipher) {\n if (!this.organization.isAdmin) {\n return super.saveCipher(cipher);\n }\n const request = new CipherRequest(cipher);\n if (this.editMode) {\n return this.apiService.putCipherAdmin(this.cipherId, request);\n } else {\n return this.apiService.postCipherAdmin(request);\n }\n }\n\n protected async deleteCipher() {\n if (!this.organization.isAdmin) {\n return super.deleteCipher();\n }\n return this.apiService.deleteCipherAdmin(this.cipherId);\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteData } from '../data/secureNoteData';\n\nimport Domain from './domain';\n\nimport { SecureNoteView } from '../view/secureNoteView';\n\nexport class SecureNote extends Domain {\n type: SecureNoteType;\n\n constructor(obj?: SecureNoteData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n }\n\n decrypt(orgId: string): Promise {\n return Promise.resolve(new SecureNoteView(this));\n }\n\n toSecureNoteData(): SecureNoteData {\n const n = new SecureNoteData();\n n.type = this.type;\n return n;\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriData } from '../data/loginUriData';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class LoginUri extends Domain {\n uri: CipherString;\n match: UriMatchType;\n\n constructor(obj?: LoginUriData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.match = obj.match;\n this.buildDomainModel(this, obj, {\n uri: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new LoginUriView(this), {\n uri: null,\n }, orgId);\n }\n\n toLoginUriData(): LoginUriData {\n const u = new LoginUriData();\n this.buildDataModel(this, u, {\n uri: null,\n }, ['match']);\n return u;\n }\n}\n","import { LoginUri } from './loginUri';\n\nimport { LoginData } from '../data/loginData';\n\nimport { LoginUriView } from '../view/loginUriView';\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class Login extends Domain {\n uris: LoginUri[];\n username: CipherString;\n password: CipherString;\n totp: CipherString;\n\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n username: null,\n password: null,\n totp: null,\n }, alreadyEncrypted, []);\n\n if (obj.uris) {\n this.uris = [];\n obj.uris.forEach((u) => {\n this.uris.push(new LoginUri(u, alreadyEncrypted));\n });\n }\n }\n\n async decrypt(orgId: string): Promise {\n const view = await this.decryptObj(new LoginView(this), {\n username: null,\n password: null,\n totp: null,\n }, orgId);\n\n if (this.uris != null) {\n view.uris = [];\n for (let i = 0; i < this.uris.length; i++) {\n const uri = await this.uris[i].decrypt(orgId);\n view.uris.push(uri);\n }\n }\n\n return view;\n }\n\n toLoginData(): LoginData {\n const l = new LoginData();\n this.buildDataModel(this, l, {\n username: null,\n password: null,\n totp: null,\n });\n\n if (this.uris != null && this.uris.length > 0) {\n l.uris = [];\n this.uris.forEach((u) => {\n l.uris.push(u.toLoginUriData());\n });\n }\n\n return l;\n }\n}\n","import { IdentityData } from '../data/identityData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { IdentityView } from '../view/identityView';\n\nexport class Identity extends Domain {\n title: CipherString;\n firstName: CipherString;\n middleName: CipherString;\n lastName: CipherString;\n address1: CipherString;\n address2: CipherString;\n address3: CipherString;\n city: CipherString;\n state: CipherString;\n postalCode: CipherString;\n country: CipherString;\n company: CipherString;\n email: CipherString;\n phone: CipherString;\n ssn: CipherString;\n username: CipherString;\n passportNumber: CipherString;\n licenseNumber: CipherString;\n\n constructor(obj?: IdentityData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new IdentityView(this), {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, orgId);\n }\n\n toIdentityData(): IdentityData {\n const i = new IdentityData();\n this.buildDataModel(this, i, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n });\n return i;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldData } from '../data/fieldData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { FieldView } from '../view/fieldView';\n\nexport class Field extends Domain {\n name: CipherString;\n value: CipherString;\n type: FieldType;\n\n constructor(obj?: FieldData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n this.buildDomainModel(this, obj, {\n name: null,\n value: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new FieldView(this), {\n name: null,\n value: null,\n }, orgId);\n }\n\n toFieldData(): FieldData {\n const f = new FieldData();\n this.buildDataModel(this, f, {\n name: null,\n value: null,\n type: null,\n }, ['type']);\n return f;\n }\n}\n","import { CardData } from '../data/cardData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { CardView } from '../view/cardView';\n\nexport class Card extends Domain {\n cardholderName: CipherString;\n brand: CipherString;\n number: CipherString;\n expMonth: CipherString;\n expYear: CipherString;\n code: CipherString;\n\n constructor(obj?: CardData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new CardView(this), {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, orgId);\n }\n\n toCardData(): CardData {\n const c = new CardData();\n this.buildDataModel(this, c, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n });\n return c;\n }\n}\n","import { AttachmentData } from '../data/attachmentData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { AttachmentView } from '../view/attachmentView';\n\nexport class Attachment extends Domain {\n id: string;\n url: string;\n size: number;\n sizeName: string;\n fileName: CipherString;\n\n constructor(obj?: AttachmentData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.size = obj.size;\n this.buildDomainModel(this, obj, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new AttachmentView(this), {\n fileName: null,\n }, orgId);\n }\n\n toAttachmentData(): AttachmentData {\n const a = new AttachmentData();\n this.buildDataModel(this, a, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n }, ['id', 'url', 'sizeName']);\n return a;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class SecureNoteData {\n type: SecureNoteType;\n\n constructor(data?: SecureNoteApi) {\n if (data == null) {\n return;\n }\n\n this.type = data.type;\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriApi } from '../api/loginUriApi';\n\nexport class LoginUriData {\n uri: string;\n match: UriMatchType = null;\n\n constructor(data?: LoginUriApi) {\n if (data == null) {\n return;\n }\n this.uri = data.uri;\n this.match = data.match;\n }\n}\n","import { LoginApi } from '../api/loginApi';\nimport { LoginUriApi } from '../api/loginUriApi';\n\nimport { LoginUriData } from './loginUriData';\n\nexport class LoginData {\n uris: LoginUriData[];\n username: string;\n password: string;\n totp: string;\n\n constructor(data?: LoginApi) {\n if (data == null) {\n return;\n }\n\n this.username = data.username;\n this.password = data.password;\n this.totp = data.totp;\n\n if (data.uris) {\n this.uris = [];\n data.uris.forEach((u) => {\n this.uris.push(new LoginUriData(u));\n });\n }\n }\n}\n","import { IdentityApi } from '../api/identityApi';\n\nexport class IdentityData {\n title: string;\n firstName: string;\n middleName: string;\n lastName: string;\n address1: string;\n address2: string;\n address3: string;\n city: string;\n state: string;\n postalCode: string;\n country: string;\n company: string;\n email: string;\n phone: string;\n ssn: string;\n username: string;\n passportNumber: string;\n licenseNumber: string;\n\n constructor(data?: IdentityApi) {\n if (data == null) {\n return;\n }\n\n this.title = data.title;\n this.firstName = data.firstName;\n this.middleName = data.middleName;\n this.lastName = data.lastName;\n this.address1 = data.address1;\n this.address2 = data.address2;\n this.address3 = data.address3;\n this.city = data.city;\n this.state = data.state;\n this.postalCode = data.postalCode;\n this.country = data.country;\n this.company = data.company;\n this.email = data.email;\n this.phone = data.phone;\n this.ssn = data.ssn;\n this.username = data.username;\n this.passportNumber = data.passportNumber;\n this.licenseNumber = data.licenseNumber;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldApi } from '../api/fieldApi';\n\nexport class FieldData {\n type: FieldType;\n name: string;\n value: string;\n\n constructor(response?: FieldApi) {\n if (response == null) {\n return;\n }\n this.type = response.type;\n this.name = response.name;\n this.value = response.value;\n }\n}\n","import { CardApi } from '../api/cardApi';\n\nexport class CardData {\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(data?: CardApi) {\n if (data == null) {\n return;\n }\n\n this.cardholderName = data.cardholderName;\n this.brand = data.brand;\n this.number = data.number;\n this.expMonth = data.expMonth;\n this.expYear = data.expYear;\n this.code = data.code;\n }\n}\n","import { AttachmentResponse } from '../response/attachmentResponse';\n\nexport class AttachmentData {\n id: string;\n url: string;\n fileName: string;\n size: number;\n sizeName: string;\n\n constructor(response?: AttachmentResponse) {\n if (response == null) {\n return;\n }\n this.id = response.id;\n this.url = response.url;\n this.fileName = response.fileName;\n this.size = response.size;\n this.sizeName = response.sizeName;\n }\n}\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorHistoryComponent as BasePasswordGeneratorHistoryComponent,\r\n} from 'jslib/angular/components/password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator-history',\r\n templateUrl: 'password-generator-history.component.html',\r\n})\r\nexport class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent {\r\n constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2,\r\n platformUtilsService: PlatformUtilsService, i18nService: I18nService,\r\n toasterService: ToasterService) {\r\n super(passwordGenerationService, analytics, platformUtilsService, i18nService, toasterService, window);\r\n }\r\n}\r\n","import { View } from './view';\n\nimport { Attachment } from '../domain/attachment';\n\nexport class AttachmentView implements View {\n id: string;\n url: string;\n size: number;\n sizeName: string;\n fileName: string;\n\n constructor(a?: Attachment) {\n if (!a) {\n return;\n }\n\n this.id = a.id;\n this.url = a.url;\n this.size = a.size;\n this.sizeName = a.sizeName;\n }\n}\n","export class KvpRequest {\n key: TK;\n value: TV;\n\n constructor(key: TK, value: TV) {\n this.key = key;\n this.value = value;\n }\n}\n","export enum PlanType {\n Free = 0,\n FamiliesAnnually = 1,\n TeamsMonthly = 2,\n TeamsAnnually = 3,\n EnterpriseMonthly = 4,\n EnterpriseAnnually = 5,\n Custom = 6,\n}\n","\n

{{'contactSupportPaymentMethod' | i18n}}

\n \n {{'contactSupport' | i18n}}\n \n \n
\n
\n
\n

{{(currentType != null ? 'changePaymentMethod' : 'addPaymentMethod') | i18n}}

\n \n \n \n
\n
\n","
\n
\n

{{(add ? 'addStorage' : 'removeStorage') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{storageAdjustment || 0}} GB × {{storageGbPrice | currency:'$'}} = {{adjustedStorageTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'storageAddNote' : 'storageRemoveNote') | i18n}}\n \n
\n
\n","
\n
\n \n \n {{'licenseFileDesc' | i18n : (!organizationId ? 'bitwarden_premium_license.json' : 'bitwarden_organization_license.json')}}\n
\n \n \n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { UpdateTwoFactorYubioOtpRequest } from 'jslib/models/request/updateTwoFactorYubioOtpRequest';\nimport { TwoFactorYubiKeyResponse } from 'jslib/models/response/twoFactorYubiKeyResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-yubikey',\n templateUrl: 'two-factor-yubikey.component.html',\n})\nexport class TwoFactorYubiKeyComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Yubikey;\n keys: any[];\n nfc = false;\n\n formPromise: Promise;\n disablePromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n const request = new UpdateTwoFactorYubioOtpRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.key1 = this.keys != null && this.keys.length > 0 ? this.keys[0].key : null;\n request.key2 = this.keys != null && this.keys.length > 1 ? this.keys[1].key : null;\n request.key3 = this.keys != null && this.keys.length > 2 ? this.keys[2].key : null;\n request.key4 = this.keys != null && this.keys.length > 3 ? this.keys[3].key : null;\n request.key5 = this.keys != null && this.keys.length > 4 ? this.keys[4].key : null;\n request.nfc = this.nfc;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorYubiKey(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n this.toasterService.popAsync('success', null, this.i18nService.t('yubikeysUpdated'));\n });\n }\n\n disable() {\n return super.disable(this.disablePromise);\n }\n\n remove(key: any) {\n key.existingKey = null;\n key.key = null;\n }\n\n private processResponse(response: TwoFactorYubiKeyResponse) {\n this.enabled = response.enabled;\n this.keys = [\n { key: response.key1, existingKey: this.padRight(response.key1) },\n { key: response.key2, existingKey: this.padRight(response.key2) },\n { key: response.key3, existingKey: this.padRight(response.key3) },\n { key: response.key4, existingKey: this.padRight(response.key4) },\n { key: response.key5, existingKey: this.padRight(response.key5) },\n ];\n this.nfc = response.nfc || !response.enabled;\n }\n\n private padRight(str: string, character = '•', size = 44) {\n if (str == null || character == null || str.length >= size) {\n return str;\n }\n const max = (size - str.length) / character.length;\n for (let i = 0; i < max; i++) {\n str += character;\n }\n return str;\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorU2fRequest } from 'jslib/models/request/updateTwoFactorU2fRequest';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from 'jslib/models/response/twoFactorU2fResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-u2f',\n templateUrl: 'two-factor-u2f.component.html',\n})\nexport class TwoFactorU2fComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.U2f;\n u2fChallenge: ChallengeResponse;\n u2fError: boolean;\n u2fListening: boolean;\n u2fResponse: string;\n formPromise: Promise;\n\n private closed = false;\n private u2fScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.u2fScript = window.document.createElement('script');\n this.u2fScript.src = 'scripts/u2f.js';\n this.u2fScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.u2fScript);\n }\n\n ngOnDestroy() {\n this.closed = true;\n window.document.body.removeChild(this.u2fScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n this.readDevice();\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorU2fRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.deviceResponse = this.u2fResponse;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorU2f(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private readDevice() {\n if (this.closed || this.enabled) {\n return;\n }\n\n // tslint:disable-next-line\n console.log('listening for key...');\n\n this.u2fResponse = null;\n this.u2fError = false;\n this.u2fListening = true;\n\n (window as any).u2f.register(this.u2fChallenge.appId, [{\n version: this.u2fChallenge.version,\n challenge: this.u2fChallenge.challenge,\n }], [], (data: any) => {\n this.u2fListening = false;\n if (data.errorCode === 5) {\n this.readDevice();\n return;\n } else if (data.errorCode) {\n this.u2fError = true;\n // tslint:disable-next-line\n console.log('error: ' + data.errorCode);\n return;\n }\n this.u2fResponse = JSON.stringify(data);\n }, 10);\n }\n\n private processResponse(response: TwoFactorU2fResponse) {\n this.u2fChallenge = response.challenge;\n this.enabled = response.enabled;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoverResponse } from 'jslib/models/response/twoFactorRescoverResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\n@Component({\n selector: 'app-two-factor-recovery',\n templateUrl: 'two-factor-recovery.component.html',\n})\nexport class TwoFactorRecoveryComponent {\n type = -1;\n code: string;\n authed: boolean;\n twoFactorProviderType = TwoFactorProviderType;\n\n constructor(private i18nService: I18nService) { }\n\n auth(authResponse: any) {\n this.authed = true;\n this.processResponse(authResponse.response);\n }\n\n print() {\n const w = window.open();\n w.document.write('
' +\n '

' + this.i18nService.t('twoFactorRecoveryYourCode') + ':

' +\n '' +\n this.code + '
' +\n '

' + new Date() + '

');\n w.print();\n w.close();\n }\n\n private formatString(s: string) {\n if (s == null) {\n return null;\n }\n return s.replace(/(.{4})/g, '$1 ').trim().toUpperCase();\n }\n\n private processResponse(response: TwoFactorRecoverResponse) {\n this.code = this.formatString(response.code);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorEmailRequest } from 'jslib/models/request/twoFactorEmailRequest';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorEmailRequest } from 'jslib/models/request/updateTwoFactorEmailRequest';\nimport { TwoFactorEmailResponse } from 'jslib/models/response/twoFactorEmailResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-email',\n templateUrl: 'two-factor-email.component.html',\n})\nexport class TwoFactorEmailComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Email;\n email: string;\n token: string;\n sentEmail: string;\n formPromise: Promise;\n emailPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private userService: UserService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n async sendEmail() {\n try {\n const request = new TwoFactorEmailRequest(this.email, this.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmailSetup(request);\n await this.emailPromise;\n this.sentEmail = this.email;\n } catch { }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorEmailRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.email = this.email;\n request.token = this.token;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorEmail(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorEmailResponse) {\n this.token = null;\n this.email = response.email;\n this.enabled = response.enabled;\n if (!this.enabled && (this.email == null || this.email === '')) {\n this.email = await this.userService.getEmail();\n }\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateTwoFactorAuthenticatorRequest } from 'jslib/models/request/updateTwoFactorAuthenticatorRequest';\nimport { TwoFactorAuthenticatorResponse } from 'jslib/models/response/twoFactorAuthenticatorResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-authenticator',\n templateUrl: 'two-factor-authenticator.component.html',\n})\nexport class TwoFactorAuthenticatorComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.Authenticator;\n key: string;\n token: string;\n formPromise: Promise;\n\n private qrScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private userService: UserService, platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.qrScript = window.document.createElement('script');\n this.qrScript.src = 'scripts/qrious.min.js';\n this.qrScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.qrScript);\n }\n\n ngOnDestroy() {\n window.document.body.removeChild(this.qrScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorAuthenticatorRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.token = this.token;\n request.key = this.key;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorAuthenticator(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorAuthenticatorResponse) {\n this.token = null;\n this.enabled = response.enabled;\n this.key = response.key;\n const email = await this.userService.getEmail();\n window.setTimeout(() => {\n const qr = new (window as any).QRious({\n element: document.getElementById('qr'),\n value: 'otpauth://totp/Bitwarden:' + encodeURIComponent(email) +\n '?secret=' + encodeURIComponent(this.key) + '&issuer=Bitwarden',\n size: 160,\n });\n }, 100);\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-purge-vault',\r\n templateUrl: 'purge-vault.component.html',\r\n})\r\nexport class PurgeVaultComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private router: Router) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postPurgeCiphers(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Purged Vault' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('vaultPurged'));\r\n this.router.navigate(['vault']);\r\n } catch { }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-account',\n templateUrl: 'delete-account.component.html',\n})\nexport class DeleteAccountComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteAccount(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Account' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-deauthorize-sessions',\r\n templateUrl: 'deauthorize-sessions.component.html',\r\n})\r\nexport class DeauthorizeSessionsComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postSecurityStamp(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Deauthorized Sessions' });\r\n this.toasterService.popAsync('success', this.i18nService.t('sessionsDeauthorized'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { PasswordRequest } from 'jslib/models/request/passwordRequest';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: 'change-password.component.html',\n})\nexport class ChangePasswordComponent {\n currentMasterPassword: string;\n newMasterPassword: string;\n confirmNewMasterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private userService: UserService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n if (this.currentMasterPassword == null || this.currentMasterPassword === '' ||\n this.newMasterPassword == null || this.newMasterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n if (this.newMasterPassword.length < 8) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return;\n }\n if (this.newMasterPassword !== this.confirmNewMasterPassword) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return;\n }\n\n const request = new PasswordRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.currentMasterPassword, null);\n const email = await this.userService.getEmail();\n const newKey = await this.cryptoService.makeKey(this.newMasterPassword, email);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.newMasterPassword, newKey);\n const encKey = await this.cryptoService.getEncKey();\n const newEncKey = await this.cryptoService.encrypt(encKey.key, newKey);\n request.key = newEncKey.encryptedString;\n try {\n this.formPromise = this.apiService.postPassword(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Changed Password' });\n this.toasterService.popAsync('success', this.i18nService.t('masterPasswordChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class EmailTokenRequest extends PasswordVerificationRequest {\n newEmail: string;\n masterPasswordHash: string;\n}\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { EmailRequest } from 'jslib/models/request/emailRequest';\nimport { EmailTokenRequest } from 'jslib/models/request/emailTokenRequest';\n\n@Component({\n selector: 'app-change-email',\n templateUrl: 'change-email.component.html',\n})\nexport class ChangeEmailComponent {\n masterPassword: string;\n newEmail: string;\n token: string;\n tokenSent = false;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n this.newEmail = this.newEmail.toLowerCase();\n if (!this.tokenSent) {\n const request = new EmailTokenRequest();\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postEmailToken(request);\n await this.formPromise;\n this.tokenSent = true;\n } catch { }\n } else {\n const request = new EmailRequest();\n request.token = this.token;\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const newKey = await this.cryptoService.makeKey(this.masterPassword, this.newEmail);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const encKey = await this.cryptoService.getEncKey();\n const newEncKey = await this.cryptoService.encrypt(encKey.key, newKey);\n request.key = newEncKey.encryptedString;\n try {\n this.formPromise = this.apiService.postEmail(request);\n await this.formPromise;\n this.reset();\n this.analytics.eventTrack.next({ action: 'Changed Email' });\n this.toasterService.popAsync('success', this.i18nService.t('emailChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n }\n\n reset() {\n this.token = this.newEmail = this.masterPassword = null;\n this.tokenSent = false;\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { UpdateProfileRequest } from 'jslib/models/request/updateProfileRequest';\r\n\r\nimport { ProfileResponse } from 'jslib/models/response/profileResponse';\r\n\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: 'profile.component.html',\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n loading = true;\r\n profile: ProfileResponse;\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService) { }\r\n\r\n async ngOnInit() {\r\n this.profile = await this.apiService.getProfile();\r\n this.loading = false;\r\n }\r\n\r\n async submit() {\r\n try {\r\n const request = new UpdateProfileRequest(this.profile.name, this.profile.masterPasswordHint);\r\n this.formPromise = this.apiService.putProfile(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Updated Profile' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('accountUpdated'));\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\n@Component({\n selector: 'app-vault-share',\n templateUrl: 'share.component.html',\n})\nexport class ShareComponent implements OnInit, OnDestroy {\n @Input() cipherId: string;\n @Input() organizationId: string;\n @Output() onSharedCipher = new EventEmitter();\n\n formPromise: Promise;\n cipher: CipherView;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private collectionService: CollectionService, private analytics: Angulartics2,\n private toasterService: ToasterService, private i18nService: I18nService,\n private userService: UserService, private cipherService: CipherService) { }\n\n async ngOnInit() {\n const cipherDomain = await this.cipherService.get(this.cipherId);\n this.cipher = await cipherDomain.decrypt();\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const cipherDomain = await this.cipherService.get(this.cipherId);\n const cipherView = await cipherDomain.decrypt();\n\n const attachmentPromises: Array> = [];\n if (cipherView.attachments != null) {\n for (const attachment of cipherView.attachments) {\n const promise = this.cipherService.shareAttachmentWithServer(attachment,\n cipherView.id, this.organizationId);\n attachmentPromises.push(promise);\n }\n }\n\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n this.formPromise = Promise.all(attachmentPromises).then(async () => {\n await this.cipherService.shareWithServer(cipherView, this.organizationId, checkedCollectionIds);\n this.onSharedCipher.emit();\n this.analytics.eventTrack.next({ action: 'Shared Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItem'));\n });\n await this.formPromise;\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n FolderAddEditComponent as BaseFolderAddEditComponent,\r\n} from 'jslib/angular/components/folder-add-edit.component';\r\n\r\n@Component({\r\n selector: 'app-folder-add-edit',\r\n templateUrl: 'folder-add-edit.component.html',\r\n})\r\nexport class FolderAddEditComponent extends BaseFolderAddEditComponent {\r\n constructor(folderService: FolderService, i18nService: I18nService,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(folderService, i18nService, analytics, toasterService, platformUtilsService);\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-vault-bulk-share',\n templateUrl: 'bulk-share.component.html',\n})\nexport class BulkShareComponent implements OnInit {\n @Input() ciphers: CipherView[] = [];\n @Input() organizationId: string;\n @Output() onShared = new EventEmitter();\n\n nonShareableCount = 0;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n shareableCiphers: CipherView[] = [];\n formPromise: Promise;\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private collectionService: CollectionService, private userService: UserService) { }\n\n async ngOnInit() {\n this.shareableCiphers = this.ciphers.filter((c) => !c.hasAttachments && c.organizationId == null);\n this.nonShareableCount = this.ciphers.length - this.shareableCiphers.length;\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n this.formPromise = this.cipherService.shareManyWithServer(this.shareableCiphers, this.organizationId,\n checkedCollectionIds);\n await this.formPromise;\n this.onShared.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Shared Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItems'));\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { FolderView } from 'jslib/models/view/folderView';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-move',\r\n templateUrl: 'bulk-move.component.html',\r\n})\r\nexport class BulkMoveComponent implements OnInit {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onMoved = new EventEmitter();\r\n\r\n folderId: string = null;\r\n folders: FolderView[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private folderService: FolderService) { }\r\n\r\n async ngOnInit() {\r\n this.folders = await this.folderService.getAllDecrypted();\r\n this.folderId = this.folders[0].id;\r\n }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.moveManyWithServer(this.cipherIds, this.folderId);\r\n await this.formPromise;\r\n this.onMoved.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Moved Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('movedItems'));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-delete',\r\n templateUrl: 'bulk-delete.component.html',\r\n})\r\nexport class BulkDeleteComponent {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onDeleted = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService) { }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.deleteManyWithServer(this.cipherIds);\r\n await this.formPromise;\r\n this.onDeleted.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Deleted Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItems'));\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherWithIdRequest extends CipherRequest {\n id: string;\n\n constructor(cipher: Cipher) {\n super(cipher);\n this.id = cipher.id;\n }\n}\n","import { Component } from '@angular/core';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-update-key',\n templateUrl: 'update-key.component.html',\n})\nexport class UpdateKeyComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private syncService: SyncService, private folderService: FolderService,\n private cipherService: CipherService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (hasEncKey) {\n return;\n }\n\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.makeRequest().then((request) => {\n return this.apiService.postAccountKey(request);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Key Updated' });\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('keyUpdated'),\n body: this.i18nService.t('logBackInOthersToo'),\n timeout: 15000,\n };\n this.toasterService.popAsync(toast);\n this.messagingService.send('logout');\n } catch { }\n }\n\n private async makeRequest(): Promise {\n const key = await this.cryptoService.getKey();\n const encKey = await this.cryptoService.makeEncKey(key);\n const privateKey = await this.cryptoService.getPrivateKey();\n let encPrivateKey: CipherString = null;\n if (privateKey != null) {\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\n }\n const request = new UpdateKeyRequest();\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n\n await this.syncService.fullSync(true);\n\n const folders = await this.folderService.getAllDecrypted();\n for (let i = 0; i < folders.length; i++) {\n if (folders[i].id == null) {\n continue;\n }\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\n request.folders.push(new FolderWithIdRequest(folder));\n }\n\n const ciphers = await this.cipherService.getAllDecrypted();\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId != null) {\n continue;\n }\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n return request;\n }\n}\n","\r\n

\r\n \r\n

\r\n \r\n \r\n

{{'noOrganizationsList' | i18n}}

\r\n
\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n\r\n
\r\n

\r\n {{'organizations' | i18n}}\r\n \r\n \r\n \r\n

\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n \r\n \r\n \r\n

{{'noOrganizationsList' | i18n}}

\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{o.name}}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { DeviceType } from '../../enums';\n\n@Pipe({\n name: 'searchCiphers',\n})\nexport class SearchCiphersPipe implements PipeTransform {\n private onlySearchName = false;\n\n constructor(platformUtilsService: PlatformUtilsService) {\n this.onlySearchName = platformUtilsService.getDevice() === DeviceType.EdgeExtension;\n }\n\n transform(ciphers: CipherView[], searchText: string): CipherView[] {\n if (ciphers == null || ciphers.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return ciphers;\n }\n\n searchText = searchText.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (c.name != null && c.name.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (this.onlySearchName) {\n return false;\n }\n if (searchText.length >= 8 && c.id.startsWith(searchText)) {\n return true;\n }\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n\n return false;\n });\n }\n}\n","
\r\n \"\"\r\n \r\n
\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-verify-email',\n templateUrl: 'verify-email.component.html',\n})\nexport class VerifyEmailComponent {\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async send() {\n if (this.actionPromise != null) {\n return;\n }\n try {\n this.actionPromise = this.apiService.postAccountVerifyEmail();\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Sent Verification Email' });\n this.toasterService.popAsync('success', null, this.i18nService.t('checkInboxForVerification'));\n } catch { }\n this.actionPromise = null;\n }\n}\n","
\n
\n
\n © {{year}}, 8bit Solutions LLC\n
\n
\n
\n {{'versionNumber' | i18n : version}}\n
\n
\n
\n","\n","export class KeysRequest {\n publicKey: string;\n encryptedPrivateKey: string;\n\n constructor(publicKey: string, encryptedPrivateKey: string) {\n this.publicKey = publicKey;\n this.encryptedPrivateKey = encryptedPrivateKey;\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorEmailRequest extends PasswordVerificationRequest {\n email: string;\n\n constructor(email: string, masterPasswordHash: string) {\n super();\n this.masterPasswordHash = masterPasswordHash;\n this.email = email;\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent,\r\n} from 'jslib/angular/components/two-factor-options.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-options',\r\n templateUrl: 'two-factor-options.component.html',\r\n})\r\nexport class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {\r\n constructor(authService: AuthService, router: Router,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService) {\r\n super(authService, router, analytics, toasterService, i18nService, platformUtilsService, window);\r\n }\r\n}\r\n","import * as jq from 'jquery';\nimport * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport {\n ToasterConfig,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {\n NavigationEnd,\n Router,\n} from '@angular/router';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { LockService } from 'jslib/abstractions/lock.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SettingsService } from 'jslib/abstractions/settings.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { RouterService } from './services/router.service';\n\nconst BroadcasterSubscriptionId = 'AppComponent';\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n})\nexport class AppComponent implements OnDestroy, OnInit {\n toasterConfig: ToasterConfig = new ToasterConfig({\n showCloseButton: true,\n mouseoverTimerStop: true,\n animation: 'flyRight',\n limit: 5,\n });\n\n private lastActivity: number = null;\n\n constructor(private angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics,\n private broadcasterService: BroadcasterService, private userService: UserService,\n private tokenService: TokenService, private folderService: FolderService,\n private settingsService: SettingsService, private syncService: SyncService,\n private passwordGenerationService: PasswordGenerationService, private cipherService: CipherService,\n private authService: AuthService, private router: Router, private analytics: Angulartics2,\n private toasterService: ToasterService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private ngZone: NgZone,\n private lockService: LockService, private storageService: StorageService,\n private cryptoService: CryptoService, private collectionService: CollectionService,\n private routerService: RouterService) { }\n\n ngOnInit() {\n this.ngZone.runOutsideAngular(() => {\n window.onmousemove = () => this.recordActivity();\n window.onmousedown = () => this.recordActivity();\n window.ontouchstart = () => this.recordActivity();\n window.onclick = () => this.recordActivity();\n window.onscroll = () => this.recordActivity();\n window.onkeypress = () => this.recordActivity();\n });\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'loggedIn':\n case 'unlocked':\n case 'loggedOut':\n break;\n case 'logout':\n this.logOut(!!message.expired);\n break;\n case 'lockVault':\n await this.lockService.lock();\n break;\n case 'locked':\n this.router.navigate(['lock']);\n break;\n case 'syncStarted':\n break;\n case 'syncCompleted':\n break;\n case 'upgradeOrganization':\n const upgradeConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('upgradeOrganizationDesc'), this.i18nService.t('upgradeOrganization'),\n this.i18nService.t('upgradeOrganization'), this.i18nService.t('cancel'));\n if (upgradeConfirmed) {\n this.router.navigate(['organizations', message.organizationId, 'settings', 'billing']);\n }\n break;\n case 'premiumRequired':\n const premiumConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (premiumConfirmed) {\n this.router.navigate(['settings/premium']);\n }\n break;\n default:\n break;\n }\n });\n });\n\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n const modals = Array.from(document.querySelectorAll('.modal'));\n for (const modal of modals) {\n (jq(modal) as any).modal('hide');\n }\n\n if (document.querySelector('.swal-modal') != null) {\n swal.close(undefined);\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n private async logOut(expired: boolean) {\n const userId = await this.userService.getUserId();\n\n await Promise.all([\n this.syncService.setLastSync(new Date(0)),\n this.tokenService.clearToken(),\n this.cryptoService.clearKeys(),\n this.userService.clear(),\n this.settingsService.clear(userId),\n this.cipherService.clear(userId),\n this.folderService.clear(userId),\n this.collectionService.clear(userId),\n this.passwordGenerationService.clear(),\n ]);\n\n this.authService.logOut(async () => {\n this.analytics.eventTrack.next({ action: 'Logged Out' });\n if (expired) {\n this.toasterService.popAsync('warning', this.i18nService.t('loggedOut'),\n this.i18nService.t('loginExpired'));\n }\n this.router.navigate(['/']);\n });\n }\n\n private async recordActivity() {\n const now = (new Date()).getTime();\n if (this.lastActivity != null && now - this.lastActivity < 250) {\n return;\n }\n\n this.lastActivity = now;\n this.storageService.save(ConstantsService.lastActiveKey, now);\n }\n}\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 589;","import { NgModule } from '@angular/core';\nimport {\n RouterModule,\n Routes,\n} from '@angular/router';\n\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { SettingsComponent as OrgSettingsComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\n\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ImportComponent } from './tools/import.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ToolsComponent } from './tools/tools.component';\n\nimport { VaultComponent } from './vault/vault.component';\n\nimport { OrganizationGuardService } from './services/organization-guard.service';\nimport { OrganizationTypeGuardService } from './services/organization-type-guard.service';\nimport { UnauthGuardService } from './services/unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\n\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nconst routes: Routes = [\n {\n path: '',\n component: FrontendLayoutComponent,\n children: [\n { path: '', pathMatch: 'full', component: LoginComponent, canActivate: [UnauthGuardService] },\n { path: '2fa', component: TwoFactorComponent, canActivate: [UnauthGuardService] },\n {\n path: 'register', component: RegisterComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'createAccount' },\n },\n {\n path: 'hint', component: HintComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'passwordHint' },\n },\n { path: 'lock', component: LockComponent },\n { path: 'verify-email', component: VerifyEmailTokenComponent },\n {\n path: 'accept-organization',\n component: AcceptOrganizationComponent,\n data: { titleId: 'joinOrganization' },\n },\n { path: 'recover', pathMatch: 'full', redirectTo: 'recover-2fa' },\n {\n path: 'recover-2fa',\n component: RecoverTwoFactorComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'recoverAccountTwoStep' },\n },\n {\n path: 'recover-delete',\n component: RecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n {\n path: 'verify-recover-delete',\n component: VerifyRecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n ],\n },\n {\n path: '',\n component: UserLayoutComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: 'vault', component: VaultComponent, data: { titleId: 'myVault' } },\n {\n path: 'settings',\n component: SettingsComponent,\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: AccountComponent, data: { titleId: 'myAccount' } },\n { path: 'options', component: OptionsComponent, data: { titleId: 'options' } },\n { path: 'domain-rules', component: DomainRulesComponent, data: { titleId: 'domainRules' } },\n { path: 'two-factor', component: TwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n { path: 'premium', component: PremiumComponent, data: { titleId: 'goPremium' } },\n { path: 'billing', component: UserBillingComponent, data: { titleId: 'billingAndLicensing' } },\n { path: 'organizations', component: OrganizationsComponent, data: { titleId: 'organizations' } },\n {\n path: 'create-organization',\n component: CreateOrganizationComponent,\n data: { titleId: 'newOrganization' },\n },\n ],\n },\n {\n path: 'tools',\n component: ToolsComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'generator' },\n { path: 'import', component: ImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: ExportComponent, data: { titleId: 'exportVault' } },\n {\n path: 'generator',\n component: PasswordGeneratorComponent,\n data: { titleId: 'passwordGenerator' },\n },\n { path: 'breach-report', component: BreachReportComponent, data: { titleId: 'dataBreachReport' } },\n ],\n },\n ],\n },\n {\n path: 'organizations/:organizationId',\n component: OrganizationLayoutComponent,\n canActivate: [AuthGuardService, OrganizationGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'vault' },\n { path: 'vault', component: OrgVaultComponent, data: { titleId: 'vault' } },\n {\n path: 'tools',\n component: OrgToolsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'import' },\n { path: 'import', component: OrgImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: OrgExportComponent, data: { titleId: 'exportVault' } },\n ],\n },\n {\n path: 'manage',\n component: OrgManageComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'people' },\n { path: 'collections', component: OrgManageCollectionsComponent, data: { titleId: 'collections' } },\n { path: 'events', component: OrgEventsComponent, data: { titleId: 'eventLogs' } },\n { path: 'groups', component: OrgGroupsComponent, data: { titleId: 'groups' } },\n { path: 'people', component: OrgPeopleComponent, data: { titleId: 'people' } },\n ],\n },\n {\n path: 'settings',\n component: OrgSettingsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: OrgAccountComponent, data: { titleId: 'myOrganization' } },\n { path: 'two-factor', component: OrgTwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n {\n path: 'billing',\n component: OrganizationBillingComponent,\n data: { titleId: 'billingAndLicensing' },\n },\n ],\n },\n ],\n },\n { path: '**', redirectTo: '' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n useHash: true,\n /*enableTracing: true,*/\n })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","export class DecryptParameters {\n encKey: T;\n data: T;\n iv: T;\n macKey: T;\n mac: T;\n macData: T;\n}\n","import * as forge from 'node-forge';\n\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nimport { Utils } from '../misc/utils';\n\nimport { SymmetricCryptoKey } from '../models/domain';\nimport { DecryptParameters } from '../models/domain/decryptParameters';\n\nexport class WebCryptoFunctionService implements CryptoFunctionService {\n private crypto: Crypto;\n private subtle: SubtleCrypto;\n private isEdge: boolean;\n private isIE: boolean;\n\n constructor(private win: Window, private platformUtilsService: PlatformUtilsService) {\n this.crypto = typeof win.crypto !== 'undefined' ? win.crypto : null;\n this.subtle = (!!this.crypto && typeof win.crypto.subtle !== 'undefined') ? win.crypto.subtle : null;\n this.isEdge = platformUtilsService.isEdge();\n this.isIE = platformUtilsService.isIE();\n }\n\n async pbkdf2(password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number): Promise {\n if (this.isEdge || this.isIE) {\n const forgeLen = algorithm === 'sha256' ? 32 : 64;\n const passwordBytes = this.toByteString(password);\n const saltBytes = this.toByteString(salt);\n const derivedKeyBytes = (forge as any).pbkdf2(passwordBytes, saltBytes, iterations, forgeLen, algorithm);\n return Utils.fromByteStringToArray(derivedKeyBytes).buffer;\n }\n\n const wcLen = algorithm === 'sha256' ? 256 : 512;\n const passwordBuf = this.toBuf(password);\n const saltBuf = this.toBuf(salt);\n\n const pbkdf2Params: Pbkdf2Params = {\n name: 'PBKDF2',\n salt: saltBuf,\n iterations: iterations,\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', passwordBuf, { name: 'PBKDF2' } as any,\n false, ['deriveBits']);\n return await this.subtle.deriveBits(pbkdf2Params, impKey, wcLen);\n }\n\n async hash(value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n if ((this.isEdge || this.isIE) && algorithm === 'sha1') {\n const md = forge.md.sha1.create();\n const valueBytes = this.toByteString(value);\n md.update(valueBytes, 'raw');\n return Utils.fromByteStringToArray(md.digest().data).buffer;\n }\n\n const valueBuf = this.toBuf(value);\n return await this.subtle.digest({ name: this.toWebCryptoAlgorithm(algorithm) }, valueBuf);\n }\n\n async hmac(value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', key, signingAlgorithm, false, ['sign']);\n return await this.subtle.sign(signingAlgorithm, impKey, value);\n }\n\n // Safely compare two values in a way that protects against timing attacks (Double HMAC Verification).\n // ref: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/february/double-hmac-verification/\n // ref: https://paragonie.com/blog/2015/11/preventing-timing-attacks-on-string-comparison-with-double-hmac-strategy\n async compare(a: ArrayBuffer, b: ArrayBuffer): Promise {\n const macKey = await this.randomBytes(32);\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: 'SHA-256' },\n };\n const impKey = await this.subtle.importKey('raw', macKey, signingAlgorithm, false, ['sign']);\n const mac1 = await this.subtle.sign(signingAlgorithm, impKey, a);\n const mac2 = await this.subtle.sign(signingAlgorithm, impKey, b);\n\n if (mac1.byteLength !== mac2.byteLength) {\n return false;\n }\n\n const arr1 = new Uint8Array(mac1);\n const arr2 = new Uint8Array(mac2);\n for (let i = 0; i < arr2.length; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n hmacFast(value: string, key: string, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n const hmac = (forge as any).hmac.create();\n hmac.start(algorithm, key);\n hmac.update(value);\n const bytes = hmac.digest().getBytes();\n return Promise.resolve(bytes);\n }\n\n async compareFast(a: string, b: string): Promise {\n const rand = await this.randomBytes(32);\n const bytes = new Uint32Array(rand);\n const buffer = forge.util.createBuffer();\n for (let i = 0; i < bytes.length; i++) {\n buffer.putInt32(bytes[i]);\n }\n const macKey = buffer.getBytes();\n\n const hmac = (forge as any).hmac.create();\n hmac.start('sha256', macKey);\n hmac.update(a);\n const mac1 = hmac.digest().getBytes();\n\n hmac.start(null, null);\n hmac.update(b);\n const mac2 = hmac.digest().getBytes();\n\n const equals = mac1 === mac2;\n return equals;\n }\n\n async aesEncrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['encrypt']);\n return await this.subtle.encrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n aesDecryptFastParameters(data: string, iv: string, mac: string, key: SymmetricCryptoKey):\n DecryptParameters {\n const p = new DecryptParameters();\n if (key.meta != null) {\n p.encKey = key.meta.encKeyByteString;\n p.macKey = key.meta.macKeyByteString;\n }\n\n if (p.encKey == null) {\n p.encKey = forge.util.decode64(key.encKeyB64);\n }\n p.data = forge.util.decode64(data);\n p.iv = forge.util.decode64(iv);\n p.macData = p.iv + p.data;\n if (p.macKey == null && key.macKeyB64 != null) {\n p.macKey = forge.util.decode64(key.macKeyB64);\n }\n if (mac != null) {\n p.mac = forge.util.decode64(mac);\n }\n\n // cache byte string keys for later\n if (key.meta == null) {\n key.meta = {};\n }\n if (key.meta.encKeyByteString == null) {\n key.meta.encKeyByteString = p.encKey;\n }\n if (p.macKey != null && key.meta.macKeyByteString == null) {\n key.meta.macKeyByteString = p.macKey;\n }\n\n return p;\n }\n\n aesDecryptFast(parameters: DecryptParameters): Promise {\n const dataBuffer = (forge as any).util.createBuffer(parameters.data);\n const decipher = (forge as any).cipher.createDecipher('AES-CBC', parameters.encKey);\n decipher.start({ iv: parameters.iv });\n decipher.update(dataBuffer);\n decipher.finish();\n const val = decipher.output.toString('utf8');\n return Promise.resolve(val);\n }\n\n async aesDecrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['decrypt']);\n return await this.subtle.decrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('spki', publicKey, rsaParams, false, ['encrypt']);\n return await this.subtle.encrypt(rsaParams, impKey, data);\n }\n\n async rsaDecrypt(data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, false, ['decrypt']);\n return await this.subtle.decrypt(rsaParams, impKey, data);\n }\n\n async rsaExtractPublicKey(privateKey: ArrayBuffer): Promise {\n const rsaParams = {\n name: 'RSA-OAEP',\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const impPrivateKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, true, ['decrypt']);\n const jwkPrivateKey = await this.subtle.exportKey('jwk', impPrivateKey);\n const jwkPublicKeyParams = {\n kty: 'RSA',\n e: jwkPrivateKey.e,\n n: jwkPrivateKey.n,\n alg: 'RSA-OAEP',\n ext: true,\n };\n const impPublicKey = await this.subtle.importKey('jwk', jwkPublicKeyParams, rsaParams, true, ['encrypt']);\n return await this.subtle.exportKey('spki', impPublicKey);\n }\n\n async rsaGenerateKeyPair(length: 1024 | 2048 | 4096): Promise<[ArrayBuffer, ArrayBuffer]> {\n const rsaParams = {\n name: 'RSA-OAEP',\n modulusLength: length,\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]), // 65537\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const keyPair = await this.subtle.generateKey(rsaParams, true, ['encrypt', 'decrypt']);\n const publicKey = await this.subtle.exportKey('spki', keyPair.publicKey);\n const privateKey = await this.subtle.exportKey('pkcs8', keyPair.privateKey);\n return [publicKey, privateKey];\n }\n\n randomBytes(length: number): Promise {\n const arr = new Uint8Array(length);\n this.crypto.getRandomValues(arr);\n return Promise.resolve(arr.buffer);\n }\n\n private toBuf(value: string | ArrayBuffer): ArrayBuffer {\n let buf: ArrayBuffer;\n if (typeof (value) === 'string') {\n buf = Utils.fromUtf8ToArray(value).buffer;\n } else {\n buf = value;\n }\n return buf;\n }\n\n private toByteString(value: string | ArrayBuffer): string {\n let bytes: string;\n if (typeof (value) === 'string') {\n bytes = forge.util.encodeUtf8(value);\n } else {\n bytes = Utils.fromBufferToByteString(value);\n }\n return bytes;\n }\n\n private toWebCryptoAlgorithm(algorithm: 'sha1' | 'sha256' | 'sha512'): string {\n return algorithm === 'sha1' ? 'SHA-1' : algorithm === 'sha256' ? 'SHA-256' : 'SHA-512';\n }\n}\n","import * as papa from 'papaparse';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { ExportService as ExportServiceAbstraction } from '../abstractions/export.service';\nimport { FolderService } from '../abstractions/folder.service';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Collection } from '../models/domain/collection';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\n\nexport class ExportService implements ExportServiceAbstraction {\n constructor(private folderService: FolderService, private cipherService: CipherService,\n private apiService: ApiService) { }\n\n async getExport(format: 'csv' | 'json' = 'csv'): Promise {\n let decFolders: FolderView[] = [];\n let decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.folderService.getAllDecrypted().then((folders) => {\n decFolders = folders;\n }));\n\n promises.push(this.cipherService.getAllDecrypted().then((ciphers) => {\n decCiphers = ciphers;\n }));\n\n await Promise.all(promises);\n\n const foldersMap = new Map();\n decFolders.forEach((f) => {\n foldersMap.set(f.id, f);\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n\n if (c.organizationId != null) {\n return;\n }\n\n const cipher: any = {};\n cipher.folder = c.folderId != null && foldersMap.has(c.folderId) ? foldersMap.get(c.folderId).name : null;\n cipher.favorite = c.favorite ? 1 : null;\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n if (format === 'csv') {\n return papa.unparse(exportCiphers);\n } else {\n return JSON.stringify(exportCiphers, null, ' ');\n }\n }\n\n async getOrganizationExport(organizationId: string, format: 'csv' | 'json' = 'csv'): Promise {\n const decCollections: CollectionView[] = [];\n const decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.apiService.getCollections(organizationId).then((collections) => {\n const collectionPromises: any = [];\n if (collections != null && collections.data != null && collections.data.length > 0) {\n collections.data.forEach((c) => {\n const collection = new Collection(new CollectionData(c as CollectionDetailsResponse));\n collectionPromises.push(collection.decrypt().then((decCol) => {\n decCollections.push(decCol);\n }));\n });\n }\n return Promise.all(collectionPromises);\n }));\n\n promises.push(this.apiService.getCiphersOrganization(organizationId).then((ciphers) => {\n const cipherPromises: any = [];\n if (ciphers != null && ciphers.data != null && ciphers.data.length > 0) {\n ciphers.data.forEach((c) => {\n const cipher = new Cipher(new CipherData(c));\n cipherPromises.push(cipher.decrypt().then((decCipher) => {\n decCiphers.push(decCipher);\n }));\n });\n }\n return Promise.all(cipherPromises);\n }));\n\n await Promise.all(promises);\n\n const collectionsMap = new Map();\n decCollections.forEach((c) => {\n collectionsMap.set(c.id, c);\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n\n const cipher: any = {};\n cipher.collections = [];\n if (c.collectionIds != null) {\n cipher.collections = c.collectionIds.filter((id) => collectionsMap.has(id))\n .map((id) => collectionsMap.get(id).name);\n }\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n if (format === 'csv') {\n return papa.unparse(exportCiphers);\n } else {\n return JSON.stringify(exportCiphers, null, ' ');\n }\n }\n\n getFileName(prefix: string = null): string {\n const now = new Date();\n const dateString =\n now.getFullYear() + '' + this.padNumber(now.getMonth() + 1, 2) + '' + this.padNumber(now.getDate(), 2) +\n this.padNumber(now.getHours(), 2) + '' + this.padNumber(now.getMinutes(), 2) +\n this.padNumber(now.getSeconds(), 2);\n\n return 'bitwarden' + (prefix ? ('_' + prefix) : '') + '_export_' + dateString + '.csv';\n }\n\n private padNumber(num: number, width: number, padCharacter: string = '0'): string {\n const numString = num.toString();\n return numString.length >= width ? numString :\n new Array(width - numString.length + 1).join(padCharacter) + numString;\n }\n\n private buildCommonCipher(cipher: any, c: CipherView) {\n cipher.type = null;\n cipher.name = c.name;\n cipher.notes = c.notes;\n cipher.fields = null;\n // Login props\n cipher.login_uri = null;\n cipher.login_username = null;\n cipher.login_password = null;\n cipher.login_totp = null;\n\n if (c.fields) {\n c.fields.forEach((f: any) => {\n if (!cipher.fields) {\n cipher.fields = '';\n } else {\n cipher.fields += '\\n';\n }\n\n cipher.fields += ((f.name || '') + ': ' + f.value);\n });\n }\n\n switch (c.type) {\n case CipherType.Login:\n cipher.type = 'login';\n cipher.login_username = c.login.username;\n cipher.login_password = c.login.password;\n cipher.login_totp = c.login.totp;\n\n if (c.login.uris) {\n cipher.login_uri = [];\n c.login.uris.forEach((u) => {\n cipher.login_uri.push(u.uri);\n });\n }\n break;\n case CipherType.SecureNote:\n cipher.type = 'note';\n break;\n default:\n return;\n }\n\n return cipher;\n }\n}\n","import { AppIdService } from '../abstractions/appId.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from '../services/constants.service';\n\nimport { DeviceType } from '../enums/deviceType';\n\nconst GaObj = 'ga';\n\nexport const AnalyticsIds = {\n [DeviceType.ChromeExtension]: 'UA-81915606-6',\n [DeviceType.FirefoxExtension]: 'UA-81915606-7',\n [DeviceType.OperaExtension]: 'UA-81915606-8',\n [DeviceType.EdgeExtension]: 'UA-81915606-9',\n [DeviceType.VivaldiExtension]: 'UA-81915606-15',\n [DeviceType.SafariExtension]: 'UA-81915606-16',\n [DeviceType.WindowsDesktop]: 'UA-81915606-17',\n [DeviceType.LinuxDesktop]: 'UA-81915606-19',\n [DeviceType.MacOsDesktop]: 'UA-81915606-18',\n};\n\nexport class Analytics {\n private gaTrackingId: string = null;\n private defaultDisabled = false;\n private appVersion: string;\n\n constructor(win: Window, private gaFilter?: () => boolean,\n private platformUtilsService?: PlatformUtilsService, private storageService?: StorageService,\n private appIdService?: AppIdService, private dependencyResolver?: () => any) {\n if (dependencyResolver != null) {\n const deps = dependencyResolver();\n if (platformUtilsService == null && deps.platformUtilsService) {\n this.platformUtilsService = deps.platformUtilsService as PlatformUtilsService;\n }\n if (storageService == null && deps.storageService) {\n this.storageService = deps.storageService as StorageService;\n }\n if (appIdService == null && deps.appIdService) {\n this.appIdService = deps.appIdService as AppIdService;\n }\n }\n\n this.appVersion = this.platformUtilsService.getApplicationVersion();\n this.defaultDisabled = this.platformUtilsService.getDevice() === DeviceType.FirefoxExtension ||\n this.platformUtilsService.isMacAppStore();\n this.gaTrackingId = this.platformUtilsService.analyticsId();\n\n (win as any).GoogleAnalyticsObject = GaObj;\n (win as any)[GaObj] = async (action: string, param1: any, param2?: any) => {\n await this.ga(action, param1, param2);\n };\n }\n\n async ga(action: string, param1: any, param2?: any) {\n if (this.gaFilter != null && this.gaFilter()) {\n return;\n }\n\n const disabled = await this.storageService.get(ConstantsService.disableGaKey);\n if ((this.defaultDisabled && disabled == null) || disabled != null && disabled) {\n return;\n }\n\n if (action !== 'send' || !param1) {\n return;\n }\n\n const gaAnonAppId = await this.appIdService.getAnonymousAppId();\n const version = encodeURIComponent(this.appVersion);\n let message = 'v=1&tid=' + this.gaTrackingId + '&cid=' + gaAnonAppId + '&cd1=' + version;\n\n if (param1 === 'pageview' && param2) {\n message += this.gaTrackPageView(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'pageview') {\n message += this.gaTrackPageView(param1.page);\n } else if (param1 === 'event' && param2) {\n message += this.gaTrackEvent(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'event') {\n message += this.gaTrackEvent(param1);\n }\n\n const request = new XMLHttpRequest();\n request.open('POST', 'https://www.google-analytics.com/collect', true);\n request.send(message);\n }\n\n private gaTrackEvent(options: any) {\n return '&t=event&ec=' + (options.eventCategory ? encodeURIComponent(options.eventCategory) : 'Event') +\n '&ea=' + encodeURIComponent(options.eventAction) +\n (options.eventLabel ? '&el=' + encodeURIComponent(options.eventLabel) : '') +\n (options.eventValue ? '&ev=' + encodeURIComponent(options.eventValue) : '') +\n (options.page ? '&dp=' + this.cleanPagePath(options.page) : '');\n }\n\n private gaTrackPageView(pagePath: string) {\n return '&t=pageview&dp=' + this.cleanPagePath(pagePath);\n }\n\n private cleanPagePath(pagePath: string) {\n const paramIndex = pagePath.indexOf('?');\n if (paramIndex > -1) {\n pagePath = pagePath.substring(0, paramIndex);\n }\n if (pagePath.indexOf('!/') === 0 || pagePath.indexOf('#/') === 0) {\n pagePath = pagePath.substring(1);\n }\n const pathParts = pagePath.split('/');\n const newPathParts: string[] = [];\n pathParts.forEach((p) => {\n if (p.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)) {\n newPathParts.push('__guid__');\n } else {\n newPathParts.push(p);\n }\n });\n return encodeURIComponent(newPathParts.join('/'));\n }\n}\n","import * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\nexport class WebPlatformUtilsService implements PlatformUtilsService {\n identityClientId: string = 'web';\n\n private browserCache: DeviceType = null;\n\n constructor(private i18nService: I18nService) { }\n\n getDevice(): DeviceType {\n if (this.browserCache != null) {\n return this.browserCache;\n }\n\n if (navigator.userAgent.indexOf(' Firefox/') !== -1 || navigator.userAgent.indexOf(' Gecko/') !== -1) {\n this.browserCache = DeviceType.FirefoxBrowser;\n } else if (navigator.userAgent.indexOf(' OPR/') >= 0) {\n this.browserCache = DeviceType.OperaBrowser;\n } else if (navigator.userAgent.indexOf(' Edge/') !== -1) {\n this.browserCache = DeviceType.EdgeBrowser;\n } else if (navigator.userAgent.indexOf(' Vivaldi/') !== -1) {\n this.browserCache = DeviceType.VivaldiBrowser;\n } else if (navigator.userAgent.indexOf(' Safari/') !== -1 && navigator.userAgent.indexOf('Chrome') === -1) {\n this.browserCache = DeviceType.SafariBrowser;\n } else if ((window as any).chrome && navigator.userAgent.indexOf(' Chrome/') !== -1) {\n this.browserCache = DeviceType.ChromeBrowser;\n } else if (navigator.userAgent.indexOf(' Trident/') !== -1) {\n this.browserCache = DeviceType.IEBrowser;\n } else {\n this.browserCache = DeviceType.UnknownBrowser;\n }\n\n return this.browserCache;\n }\n\n getDeviceString(): string {\n const device = DeviceType[this.getDevice()].toLowerCase();\n return device.replace('browser', '');\n }\n\n isFirefox(): boolean {\n return this.getDevice() === DeviceType.FirefoxBrowser;\n }\n\n isChrome(): boolean {\n return this.getDevice() === DeviceType.ChromeBrowser;\n }\n\n isEdge(): boolean {\n return this.getDevice() === DeviceType.EdgeBrowser;\n }\n\n isOpera(): boolean {\n return this.getDevice() === DeviceType.OperaBrowser;\n }\n\n isVivaldi(): boolean {\n return this.getDevice() === DeviceType.VivaldiBrowser;\n }\n\n isSafari(): boolean {\n return this.getDevice() === DeviceType.SafariBrowser;\n }\n\n isIE(): boolean {\n return this.getDevice() === DeviceType.IEBrowser;\n }\n\n isMacAppStore(): boolean {\n return false;\n }\n\n analyticsId(): string {\n return 'UA-81915606-3';\n }\n\n getDomain(uriString: string): string {\n return Utils.getHostname(uriString);\n }\n\n isViewOpen(): boolean {\n return false;\n }\n\n lockTimeout(): number {\n return 15;\n }\n\n launchUri(uri: string, options?: any): void {\n const a = document.createElement('a');\n a.href = uri;\n a.target = '_blank';\n a.rel = 'noreferrer noopener';\n a.classList.add('d-none');\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n\n saveFile(win: Window, blobData: any, blobOptions: any, fileName: string): void {\n let blob: Blob = null;\n if (blobOptions != null && !this.isIE()) {\n blob = new Blob([blobData], blobOptions);\n } else {\n blob = new Blob([blobData]);\n }\n if (navigator.msSaveOrOpenBlob) {\n navigator.msSaveBlob(blob, fileName);\n } else {\n const a = win.document.createElement('a');\n a.href = win.URL.createObjectURL(blob);\n a.download = fileName;\n a.style.position = 'fixed';\n win.document.body.appendChild(a);\n a.click();\n win.document.body.removeChild(a);\n }\n }\n\n getApplicationVersion(): string {\n return process.env.APPLICATION_VERSION || '-';\n }\n\n supportsU2f(win: Window): boolean {\n if (win != null && (win as any).u2f != null) {\n return true;\n }\n return (this.isChrome() || this.isOpera() || this.isVivaldi()) && !this.isMobile(win);\n }\n\n supportsDuo(): boolean {\n return true;\n }\n\n showToast(type: 'error' | 'success' | 'warning' | 'info', title: string, text: string, global?: any): void {\n throw new Error('showToast not implemented');\n }\n\n async showDialog(text: string, title?: string, confirmText?: string, cancelText?: string, type?: string) {\n const buttons = [confirmText == null ? this.i18nService.t('ok') : confirmText];\n if (cancelText != null) {\n buttons.unshift(cancelText);\n }\n\n const contentDiv = document.createElement('div');\n if (type != null) {\n const icon = document.createElement('i');\n icon.classList.add('swal-custom-icon');\n switch (type) {\n case 'success':\n icon.classList.add('fa', 'fa-check', 'text-success');\n break;\n case 'warning':\n icon.classList.add('fa', 'fa-warning', 'text-warning');\n break;\n case 'error':\n icon.classList.add('fa', 'fa-bolt', 'text-danger');\n break;\n case 'info':\n icon.classList.add('fa', 'fa-info-circle', 'text-info');\n break;\n default:\n break;\n }\n if (icon.classList.contains('fa')) {\n contentDiv.appendChild(icon);\n }\n }\n\n if (title != null) {\n const titleDiv = document.createElement('div');\n titleDiv.classList.add('swal-title');\n titleDiv.appendChild(document.createTextNode(title));\n contentDiv.appendChild(titleDiv);\n }\n\n if (text != null) {\n const textDiv = document.createElement('div');\n textDiv.classList.add('swal-text');\n textDiv.appendChild(document.createTextNode(text));\n contentDiv.appendChild(textDiv);\n }\n\n const confirmed = await swal({\n content: { element: contentDiv },\n buttons: buttons,\n });\n return confirmed;\n }\n\n isDev(): boolean {\n return process.env.ENV === 'development';\n }\n\n isSelfHost(): boolean {\n return process.env.SELF_HOST.toString() === 'true';\n }\n\n copyToClipboard(text: string, options?: any): void {\n const doc = options ? options.doc : window.document;\n if ((window as any).clipboardData && (window as any).clipboardData.setData) {\n // IE specific code path to prevent textarea being shown while dialog is visible.\n (window as any).clipboardData.setData('Text', text);\n } else if (doc.queryCommandSupported && doc.queryCommandSupported('copy')) {\n const textarea = doc.createElement('textarea');\n textarea.textContent = text;\n // Prevent scrolling to bottom of page in MS Edge.\n textarea.style.position = 'fixed';\n doc.body.appendChild(textarea);\n textarea.select();\n\n try {\n // Security exception may be thrown by some browsers.\n doc.execCommand('copy');\n } catch (e) {\n // tslint:disable-next-line\n console.warn('Copy to clipboard failed.', e);\n } finally {\n doc.body.removeChild(textarea);\n }\n }\n }\n\n private isMobile(win: Window) {\n let mobile = false;\n ((a) => {\n // tslint:disable-next-line\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\n mobile = true;\n }\n })(win.navigator.userAgent || win.navigator.vendor || (win as any).opera);\n\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\n }\n}\n","import { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nexport class MemoryStorageService implements StorageService {\r\n private store = new Map();\r\n\r\n get(key: string): Promise {\r\n if (this.store.has(key)) {\r\n const obj = this.store.get(key);\r\n return Promise.resolve(obj as T);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n if (obj == null) {\r\n return this.remove(key);\r\n }\r\n this.store.set(key, obj);\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n this.store.delete(key);\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { I18nService as BaseI18nService } from 'jslib/services/i18n.service';\n\nexport class I18nService extends BaseI18nService {\n constructor(systemLanguage: string, localesDirectory: string) {\n super(systemLanguage || 'en-US', localesDirectory, async (formattedLocale: string) => {\n const filePath = this.localesDirectory + '/' + formattedLocale + '/messages.json?cache=' +\n process.env.CACHE_TAG;\n const localesResult = await fetch(filePath);\n const locales = await localesResult.json();\n return locales;\n });\n\n this.supportedTranslationLocales = [\n 'en', 'da', 'sk',\n ];\n }\n}\n","import { OrganizationData } from '../data/organizationData';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class Organization {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n\n constructor(obj?: OrganizationData) {\n if (obj == null) {\n return;\n }\n\n this.id = obj.id;\n this.name = obj.name;\n this.status = obj.status;\n this.type = obj.type;\n this.enabled = obj.enabled;\n this.useGroups = obj.useGroups;\n this.useDirectory = obj.useDirectory;\n this.useEvents = obj.useEvents;\n this.useTotp = obj.useTotp;\n this.use2fa = obj.use2fa;\n this.selfHost = obj.selfHost;\n this.usersGetPremium = obj.usersGetPremium;\n this.seats = obj.seats;\n this.maxCollections = obj.maxCollections;\n this.maxStorageGb = obj.maxStorageGb;\n }\n\n get canAccess() {\n if (this.type === OrganizationUserType.Owner) {\n return true;\n }\n return this.enabled && this.status === OrganizationUserStatusType.Confirmed;\n }\n\n get isAdmin() {\n return this.type === OrganizationUserType.Owner || this.type === OrganizationUserType.Admin;\n }\n\n get isOwner() {\n return this.type === OrganizationUserType.Owner;\n }\n}\n","import { ProfileOrganizationResponse } from '../response/profileOrganizationResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class OrganizationData {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n\n constructor(response: ProfileOrganizationResponse) {\n this.id = response.id;\n this.name = response.name;\n this.status = response.status;\n this.type = response.type;\n this.enabled = response.enabled;\n this.useGroups = response.useGroups;\n this.useDirectory = response.useDirectory;\n this.useEvents = response.useEvents;\n this.useTotp = response.useTotp;\n this.use2fa = response.use2fa;\n this.selfHost = response.selfHost;\n this.usersGetPremium = response.usersGetPremium;\n this.seats = response.seats;\n this.maxCollections = response.maxCollections;\n this.maxStorageGb = response.maxStorageGb;\n }\n}\n","export class PasswordHistory {\r\n password: string;\r\n date: number;\r\n\r\n constructor(password: string, date: number) {\r\n this.password = password;\r\n this.date = date;\r\n }\r\n}\r\n","import { FolderData } from '../data/folderData';\r\n\r\nimport { FolderView } from '../view/folderView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domain';\r\n\r\nexport class Folder extends Domain {\r\n id: string;\r\n name: CipherString;\r\n\r\n constructor(obj?: FolderData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n name: null,\r\n }, alreadyEncrypted, ['id']);\r\n }\r\n\r\n decrypt(): Promise {\r\n return this.decryptObj(new FolderView(this), {\r\n name: null,\r\n }, null);\r\n }\r\n}\r\n","export class EnvironmentUrls {\r\n base: string;\r\n api: string;\r\n identity: string;\r\n}\r\n","/**\r\n * Use as a Decorator on async functions, it will prevent multiple 'active' calls as the same time\r\n *\r\n * If a promise was returned from a previous call to this function, that hasn't yet resolved it will\r\n * be returned, instead of calling the original function again\r\n *\r\n * Results are not cached, once the promise has returned, the next call will result in a fresh call\r\n *\r\n * WARNING: The decorator's scope is singleton, so using it on transient objects can lead to memory leaks.\r\n * Read more at https://github.com/bitwarden/jslib/pull/7\r\n */\r\nexport function sequentialize(cacheKey: (args: any[]) => string) {\r\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\r\n const originalMethod: () => Promise = descriptor.value;\r\n const caches = new Map>>();\r\n\r\n const getCache = (obj: any) => {\r\n let cache = caches.get(obj);\r\n if (cache != null) {\r\n return cache;\r\n }\r\n cache = new Map>();\r\n caches.set(obj, cache);\r\n return cache;\r\n };\r\n\r\n return {\r\n value: function(...args: any[]) {\r\n const argsCacheKey = cacheKey(args);\r\n const cache = getCache(this);\r\n let response = cache.get(argsCacheKey);\r\n if (response != null) {\r\n return response;\r\n }\r\n\r\n response = originalMethod.apply(this, args).then((val: any) => {\r\n cache.delete(argsCacheKey);\r\n return val;\r\n }).catch((err: any) => {\r\n cache.delete(argsCacheKey);\r\n throw err;\r\n });\r\n\r\n cache.set(argsCacheKey, response);\r\n return response;\r\n },\r\n };\r\n };\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\n\nimport { Utils } from '../../misc/utils';\n\nexport class SymmetricCryptoKey {\n key: ArrayBuffer;\n encKey?: ArrayBuffer;\n macKey?: ArrayBuffer;\n encType: EncryptionType;\n\n keyB64: string;\n encKeyB64: string;\n macKeyB64: string;\n\n meta: any;\n\n constructor(key: ArrayBuffer, encType?: EncryptionType) {\n if (key == null) {\n throw new Error('Must provide key');\n }\n\n if (encType == null) {\n if (key.byteLength === 32) {\n encType = EncryptionType.AesCbc256_B64;\n } else if (key.byteLength === 64) {\n encType = EncryptionType.AesCbc256_HmacSha256_B64;\n } else {\n throw new Error('Unable to determine encType.');\n }\n }\n\n this.key = key;\n this.encType = encType;\n\n if (encType === EncryptionType.AesCbc256_B64 && key.byteLength === 32) {\n this.encKey = key;\n this.macKey = null;\n } else if (encType === EncryptionType.AesCbc128_HmacSha256_B64 && key.byteLength === 32) {\n this.encKey = key.slice(0, 16);\n this.macKey = key.slice(16, 32);\n } else if (encType === EncryptionType.AesCbc256_HmacSha256_B64 && key.byteLength === 64) {\n this.encKey = key.slice(0, 32);\n this.macKey = key.slice(32, 64);\n } else {\n throw new Error('Unsupported encType/key length.');\n }\n\n if (this.key != null) {\n this.keyB64 = Utils.fromBufferToB64(this.key);\n }\n if (this.encKey != null) {\n this.encKeyB64 = Utils.fromBufferToB64(this.encKey);\n }\n if (this.macKey != null) {\n this.macKeyB64 = Utils.fromBufferToB64(this.macKey);\n }\n }\n}\n","import { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class EncryptedObject {\n iv: ArrayBuffer;\n data: ArrayBuffer;\n mac: ArrayBuffer;\n key: SymmetricCryptoKey;\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherShareRequest {\n cipher: CipherRequest;\n collectionIds: string[];\n\n constructor(cipher: Cipher) {\n this.cipher = new CipherRequest(cipher);\n this.collectionIds = cipher.collectionIds;\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherBulkShareRequest {\n ciphers: CipherWithIdRequest[];\n collectionIds: string[];\n\n constructor(ciphers: Cipher[], collectionIds: string[]) {\n if (ciphers != null) {\n this.ciphers = [];\n ciphers.forEach((c) => {\n this.ciphers.push(new CipherWithIdRequest(c));\n });\n }\n this.collectionIds = collectionIds;\n }\n}\n","export class CipherBulkMoveRequest {\n ids: string[];\n folderId: string;\n\n constructor(ids: string[], folderId: string) {\n this.ids = ids == null ? [] : ids;\n this.folderId = folderId;\n }\n}\n","export class CipherBulkDeleteRequest {\n ids: string[];\n\n constructor(ids: string[]) {\n this.ids = ids == null ? [] : ids;\n }\n}\n","export class BreachAccountResponse {\n addedDate: Date;\n breachDate: Date;\n dataClasses: string[];\n description: string;\n domain: string;\n isActive: boolean;\n isVerified: boolean;\n logoType: string;\n modifiedDate: Date;\n name: string;\n pwnCount: number;\n title: string;\n\n constructor(response: any) {\n this.addedDate = response.AddedDate;\n this.breachDate = response.BreachDate;\n this.dataClasses = response.DataClasses;\n this.description = response.Description;\n this.domain = response.Domain;\n this.isActive = response.IsActive;\n this.isVerified = response.IsVerified;\n this.logoType = response.LogoType;\n this.modifiedDate = response.ModifiedDate;\n this.name = response.Name;\n this.pwnCount = response.PwnCount;\n this.title = response.Title;\n }\n}\n","export class UserKeyResponse {\n userId: string;\n publicKey: string;\n\n constructor(response: any) {\n this.userId = response.UserId;\n this.publicKey = response.PublicKey;\n }\n}\n","export class TwoFactorYubiKeyResponse {\n enabled: boolean;\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.key1 = response.Key1;\n this.key2 = response.Key2;\n this.key3 = response.Key3;\n this.key4 = response.Key4;\n this.key5 = response.Key5;\n this.nfc = response.Nfc;\n }\n}\n","export class TwoFactorU2fResponse {\r\n enabled: boolean;\r\n challenge: ChallengeResponse;\r\n\r\n constructor(response: any) {\r\n this.enabled = response.Enabled;\r\n this.challenge = response.Challenge == null ? null : new ChallengeResponse(response.Challenge);\r\n }\r\n}\r\n\r\nexport class ChallengeResponse {\r\n userId: string;\r\n appId: string;\r\n challenge: string;\r\n version: string;\r\n\r\n constructor(response: any) {\r\n this.userId = response.UserId;\r\n this.appId = response.AppId;\r\n this.challenge = response.Challenge;\r\n this.version = response.Version;\r\n }\r\n}\r\n","export class TwoFactorRecoverResponse {\n code: string;\n\n constructor(response: any) {\n this.code = response.Code;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderResponse {\n enabled: boolean;\n type: TwoFactorProviderType;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.type = response.Type;\n }\n}\n","export class TwoFactorEmailResponse {\n enabled: boolean;\n email: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.email = response.Email;\n }\n}\n","export class TwoFactorDuoResponse {\n enabled: boolean;\n host: string;\n secretKey: string;\n integrationKey: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.host = response.Host;\n this.secretKey = response.SecretKey;\n this.integrationKey = response.IntegrationKey;\n }\n}\n","export class TwoFactorAuthenticatorResponse {\n enabled: boolean;\n key: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.key = response.Key;\n }\n}\n","import { CipherResponse } from './cipherResponse';\nimport { CollectionDetailsResponse } from './collectionResponse';\nimport { DomainsResponse } from './domainsResponse';\nimport { FolderResponse } from './folderResponse';\nimport { ProfileResponse } from './profileResponse';\n\nexport class SyncResponse {\n profile?: ProfileResponse;\n folders: FolderResponse[] = [];\n collections: CollectionDetailsResponse[] = [];\n ciphers: CipherResponse[] = [];\n domains?: DomainsResponse;\n\n constructor(response: any) {\n if (response.Profile) {\n this.profile = new ProfileResponse(response.Profile);\n }\n\n if (response.Folders) {\n response.Folders.forEach((folder: any) => {\n this.folders.push(new FolderResponse(folder));\n });\n }\n\n if (response.Collections) {\n response.Collections.forEach((collection: any) => {\n this.collections.push(new CollectionDetailsResponse(collection));\n });\n }\n\n if (response.Ciphers) {\n response.Ciphers.forEach((cipher: any) => {\n this.ciphers.push(new CipherResponse(cipher));\n });\n }\n\n if (response.Domains) {\n this.domains = new DomainsResponse(response.Domains);\n }\n }\n}\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class ProfileOrganizationResponse {\n id: string;\n name: string;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n key: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.name = response.Name;\n this.useGroups = response.UseGroups;\n this.useDirectory = response.UseDirectory;\n this.useEvents = response.UseEvents;\n this.useTotp = response.UseTotp;\n this.use2fa = response.Use2fa;\n this.selfHost = response.SelfHost;\n this.usersGetPremium = response.UsersGetPremium;\n this.seats = response.Seats;\n this.maxCollections = response.MaxCollections;\n this.maxStorageGb = response.MaxStorageGb;\n this.key = response.Key;\n this.status = response.Status;\n this.type = response.Type;\n this.enabled = response.Enabled;\n }\n}\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class OrganizationUserResponse {\n id: string;\n userId: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n accessAll: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.userId = response.UserId;\n this.type = response.Type;\n this.status = response.Status;\n this.accessAll = response.AccessAll;\n }\n}\n\nexport class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {\n name: string;\n email: string;\n\n constructor(response: any) {\n super(response);\n this.name = response.Name;\n this.email = response.Email;\n }\n}\n\nexport class OrganizationUserDetailsResponse extends OrganizationUserResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Collections != null) {\n this.collections = response.Collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import {\n BillingChargeResponse,\n BillingInvoiceResponse,\n BillingSourceResponse,\n BillingSubscriptionResponse,\n} from './billingResponse';\nimport { OrganizationResponse } from './organizationResponse';\n\nexport class OrganizationBillingResponse extends OrganizationResponse {\n storageName: string;\n storageGb: number;\n paymentSource: BillingSourceResponse;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingInvoiceResponse;\n charges: BillingChargeResponse[] = [];\n expiration: Date;\n\n constructor(response: any) {\n super(response);\n this.storageName = response.StorageName;\n this.storageGb = response.StorageGb;\n this.paymentSource = response.PaymentSource == null ? null : new BillingSourceResponse(response.PaymentSource);\n this.subscription = response.Subscription == null ?\n null : new BillingSubscriptionResponse(response.Subscription);\n this.upcomingInvoice = response.UpcomingInvoice == null ?\n null : new BillingInvoiceResponse(response.UpcomingInvoice);\n if (response.Charges != null) {\n this.charges = response.Charges.map((c: any) => new BillingChargeResponse(c));\n }\n this.expiration = response.Expiration;\n }\n}\n","export class ListResponse {\n data: T[];\n continuationToken: string;\n\n constructor(response: any, t: new (dataResponse: any) => T) {\n this.data = response.Data == null ? [] : response.Data.map((dr: any) => new t(dr));\n this.continuationToken = response.ContinuationToken;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class IdentityTwoFactorResponse {\r\n twoFactorProviders: TwoFactorProviderType[];\r\n twoFactorProviders2 = new Map();\r\n\r\n constructor(response: any) {\r\n this.twoFactorProviders = response.TwoFactorProviders;\r\n if (response.TwoFactorProviders2 != null) {\r\n for (const prop in response.TwoFactorProviders2) {\r\n if (response.TwoFactorProviders2.hasOwnProperty(prop)) {\r\n this.twoFactorProviders2.set(parseInt(prop, null), response.TwoFactorProviders2[prop]);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","export class IdentityTokenResponse {\r\n accessToken: string;\r\n expiresIn: number;\r\n refreshToken: string;\r\n tokenType: string;\r\n\r\n privateKey: string;\r\n key: string;\r\n twoFactorToken: string;\r\n\r\n constructor(response: any) {\r\n this.accessToken = response.access_token;\r\n this.expiresIn = response.expires_in;\r\n this.refreshToken = response.refresh_token;\r\n this.tokenType = response.token_type;\r\n\r\n this.privateKey = response.PrivateKey;\r\n this.key = response.Key;\r\n this.twoFactorToken = response.TwoFactorToken;\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class GroupUserResponse {\n organizationUserId: string;\n accessAll: boolean;\n name: string;\n email: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n\n constructor(response: any) {\n this.organizationUserId = response.OrganizationUserId;\n this.accessAll = response.AccessAll;\n this.name = response.Name;\n this.email = response.Email;\n this.type = response.Type;\n this.status = response.Status;\n }\n}\n","import { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class GroupResponse {\n id: string;\n organizationId: string;\n name: string;\n accessAll: boolean;\n externalId: string;\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.name = response.Name;\n this.accessAll = response.AccessAll;\n this.externalId = response.ExternalId;\n }\n}\n\nexport class GroupDetailsResponse extends GroupResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Collections != null) {\n this.collections = response.Collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { DeviceType } from '../../enums/deviceType';\nimport { EventType } from '../../enums/eventType';\n\nexport class EventResponse {\n type: EventType;\n userId: string;\n organizationId: string;\n cipherId: string;\n collectionId: string;\n groupId: string;\n organizationUserId: string;\n actingUserId: string;\n date: Date;\n deviceType: DeviceType;\n ipAddress: string;\n\n constructor(response: any) {\n this.type = response.Type;\n this.userId = response.UserId;\n this.organizationId = response.OrganizationId;\n this.cipherId = response.CipherId;\n this.collectionId = response.CollectionId;\n this.groupId = response.GroupId;\n this.organizationUserId = response.OrganizationUserId;\n this.actingUserId = response.ActingUserId;\n this.date = response.Date;\n this.deviceType = response.DeviceType;\n this.ipAddress = response.IpAddress;\n }\n}\n","export class ErrorResponse {\n message: string;\n validationErrors: { [key: string]: string[]; };\n statusCode: number;\n\n constructor(response: any, status: number, identityResponse?: boolean) {\n let errorModel = null;\n if (identityResponse && response && response.ErrorModel) {\n errorModel = response.ErrorModel;\n } else if (response) {\n errorModel = response;\n }\n\n if (errorModel) {\n this.message = errorModel.Message;\n this.validationErrors = errorModel.ValidationErrors;\n } else {\n if (status === 429) {\n this.message = 'Rate limit exceeded. Try again later.';\n }\n }\n this.statusCode = status;\n }\n\n getSingleMessage(): string {\n if (this.validationErrors) {\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n if (this.validationErrors[key].length) {\n return this.validationErrors[key][0];\n }\n }\n }\n return this.message;\n }\n}\n","export class GlobalDomainResponse {\r\n type: number;\r\n domains: string[];\r\n excluded: number[];\r\n\r\n constructor(response: any) {\r\n this.type = response.Type;\r\n this.domains = response.Domains;\r\n this.excluded = response.Excluded;\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class CollectionUserResponse {\n organizationUserId: string;\n accessAll: boolean;\n name: string;\n email: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n readOnly: boolean;\n\n constructor(response: any) {\n this.organizationUserId = response.OrganizationUserId;\n this.accessAll = response.AccessAll;\n this.name = response.Name;\n this.email = response.Email;\n this.type = response.Type;\n this.status = response.Status;\n this.readOnly = response.ReadOnly;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nexport class SecureNoteApi {\r\n type: SecureNoteType;\r\n\r\n constructor(data: any) {\r\n this.type = data.Type;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nexport class LoginUriApi {\r\n uri: string;\r\n match: UriMatchType = null;\r\n\r\n constructor(data: any) {\r\n this.uri = data.Uri;\r\n this.match = data.Match != null ? data.Match : null;\r\n }\r\n}\r\n","import { LoginUriApi } from './loginUriApi';\r\n\r\nexport class LoginApi {\r\n uris: LoginUriApi[];\r\n username: string;\r\n password: string;\r\n totp: string;\r\n\r\n constructor(data: any) {\r\n this.username = data.Username;\r\n this.password = data.Password;\r\n this.totp = data.Totp;\r\n\r\n if (data.Uris) {\r\n this.uris = [];\r\n data.Uris.forEach((u: any) => {\r\n this.uris.push(new LoginUriApi(u));\r\n });\r\n }\r\n }\r\n}\r\n","export class IdentityApi {\r\n title: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n constructor(data: any) {\r\n this.title = data.Title;\r\n this.firstName = data.FirstName;\r\n this.middleName = data.MiddleName;\r\n this.lastName = data.LastName;\r\n this.address1 = data.Address1;\r\n this.address2 = data.Address2;\r\n this.address3 = data.Address3;\r\n this.city = data.City;\r\n this.state = data.State;\r\n this.postalCode = data.PostalCode;\r\n this.country = data.Country;\r\n this.company = data.Company;\r\n this.email = data.Email;\r\n this.phone = data.Phone;\r\n this.ssn = data.SSN;\r\n this.username = data.Username;\r\n this.passportNumber = data.PassportNumber;\r\n this.licenseNumber = data.LicenseNumber;\r\n }\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nexport class FieldApi {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(response: any) {\r\n this.type = response.Type;\r\n this.name = response.Name;\r\n this.value = response.Value;\r\n }\r\n}\r\n","export class CardApi {\r\n cardholderName: string;\r\n brand: string;\r\n number: string;\r\n expMonth: string;\r\n expYear: string;\r\n code: string;\r\n\r\n constructor(data: any) {\r\n this.cardholderName = data.CardholderName;\r\n this.brand = data.Brand;\r\n this.number = data.Number;\r\n this.expMonth = data.ExpMonth;\r\n this.expYear = data.ExpYear;\r\n this.code = data.Code;\r\n }\r\n}\r\n","export class AttachmentResponse {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n size: number;\r\n sizeName: string;\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.url = response.Url;\r\n this.fileName = response.FileName;\r\n this.size = response.Size;\r\n this.sizeName = response.SizeName;\r\n }\r\n}\r\n","export { ApiService } from './api.service';\nexport { AppIdService } from './appId.service';\nexport { AuditService } from './audit.service';\nexport { AuthService } from './auth.service';\nexport { CipherService } from './cipher.service';\nexport { CollectionService } from './collection.service';\nexport { ConstantsService } from './constants.service';\nexport { ContainerService } from './container.service';\nexport { CryptoService } from './crypto.service';\nexport { EnvironmentService } from './environment.service';\nexport { FolderService } from './folder.service';\nexport { I18nService } from './i18n.service';\nexport { LockService } from './lock.service';\nexport { PasswordGenerationService } from './passwordGeneration.service';\nexport { SettingsService } from './settings.service';\nexport { StateService } from './state.service';\nexport { SyncService } from './sync.service';\nexport { TokenService } from './token.service';\nexport { TotpService } from './totp.service';\nexport { UserService } from './user.service';\n","import { StorageService } from 'jslib/abstractions/storage.service';\nimport { ConstantsService } from 'jslib/services';\n\nexport class HtmlStorageService implements StorageService {\n private localStorageKeys = new Set(['appId', 'anonymousAppId', 'rememberedEmail', 'passwordGenerationOptions',\n ConstantsService.disableFaviconKey, ConstantsService.lockOptionKey, 'rememberEmail',\n ConstantsService.localeKey, ConstantsService.lockOptionKey]);\n private localStorageStartsWithKeys = ['twoFactorToken_'];\n\n get(key: string): Promise {\n let json: string = null;\n if (this.isLocalStorage(key)) {\n json = window.localStorage.getItem(key);\n } else {\n json = window.sessionStorage.getItem(key);\n }\n if (json != null) {\n const obj = JSON.parse(json);\n return Promise.resolve(obj as T);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n if (obj == null) {\n return this.remove(key);\n }\n\n const json = JSON.stringify(obj);\n if (this.isLocalStorage(key)) {\n window.localStorage.setItem(key, json);\n } else {\n window.sessionStorage.setItem(key, json);\n }\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n if (this.isLocalStorage(key)) {\n window.localStorage.removeItem(key);\n } else {\n window.sessionStorage.removeItem(key);\n }\n return Promise.resolve();\n }\n\n private isLocalStorage(key: string): boolean {\n if (this.localStorageKeys.has(key)) {\n return true;\n }\n for (const swKey of this.localStorageStartsWithKeys) {\n if (key.startsWith(swKey)) {\n return true;\n }\n }\n return false;\n }\n}\n","import { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nexport class BroadcasterMessagingService implements MessagingService {\r\n constructor(private broadcasterService: BroadcasterService) { }\r\n\r\n send(subscriber: string, arg: any = {}) {\r\n const message = Object.assign({}, { command: subscriber }, arg);\r\n this.broadcasterService.send(message);\r\n }\r\n}\r\n","import {\n APP_INITIALIZER,\n LOCALE_ID,\n NgModule,\n} from '@angular/core';\n\nimport { ToasterModule } from 'angular2-toaster';\n\nimport { BroadcasterMessagingService } from '../../services/broadcasterMessaging.service';\nimport { HtmlStorageService } from '../../services/htmlStorage.service';\nimport { I18nService } from '../../services/i18n.service';\nimport { MemoryStorageService } from '../../services/memoryStorage.service';\nimport { WebPlatformUtilsService } from '../../services/webPlatformUtils.service';\n\nimport { EventService } from './event.service';\nimport { OrganizationGuardService } from './organization-guard.service';\nimport { OrganizationTypeGuardService } from './organization-type-guard.service';\nimport { RouterService } from './router.service';\nimport { UnauthGuardService } from './unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\nimport { ValidationService } from 'jslib/angular/services/validation.service';\n\nimport { Analytics } from 'jslib/misc/analytics';\n\nimport { ApiService } from 'jslib/services/api.service';\nimport { AppIdService } from 'jslib/services/appId.service';\nimport { AuditService } from 'jslib/services/audit.service';\nimport { AuthService } from 'jslib/services/auth.service';\nimport { CipherService } from 'jslib/services/cipher.service';\nimport { CollectionService } from 'jslib/services/collection.service';\nimport { ConstantsService } from 'jslib/services/constants.service';\nimport { ContainerService } from 'jslib/services/container.service';\nimport { CryptoService } from 'jslib/services/crypto.service';\nimport { EnvironmentService } from 'jslib/services/environment.service';\nimport { ExportService } from 'jslib/services/export.service';\nimport { FolderService } from 'jslib/services/folder.service';\nimport { LockService } from 'jslib/services/lock.service';\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\nimport { SettingsService } from 'jslib/services/settings.service';\nimport { StateService } from 'jslib/services/state.service';\nimport { SyncService } from 'jslib/services/sync.service';\nimport { TokenService } from 'jslib/services/token.service';\nimport { TotpService } from 'jslib/services/totp.service';\nimport { UserService } from 'jslib/services/user.service';\nimport { WebCryptoFunctionService } from 'jslib/services/webCryptoFunction.service';\n\nimport { ApiService as ApiServiceAbstraction } from 'jslib/abstractions/api.service';\nimport { AppIdService as AppIdServiceAbstraction } from 'jslib/abstractions/appId.service';\nimport { AuditService as AuditServiceAbstraction } from 'jslib/abstractions/audit.service';\nimport { AuthService as AuthServiceAbstraction } from 'jslib/abstractions/auth.service';\nimport { CipherService as CipherServiceAbstraction } from 'jslib/abstractions/cipher.service';\nimport { CollectionService as CollectionServiceAbstraction } from 'jslib/abstractions/collection.service';\nimport { CryptoService as CryptoServiceAbstraction } from 'jslib/abstractions/crypto.service';\nimport { CryptoFunctionService as CryptoFunctionServiceAbstraction } from 'jslib/abstractions/cryptoFunction.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from 'jslib/abstractions/environment.service';\nimport { ExportService as ExportServiceAbstraction } from 'jslib/abstractions/export.service';\nimport { FolderService as FolderServiceAbstraction } from 'jslib/abstractions/folder.service';\nimport { I18nService as I18nServiceAbstraction } from 'jslib/abstractions/i18n.service';\nimport { LockService as LockServiceAbstraction } from 'jslib/abstractions/lock.service';\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\nimport { SettingsService as SettingsServiceAbstraction } from 'jslib/abstractions/settings.service';\nimport { StateService as StateServiceAbstraction } from 'jslib/abstractions/state.service';\nimport { StorageService as StorageServiceAbstraction } from 'jslib/abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from 'jslib/abstractions/sync.service';\nimport { TokenService as TokenServiceAbstraction } from 'jslib/abstractions/token.service';\nimport { TotpService as TotpServiceAbstraction } from 'jslib/abstractions/totp.service';\nimport { UserService as UserServiceAbstraction } from 'jslib/abstractions/user.service';\n\nconst i18nService = new I18nService(window.navigator.language, 'locales');\nconst stateService = new StateService();\nconst broadcasterService = new BroadcasterService();\nconst messagingService = new BroadcasterMessagingService(broadcasterService);\nconst platformUtilsService = new WebPlatformUtilsService(i18nService);\nconst storageService: StorageServiceAbstraction = new HtmlStorageService();\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\n platformUtilsService);\nconst cryptoService = new CryptoService(storageService,\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService);\nconst tokenService = new TokenService(storageService);\nconst appIdService = new AppIdService(storageService);\nconst apiService = new ApiService(tokenService, platformUtilsService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst environmentService = new EnvironmentService(apiService, storageService);\nconst userService = new UserService(tokenService, storageService);\nconst settingsService = new SettingsService(userService, storageService);\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\n apiService, storageService, i18nService, platformUtilsService);\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\n i18nService, cipherService);\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\nconst lockService = new LockService(cipherService, folderService, collectionService,\n cryptoService, platformUtilsService, storageService, messagingService, null);\nconst syncService = new SyncService(userService, apiService, settingsService,\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService);\nconst totpService = new TotpService(storageService, cryptoFunctionService);\nconst containerService = new ContainerService(cryptoService, platformUtilsService);\nconst authService = new AuthService(cryptoService, apiService,\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService);\nconst exportService = new ExportService(folderService, cipherService, apiService);\nconst auditService = new AuditService(cryptoFunctionService, apiService);\n\nconst analytics = new Analytics(window, () => platformUtilsService.isDev() || platformUtilsService.isSelfHost(),\n platformUtilsService, storageService, appIdService);\ncontainerService.attachToWindow(window);\n\nexport function initFactory(): Function {\n return async () => {\n const isDev = platformUtilsService.isDev();\n if (!isDev && platformUtilsService.isSelfHost()) {\n environmentService.baseUrl = window.location.origin;\n }\n await apiService.setUrls({\n base: isDev ? null : window.location.origin,\n api: isDev ? 'http://localhost:4000' : null,\n identity: isDev ? 'http://localhost:33656' : null,\n });\n\n lockService.init(true);\n const locale = await storageService.get(ConstantsService.localeKey);\n await i18nService.init(locale);\n await authService.init();\n const htmlEl = window.document.documentElement;\n htmlEl.classList.add('locale_' + i18nService.translationLocale);\n let theme = await storageService.get(ConstantsService.themeKey);\n if (theme == null) {\n theme = 'light';\n }\n htmlEl.classList.add('theme_' + theme);\n stateService.save(ConstantsService.disableFaviconKey,\n await storageService.get(ConstantsService.disableFaviconKey));\n };\n}\n\n@NgModule({\n imports: [\n ToasterModule,\n ],\n declarations: [],\n providers: [\n ValidationService,\n AuthGuardService,\n OrganizationGuardService,\n OrganizationTypeGuardService,\n UnauthGuardService,\n RouterService,\n EventService,\n { provide: AuditServiceAbstraction, useValue: auditService },\n { provide: AuthServiceAbstraction, useValue: authService },\n { provide: CipherServiceAbstraction, useValue: cipherService },\n { provide: FolderServiceAbstraction, useValue: folderService },\n { provide: CollectionServiceAbstraction, useValue: collectionService },\n { provide: EnvironmentServiceAbstraction, useValue: environmentService },\n { provide: TotpServiceAbstraction, useValue: totpService },\n { provide: TokenServiceAbstraction, useValue: tokenService },\n { provide: I18nServiceAbstraction, useValue: i18nService },\n { provide: CryptoServiceAbstraction, useValue: cryptoService },\n { provide: PlatformUtilsServiceAbstraction, useValue: platformUtilsService },\n { provide: PasswordGenerationServiceAbstraction, useValue: passwordGenerationService },\n { provide: ApiServiceAbstraction, useValue: apiService },\n { provide: SyncServiceAbstraction, useValue: syncService },\n { provide: UserServiceAbstraction, useValue: userService },\n { provide: MessagingServiceAbstraction, useValue: messagingService },\n { provide: BroadcasterService, useValue: broadcasterService },\n { provide: SettingsServiceAbstraction, useValue: settingsService },\n { provide: LockServiceAbstraction, useValue: lockService },\n { provide: StorageServiceAbstraction, useValue: storageService },\n { provide: StateServiceAbstraction, useValue: stateService },\n { provide: ExportServiceAbstraction, useValue: exportService },\n {\n provide: APP_INITIALIZER,\n useFactory: initFactory,\n deps: [],\n multi: true,\n },\n {\n provide: LOCALE_ID,\n useFactory: () => i18nService.translationLocale,\n deps: [],\n },\n ],\n})\nexport class ServicesModule {\n}\n","\r\n\r\n","
\n
\n
\n
\n

{{'updateEncryptionKey' | i18n}}

\n \n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}} {{'updateEncryptionKeyDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n {{'updateEncryptionKeyWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n YubiKey\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorYubikeyWarning' | i18n}}

\n
    \n
  • {{'twoFactorYubikeySupportUsb' | i18n}}
  • \n
  • {{'twoFactorYubikeySupportMobile' | i18n}}
  • \n
\n
\n \"\"\n

{{'twoFactorYubikeyAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorYubikeyPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorYubikeySelectKey' | i18n}}
  4. \n
  5. {{'twoFactorYubikeyTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorYubikeySaveForm' | i18n}}
  8. \n
\n
\n
\n
\n \n \n
\n {{k.existingKey}}\n \n
\n
\n
\n {{'nfcSupport' | i18n}}\n
\n \n \n
\n {{'twoFactorYubikeySupportsNfcDesc' | i18n}}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n FIDO U2F\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorU2fWarning' | i18n}}

\n
    \n
  • {{'twoFactorU2fSupportWeb' | i18n}}
  • \n
\n
\n \n \"\"\n

{{'twoFactorU2fAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorU2fPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorU2fTouchButton' | i18n}}
  4. \n
\n
\n
\n \n

\n \n

\n {{'twoFactorU2fWaiting' | i18n}}...\n
\n \n

\n \n

\n {{'twoFactorU2fClickEnable' | i18n}}\n
\n \n

\n \n

\n {{'twoFactorU2fProblemReading' | i18n}}\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'recoveryCodeTitle' | i18n}}\n

\n \n
\n \n \n \n
\n \n

{{'twoFactorRecoveryYourCode' | i18n}}:

\n {{code}}\n
\n \n {{'twoFactorRecoveryNoCode' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'twoStepOptions' | i18n}}

\n \n
\n \n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'emailTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n {{'email' | i18n}}: {{email}}\n \n \n

\n {{'twoFactorEmailDesc' | i18n}}\n \"\"\n

\n
\n \n \n
\n
\n \n \n {{'verificationCodeEmailSent' | i18n : sentEmail}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n Duo\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \"\"\n {{'twoFactorDuoIntegrationKey' | i18n}}: {{ikey}}\n
\n {{'twoFactorDuoSecretKey' | i18n}}: {{skey}}\n
\n {{'twoFactorDuoApiHostname' | i18n}}: {{host}}\n
\n \n \"\"\n

{{'twoFactorDuoDesc' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'authenticatorAppTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \"\"\n

{{'twoStepAuthenticatorDesc' | i18n}}

\n

\n 1. {{'twoStepAuthenticatorDownloadApp' | i18n}}\n

\n
\n \n \n

{{'twoStepLoginProviderEnabled' | i18n}}

\n {{'twoStepAuthenticatorReaddDesc' | i18n}}\n
\n \"\"\n

{{'twoStepAuthenticatorNeedApp' | i18n}}

\n
\n \n

{{'twoStepAuthenticatorAppsRecommended' | i18n}}

\n

\n 2. {{'twoStepAuthenticatorScanCode' | i18n}}\n

\n
\n

\n
\n {{key}}\n

\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'share' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'shareDesc' | i18n}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'purgeVault' | i18n}}

\n \n
\n
\n

{{'purgeVaultDesc' | i18n}}

\n {{'purgeVaultWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'passwordHistory' | i18n}}

\n \n
\n
    \n
  • \n
    \n
    {{h.password}}
    \n {{h.date | date:'medium'}}\n
    \n
    \n \n
    \n
  • \n
\n
\n {{'noPasswordsInList' | i18n}}\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'groupAccess' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n

{{'groupAccessUserDesc' | i18n}}

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{g.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{title}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n \n

{{'inviteUserDesc' | i18n}}

\n
\n \n \n {{'inviteMultipleEmailDesc' | i18n : '20'}}\n
\n
\n

{{'userType' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdGroupDesc' | i18n}}\n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'userAccess' | i18n}}\n {{entityName}}\n

\n \n
\n
\n \n
\n
\n \n {{'noUsersInList' | i18n}}\n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n \n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'eventLogs' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n
\n {{'noEventsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'collections' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'collectionsDesc' | i18n}}

\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n

\n {{'groupAccess' | i18n}}\n
\n \n \n
\n

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n \n {{g.name}}\n \n \n \n \n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'attachments' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n {{a.fileName}}\n
\n {{a.sizeName}}\n
\n \n
\n

{{'newAttachment' | i18n}}

\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n {{totpSec}}\n \n \n \n \n \n \n \n {{totpCodeFormatted}}\n \n
\n
\n
\n \n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n \n {{'newUri' | i18n}}\n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

{{'customFields' | i18n}}

\n \n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n {{'newCustomField' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n","","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteOrganization' | i18n}}

\n \n
\n
\n

{{'deleteOrganizationDesc' | i18n}}

\n {{'deleteOrganizationWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteAccount' | i18n}}

\n \n
\n
\n

{{'deleteAccountDesc' | i18n}}

\n {{'deleteAccountWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deauthorizeSessions' | i18n}}

\n \n
\n
\n

{{'deauthorizeSessionsDesc' | i18n}}

\n {{'deauthorizeSessionsWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'shareSelected' | i18n}}\n

\n \n
\n
\n

{{'shareManyDesc' | i18n}}

\n

{{'shareSelectedItemsDesc' | i18n: this.ciphers.length : shareableCiphers.length : nonShareableCount}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'moveSelected' | i18n}}\n

\n \n
\n
\n

{{'moveSelectedItemsDesc' | i18n: cipherIds.length}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'deleteSelected' | i18n}}\n

\n \n
\n
\n {{'deleteSelectedItemsDesc' | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\n
\n
\n","export class VerifyBankRequest {\n amount1: number;\n amount2: number;\n}\n","export class SeatRequest {\n seatAdjustment: number;\n}\n","
\n
\n

{{(add ? 'addSeats' : 'removeSeats') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{seatAdjustment || 0}} × {{seatPrice | currency:'$'}} = {{adjustedSeatTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'seatsAddNote' : 'seatsRemoveNote') | i18n}}\n \n
\n
\n","
\n

\n {{'billingAndLicensing' | i18n}}\n \n \n \n

\n
\n\n\n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'billingPlan' | i18n}}
\n
{{billing.plan}}
\n
{{'expiration' | i18n}}
\n
{{billing.expiration | date:'mediumDate'}}
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'billingPlan' | i18n}}
\n
{{billing.plan}}
\n \n
{{'status' | i18n}}
\n
\n {{subscription.status || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$'))\n : '-'}}\n
\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n \n
\n

{{'userSeats' | i18n}}

\n

{{'subscriptionUserSeats' | i18n : billing.seats}}

\n \n
\n
\n \n \n
\n \n
\n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : billing.maxStorageGb || 0 : billing.storageName || '0 MB'}}

\n
\n
{{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n \n \n

{{'verifyBankAccountDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}

\n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n

\n \n {{paymentSource.description}}\n

\n
\n \n \n \n

{{'charges' | i18n}}

\n

{{'noCharges' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.createdDate | date:'mediumDate'}}{{c.paymentSource ? c.paymentSource.description : '-'}}{{c.status}}{{c.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n
\n","
\n

{{'twoStepLogin' | i18n}}

\n
\n

{{'twoStepLoginDesc' | i18n}}

\n

{{'twoStepLoginOrganizationDesc' | i18n}}

\n\n

{{'twoStepLoginRecoveryWarning' | i18n}}

\n \n
\n

\n {{'providers' | i18n}}\n \n \n \n

\n\n\n\n\n\n\n\n\n","export class OrganizationUpdateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n}\n","
\n

{{'myOrganization' | i18n}}

\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n

{{'taxInformation' | i18n}}

\n
\n
\n
{{org.businessAddress1}}
\n
{{org.businessAddress2}}
\n
{{org.businessAddress3}}
\n
{{org.businessCountry}}
\n
{{org.businessTaxNumber}}
\n
\n

{{'taxInformationDesc' | i18n}}

\n\n {{'contactSupport' | i18n}}\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n
\n
\n\n","
\n \n
\n","export class OrganizationUserUpdateGroupsRequest {\n groupIds: string[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserUpdateRequest {\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserInviteRequest {\n emails: string[] = [];\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","export class OrganizationUserConfirmRequest {\n key: string;\n}\n","
\n

{{'people' | i18n}}

\n
\n
\n \n \n \n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noUsersInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n\n\n\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class GroupRequest {\n name: string;\n accessAll: boolean;\n externalId: string;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","
\n

{{'groups' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noGroupsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{g.name}}\n \n \n
\n
\n\n\n","
\n

{{'eventLogs' | i18n}}

\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n\n\n

{{'noEventsInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n","
\n

{{'collections' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noCollectionsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{c.name}}\n \n \n
\n
\n\n\n","
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n","
\n
\n

{{'exportVault' | i18n}}

\n
\n

{{'exportMasterPassword' | i18n}}

\n {{'exportWarning' | i18n}}\n
\n
\n \n \n
\n
\n \n
\n","import { CipherRequest } from './cipherRequest';\nimport { CollectionRequest } from './collectionRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportOrganizationCiphersRequest {\n ciphers: CipherRequest[] = [];\n collections: CollectionRequest[] = [];\n collectionRelationships: Array> = [];\n}\n","
\n

{{'importData' | i18n}}

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/export-your-data/\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-lastpass/\n \n \n Using the KeePassX desktop application, navigate to \"Database\" → \"Export to CSV file\" and save the CSV file.\n \n \n In the Avira web vault, go to \"Settings\" → \"My Data\" → \"Export data\" and save the CSV file.\n \n \n In the Blur web vault, click your username at the top and go to \"Settings\" → \"Export Data\", then click \"Export CSV\"\n for your \"Accounts\".\n \n \n Using the SaveInCloud desktop application, navigate to \"File\" → \"Export\" → \"As XML\" and save the XML file.\n \n \n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to \"Settings\" →\n \"Export\" button and save the file \"As CSV\".\n \n \n Using the KeePass 2 desktop application, navigate to \"File\" → \"Export\" and select the \"KeePass XML (2.x)\" option.\n \n \n Using the Universal Password Manager desktop application, navigate to \"Database\" → \"Export\" and save the CSV file.\n \n \n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to \"Settings\". Click\n the \"Export accounts\" button to save the CSV file.\n \n \n Using the Meldium web vault, navigate to \"Settings\". Locate the \"Export data\" function and click \"Show me my data\" to save\n the CSV file.\n \n \n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to \"Backup\" (top right) and find the \"Export to .csv File\"\n option. Click \"Export Now\" to save the CSV file.\n \n \n \n The process is exactly the same as importing from Google Chrome.\n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-chrome/\n \n \n Use the\n FF Password Exporter application to export your passwords to a CSV file.\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-1password/.\n \n \n Using the Password Dragon desktop application, navigate to \"File\" → \"Export\" → \"To XML\". In the dialog that pops\n up select \"All Rows\" and check all fields. Click the \"Export\" button and save the XML file.\n \n \n Using the Enpass desktop application, navigate to \"File\" → \"Export\" → \"As CSV\". Select \"OK\" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n \n \n Using the Password Safe desktop application, navigate to \"File\" → \"Export To\" → \"XML format...\" and save the XML\n file.\n \n \n Using the Dashlane desktop application, navigate to \"File\" → \"Export\" → \"Unsecured archive (readable) in CSV format\"\n and save the CSV file.\n \n \n Using the mSecure desktop application, navigate to \"File\" → \"Export\" → \"CSV File...\" and save the CSV file.\n \n \n Using the Sticky Password desktop application, navigate to \"Menu\" (top right) → \"Export\" → \"Export all\". Select\n the unencrypted format XML option and save the XML file.\n \n \n Using the True Key desktop application, click the gear icon (top right) and then navigate to \"App Settings\". Click the \"Export\"\n button, enter your password and save the CSV file.\n \n \n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to \"Data\" → \"Export\". Click the \"download HTML+JSON\" button to save the HTML file.\n \n \n Using the RoboForm Editor desktop application, navigate to \"RoboForm\" (top left) → \"Options\" → \"Account & Data\"\n and click the \"Export\" button. Select all of your data, change the \"Format\" to \"CSV file\" and then click the\n \"Export\" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n \n \n Log into the Passbolt web vault and navigate to the \"Passwords\" listing. Select all of the passwords you would like to export\n and click the \"Export\" button at the top of the listing. Choose the \"csv (lastpass)\" export format and click\n the \"Export\" button.\n \n \n Using the Ascendo DataVault desktop application, navigate to \"Tools\" → \"Export\". In the dialog that pops up, select\n the \"All Items (DVX, CSV)\" option. Click the \"Ok\" button to save the CSV file.\n \n \n Using the Password Boss desktop application, navigate to \"File\" → \"Export data\" → \"Password Boss JSON - not encrypted\"\n and save the JSON file.\n \n \n Log into the Zoho web vault (vault.zoho.com). Navigate to \"Tools\" → \"Export Secrets\". Select \"All Secrets\" and click\n the \"Zoho Vault Format CSV\" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n zoho_export.csv.\n \n \n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to \"Export\"\n → \"Export as CSV\" and save the CSV file.\n \n \n Using the PassKeep mobile app, navigate to \"Backup/Restore\". Locate the \"CSV Backup/Restore\" section and click \"Backup to\n CSV\" to save the CSV file.\n \n \n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n GNOME Keyring Import/Export python script to your desktop as\n pw_helper.py. Open terminal and run\n chmod +rx Desktop/pw_helper.py and then\n python Desktop/pw_helper.py export Desktop/my_passwords.json. Then upload the resulting\n my_passwords.json file here to Bitwarden.\n \n \n Using the Password Agent desktop application navigate to \"File\" → \"Export\", select the \"Fields to export\" button and\n check all of the fields, change the \"Output format\" to \"CSV\", and then click the \"Start\" button to save the CSV\n file.\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n","
\r\n
\r\n
\r\n
\r\n
{{'tools' | i18n}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","export enum EventType {\n User_LoggedIn = 1000,\n User_ChangedPassword = 1001,\n User_Enabled2fa = 1002,\n User_Disabled2fa = 1003,\n User_Recovered2fa = 1004,\n User_FailedLogIn = 1005,\n User_FailedLogIn2fa = 1006,\n\n Cipher_Created = 1100,\n Cipher_Updated = 1101,\n Cipher_Deleted = 1102,\n Cipher_AttachmentCreated = 1103,\n Cipher_AttachmentDeleted = 1104,\n Cipher_Shared = 1105,\n Cipher_UpdatedCollections = 1106,\n\n Collection_Created = 1300,\n Collection_Updated = 1301,\n Collection_Deleted = 1302,\n\n Group_Created = 1400,\n Group_Updated = 1401,\n Group_Deleted = 1402,\n\n OrganizationUser_Invited = 1500,\n OrganizationUser_Confirmed = 1501,\n OrganizationUser_Updated = 1502,\n OrganizationUser_Removed = 1503,\n OrganizationUser_UpdatedGroups = 1504,\n\n Organization_Updated = 1600,\n\n}\n","\n 0\">\n \n \n \n \n \n \n \n \n
\n \n \n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n
\n
\n \n \n

{{'noItemsInList' | i18n}}

\n \n
\n
\n
\n","
\n
\n Filters\n
\n
\n \n \n

{{'types' | i18n}}

\n \n

\n \n

\n \n \n

\n {{'folders' | i18n}}\n \n \n \n

\n \n
\n \n

{{'collections' | i18n}}

\n \n
\n
\n
\n
\n","
\n
\n
\n \n \n
\n
\n
\n

{{'vault' | i18n}}

\n \n
\n \n \n
\n
\n
\n\n\n\n\n","\n
\n
\n
\n \n
\n {{organization.name}}\n {{'organization' | i18n}}\n
\n
\n \n
\n
\n\n\n","
\n

{{'dataBreachReport' | i18n}}

\n
\n

{{'breachDesc' | i18n}}

\n
\n
\n
\n \n \n {{'breachCheckUsernameEmail' | i18n}}\n
\n
\n \n
\n
\n

{{'reportError' | i18n}}...

\n \n \n {{'breachUsernameNotFound' | i18n : checkedUsername}}\n \n \n {{'breachUsernameFound' | i18n : checkedUsername : breachedAccounts.length}}\n \n
    \n
  • \n
    \n
    \n \"\"\n
    \n
    \n

    {{a.title}}

    \n

    \n

    {{'compromisedData' | i18n}}:

    \n
      \n
    • {{d}}
    • \n
    \n
    \n
    \n
    \n
    {{'website' | i18n}}
    \n
    {{a.domain}}
    \n
    {{'affectedUsers' | i18n}}
    \n
    {{a.pwnCount | number}}
    \n
    {{'breachOccurred' | i18n}}
    \n
    {{a.breachDate | date: 'mediumDate'}}
    \n
    {{'breachReported' | i18n}}
    \n
    {{a.addedDate | date: 'mediumDate'}}
    \n
    \n
    \n
    \n
  • \n
\n
\n
\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { OnInit } from '@angular/core';\r\n\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { PasswordHistory } from '../../models/domain/passwordHistory';\r\n\r\nexport class PasswordGeneratorHistoryComponent implements OnInit {\r\n history: PasswordHistory[] = [];\r\n\r\n constructor(protected passwordGenerationService: PasswordGenerationService, protected analytics: Angulartics2,\r\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\r\n protected toasterService: ToasterService, private win: Window) { }\r\n\r\n async ngOnInit() {\r\n this.history = await this.passwordGenerationService.getHistory();\r\n }\r\n\r\n clear() {\r\n this.history = [];\r\n this.passwordGenerationService.clear();\r\n }\r\n\r\n copy(password: string) {\r\n this.analytics.eventTrack.next({ action: 'Copied Historical Password' });\n const copyOptions = this.win != null ? { doc: this.win.document } : null;\r\n this.platformUtilsService.copyToClipboard(password, copyOptions);\r\n this.toasterService.popAsync('info', null, this.i18nService.t('valueCopied', this.i18nService.t('password')));\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class PasswordGeneratorComponent implements OnInit {\n @Input() showSelect: boolean = false;\n @Output() onSelected = new EventEmitter();\n\n options: any = {};\n password: string = '-';\n showOptions = false;\n avoidAmbiguous = false;\n\n constructor(protected passwordGenerationService: PasswordGenerationService, protected analytics: Angulartics2,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n protected toasterService: ToasterService, private win: Window) { }\n\n async ngOnInit() {\n this.options = await this.passwordGenerationService.getOptions();\n this.avoidAmbiguous = !this.options.ambiguous;\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n this.analytics.eventTrack.next({ action: 'Generated Password' });\n await this.passwordGenerationService.addHistory(this.password);\n }\n\n async sliderChanged() {\n this.saveOptions(false);\n await this.passwordGenerationService.addHistory(this.password);\n this.analytics.eventTrack.next({ action: 'Regenerated Password' });\n }\n\n async sliderInput() {\n this.normalizeOptions();\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n }\n\n async saveOptions(regenerate: boolean = true) {\n this.normalizeOptions();\n await this.passwordGenerationService.saveOptions(this.options);\n\n if (regenerate) {\n await this.regenerate();\n }\n }\n\n async regenerate() {\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n await this.passwordGenerationService.addHistory(this.password);\n this.analytics.eventTrack.next({ action: 'Regenerated Password' });\n }\n\n copy() {\n this.analytics.eventTrack.next({ action: 'Copied Generated Password' });\n const copyOptions = this.win != null ? { doc: this.win.document } : null;\n this.platformUtilsService.copyToClipboard(this.password, copyOptions);\n this.toasterService.popAsync('info', null, this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n\n select() {\n this.analytics.eventTrack.next({ action: 'Selected Generated Password' });\n this.onSelected.emit(this.password);\n }\n\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n\n private normalizeOptions() {\n this.options.minLowercase = 0;\n this.options.minUppercase = 0;\n this.options.ambiguous = !this.avoidAmbiguous;\n\n if (!this.options.uppercase && !this.options.lowercase && !this.options.number && !this.options.special) {\n this.options.lowercase = true;\n const lowercase = document.querySelector('#lowercase') as HTMLInputElement;\n if (lowercase) {\n lowercase.checked = true;\n }\n }\n\n if (!this.options.length || this.options.length < 5) {\n this.options.length = 5;\n } else if (this.options.length > 128) {\n this.options.length = 128;\n }\n\n if (!this.options.minNumber) {\n this.options.minNumber = 0;\n } else if (this.options.minNumber > this.options.length) {\n this.options.minNumber = this.options.length;\n } else if (this.options.minNumber > 9) {\n this.options.minNumber = 9;\n }\n\n if (!this.options.minSpecial) {\n this.options.minSpecial = 0;\n } else if (this.options.minSpecial > this.options.length) {\n this.options.minSpecial = this.options.length;\n } else if (this.options.minSpecial > 9) {\n this.options.minSpecial = 9;\n }\n\n if (this.options.minSpecial + this.options.minNumber > this.options.length) {\n this.options.minSpecial = this.options.length - this.options.minNumber;\n }\n }\n}\n","
\n

{{'passwordGenerator' | i18n}}

\n
\n
\n
\n {{password}}\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n\n","import { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { ExportService } from '../../abstractions/export.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { UserService } from '../../abstractions/user.service';\n\nexport class ExportComponent {\n @Output() onSaved = new EventEmitter();\n\n formPromise: Promise;\n masterPassword: string;\n showPassword = false;\n\n constructor(protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected cryptoService: CryptoService, protected userService: UserService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected exportService: ExportService, protected win: Window) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n return;\n }\n\n const email = await this.userService.getEmail();\n const key = await this.cryptoService.makeKey(this.masterPassword, email);\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n const storedKeyHash = await this.cryptoService.getKeyHash();\n\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\n try {\n this.formPromise = this.getExportData();\n const data = await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Exported Data' });\n this.downloadFile(data);\n this.saved();\n } catch { }\n } else {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Export' });\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n\n protected saved() {\n this.onSaved.emit();\n }\n\n protected getExportData() {\n return this.exportService.getExport('csv');\n }\n\n protected getFileName(prefix?: string) {\n return this.exportService.getFileName(prefix);\n }\n\n private downloadFile(csv: string): void {\n const fileName = this.getFileName();\n this.platformUtilsService.saveFile(this.win, csv, { type: 'text/plain' }, fileName);\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view';\r\n\r\nexport class ZohoVaultCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value['Secret Name'])) {\r\n return;\r\n }\r\n this.processFolder(result, this.getValueOrDefault(value.ChamberName));\r\n const cipher = this.initLoginCipher();\r\n cipher.favorite = this.getValueOrDefault(value.Favorite, '0') === '1';\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(value['Secret Name'], '--');\r\n cipher.login.uris = this.makeUriArray(value['Secret URL']);\r\n this.parseData(cipher, value.SecretData);\r\n this.parseData(cipher, value.CustomData);\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseData(cipher: CipherView, data: string) {\r\n if (this.isNullOrWhitespace(data)) {\r\n return;\r\n }\r\n const dataLines = this.splitNewLine(data);\r\n dataLines.forEach((line) => {\r\n const delimPosition = line.indexOf(':');\r\n if (delimPosition < 0) {\r\n return;\r\n }\r\n const field = line.substring(0, delimPosition);\r\n const value = line.length > delimPosition ? line.substring(delimPosition + 1) : null;\r\n if (this.isNullOrWhitespace(field) || this.isNullOrWhitespace(value) || field === 'SecretType') {\r\n return;\r\n }\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.username == null && this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = value;\r\n } else if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = value;\r\n } else {\r\n this.processKvp(cipher, field, value);\r\n }\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class UpmCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length !== 5) {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.notes = this.getValueOrDefault(value[4]);\n cipher.login.username = this.getValueOrDefault(value[1]);\n cipher.login.password = this.getValueOrDefault(value[2]);\n cipher.login.uris = this.makeUriArray(value[3]);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst PropertiesToIgnore = ['kind', 'autologin', 'favorite', 'hexcolor', 'protectedwithpassword', 'subdomainonly',\n 'type', 'tk_export_version', 'note', 'title', 'document_content',\n];\n\nexport class TrueKeyCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.favorite, '').toLowerCase() === 'true';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.notes = this.getValueOrDefault(value.memo, '');\n cipher.login.username = this.getValueOrDefault(value.login);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n\n if (value.kind !== 'login') {\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.note, '');\n }\n\n if (value.kind === 'cc') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\n cipher.card.number = this.getValueOrDefault(value.number);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n if (!this.isNullOrWhitespace(value.expiryDate)) {\n try {\n const expDate = new Date(value.expiryDate);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n }\n } else if (value.kind !== 'login') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n if (!this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = this.getValueOrDefault(value.document_content, '');\n }\n for (const property in value) {\n if (value.hasOwnProperty(property) && PropertiesToIgnore.indexOf(property.toLowerCase()) < 0 &&\n !this.isNullOrWhitespace(value[property])) {\n this.processKvp(cipher, property, value[property]);\n }\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class StickyPasswordXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const loginNodes = doc.querySelectorAll('root > Database > Logins > Login');\r\n Array.from(loginNodes).forEach((loginNode) => {\r\n const accountId = loginNode.getAttribute('ID');\r\n if (this.isNullOrWhitespace(accountId)) {\r\n return;\r\n }\r\n\r\n const usernameText = loginNode.getAttribute('Name');\r\n const passwordText = loginNode.getAttribute('Password');\r\n let titleText: string = null;\r\n let linkText: string = null;\r\n let notesText: string = null;\r\n let groupId: string = null;\r\n let groupText: string = null;\r\n\r\n const accountLogin = doc.querySelector('root > Database > Accounts > Account > ' +\r\n 'LoginLinks > Login[SourceLoginID=\"' + accountId + '\"]');\r\n if (accountLogin != null) {\r\n const account = accountLogin.parentElement.parentElement;\r\n if (account != null) {\r\n titleText = account.getAttribute('Name');\r\n linkText = account.getAttribute('Link');\r\n groupId = account.getAttribute('ParentID');\r\n notesText = account.getAttribute('Comments');\r\n if (!this.isNullOrWhitespace(notesText)) {\r\n notesText = notesText.split('/n').join('\\n');\r\n }\r\n }\r\n }\r\n\r\n if (!this.isNullOrWhitespace(groupId)) {\r\n groupText = this.buildGroupText(doc, groupId, '');\r\n this.processFolder(result, groupText);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(titleText, '--');\r\n cipher.notes = this.getValueOrDefault(notesText);\r\n cipher.login.username = this.getValueOrDefault(usernameText);\r\n cipher.login.password = this.getValueOrDefault(passwordText);\r\n cipher.login.uris = this.makeUriArray(linkText);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n buildGroupText(doc: Document, groupId: string, groupText: string): string {\r\n const group = doc.querySelector('root > Database > Groups > Group[ID=\"' + groupId + '\"]');\r\n if (group == null) {\r\n return groupText;\r\n }\r\n if (!this.isNullOrWhitespace(groupText)) {\r\n groupText = '/' + groupText;\r\n }\r\n groupText = group.getAttribute('Name') + groupText;\r\n return this.buildGroupText(doc, group.getAttribute('ParentID'), groupText);\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view/cipherView';\r\n\r\nexport class SplashIdCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 3) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, this.getValueOrDefault(value[value.length - 1]));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 2], '');\r\n cipher.name = this.getValueOrDefault(value[1], '--');\r\n\r\n if (value[0] === 'Web Logins' || value[0] === 'Servers' || value[0] === 'Email Accounts') {\r\n cipher.login.username = this.getValueOrDefault(value[2]);\r\n cipher.login.password = this.getValueOrDefault(value[3]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n this.parseFieldsToNotes(cipher, 5, value);\r\n } else {\r\n this.parseFieldsToNotes(cipher, 2, value);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseFieldsToNotes(cipher: CipherView, startIndex: number, value: any) {\r\n // last 3 rows do not get parsed\r\n for (let i = startIndex; i < value.length - 3; i++) {\r\n if (this.isNullOrWhitespace(value[i])) {\r\n continue;\r\n }\r\n cipher.notes += (value[i] + '\\n');\r\n }\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class SaferPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.url), '--');\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class SafeInCloudXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const db = doc.querySelector('database');\n if (db == null) {\n result.errorMessage = 'Missing `database` node.';\n result.success = false;\n return result;\n }\n\n const foldersMap = new Map();\n\n Array.from(doc.querySelectorAll('database > label')).forEach((labelEl) => {\n const name = labelEl.getAttribute('name');\n const id = labelEl.getAttribute('id');\n if (!this.isNullOrWhitespace(name) && !this.isNullOrWhitespace(id)) {\n foldersMap.set(id, result.folders.length);\n const folder = new FolderView();\n folder.name = name;\n result.folders.push(folder);\n }\n });\n\n Array.from(doc.querySelectorAll('database > card')).forEach((cardEl) => {\n if (cardEl.getAttribute('template') === 'true') {\n return;\n }\n\n const labelIdEl = this.querySelectorDirectChild(cardEl, 'label_id');\n if (labelIdEl != null) {\n const labelId = labelIdEl.textContent;\n if (!this.isNullOrWhitespace(labelId) && foldersMap.has(labelId)) {\n result.folderRelationships.push([result.ciphers.length, foldersMap.get(labelId)]);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(cardEl.getAttribute('title'), '--');\n\n const cardType = cardEl.getAttribute('type');\n if (cardType === 'note') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else {\n Array.from(this.querySelectorAllDirectChild(cardEl, 'field')).forEach((fieldEl) => {\n const text = fieldEl.textContent;\n if (this.isNullOrWhitespace(text)) {\n return;\n }\n const name = fieldEl.getAttribute('name');\n const fieldType = this.getValueOrDefault(fieldEl.getAttribute('type'), '').toLowerCase();\n if (fieldType === 'login') {\n cipher.login.username = text;\n } else if (fieldType === 'password') {\n cipher.login.password = text;\n } else if (fieldType === 'notes') {\n cipher.notes += (text + '\\n');\n } else if (fieldType === 'weblogin' || fieldType === 'website') {\n cipher.login.uris = this.makeUriArray(text);\n } else {\n this.processKvp(cipher, name, text);\n }\n });\n }\n\n Array.from(this.querySelectorAllDirectChild(cardEl, 'notes')).forEach((notesEl) => {\n cipher.notes += (notesEl.textContent + '\\n');\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class RoboFormCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n let i = 1;\r\n results.forEach((value) => {\r\n const folder = !this.isNullOrWhitespace(value.Folder) && value.Folder.startsWith('/') ?\r\n value.Folder.replace('/', '') : value.Folder;\r\n const folderName = !this.isNullOrWhitespace(folder) ? folder : null;\r\n this.processFolder(result, folderName);\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Note);\r\n cipher.name = this.getValueOrDefault(value.Name, '--');\r\n cipher.login.username = this.getValueOrDefault(value.Login);\r\n cipher.login.password = this.getValueOrDefault(value.Pwd);\r\n cipher.login.uris = this.makeUriArray(value.Url);\r\n this.cleanupCipher(cipher);\r\n\r\n if (i === results.length && cipher.name === '--' && this.isNullOrWhitespace(cipher.login.password)) {\r\n return;\r\n }\r\n result.ciphers.push(cipher);\r\n i++;\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordSafeXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const passwordSafe = doc.querySelector('passwordsafe');\r\n if (passwordSafe == null) {\r\n result.errorMessage = 'Missing `passwordsafe` node.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const notesDelimiter = passwordSafe.getAttribute('delimiter');\r\n const entries = doc.querySelectorAll('passwordsafe > entry');\r\n Array.from(entries).forEach((entry) => {\r\n const group = this.querySelectorDirectChild(entry, 'group');\r\n const groupText = group != null && !this.isNullOrWhitespace(group.textContent) ?\r\n group.textContent.split('.').join('/') : null;\r\n this.processFolder(result, groupText);\r\n\r\n const title = this.querySelectorDirectChild(entry, 'title');\r\n const username = this.querySelectorDirectChild(entry, 'username');\r\n const email = this.querySelectorDirectChild(entry, 'email');\r\n const password = this.querySelectorDirectChild(entry, 'password');\r\n const url = this.querySelectorDirectChild(entry, 'url');\r\n const notes = this.querySelectorDirectChild(entry, 'notes');\r\n const cipher = this.initLoginCipher();\r\n cipher.name = title != null ? this.getValueOrDefault(title.textContent, '--') : '--';\r\n cipher.notes = notes != null ?\r\n this.getValueOrDefault(notes.textContent, '').split(notesDelimiter).join('\\n') : null;\r\n cipher.login.username = username != null ? this.getValueOrDefault(username.textContent) : null;\r\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\r\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\r\n\r\n if (this.isNullOrWhitespace(cipher.login.username) && email != null) {\r\n cipher.login.username = this.getValueOrDefault(email.textContent);\r\n } else if (email != null && !this.isNullOrWhitespace(email.textContent)) {\r\n cipher.notes = this.isNullOrWhitespace(cipher.notes) ? 'Email: ' + email.textContent\r\n : (cipher.notes + '\\n' + 'Email: ' + email.textContent);\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordDragonXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const records = doc.querySelectorAll('PasswordManager > record');\n Array.from(records).forEach((record) => {\n const category = this.querySelectorDirectChild(record, 'Category');\n const categoryText = category != null && !this.isNullOrWhitespace(category.textContent) &&\n category.textContent !== 'Unfiled' ? category.textContent : null;\n this.processFolder(result, categoryText);\n\n const accountName = this.querySelectorDirectChild(record, 'Account-Name');\n const userId = this.querySelectorDirectChild(record, 'User-Id');\n const password = this.querySelectorDirectChild(record, 'Password');\n const url = this.querySelectorDirectChild(record, 'URL');\n const notes = this.querySelectorDirectChild(record, 'Notes');\n const cipher = this.initLoginCipher();\n cipher.name = accountName != null ? this.getValueOrDefault(accountName.textContent, '--') : '--';\n cipher.notes = notes != null ? this.getValueOrDefault(notes.textContent) : '';\n cipher.login.username = userId != null ? this.getValueOrDefault(userId.textContent) : null;\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\n\n const attributes: string[] = [];\n for (let i = 1; i <= 10; i++) {\n attributes.push('Attribute-' + i);\n }\n\n this.querySelectorAllDirectChild(record, attributes.join(',')).forEach((attr) => {\n if (this.isNullOrWhitespace(attr.textContent) || attr.textContent === 'null') {\n return;\n }\n this.processKvp(cipher, attr.tagName, attr.textContent);\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nexport class PasswordBossJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value: any) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.login.uris = this.makeUriArray(value.login_url);\r\n\r\n if (value.identifiers == null) {\r\n return;\r\n }\r\n\r\n if (!this.isNullOrWhitespace(value.identifiers.notes)) {\r\n cipher.notes = value.identifiers.notes.split('\\\\r\\\\n').join('\\n').split('\\\\n').join('\\n');\r\n }\r\n\r\n if (value.type === 'CreditCard') {\r\n cipher.card = new CardView();\r\n cipher.type = CipherType.Card;\r\n }\r\n\r\n for (const property in value.identifiers) {\r\n if (!value.identifiers.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n const valObj = value.identifiers[property];\r\n const val = valObj != null ? valObj.toString() : null;\r\n if (this.isNullOrWhitespace(val) || property === 'notes' || property === 'ignoreItemInSecurityScore') {\r\n continue;\r\n }\r\n\r\n if (cipher.type === CipherType.Card) {\r\n if (property === 'cardNumber') {\r\n cipher.card.number = val;\r\n cipher.card.brand = this.getCardBrand(val);\r\n continue;\r\n } else if (property === 'nameOnCard') {\r\n cipher.card.cardholderName = val;\r\n continue;\r\n } else if (property === 'security_code') {\r\n cipher.card.code = val;\r\n continue;\r\n } else if (property === 'expires') {\r\n try {\r\n const expDate = new Date(val);\r\n cipher.card.expYear = expDate.getFullYear().toString();\r\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\r\n } catch { }\r\n continue;\r\n } else if (property === 'cardType') {\r\n continue;\r\n }\r\n } else {\r\n if (property === 'username') {\r\n cipher.login.username = val;\r\n continue;\r\n } else if (property === 'password') {\r\n cipher.login.password = val;\r\n continue;\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(property) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n continue;\r\n }\r\n }\r\n\r\n this.processKvp(cipher, property, val);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordAgentCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 9) {\r\n return;\r\n }\r\n const folder = this.getValueOrDefault(value[8], '(None)');\r\n const folderName = folder !== '(None)' ? folder.split('\\\\').join('/') : null;\r\n this.processFolder(result, folderName);\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[3]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n cipher.login.username = this.getValueOrDefault(value[1]);\r\n cipher.login.password = this.getValueOrDefault(value[2]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PassKeepCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n this.processFolder(result, this.getValue('category', value));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValue('description', value);\r\n cipher.name = this.getValueOrDefault(this.getValue('title', value), '--');\r\n cipher.login.username = this.getValue('username', value);\r\n cipher.login.password = this.getValue('password', value);\r\n cipher.login.uris = this.makeUriArray(this.getValue('site', value));\r\n this.processKvp(cipher, 'Password 2', this.getValue('password2', value));\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private getValue(key: string, value: any) {\r\n return this.getValueOrDefault(value[key], this.getValueOrDefault(value[(' ' + key)]));\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nexport class PadlockCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let headers: string[] = null;\n results.forEach((value) => {\n if (headers == null) {\n headers = value.map((v: string) => v);\n return;\n }\n\n if (value.length < 2 || value.length !== headers.length) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value[1])) {\n if (this.organization) {\n const tags = (value[1] as string).split(',');\n tags.forEach((tag) => {\n tag = tag.trim();\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === tag) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = tag;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else {\n const tags = (value[1] as string).split(',');\n const tag = tags.length > 0 ? tags[0].trim() : null;\n this.processFolder(result, tag);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n for (let i = 2; i < value.length; i++) {\n const header = headers[i].trim().toLowerCase();\n if (this.isNullOrWhitespace(value[i]) || this.isNullOrWhitespace(header)) {\n continue;\n }\n\n if (this.usernameFieldNames.indexOf(header) > -1) {\n cipher.login.username = value[i];\n } else if (this.passwordFieldNames.indexOf(header) > -1) {\n cipher.login.password = value[i];\n } else if (this.uriFieldNames.indexOf(header) > -1) {\n cipher.login.uris = this.makeUriArray(value[i]);\n } else {\n this.processKvp(cipher, headers[i], value[i]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","export class View {\r\n}\n","export { AttachmentView } from './attachmentView';\r\nexport { CardView } from './cardView';\r\nexport { CipherView } from './cipherView';\r\nexport { FieldView } from './fieldView';\r\nexport { IdentityView } from './identityView';\r\nexport { LoginUriView } from './loginUriView';\r\nexport { LoginView } from './loginView';\r\nexport { SecureNoteView } from './secureNoteView';\r\nexport { View } from './view';\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { CardView } from '../models/view';\r\n\r\nconst IgnoredProperties = ['ainfo', 'autosubmit', 'notesPlain', 'ps', 'scope', 'tags', 'title', 'uuid'];\r\n\r\nexport class OnePasswordWinCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value.title)) {\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.title, '--');\r\n cipher.notes = this.getValueOrDefault(value.notesPlain, '') + '\\n';\r\n\r\n if (!this.isNullOrWhitespace(value.number) && !this.isNullOrWhitespace(value['expiry date'])) {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n }\r\n\r\n let altUsername: string = null;\r\n for (const property in value) {\r\n if (!value.hasOwnProperty(property) || this.isNullOrWhitespace(value[property])) {\r\n continue;\r\n }\r\n\r\n if (cipher.type === CipherType.Login) {\r\n if (this.isNullOrWhitespace(cipher.login.password) && property === 'password') {\r\n cipher.login.password = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.login.username) && property === 'username') {\r\n cipher.login.username = value[property];\r\n continue;\r\n } else if ((cipher.login.uris == null || cipher.login.uri.length === 0) && property === 'urls') {\r\n const urls = value[property].split(this.newLineRegex);\r\n cipher.login.uris = this.makeUriArray(urls);\r\n continue;\r\n }\r\n } else if (cipher.type === CipherType.Card) {\r\n if (this.isNullOrWhitespace(cipher.card.number) && property === 'number') {\r\n cipher.card.number = value[property];\r\n cipher.card.brand = this.getCardBrand(value.number);\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.code) && property === 'verification number') {\r\n cipher.card.code = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && property === 'cardholder name') {\r\n cipher.card.cardholderName = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && property === 'expiry date' &&\r\n value[property].length === 6) {\r\n cipher.card.expMonth = (value[property] as string).substr(4, 2);\r\n if (cipher.card.expMonth[0] === '0') {\r\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\r\n }\r\n cipher.card.expYear = (value[property] as string).substr(0, 4);\r\n continue;\r\n } else if (property === 'type') {\r\n // Skip since brand was determined from number above\r\n continue;\r\n }\r\n }\r\n\r\n if (IgnoredProperties.indexOf(property) === -1 && !property.startsWith('section:')) {\r\n if (altUsername == null && property === 'email') {\r\n altUsername = value[property];\r\n }\r\n this.processKvp(cipher, property, value[property]);\r\n }\r\n }\r\n\r\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(altUsername) &&\r\n this.isNullOrWhitespace(cipher.login.username) && altUsername.indexOf('://') === -1) {\r\n cipher.login.username = altUsername;\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class OnePassword1PifImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): ImportResult {\n data.split(this.newLineRegex).forEach((line) => {\n if (this.isNullOrWhitespace(line) || line[0] !== '{') {\n return;\n }\n const item = JSON.parse(line);\n const cipher = this.initLoginCipher();\n cipher.favorite = item.openContents && item.openContents.faveIndex ? true : false;\n cipher.name = this.getValueOrDefault(item.title, '--');\n\n if (item.typeName === 'securenotes.SecureNote') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else if (item.typeName === 'wallet.financial.CreditCard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n } else {\n cipher.login.uris = this.makeUriArray(item.location);\n }\n\n if (item.secureContents != null) {\n if (!this.isNullOrWhitespace(item.secureContents.notesPlain)) {\n cipher.notes = item.secureContents.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (item.secureContents.fields != null) {\n this.parseFields(item.secureContents.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.secureContents.sections != null) {\n item.secureContents.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n\n this.result.success = true;\n return this.result;\n }\n\n private parseFields(fields: any[], cipher: CipherView, designationKey: string, valueKey: string, nameKey: string) {\n fields.forEach((field: any) => {\n if (field[valueKey] == null || field[valueKey].toString().trim() === '') {\n return;\n }\n\n const fieldValue = field[valueKey].toString();\n const fieldDesignation = field[designationKey] != null ? field[designationKey].toString() : null;\n\n if (cipher.type === CipherType.Login) {\n if (this.isNullOrWhitespace(cipher.login.username) && fieldDesignation === 'username') {\n cipher.login.username = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.password) && fieldDesignation === 'password') {\n cipher.login.password = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.totp) && fieldDesignation != null &&\n fieldDesignation.startsWith('TOTP_')) {\n cipher.login.totp = fieldValue;\n return;\n }\n } else if (cipher.type === CipherType.Card) {\n if (this.isNullOrWhitespace(cipher.card.number) && fieldDesignation === 'ccnum') {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n return;\n } else if (this.isNullOrWhitespace(cipher.card.code) && fieldDesignation === 'cvv') {\n cipher.card.code = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && fieldDesignation === 'cardholder') {\n cipher.card.cardholderName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && fieldDesignation === 'expiry' &&\n fieldValue.length === 6) {\n cipher.card.expMonth = (fieldValue as string).substr(4, 2);\n if (cipher.card.expMonth[0] === '0') {\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\n }\n cipher.card.expYear = (fieldValue as string).substr(0, 4);\n return;\n } else if (fieldDesignation === 'type') {\n // Skip since brand was determined from number above\n return;\n }\n }\n\n const fieldName = this.isNullOrWhitespace(field[nameKey]) ? 'no_name' : field[nameKey];\n this.processKvp(cipher, fieldName, fieldValue);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class MSecureCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n const folderName = this.getValueOrDefault(value[0], 'Unassigned') !== 'Unassigned' ? value[0] : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[2], '--');\n\n if (value[1] === 'Web Logins') {\n cipher.login.uris = this.makeUriArray(value[4]);\n cipher.login.username = this.getValueOrDefault(value[5]);\n cipher.login.password = this.getValueOrDefault(value[6]);\n cipher.notes = !this.isNullOrWhitespace(value[3]) ? value[3].split('\\\\n').join('\\n') : null;\n } else if (value.length > 3) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n for (let i = 3; i < value.length; i++) {\n if (!this.isNullOrWhitespace(value[i])) {\n cipher.notes += (value[i] + '\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(value[1]) && cipher.type !== CipherType.Login) {\n cipher.name = value[1] + ': ' + cipher.name;\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class MeldiumCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.DisplayName, '--');\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.login.username = this.getValueOrDefault(value.UserName);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.Url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { IdentityView } from '../models/view/identityView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport class LastPassCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value, index) => {\r\n const cipherIndex = result.ciphers.length;\r\n let folderIndex = result.folders.length;\r\n const hasFolder = this.getValueOrDefault(value.grouping, '(none)') !== '(none)';\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === value.grouping) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const cipher = this.buildBaseCipher(value);\r\n if (cipher.type === CipherType.Login) {\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n cipher.login = new LoginView();\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n } else if (cipher.type === CipherType.SecureNote) {\r\n this.parseSecureNote(value, cipher);\r\n } else if (cipher.type === CipherType.Card) {\r\n cipher.card = this.parseCard(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n } else if (cipher.type === CipherType.Identity) {\r\n cipher.identity = this.parseIdentity(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n if (!this.isNullOrWhitespace(value.ccnum)) {\r\n // there is a card on this identity too\r\n const cardCipher = this.buildBaseCipher(value);\r\n cardCipher.identity = null;\r\n cardCipher.type = CipherType.Card;\r\n cardCipher.card = this.parseCard(value);\r\n result.ciphers.push(cardCipher);\r\n }\r\n }\r\n\r\n result.ciphers.push(cipher);\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = value.grouping;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private buildBaseCipher(value: any) {\r\n const cipher = new CipherView();\r\n if (value.hasOwnProperty('profilename') && value.hasOwnProperty('profilelanguage')) {\r\n // form fill\r\n cipher.favorite = false;\r\n cipher.name = this.getValueOrDefault(value.profilename, '--');\r\n cipher.type = CipherType.Card;\r\n\r\n if (!this.isNullOrWhitespace(value.title) || !this.isNullOrWhitespace(value.firstname) ||\r\n !this.isNullOrWhitespace(value.lastname) || !this.isNullOrWhitespace(value.address1) ||\r\n !this.isNullOrWhitespace(value.phone) || !this.isNullOrWhitespace(value.username) ||\r\n !this.isNullOrWhitespace(value.email)) {\r\n cipher.type = CipherType.Identity;\r\n }\r\n } else {\r\n // site or secure note\r\n cipher.favorite = !this.organization && this.getValueOrDefault(value.fav, '0') === '1';\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.type = value.url === 'http://sn' ? CipherType.SecureNote : CipherType.Login;\r\n }\r\n return cipher;\r\n }\r\n\r\n private parseCard(value: any): CardView {\r\n const card = new CardView();\r\n card.cardholderName = this.getValueOrDefault(value.ccname);\r\n card.number = this.getValueOrDefault(value.ccnum);\r\n card.code = this.getValueOrDefault(value.cccsc);\r\n card.brand = this.getCardBrand(value.ccnum);\r\n\r\n if (!this.isNullOrWhitespace(value.ccexp) && value.ccexp.indexOf('-') > -1) {\r\n const ccexpParts = (value.ccexp as string).split('-');\r\n if (ccexpParts.length > 1) {\r\n card.expYear = ccexpParts[0];\r\n card.expMonth = ccexpParts[1];\r\n if (card.expMonth.length === 2 && card.expMonth[0] === '0') {\r\n card.expMonth = card.expMonth[1];\r\n }\r\n }\r\n }\r\n\r\n return card;\r\n }\r\n\r\n private parseIdentity(value: any): IdentityView {\r\n const identity = new IdentityView();\r\n identity.title = this.getValueOrDefault(value.title);\r\n identity.firstName = this.getValueOrDefault(value.firstname);\r\n identity.middleName = this.getValueOrDefault(value.middlename);\r\n identity.lastName = this.getValueOrDefault(value.lastname);\r\n identity.username = this.getValueOrDefault(value.username);\r\n identity.company = this.getValueOrDefault(value.company);\r\n identity.ssn = this.getValueOrDefault(value.ssn);\r\n identity.address1 = this.getValueOrDefault(value.address1);\r\n identity.address2 = this.getValueOrDefault(value.address2);\r\n identity.address3 = this.getValueOrDefault(value.address3);\r\n identity.city = this.getValueOrDefault(value.city);\r\n identity.state = this.getValueOrDefault(value.state);\r\n identity.postalCode = this.getValueOrDefault(value.zip);\r\n identity.country = this.getValueOrDefault(value.country);\r\n identity.email = this.getValueOrDefault(value.email);\r\n identity.phone = this.getValueOrDefault(value.phone);\r\n\r\n if (!this.isNullOrWhitespace(identity.title)) {\r\n identity.title = identity.title.charAt(0).toUpperCase() + identity.title.slice(1);\r\n }\r\n\r\n return identity;\r\n }\r\n\r\n private parseSecureNote(value: any, cipher: CipherView) {\r\n const extraParts = this.splitNewLine(value.extra);\r\n let processedNote = false;\r\n\r\n if (extraParts.length) {\r\n const typeParts = extraParts[0].split(':');\r\n if (typeParts.length > 1 && typeParts[0] === 'NoteType' &&\r\n (typeParts[1] === 'Credit Card' || typeParts[1] === 'Address')) {\r\n if (typeParts[1] === 'Credit Card') {\r\n const mappedData = this.parseSecureNoteMapping(extraParts, {\r\n 'Number': 'number',\r\n 'Name on Card': 'cardholderName',\r\n 'Security Code': 'code',\r\n });\r\n cipher.type = CipherType.Card;\r\n cipher.card = mappedData[0];\r\n cipher.notes = mappedData[1];\r\n } else if (typeParts[1] === 'Address') {\r\n const mappedData = this.parseSecureNoteMapping(extraParts, {\r\n 'Title': 'title',\r\n 'First Name': 'firstName',\r\n 'Last Name': 'lastName',\r\n 'Middle Name': 'middleName',\r\n 'Company': 'company',\r\n 'Address 1': 'address1',\r\n 'Address 2': 'address2',\r\n 'Address 3': 'address3',\r\n 'City / Town': 'city',\r\n 'State': 'state',\r\n 'Zip / Postal Code': 'postalCode',\r\n 'Country': 'country',\r\n 'Email Address': 'email',\r\n 'Username': 'username',\r\n });\r\n cipher.type = CipherType.Identity;\r\n cipher.identity = mappedData[0];\r\n cipher.notes = mappedData[1];\r\n }\r\n processedNote = true;\r\n }\r\n }\r\n\r\n if (!processedNote) {\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n }\r\n }\r\n\r\n private parseSecureNoteMapping(extraParts: string[], map: any): [T, string] {\r\n let notes: string = null;\r\n const dataObj: any = {};\r\n\r\n extraParts.forEach((extraPart) => {\r\n const fieldParts = extraPart.split(':');\r\n if (fieldParts.length < 1 || this.isNullOrWhitespace(fieldParts[0]) ||\r\n this.isNullOrWhitespace(fieldParts[1]) || fieldParts[0] === 'NoteType') {\r\n return;\r\n }\r\n\r\n if (fieldParts[0] === 'Notes') {\r\n if (!this.isNullOrWhitespace(notes)) {\r\n notes += ('\\n' + fieldParts[1]);\r\n } else {\r\n notes = fieldParts[1];\r\n }\r\n } else if (map.hasOwnProperty(fieldParts[0])) {\r\n dataObj[map[fieldParts[0]]] = fieldParts[1];\r\n } else {\r\n if (!this.isNullOrWhitespace(notes)) {\r\n notes += '\\n';\r\n } else {\r\n notes = '';\r\n }\r\n\r\n notes += (fieldParts[0] + ': ' + fieldParts[1]);\r\n }\r\n });\r\n\r\n return [dataObj as T, notes];\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeeperCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 6) {\n return;\n }\n\n this.processFolder(result, value[0]);\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[5]) + '\\n';\n cipher.name = this.getValueOrDefault(value[1], '--');\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n\n if (value.length > 7) {\n // we have some custom fields.\n for (let i = 7; i < value.length; i = i + 2) {\n this.processKvp(cipher, value[i], value[i + 1]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class KeePassXCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value.Title)) {\r\n return;\r\n }\r\n\r\n value.Group = !this.isNullOrWhitespace(value.Group) && value.Group.startsWith('Root/') ?\r\n value.Group.replace('Root/', '') : value.Group;\r\n const groupName = !this.isNullOrWhitespace(value.Group) ? value.Group : null;\r\n this.processFolder(result, groupName);\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(value.Title, '--');\r\n cipher.login.username = this.getValueOrDefault(value.Username);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.uris = this.makeUriArray(value.URL);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nexport class KeePass2XmlImporter extends BaseImporter implements Importer {\r\n result = new ImportResult();\r\n\r\n parse(data: string): ImportResult {\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n const rootGroup = doc.querySelector('KeePassFile > Root > Group');\r\n if (rootGroup == null) {\r\n this.result.errorMessage = 'Missing `KeePassFile > Root > Group` node.';\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n this.traverse(rootGroup, true, '');\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(this.result);\r\n }\r\n\r\n this.result.success = true;\r\n return this.result;\r\n }\r\n\r\n traverse(node: Element, isRootNode: boolean, groupPrefixName: string) {\r\n const folderIndex = this.result.folders.length;\r\n let groupName = groupPrefixName;\r\n\r\n if (!isRootNode) {\r\n if (groupName !== '') {\r\n groupName += '/';\r\n }\r\n const nameEl = this.querySelectorDirectChild(node, 'Name');\r\n groupName += nameEl == null ? '-' : nameEl.textContent;\r\n const folder = new FolderView();\r\n folder.name = groupName;\r\n this.result.folders.push(folder);\r\n }\r\n\r\n this.querySelectorAllDirectChild(node, 'Entry').forEach((entry) => {\r\n const cipherIndex = this.result.ciphers.length;\r\n\r\n const cipher = this.initLoginCipher();\r\n this.querySelectorAllDirectChild(entry, 'String').forEach((entryString) => {\r\n const valueEl = this.querySelectorDirectChild(entryString, 'Value');\r\n const value = valueEl != null ? valueEl.textContent : null;\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n const keyEl = this.querySelectorDirectChild(entryString, 'Key');\r\n const key = keyEl != null ? keyEl.textContent : null;\r\n\r\n if (key === 'URL') {\r\n cipher.login.uris = this.makeUriArray(value);\r\n } else if (key === 'UserName') {\r\n cipher.login.username = value;\r\n } else if (key === 'Password') {\r\n cipher.login.password = value;\r\n } else if (key === 'Title') {\r\n cipher.name = value;\r\n } else if (key === 'Notes') {\r\n cipher.notes += (value + '\\n');\r\n } else {\r\n this.processKvp(cipher, key, value);\r\n }\r\n });\r\n\r\n this.cleanupCipher(cipher);\r\n this.result.ciphers.push(cipher);\r\n\r\n if (!isRootNode) {\r\n this.result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n this.querySelectorAllDirectChild(node, 'Group').forEach((group) => {\r\n this.traverse(group, false, groupName);\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class GnomeJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || Object.keys(results).length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n for (const keyRing in results) {\r\n if (!results.hasOwnProperty(keyRing) || this.isNullOrWhitespace(keyRing) ||\r\n results[keyRing].length === 0) {\r\n continue;\r\n }\r\n\r\n results[keyRing].forEach((value: any) => {\r\n if (this.isNullOrWhitespace(value.display_name) || value.display_name.indexOf('http') !== 0) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, keyRing);\r\n const cipher = this.initLoginCipher();\r\n cipher.name = value.display_name.replace('http://', '').replace('https://', '');\r\n if (cipher.name.length > 30) {\r\n cipher.name = cipher.name.substring(0, 30);\r\n }\r\n cipher.login.password = this.getValueOrDefault(value.secret);\r\n cipher.login.uris = this.makeUriArray(value.display_name);\r\n\r\n if (value.attributes != null) {\r\n cipher.login.username = value.attributes != null ?\r\n this.getValueOrDefault(value.attributes.username_value) : null;\r\n for (const attr in value.attributes) {\r\n if (!value.attributes.hasOwnProperty(attr) || attr === 'username_value' ||\r\n attr === 'xdg:schema') {\r\n continue;\r\n }\r\n this.processKvp(cipher, attr, value.attributes[attr]);\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class FirefoxCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.hostname), '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.hostname);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class EnpassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let firstRow = true;\n results.forEach((value) => {\n if (value.length < 2 || (firstRow && value[0] === 'Title')) {\n firstRow = false;\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2 || (value.indexOf('Username') < 0 && value.indexOf('Password') < 0 &&\n value.indexOf('Email') && value.indexOf('URL') < 0)) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n\n if (value.indexOf('Cardholder') > -1 && value.indexOf('Number') > -1 && value.indexOf('Expiry date') > -1) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n if (value.length > 2 && (value.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const fieldValue: string = value[i + 2];\n if (this.isNullOrWhitespace(fieldValue)) {\n continue;\n }\n\n const fieldName: string = value[i + 1];\n const fieldNameLower = fieldName.toLowerCase();\n\n if (cipher.type === CipherType.Login) {\n if (fieldNameLower === 'url' && (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.login.uris = this.makeUriArray(fieldValue);\n continue;\n } else if ((fieldNameLower === 'username' || fieldNameLower === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = fieldValue;\n continue;\n } else if (fieldNameLower === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = fieldValue;\n continue;\n } else if (fieldNameLower === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = fieldValue;\n continue;\n }\n } else if (cipher.type === CipherType.Card) {\n if (fieldNameLower === 'cardholder' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = fieldValue;\n continue;\n } else if (fieldNameLower === 'number' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n continue;\n } else if (fieldNameLower === 'cvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = fieldValue;\n continue;\n } else if (fieldNameLower === 'expiry date' && this.isNullOrWhitespace(cipher.card.expMonth) &&\n this.isNullOrWhitespace(cipher.card.expYear)) {\n const parts = fieldValue.split('/');\n if (parts.length === 2) {\n let month: string = null;\n let year: string = null;\n if (parts[0].length === 1 || parts[0].length === 2) {\n month = parts[0];\n if (month.length === 2 && month[0] === '0') {\n month = month.substr(1, 1);\n }\n }\n if (parts[1].length === 2 || parts[1].length === 4) {\n year = month.length === 2 ? '20' + parts[1] : parts[1];\n }\n if (month != null && year != null) {\n cipher.card.expMonth = month;\n cipher.card.expYear = year;\n continue;\n }\n }\n } else if (fieldNameLower === 'type') {\n // Skip since brand was determined from number above\n continue;\n }\n }\n\n this.processKvp(cipher, fieldName, fieldValue);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class DashlaneCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n let skip = false;\n if (value.length < 2) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2) {\n cipher.login.uris = this.makeUriArray(value[1]);\n } else if (value.length === 3) {\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.username = this.getValueOrDefault(value[2]);\n } else if (value.length === 4) {\n if (this.isNullOrWhitespace(value[2]) && this.isNullOrWhitespace(value[3])) {\n cipher.login.username = value[1];\n cipher.notes = value[2] + '\\n' + value[3];\n } else {\n cipher.login.username = value[2];\n cipher.notes = value[1] + '\\n' + value[3];\n }\n } else if (value.length === 5) {\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4]);\n } else if (value.length === 6) {\n if (this.isNullOrWhitespace(value[2])) {\n cipher.login.username = this.getValueOrDefault(value[3]);\n cipher.login.password = this.getValueOrDefault(value[4]);\n cipher.notes = this.getValueOrDefault(value[5]);\n } else {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[5], '');\n }\n cipher.login.uris = this.makeUriArray(value[1]);\n } else if (value.length === 7) {\n if (this.isNullOrWhitespace(value[2])) {\n cipher.login.username = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[6], '');\n } else {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.notes = this.getValueOrDefault(value[3], '') + '\\n' +\n this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[6], '');\n }\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.password = this.getValueOrDefault(value[5]);\n } else {\n for (let i = 1; i < value.length; i++) {\n cipher.notes += (value[i] + '\\n');\n if (value[i] === 'NO_TYPE') {\n skip = true;\n break;\n }\n }\n }\n\n if (skip) {\n return;\n }\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = null;\n }\n if (this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = null;\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class ClipperzHtmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const textarea = doc.querySelector('textarea');\r\n if (textarea == null || this.isNullOrWhitespace(textarea.textContent)) {\r\n result.errorMessage = 'Missing textarea.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const entries = JSON.parse(textarea.textContent);\r\n entries.forEach((entry: any) => {\r\n const cipher = this.initLoginCipher();\r\n if (!this.isNullOrWhitespace(entry.label)) {\r\n cipher.name = entry.label.split(' ')[0];\r\n }\r\n if (entry.data != null && !this.isNullOrWhitespace(entry.data.notes)) {\r\n cipher.notes = entry.data.notes.split('\\\\n').join('\\n');\r\n }\r\n\r\n if (entry.currentVersion != null && entry.currentVersion.fields != null) {\r\n for (const property in entry.currentVersion.fields) {\r\n if (!entry.currentVersion.fields.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n\r\n const field = entry.currentVersion.fields[property];\r\n const actionType = field.actionType != null ? field.actionType.toLowerCase() : null;\r\n switch (actionType) {\r\n case 'password':\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n break;\r\n case 'email':\r\n case 'username':\r\n case 'user':\r\n case 'name':\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n break;\r\n case 'url':\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n break;\r\n default:\r\n const labelLower = field.label != null ? field.label.toLowerCase() : null;\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n } else {\r\n this.processKvp(cipher, field.label, field.value);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ChromeCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class BlurCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.label === 'null') {\n value.label = null;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.label,\n this.getValueOrDefault(this.nameFromUrl(value.domain), '--'));\n cipher.login.uris = this.makeUriArray(value.domain);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.email) && !this.isNullOrWhitespace(value.username)) {\n cipher.login.username = value.username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.email);\n cipher.notes = this.getValueOrDefault(value.username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FieldView } from '../models/view/fieldView';\nimport { FolderView } from '../models/view/folderView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class BitwardenCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (this.organization && !this.isNullOrWhitespace(value.collections)) {\n const collections = (value.collections as string).split(',');\n collections.forEach((col) => {\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === col) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = col;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else if (!this.organization) {\n this.processFolder(result, value.folder);\n }\n\n const cipher = new CipherView();\n cipher.favorite = !this.organization && this.getValueOrDefault(value.favorite, '0') !== '0' ? true : false;\n cipher.type = CipherType.Login;\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.name = this.getValueOrDefault(value.name, '--');\n\n if (!this.isNullOrWhitespace(value.fields)) {\n const fields = this.splitNewLine(value.fields);\n for (let i = 0; i < fields.length; i++) {\n if (this.isNullOrWhitespace(fields[i])) {\n continue;\n }\n\n const delimPosition = fields[i].lastIndexOf(': ');\n if (delimPosition === -1) {\n continue;\n }\n\n if (cipher.fields == null) {\n cipher.fields = [];\n }\n\n const field = new FieldView();\n field.name = fields[i].substr(0, delimPosition);\n field.value = null;\n field.type = FieldType.Text;\n if (fields[i].length > (delimPosition + 2)) {\n field.value = fields[i].substr(delimPosition + 2);\n }\n cipher.fields.push(field);\n }\n }\n\n const valueType = value.type != null ? value.type.toLowerCase() : null;\n switch (valueType) {\n case 'login':\n case null:\n cipher.type = CipherType.Login;\n cipher.login = new LoginView();\n cipher.login.totp = this.getValueOrDefault(value.login_totp || value.totp);\n cipher.login.username = this.getValueOrDefault(value.login_username || value.username);\n cipher.login.password = this.getValueOrDefault(value.login_password || value.password);\n const uris = this.parseSingleRowCsv(value.login_uri || value.uri);\n cipher.login.uris = this.makeUriArray(uris);\n break;\n case 'note':\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n break;\n default:\n break;\n }\n\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AviraCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name,\n this.getValueOrDefault(this.nameFromUrl(value.website), '--'));\n cipher.login.uris = this.makeUriArray(value.website);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.username) && !this.isNullOrWhitespace(value.secondary_username)) {\n cipher.login.username = value.secondary_username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.notes = this.getValueOrDefault(value.secondary_username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class AscendoCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 2) {\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n\r\n if (value.length > 2 && (value.length % 2) === 0) {\r\n for (let i = 0; i < value.length - 2; i += 2) {\r\n const val: string = value[i + 2];\r\n const field: string = value[i + 1];\r\n if (this.isNullOrWhitespace(val) || this.isNullOrWhitespace(field)) {\r\n continue;\r\n }\r\n\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(val);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(val);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n } else {\r\n this.processKvp(cipher, field, val);\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\nimport { FolderRequest } from './folderRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportCiphersRequest {\n ciphers: CipherRequest[] = [];\n folders: FolderRequest[] = [];\n folderRelationships: Array> = [];\n}\n","
\r\n
\r\n
\r\n \r\n
\r\n
{{'reports' | i18n}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationCreateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n planType: PlanType;\n key: string;\n paymentToken: string;\n additionalSeats: number;\n additionalStorageGb: number;\n collectionName: string;\n country: string;\n}\n","
\n

{{'newOrganization' | i18n}}

\n
\n

{{'newOrganizationDesc' | i18n}}

\n\n

{{'uploadLicenseFileOrg' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_organization_license.json'}}\n
\n \n
\n
\n
\n

{{'generalInformation' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n

{{'chooseYourPlan' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n \n

{{'users' | i18n}}

\n
\n
\n \n \n {{'userSeatsHowManyDesc' | i18n}}\n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'userSeatsAdditionalDesc' | i18n : plans[plan].baseSeats : (plans[plan].seatPrice | currency:'$')}}\n
\n
\n
\n
\n \n \n {{'additionalStorageDesc' | i18n : '1 GB' : (storageGb.price | currency:'$')}}\n
\n
\n

{{'summary' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{interval | i18n}}\n
\n {{'paymentChargedWithTrial' | i18n : (interval | i18n) }}\n

{{'paymentInformation' | i18n}}

\n \n
\n
\n \n
\n
\n","export class PaymentRequest {\n paymentToken: string;\n}\n","export class StorageRequest {\n storageGbAdjustment: number;\n}\n","
\n

\n {{'billingAndLicensing' | i18n}}\n \n \n \n

\n
\n\n\n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'subscription' | i18n}}
\n
{{'premiumMembership' | i18n}}
\n
\n
\n
{{'expiration' | i18n}}
\n
{{billing.expiration | date:'mediumDate'}}
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'status' | i18n}}
\n
\n {{(subscription && subscription.status) || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$')) :\n '-'}}\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : billing.maxStorageGb || 0 : billing.storageName || '0 MB'}}

\n
\n
{{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n

\n \n {{paymentSource.description}}\n

\n \n \n \n

{{'charges' | i18n}}

\n

{{'noCharges' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{c.createdDate | date:'mediumDate'}}{{c.paymentSource ? c.paymentSource.description : '-'}}{{c.status}}{{c.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n
\n","
\n

{{'goPremium' | i18n}}

\n
\n\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n
    \n
  • \n \n {{'premiumSignUpStorage' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTwoStep' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTotp' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpSupport' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpFuture' | i18n}}\n
  • \n
\n

{{'premiumPrice' | i18n : (premiumPrice | currency:'$')}}

\n \n {{'purchasePremium' | i18n}}\n \n
\n\n

{{'uploadLicenseFilePremium' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_premium_license.json'}}\n
\n \n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'additionalStorageDesc' | i18n : '1 GB' : (storageGbPrice | currency:'$')}}\n
\n
\n

{{'summary' | i18n}}

\n {{'premiumMembership' | i18n}}: {{premiumPrice | currency:'$'}}\n
{{'additionalStorageGb' | i18n}}: {{additionalStorage || 0}} GB × {{storageGbPrice | currency:'$'}} = {{additionalStorageTotal\n | currency:'$'}}\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{'year' | i18n}}\n
\n {{'paymentChargedAnnually' | i18n}}\n

{{'paymentInformation' | i18n}}

\n \n \n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorYubioOtpRequest extends PasswordVerificationRequest {\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fRequest extends PasswordVerificationRequest {\n deviceResponse: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorEmailRequest extends PasswordVerificationRequest {\n token: string;\n email: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorDuoRequest extends PasswordVerificationRequest {\n integrationKey: string;\n secretKey: string;\n host: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderRequest extends PasswordVerificationRequest {\n type: TwoFactorProviderType;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorAuthenticatorRequest extends PasswordVerificationRequest {\n token: string;\n key: string;\n}\n","export class UpdateDomainsRequest {\n equivalentDomains: string[][];\n excludedGlobalEquivalentDomains: number[];\n}\n","
\n

{{'domainRules' | i18n}}

\n
\n

{{'domainRulesDesc' | i18n}}

\n
\n

{{'customEqDomains' | i18n}}

\n

\n \n

\n \n
\n
\n \n \n
\n \n
\n \n {{'newCustomDomainDesc' | i18n}}\n
\n \n

{{'globalEqDomains' | i18n}}

\n

\n \n

\n 0\">\n \n \n \n \n \n \n
{{d.domains}}\n \n
\n \n
\n","
\n

{{'options' | i18n}}

\n
\n

{{'optionsDesc' | i18n}}

\n
\n
\n
\n
\n
\n \n \n \n \n
\n \n {{'languageDesc' | i18n}}\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n {{'disableIconsDesc' | i18n}}\n
\n \n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class PasswordRequest extends PasswordVerificationRequest {\n newMasterPasswordHash: string;\n key: string;\n}\n","{{'loggedOutWarning' | i18n}}\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n","import { EmailTokenRequest } from './emailTokenRequest';\n\nexport class EmailRequest extends EmailTokenRequest {\n newMasterPasswordHash: string;\n token: string;\n key: string;\n}\n","
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n

{{'changeEmailDesc' | i18n : newEmail}}

\n {{'loggedOutWarning' | i18n}}\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n","export class UpdateProfileRequest {\n name: string;\n masterPasswordHint: string;\n culture = 'en-US'; // deprecated\n\n constructor(name: string, masterPasswordHint: string) {\n this.name = name;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n }\n}\n","
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n","
\n

{{'myAccount' | i18n}}

\n
\n\n
\n

{{'changeEmail' | i18n}}

\n
\n\n
\n

{{'changeMasterPassword' | i18n}}

\n
\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n \n
\n
\n\n\n\n","\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { FolderView } from '../../models/view/folderView';\n\nexport class FolderAddEditComponent implements OnInit {\n @Input() folderId: string;\n @Output() onSavedFolder = new EventEmitter();\n @Output() onDeletedFolder = new EventEmitter();\n\n editMode: boolean = false;\n folder: FolderView = new FolderView();\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n\n constructor(protected folderService: FolderService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.folderId != null;\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editFolder');\n const folder = await this.folderService.get(this.folderId);\n this.folder = await folder.decrypt();\n } else {\n this.title = this.i18nService.t('addFolder');\n }\n }\n\n async submit(): Promise {\n if (this.folder.name == null || this.folder.name === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n try {\n const folder = await this.folderService.encrypt(this.folder);\n this.formPromise = this.folderService.saveWithServer(folder);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Folder' : 'Added Folder' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedFolder' : 'addedFolder'));\n this.onSavedFolder.emit(this.folder);\n return true;\n } catch { }\n\n return false;\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteFolderConfirmation'), this.i18nService.t('deleteFolder'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.folderService.deleteWithServer(this.folder.id);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Folder' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedFolder'));\n this.onDeletedFolder.emit(this.folder);\n } catch { }\n\n return true;\n }\n}\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { TokenService } from '../../abstractions/token.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { AttachmentView } from '../../models/view/attachmentView';\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class AttachmentsComponent implements OnInit {\n @Input() cipherId: string;\n @Output() onUploadedAttachment = new EventEmitter();\n @Output() onDeletedAttachment = new EventEmitter();\n\n cipher: CipherView;\n cipherDomain: Cipher;\n hasUpdatedKey: boolean;\n canAccessAttachments: boolean;\n formPromise: Promise;\n deletePromises: { [id: string]: Promise; } = {};\n\n constructor(protected cipherService: CipherService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected cryptoService: CryptoService, protected tokenService: TokenService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window) { }\n\n async ngOnInit() {\n this.cipherDomain = await this.loadCipher();\n this.cipher = await this.cipherDomain.decrypt();\n\n this.hasUpdatedKey = await this.cryptoService.hasEncKey();\n const isPremium = this.tokenService.getPremium();\n this.canAccessAttachments = isPremium || this.cipher.organizationId != null;\n\n if (!this.canAccessAttachments) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.platformUtilsService.launchUri('https://vault.bitwarden.com/#/?premium=purchase');\n }\n } else if (!this.hasUpdatedKey) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateKey'), this.i18nService.t('featureUnavailable'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'), 'warning');\n if (confirmed) {\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/update-encryption-key/');\n }\n }\n }\n\n async submit() {\n if (!this.hasUpdatedKey) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('updateKey'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n if (files[0].size > 104857600) { // 100 MB\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('maxFileSize'));\n return;\n }\n\n try {\n this.formPromise = this.saveCipherAttachment(files[0]);\n this.cipherDomain = await this.formPromise;\n this.cipher = await this.cipherDomain.decrypt();\n this.analytics.eventTrack.next({ action: 'Added Attachment' });\n this.toasterService.popAsync('success', null, this.i18nService.t('attachmentSaved'));\n this.onUploadedAttachment.emit();\n } catch { }\n\n // reset file input\n // ref: https://stackoverflow.com/a/20552042\n fileEl.type = '';\n fileEl.type = 'file';\n fileEl.value = '';\n }\n\n async delete(attachment: AttachmentView) {\n if (this.deletePromises[attachment.id] != null) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteAttachmentConfirmation'), this.i18nService.t('deleteAttachment'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n this.analytics.eventTrack.next({ action: 'Deleted Attachment' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedAttachment'));\n const i = this.cipher.attachments.indexOf(attachment);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n } catch { }\n\n this.deletePromises[attachment.id] = null;\n this.onDeletedAttachment.emit();\n }\n\n async download(attachment: AttachmentView) {\n const a = (attachment as any);\n if (a.downloading) {\n return;\n }\n\n if (!this.canAccessAttachments) {\n this.toasterService.popAsync('error', this.i18nService.t('premiumRequired'),\n this.i18nService.t('premiumRequiredDesc'));\n return;\n }\n\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-cache' }));\n if (response.status !== 200) {\n this.toasterService.popAsync('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const key = await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.platformUtilsService.saveFile(this.win, decBuf, null, attachment.fileName);\n } catch (e) {\n this.toasterService.popAsync('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n return this.cipherService.deleteAttachmentWithServer(this.cipher.id, attachmentId);\n }\n}\n","import {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { FieldType } from '../../enums/fieldType';\nimport { SecureNoteType } from '../../enums/secureNoteType';\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nimport { AuditService } from '../../abstractions/audit.service';\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { CardView } from '../../models/view/cardView';\nimport { CipherView } from '../../models/view/cipherView';\nimport { FieldView } from '../../models/view/fieldView';\nimport { FolderView } from '../../models/view/folderView';\nimport { IdentityView } from '../../models/view/identityView';\nimport { LoginUriView } from '../../models/view/loginUriView';\nimport { LoginView } from '../../models/view/loginView';\nimport { SecureNoteView } from '../../models/view/secureNoteView';\n\nexport class AddEditComponent {\n @Input() folderId: string = null;\n @Input() cipherId: string;\n @Input() type: CipherType;\n @Output() onSavedCipher = new EventEmitter();\n @Output() onDeletedCipher = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n @Output() onEditAttachments = new EventEmitter();\n @Output() onGeneratePassword = new EventEmitter();\n\n editMode: boolean = false;\n cipher: CipherView;\n folders: FolderView[];\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n checkPasswordPromise: Promise;\n showPassword: boolean = false;\n showCardCode: boolean = false;\n cipherType = CipherType;\n fieldType = FieldType;\n addFieldType: FieldType = FieldType.Text;\n typeOptions: any[];\n cardBrandOptions: any[];\n cardExpMonthOptions: any[];\n identityTitleOptions: any[];\n addFieldTypeOptions: any[];\n uriMatchOptions: any[];\n\n constructor(protected cipherService: CipherService, protected folderService: FolderService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected auditService: AuditService, protected stateService: StateService) {\n this.typeOptions = [\n { name: i18nService.t('typeLogin'), value: CipherType.Login },\n { name: i18nService.t('typeCard'), value: CipherType.Card },\n { name: i18nService.t('typeIdentity'), value: CipherType.Identity },\n { name: i18nService.t('typeSecureNote'), value: CipherType.SecureNote },\n ];\n this.cardBrandOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: 'Visa', value: 'Visa' },\n { name: 'Mastercard', value: 'Mastercard' },\n { name: 'American Express', value: 'Amex' },\n { name: 'Discover', value: 'Discover' },\n { name: 'Diners Club', value: 'Diners Club' },\n { name: 'JCB', value: 'JCB' },\n { name: 'Maestro', value: 'Maestro' },\n { name: 'UnionPay', value: 'UnionPay' },\n { name: i18nService.t('other'), value: 'Other' },\n ];\n this.cardExpMonthOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: '01 - ' + i18nService.t('january'), value: '1' },\n { name: '02 - ' + i18nService.t('february'), value: '2' },\n { name: '03 - ' + i18nService.t('march'), value: '3' },\n { name: '04 - ' + i18nService.t('april'), value: '4' },\n { name: '05 - ' + i18nService.t('may'), value: '5' },\n { name: '06 - ' + i18nService.t('june'), value: '6' },\n { name: '07 - ' + i18nService.t('july'), value: '7' },\n { name: '08 - ' + i18nService.t('august'), value: '8' },\n { name: '09 - ' + i18nService.t('september'), value: '9' },\n { name: '10 - ' + i18nService.t('october'), value: '10' },\n { name: '11 - ' + i18nService.t('november'), value: '11' },\n { name: '12 - ' + i18nService.t('december'), value: '12' },\n ];\n this.identityTitleOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: i18nService.t('mr'), value: i18nService.t('mr') },\n { name: i18nService.t('mrs'), value: i18nService.t('mrs') },\n { name: i18nService.t('ms'), value: i18nService.t('ms') },\n { name: i18nService.t('dr'), value: i18nService.t('dr') },\n ];\n this.addFieldTypeOptions = [\n { name: i18nService.t('cfTypeText'), value: FieldType.Text },\n { name: i18nService.t('cfTypeHidden'), value: FieldType.Hidden },\n { name: i18nService.t('cfTypeBoolean'), value: FieldType.Boolean },\n ];\n this.uriMatchOptions = [\n { name: i18nService.t('defaultMatchDetection'), value: null },\n { name: i18nService.t('baseDomain'), value: UriMatchType.Domain },\n { name: i18nService.t('host'), value: UriMatchType.Host },\n { name: i18nService.t('startsWith'), value: UriMatchType.StartsWith },\n { name: i18nService.t('regEx'), value: UriMatchType.RegularExpression },\n { name: i18nService.t('exact'), value: UriMatchType.Exact },\n { name: i18nService.t('never'), value: UriMatchType.Never },\n ];\n }\n\n async load() {\n this.editMode = this.cipherId != null;\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editItem');\n } else {\n this.title = this.i18nService.t('addItem');\n }\n\n this.cipher = await this.stateService.get('addEditCipher');\n await this.stateService.remove('addEditCipher');\n if (this.cipher == null) {\n if (this.editMode) {\n const cipher = await this.loadCipher();\n this.cipher = await cipher.decrypt();\n } else {\n this.cipher = new CipherView();\n this.cipher.folderId = this.folderId;\n this.cipher.type = this.type == null ? CipherType.Login : this.type;\n this.cipher.login = new LoginView();\n this.cipher.login.uris = [new LoginUriView()];\n this.cipher.card = new CardView();\n this.cipher.identity = new IdentityView();\n this.cipher.secureNote = new SecureNoteView();\n this.cipher.secureNote.type = SecureNoteType.Generic;\n }\n }\n\n this.folders = await this.folderService.getAllDecrypted();\n }\n\n async submit(): Promise {\n if (this.cipher.name == null || this.cipher.name === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n if (!this.editMode && this.cipher.type === CipherType.Login &&\n this.cipher.login.uris != null && this.cipher.login.uris.length === 1 &&\n (this.cipher.login.uris[0].uri == null || this.cipher.login.uris[0].uri === '')) {\n this.cipher.login.uris = null;\n }\n\n const cipher = await this.encryptCipher();\n try {\n this.formPromise = this.saveCipher(cipher);\n await this.formPromise;\n this.cipher.id = cipher.id;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Cipher' : 'Added Cipher' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedItem' : 'addedItem'));\n this.onSavedCipher.emit(this.cipher);\n return true;\n } catch { }\n\n return false;\n }\n\n addUri() {\n if (this.cipher.type !== CipherType.Login) {\n return;\n }\n\n if (this.cipher.login.uris == null) {\n this.cipher.login.uris = [];\n }\n\n this.cipher.login.uris.push(new LoginUriView());\n }\n\n removeUri(uri: LoginUriView) {\n if (this.cipher.type !== CipherType.Login || this.cipher.login.uris == null) {\n return;\n }\n\n const i = this.cipher.login.uris.indexOf(uri);\n if (i > -1) {\n this.cipher.login.uris.splice(i, 1);\n }\n }\n\n addField() {\n if (this.cipher.fields == null) {\n this.cipher.fields = [];\n }\n\n const f = new FieldView();\n f.type = this.addFieldType;\n this.cipher.fields.push(f);\n }\n\n removeField(field: FieldView) {\n const i = this.cipher.fields.indexOf(field);\n if (i > -1) {\n this.cipher.fields.splice(i, 1);\n }\n }\n\n cancel() {\n this.onCancelled.emit(this.cipher);\n }\n\n attachments() {\n this.onEditAttachments.emit(this.cipher);\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.deleteCipher();\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\n this.onDeletedCipher.emit(this.cipher);\n } catch { }\n\n return true;\n }\n\n async generatePassword(): Promise {\n if (this.cipher.login != null && this.cipher.login.password != null && this.cipher.login.password.length) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('overwritePasswordConfirmation'), this.i18nService.t('overwritePassword'),\n this.i18nService.t('yes'), this.i18nService.t('no'));\n if (!confirmed) {\n return false;\n }\n }\n\n this.onGeneratePassword.emit();\n return true;\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Password on Edit' });\n this.showPassword = !this.showPassword;\n document.getElementById('loginPassword').focus();\n }\n\n toggleCardCode() {\n this.analytics.eventTrack.next({ action: 'Toggled CardCode on Edit' });\n this.showCardCode = !this.showCardCode;\n document.getElementById('cardCode').focus();\n }\n\n toggleFieldValue(field: FieldView) {\n const f = (field as any);\n f.showValue = !f.showValue;\n }\n\n toggleUriOptions(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null && uri.match != null ? false : !u.showOptions;\n }\n\n loginUriMatchChanged(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null ? true : u.showOptions;\n }\n\n async checkPassword() {\n if (this.checkPasswordPromise != null) {\n return;\n }\n\n if (this.cipher.login == null || this.cipher.login.password == null || this.cipher.login.password === '') {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Check Password' });\n this.checkPasswordPromise = this.auditService.passwordLeaked(this.cipher.login.password);\n const matches = await this.checkPasswordPromise;\n this.checkPasswordPromise = null;\n\n if (matches > 0) {\n this.toasterService.popAsync('warning', null, this.i18nService.t('passwordExposed', matches.toString()));\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('passwordSafe'));\n }\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected encryptCipher() {\n return this.cipherService.encrypt(this.cipher);\n }\n\n protected saveCipher(cipher: Cipher) {\n return this.cipherService.saveWithServer(cipher);\n }\n\n protected deleteCipher() {\n return this.cipherService.deleteWithServer(this.cipher.id);\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\nimport { FolderWithIdRequest } from './folderWithIdRequest';\n\nexport class UpdateKeyRequest {\n ciphers: CipherWithIdRequest[] = [];\n folders: FolderWithIdRequest[] = [];\n masterPasswordHash: string;\n privateKey: string;\n key: string;\n}\n","import { FolderRequest } from './folderRequest';\n\nimport { Folder } from '../domain/folder';\n\nexport class FolderWithIdRequest extends FolderRequest {\n id: string;\n\n constructor(folder: Folder) {\n super(folder);\n this.id = folder.id;\n }\n}\n","import {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { CipherService } from '../../abstractions/cipher.service';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class CiphersComponent {\n @Input() activeCipherId: string = null;\n @Output() onCipherClicked = new EventEmitter();\n @Output() onCipherRightClicked = new EventEmitter();\n @Output() onAddCipher = new EventEmitter();\n @Output() onAddCipherOptions = new EventEmitter();\n\n loaded: boolean = false;\n ciphers: CipherView[] = [];\n searchText: string;\n searchPlaceholder: string = null;\n\n protected allCiphers: CipherView[] = [];\n protected filter: (cipher: CipherView) => boolean = null;\n\n constructor(protected cipherService: CipherService) { }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n this.allCiphers = await this.cipherService.getAllDecrypted();\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n async refresh() {\n this.loaded = false;\n this.ciphers = [];\n await this.load(this.filter);\n }\n\n applyFilter(filter: (cipher: CipherView) => boolean = null) {\n this.filter = filter;\n if (this.filter == null) {\n this.ciphers = this.allCiphers;\n } else {\n this.ciphers = this.allCiphers.filter(this.filter);\n }\n }\n\n selectCipher(cipher: CipherView) {\n this.onCipherClicked.emit(cipher);\n }\n\n rightClickCipher(cipher: CipherView) {\n this.onCipherRightClicked.emit(cipher);\n }\n\n addCipher() {\n this.onAddCipher.emit();\n }\n\n addCipherOptions() {\n this.onAddCipherOptions.emit();\n }\n}\n","export enum LogLevelType {\r\n Debug,\r\n Info,\r\n Warning,\r\n Error,\r\n}\r\n","export { CipherType } from './cipherType';\r\nexport { DeviceType } from './deviceType';\r\nexport { EncryptionType } from './encryptionType';\r\nexport { FieldType } from './fieldType';\r\nexport { LogLevelType } from './logLevelType';\r\nexport { SecureNoteType } from './secureNoteType';\r\nexport { TwoFactorProviderType } from './twoFactorProviderType';\r\nexport { UriMatchType } from './uriMatchType';\r\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appFallbackSrc]',\r\n})\r\nexport class FallbackSrcDirective {\n @Input('appFallbackSrc') appFallbackSrc: string;\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('error') onError() {\r\n this.el.nativeElement.src = this.appFallbackSrc;\r\n }\r\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { CollectionView } from '../../models/view/collectionView';\nimport { FolderView } from '../../models/view/folderView';\n\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { FolderService } from '../../abstractions/folder.service';\n\nexport class GroupingsComponent {\n @Input() showFolders = true;\n @Input() showCollections = true;\n @Input() showFavorites = true;\n\n @Output() onAllClicked = new EventEmitter();\n @Output() onFavoritesClicked = new EventEmitter();\n @Output() onCipherTypeClicked = new EventEmitter();\n @Output() onFolderClicked = new EventEmitter();\n @Output() onAddFolder = new EventEmitter();\n @Output() onEditFolder = new EventEmitter();\n @Output() onCollectionClicked = new EventEmitter();\n\n folders: FolderView[];\n collections: CollectionView[];\n loaded: boolean = false;\n cipherType = CipherType;\n selectedAll: boolean = false;\n selectedFavorites: boolean = false;\n selectedType: CipherType = null;\n selectedFolder: boolean = false;\n selectedFolderId: string = null;\n selectedCollectionId: string = null;\n\n constructor(protected collectionService: CollectionService, protected folderService: FolderService) { }\n\n async load(setLoaded = true) {\n await this.loadFolders();\n await this.loadCollections();\n\n if (setLoaded) {\n this.loaded = true;\n }\n }\n\n async loadCollections(organizationId?: string) {\n if (!this.showCollections) {\n return;\n }\n const collections = await this.collectionService.getAllDecrypted();\n if (organizationId != null) {\n this.collections = collections.filter((c) => c.organizationId === organizationId);\n } else {\n this.collections = collections;\n }\n }\n\n async loadFolders() {\n if (!this.showFolders) {\n return;\n }\n this.folders = await this.folderService.getAllDecrypted();\n }\n\n selectAll() {\n this.clearSelections();\n this.selectedAll = true;\n this.onAllClicked.emit();\n }\n\n selectFavorites() {\n this.clearSelections();\n this.selectedFavorites = true;\n this.onFavoritesClicked.emit();\n }\n\n selectType(type: CipherType) {\n this.clearSelections();\n this.selectedType = type;\n this.onCipherTypeClicked.emit(type);\n }\n\n selectFolder(folder: FolderView) {\n this.clearSelections();\n this.selectedFolder = true;\n this.selectedFolderId = folder.id;\n this.onFolderClicked.emit(folder);\n }\n\n addFolder() {\n this.onAddFolder.emit();\n }\n\n editFolder(folder: FolderView) {\n this.onEditFolder.emit(folder);\n }\n\n selectCollection(collection: CollectionView) {\n this.clearSelections();\n this.selectedCollectionId = collection.id;\n this.onCollectionClicked.emit(collection);\n }\n\n clearSelections() {\n this.selectedAll = false;\n this.selectedFavorites = false;\n this.selectedType = null;\n this.selectedFolder = false;\n this.selectedFolderId = null;\n this.selectedCollectionId = null;\n }\n}\n","
\n
\n {{'verifyEmail' | i18n}}\n
\n
\n

{{'verifyEmailDesc' | i18n}}

\n \n
\n
\n","
\n
\n
\n \n \n
\n \n
\n
\n
\n {{'updateKeyTitle' | i18n}}\n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}}

\n \n
\n
\n \n
\n
\n {{'updateBrowser' | i18n}}\n
\n
\n

{{'updateBrowserDesc' | i18n}}

\n \n {{'updateBrowser' | i18n}}\n \n
\n
\n
\n
\n {{'goPremium' | i18n}}\n
\n
\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n \n {{'goPremium' | i18n}}\n \n
\n
\n
\n
\n {{'organizations' | i18n}}\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n\n\n\n\n\n\n\n\n\n","\r\n\r\n\r\n","export class VerifyDeleteRecoverRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n {{'deleteAccountWarning' | i18n}}\n

\n {{email}}\n

\n

{{'deleteRecoverConfirmDesc' | i18n}}

\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class DeleteRecoverRequest {\n email: string;\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n

{{'deleteRecoverDesc' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorRecoveryRequest extends PasswordVerificationRequest {\n recoveryCode: string;\n email: string;\n}\n","
\n
\n
\n

{{'recoverAccountTwoStep' | i18n}}

\n
\n
\n

{{'recoverAccountTwoStepDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class OrganizationUserAcceptRequest {\n token: string;\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n
\n
\n
\n

{{'joinOrganization' | i18n}}

\n
\n
\n

\n {{orgName}}\n {{email}}\n

\n

{{'joinOrganizationDesc' | i18n}}

\n
\n \n
\n
\n
\n
\n
\n","export class VerifyEmailRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nexport class LockComponent {\r\n masterPassword: string = '';\r\n showPassword: boolean = false;\r\n\r\n protected successRoute: string = 'vault';\r\n\r\n constructor(protected router: Router, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService, protected messagingService: MessagingService,\r\n protected userService: UserService, protected cryptoService: CryptoService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const email = await this.userService.getEmail();\r\n const key = await this.cryptoService.makeKey(this.masterPassword, email);\r\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const storedKeyHash = await this.cryptoService.getKeyHash();\r\n\r\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\r\n await this.cryptoService.setKey(key);\r\n this.messagingService.send('unlocked');\r\n this.router.navigate([this.successRoute]);\r\n } else {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidMasterPassword'));\r\n }\r\n }\r\n\r\n async logOut() {\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\r\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\r\n if (confirmed) {\r\n this.messagingService.send('logout');\r\n }\r\n }\r\n\r\n togglePassword() {\r\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Unlock' });\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('masterPassword').focus();\r\n }\r\n}\r\n","
\n
\n
\n

\n \n

\n

{{'yourVaultIsLocked' | i18n}}

\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","export class PasswordHintRequest {\r\n email: string;\r\n\r\n constructor(email: string) {\r\n this.email = email;\r\n }\r\n}\r\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { PasswordHintRequest } from '../../models/request/passwordHintRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\n\r\nexport class HintComponent {\r\n email: string = '';\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n\r\n constructor(protected router: Router, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected apiService: ApiService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postPasswordHint(new PasswordHintRequest(this.email));\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Requested Hint' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('masterPassSent'));\r\n this.router.navigate([this.successRoute]);\r\n } catch { }\r\n }\r\n}\r\n","
\n
\n
\n

{{'passwordHint' | i18n}}

\n
\n
\n
\n \n \n {{'enterEmailToGetHint' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { KeysRequest } from './keysRequest';\n\nexport class RegisterRequest {\n name: string;\n email: string;\n masterPasswordHash: string;\n masterPasswordHint: string;\n key: string;\n keys: KeysRequest;\n token: string;\n organizationUserId: string;\n\n constructor(email: string, name: string, masterPasswordHash: string, masterPasswordHint: string, key: string) {\n this.name = name;\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n this.key = key;\n }\n}\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { KeysRequest } from '../../models/request/keysRequest';\r\nimport { RegisterRequest } from '../../models/request/registerRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\n\r\nexport class RegisterComponent {\r\n name: string = '';\r\n email: string = '';\r\n masterPassword: string = '';\r\n confirmMasterPassword: string = '';\r\n hint: string = '';\r\n showPassword: boolean = false;\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected analytics: Angulartics2, protected toasterService: ToasterService,\r\n protected i18nService: I18nService, protected cryptoService: CryptoService,\r\n protected apiService: ApiService, protected stateService: StateService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n if (this.masterPassword.length < 8) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassLength'));\r\n return;\r\n }\r\n if (this.masterPassword !== this.confirmMasterPassword) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassDoesntMatch'));\r\n return;\r\n }\r\n\r\n this.name = this.name === '' ? null : this.name;\r\n this.email = this.email.toLowerCase();\r\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email);\r\n const encKey = await this.cryptoService.makeEncKey(key);\r\n const hashedPassword = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\r\n const request = new RegisterRequest(this.email, this.name, hashedPassword,\r\n this.hint, encKey[1].encryptedString);\r\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\r\n const orgInvite = await this.stateService.get('orgInvitation');\r\n if (orgInvite != null && orgInvite.token != null && orgInvite.organizationUserId != null) {\r\n request.token = orgInvite.token;\r\n request.organizationUserId = orgInvite.organizationUserId;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postRegister(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Registered' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('newAccountCreated'));\r\n this.router.navigate([this.successRoute], { queryParams: { email: this.email } });\r\n } catch { }\r\n }\r\n\r\n togglePassword(confirmField: boolean) {\r\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Register' });\r\n this.showPassword = !this.showPassword;\r\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\r\n }\r\n}\r\n","
\n
\n
\n

{{'createAccount' | i18n}}

\n
\n
\n \n {{'createOrganizationCreatePersonalAccount' | i18n}}\n \n
\n \n \n {{'emailAddressDesc' | i18n}}\n
\n
\n \n \n {{'yourNameDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n {{'masterPassDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n {{'masterPassHintDesc' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n {{'submitAgreePolicies' | i18n}}\n {{'termsOfService' | i18n}},\n {{'privacyPolicy' | i18n}}\n \n
\n
\n
\n
\n
\n","export class U2f {\r\n private iframe: HTMLIFrameElement = null;\r\n private connectorLink: HTMLAnchorElement;\r\n private parseFunction = this.parseMessage.bind(this);\r\n\r\n constructor(private win: Window, private webVaultUrl: string, private successCallback: Function,\r\n private errorCallback: Function, private infoCallback: Function) {\r\n this.connectorLink = win.document.createElement('a');\r\n this.webVaultUrl = webVaultUrl != null && webVaultUrl !== '' ? webVaultUrl : 'https://vault.bitwarden.com';\r\n }\r\n\r\n init(data: any): void {\r\n this.connectorLink.href = this.webVaultUrl + '/u2f-connector.html' +\r\n '?data=' + this.base64Encode(JSON.stringify(data)) +\r\n '&parent=' + encodeURIComponent(this.win.document.location.href) +\r\n '&v=1';\r\n\r\n this.iframe = this.win.document.getElementById('u2f_iframe') as HTMLIFrameElement;\r\n this.iframe.src = this.connectorLink.href;\r\n\r\n this.win.addEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n stop() {\r\n this.sendMessage('stop');\r\n }\r\n\r\n start() {\r\n this.sendMessage('start');\r\n }\r\n\r\n sendMessage(message: any) {\r\n if (!this.iframe || !this.iframe.src || !this.iframe.contentWindow) {\r\n return;\r\n }\r\n\r\n this.iframe.contentWindow.postMessage(message, this.iframe.src);\r\n }\r\n\r\n base64Encode(str: string): string {\r\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {\r\n return String.fromCharCode(('0x' + p1) as any);\r\n }));\r\n }\r\n\r\n cleanup() {\r\n this.win.removeEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n private parseMessage(event: MessageEvent) {\r\n if (!this.validMessage(event)) {\r\n return;\r\n }\r\n\r\n const parts: string[] = event.data.split('|');\r\n if (parts[0] === 'success' && this.successCallback) {\r\n this.successCallback(parts[1]);\r\n } else if (parts[0] === 'error' && this.errorCallback) {\r\n this.errorCallback(parts[1]);\r\n } else if (parts[0] === 'info' && this.infoCallback) {\r\n this.infoCallback(parts[1]);\r\n }\r\n }\r\n\r\n private validMessage(event: MessageEvent) {\r\n if (event.origin == null || event.origin === '' || event.origin !== (this.connectorLink as any).origin ||\r\n event.data == null || typeof (event.data) !== 'string') {\r\n return false;\r\n }\r\n\r\n return event.data.indexOf('success|') === 0 || event.data.indexOf('error|') === 0 ||\r\n event.data.indexOf('info|') === 0;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { DeviceRequest } from './deviceRequest';\r\n\r\nexport class TokenRequest {\r\n email: string;\r\n masterPasswordHash: string;\r\n token: string;\r\n provider: TwoFactorProviderType;\r\n remember: boolean;\r\n device?: DeviceRequest;\r\n\r\n constructor(email: string, masterPasswordHash: string, provider: TwoFactorProviderType,\r\n token: string, remember: boolean, device?: DeviceRequest) {\r\n this.email = email;\r\n this.masterPasswordHash = masterPasswordHash;\r\n this.token = token;\r\n this.provider = provider;\r\n this.remember = remember;\r\n this.device = device != null ? device : null;\r\n }\r\n\r\n toIdentityToken(clientId: string) {\r\n const obj: any = {\r\n grant_type: 'password',\r\n username: this.email,\r\n password: this.masterPasswordHash,\r\n scope: 'api offline_access',\r\n client_id: clientId,\r\n };\r\n\r\n if (this.device) {\r\n obj.deviceType = this.device.type;\r\n obj.deviceIdentifier = this.device.identifier;\r\n obj.deviceName = this.device.name;\r\n // no push tokens for browser apps yet\r\n // obj.devicePushToken = this.device.pushToken;\r\n }\r\n\r\n if (this.token && this.provider !== null && (typeof this.provider !== 'undefined')) {\r\n obj.twoFactorToken = this.token;\r\n obj.twoFactorProvider = this.provider;\r\n obj.twoFactorRemember = this.remember ? '1' : '0';\r\n }\r\n\r\n return obj;\r\n }\r\n}\r\n","import { DeviceType } from '../../enums/deviceType';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class DeviceRequest {\r\n type: DeviceType;\r\n name: string;\r\n identifier: string;\r\n pushToken?: string;\r\n\r\n constructor(appId: string, platformUtilsService: PlatformUtilsService) {\r\n this.type = platformUtilsService.getDevice();\r\n this.name = platformUtilsService.getDeviceString();\r\n this.identifier = appId;\r\n this.pushToken = null;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class AuthResult {\r\n twoFactor: boolean = false;\r\n twoFactorProviders: Map = null;\r\n}\r\n","import {\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { DeviceType } from '../../enums/deviceType';\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nimport { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { EnvironmentService } from '../../abstractions/environment.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { TwoFactorProviders } from '../../services/auth.service';\r\n\r\nimport * as DuoWebSDK from '../../misc/duo';\r\nimport { U2f } from '../../misc/u2f';\r\n\r\nexport class TwoFactorComponent implements OnInit, OnDestroy {\r\n token: string = '';\r\n remember: boolean = false;\r\n u2fReady: boolean = false;\r\n providers = TwoFactorProviders;\r\n providerType = TwoFactorProviderType;\r\n selectedProviderType: TwoFactorProviderType = TwoFactorProviderType.Authenticator;\r\n u2fSupported: boolean = false;\r\n u2f: U2f = null;\r\n title: string = '';\r\n twoFactorEmail: string = null;\r\n formPromise: Promise;\r\n emailPromise: Promise;\r\n onSuccessfulLogin: () => Promise;\r\n onSuccessfulLoginNavigate: () => Promise;\r\n\r\n protected loginRoute = 'login';\r\n protected successRoute = 'vault';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected analytics: Angulartics2, protected toasterService: ToasterService,\r\n protected i18nService: I18nService, protected apiService: ApiService,\r\n protected platformUtilsService: PlatformUtilsService, protected win: Window,\r\n protected environmentService: EnvironmentService) {\r\n this.u2fSupported = this.platformUtilsService.supportsU2f(win);\r\n }\r\n\r\n async ngOnInit() {\r\n if (this.authService.email == null || this.authService.masterPasswordHash == null ||\r\n this.authService.twoFactorProviders == null) {\r\n this.router.navigate([this.loginRoute]);\r\n return;\r\n }\r\n\r\n if (this.win != null && this.u2fSupported) {\r\n let customWebVaultUrl: string = null;\r\n if (this.environmentService.baseUrl != null) {\r\n customWebVaultUrl = this.environmentService.baseUrl;\r\n } else if (this.environmentService.webVaultUrl != null) {\r\n customWebVaultUrl = this.environmentService.webVaultUrl;\r\n }\r\n\r\n this.u2f = new U2f(this.win, customWebVaultUrl, (token: string) => {\r\n this.token = token;\r\n this.submit();\r\n }, (error: string) => {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), error);\r\n }, (info: string) => {\r\n if (info === 'ready') {\r\n this.u2fReady = true;\r\n }\r\n });\r\n }\r\n\r\n this.selectedProviderType = this.authService.getDefaultTwoFactorProvider(this.u2fSupported);\r\n await this.init();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.cleanupU2f();\r\n this.u2f = null;\r\n }\r\n\r\n async init() {\r\n if (this.selectedProviderType == null) {\r\n this.title = this.i18nService.t('loginUnavailable');\r\n return;\r\n }\r\n\r\n this.cleanupU2f();\r\n this.title = (TwoFactorProviders as any)[this.selectedProviderType].name;\r\n const params = this.authService.twoFactorProviders.get(this.selectedProviderType);\r\n switch (this.selectedProviderType) {\r\n case TwoFactorProviderType.U2f:\r\n if (!this.u2fSupported || this.u2f == null) {\r\n break;\r\n }\r\n\r\n const challenges = JSON.parse(params.Challenges);\r\n if (challenges.length > 0) {\r\n this.u2f.init({\r\n appId: challenges[0].appId,\r\n challenge: challenges[0].challenge,\r\n keys: [{\r\n version: challenges[0].version,\r\n keyHandle: challenges[0].keyHandle,\r\n }],\r\n });\r\n }\r\n break;\r\n case TwoFactorProviderType.Duo:\r\n case TwoFactorProviderType.OrganizationDuo:\r\n if (this.platformUtilsService.getDevice() === DeviceType.SafariExtension) {\r\n break;\r\n }\r\n\r\n setTimeout(() => {\r\n DuoWebSDK.init({\r\n iframe: undefined,\r\n host: params.Host,\r\n sig_request: params.Signature,\r\n submit_callback: async (f: HTMLFormElement) => {\r\n const sig = f.querySelector('input[name=\"sig_response\"]') as HTMLInputElement;\r\n if (sig != null) {\r\n this.token = sig.value;\r\n await this.submit();\r\n }\r\n },\r\n });\r\n }, 0);\r\n break;\r\n case TwoFactorProviderType.Email:\r\n this.twoFactorEmail = params.Email;\r\n if (this.authService.twoFactorProviders.size > 1) {\r\n await this.sendEmail(false);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.token == null || this.token === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('verificationCodeRequired'));\r\n return;\r\n }\r\n\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f) {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n } else {\r\n return;\r\n }\r\n } else if (this.selectedProviderType === TwoFactorProviderType.Email ||\r\n this.selectedProviderType === TwoFactorProviderType.Authenticator) {\r\n this.token = this.token.replace(' ', '').trim();\r\n }\r\n\r\n try {\r\n this.formPromise = this.authService.logInTwoFactor(this.selectedProviderType, this.token, this.remember);\r\n await this.formPromise;\r\n if (this.onSuccessfulLogin != null) {\r\n this.onSuccessfulLogin();\r\n }\r\n this.analytics.eventTrack.next({ action: 'Logged In From Two-step' });\r\n if (this.onSuccessfulLoginNavigate != null) {\r\n this.onSuccessfulLoginNavigate();\r\n } else {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n } catch (e) {\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f && this.u2f != null) {\r\n this.u2f.start();\r\n } else {\r\n throw e;\r\n }\r\n }\r\n }\r\n\r\n async sendEmail(doToast: boolean) {\r\n if (this.selectedProviderType !== TwoFactorProviderType.Email) {\r\n return;\r\n }\r\n\r\n if (this.emailPromise != null) {\r\n return;\r\n }\r\n\r\n try {\r\n const request = new TwoFactorEmailRequest(this.authService.email, this.authService.masterPasswordHash);\r\n this.emailPromise = this.apiService.postTwoFactorEmail(request);\r\n await this.emailPromise;\r\n if (doToast) {\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));\r\n }\r\n } catch { }\r\n\r\n this.emailPromise = null;\r\n }\r\n\r\n private cleanupU2f() {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n this.u2f.cleanup();\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n EventEmitter,\r\n OnDestroy,\r\n Output,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent implements OnDestroy {\r\n @Output() onClose = new EventEmitter();\r\n @Output() onClosed = new EventEmitter();\r\n @Output() onShow = new EventEmitter();\r\n @Output() onShown = new EventEmitter();\r\n @ViewChild('container', { read: ViewContainerRef }) container: ViewContainerRef;\r\n parentContainer: ViewContainerRef = null;\r\n fade: boolean = true;\r\n\r\n constructor(protected componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('modal-open');\r\n document.body.removeChild(document.querySelector('.modal-backdrop'));\r\n }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.onShow.emit();\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n document.body.classList.add('modal-open');\r\n const backdrop = document.createElement('div');\r\n backdrop.className = 'modal-backdrop' + (this.fade ? ' fade' : '');\r\n document.body.appendChild(backdrop);\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n document.querySelector('.modal-dialog').addEventListener('click', (e: Event) => {\r\n e.stopPropagation();\r\n });\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss=\"modal\"]'));\r\n for (const closeElement of modals) {\r\n closeElement.addEventListener('click', (event) => {\r\n this.close();\r\n });\r\n }\r\n\r\n this.onShown.emit();\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n this.onClose.emit();\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n }\r\n}\r\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { TwoFactorProviders } from '../../services/auth.service';\n\nexport class TwoFactorOptionsComponent implements OnInit {\n @Output() onProviderSelected = new EventEmitter();\n @Output() onRecoverSelected = new EventEmitter();\n\n providers: any[] = [];\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected win: Window) { }\n\n ngOnInit() {\n this.providers = this.authService.getSupportedTwoFactorProviders(this.win);\n }\n\n choose(p: any) {\n this.onProviderSelected.emit(p.type);\n }\n\n recover() {\n this.analytics.eventTrack.next({ action: 'Selected Recover' });\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/lost-two-step-device/');\n this.onRecoverSelected.emit();\n }\n}\n","
\n
\n
\n

{{title}}

\n
\n
\n \n

{{'enterVerificationCodeApp' | i18n}}

\n

\n {{'enterVerificationCodeEmail' | i18n : twoFactorEmail}}\n

\n
\n \n \n \n \n {{'sendVerificationCodeEmailAgain' | i18n}}\n \n \n
\n
\n \n

{{'insertYubiKey' | i18n}}

\n \"\"\n
\n \n \n
\n
\n \n

\n \n

\n \n

{{'insertU2f' | i18n}}

\n \"\"\n
\n
\n \n
\n \n
\n
\n \n
\n \n \n
\n \n

{{'noTwoStepProviders' | i18n}}

\n

{{'noTwoStepProviders2' | i18n}}

\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n
\n
\n
\n
\n
\n\n\n","import {\n Input,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { Utils } from '../../misc/utils';\n\nconst Keys = {\n rememberedEmail: 'rememberedEmail',\n rememberEmail: 'rememberEmail',\n};\n\nexport class LoginComponent implements OnInit {\n @Input() email: string = '';\n @Input() rememberEmail = true;\n\n masterPassword: string = '';\n showPassword: boolean = false;\n formPromise: Promise;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, private storageService: StorageService) { }\n\n async ngOnInit() {\n if (this.email == null || this.email === '') {\n this.email = await this.storageService.get(Keys.rememberedEmail);\n if (this.email == null) {\n this.email = '';\n }\n }\n this.rememberEmail = await this.storageService.get(Keys.rememberEmail);\n if (this.rememberEmail == null) {\n this.rememberEmail = true;\n }\n if (Utils.isBrowser) {\n document.getElementById(this.email == null || this.email === '' ? 'email' : 'masterPassword').focus();\n }\n }\n\n async submit() {\n if (this.email == null || this.email === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.authService.logIn(this.email, this.masterPassword);\n const response = await this.formPromise;\n await this.storageService.save(Keys.rememberEmail, this.rememberEmail);\n if (this.rememberEmail) {\n await this.storageService.save(Keys.rememberedEmail, this.email);\n } else {\n await this.storageService.remove(Keys.rememberedEmail);\n }\n if (response.twoFactor) {\n this.analytics.eventTrack.next({ action: 'Logged In To Two-step' });\n this.router.navigate([this.twoFactorRoute]);\n } else {\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.analytics.eventTrack.next({ action: 'Logged In' });\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n } catch { }\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Login' });\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n}\n","
\n
\n
\n \n

{{'loginOrCreateNewAccount' | i18n}}

\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n \n {{'getMasterPasswordHint' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n \n \n {{'createAccount' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","\n
\n © 2018, 8bit Solutions LLC\n
{{'versionNumber' | i18n : version}}\n
\n","import 'core-js';\n\nimport { ToasterModule } from 'angular2-toaster';\nimport { Angulartics2Module } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { ServicesModule } from './services/services.module';\n\nimport { AppComponent } from './app.component';\nimport { ModalComponent } from './modal.component';\n\nimport { AvatarComponent } from './components/avatar.component';\nimport { CalloutComponent } from './components/callout.component';\n\nimport { FooterComponent } from './layouts/footer.component';\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { NavbarComponent } from './layouts/navbar.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorOptionsComponent } from './accounts/two-factor-options.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport {\n CollectionAddEditComponent as OrgCollectionAddEditComponent,\n} from './organizations/manage/collection-add-edit.component';\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EntityEventsComponent as OrgEntityEventsComponent } from './organizations/manage/entity-events.component';\nimport { EntityUsersComponent as OrgEntityUsersComponent } from './organizations/manage/entity-users.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupAddEditComponent as OrgGroupAddEditComponent } from './organizations/manage/group-add-edit.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\nimport { UserAddEditComponent as OrgUserAddEditComponent } from './organizations/manage/user-add-edit.component';\nimport { UserGroupsComponent as OrgUserGroupsComponent } from './organizations/manage/user-groups.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { AdjustSeatsComponent } from './organizations/settings/adjust-seats.component';\nimport { DeleteOrganizationComponent } from './organizations/settings/delete-organization.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { SettingsComponent as OrgSettingComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\n\nimport { AddEditComponent as OrgAddEditComponent } from './organizations/vault/add-edit.component';\nimport { AttachmentsComponent as OrgAttachmentsComponent } from './organizations/vault/attachments.component';\nimport { CiphersComponent as OrgCiphersComponent } from './organizations/vault/ciphers.component';\nimport { CollectionsComponent as OrgCollectionsComponent } from './organizations/vault/collections.component';\nimport { GroupingsComponent as OrgGroupingsComponent } from './organizations/vault/groupings.component';\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { AdjustPaymentComponent } from './settings/adjust-payment.component';\nimport { AdjustStorageComponent } from './settings/adjust-storage.component';\nimport { ChangeEmailComponent } from './settings/change-email.component';\nimport { ChangePasswordComponent } from './settings/change-password.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DeauthorizeSessionsComponent } from './settings/deauthorize-sessions.component';\nimport { DeleteAccountComponent } from './settings/delete-account.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PaymentComponent } from './settings/payment.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { ProfileComponent } from './settings/profile.component';\nimport { PurgeVaultComponent } from './settings/purge-vault.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorAuthenticatorComponent } from './settings/two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './settings/two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './settings/two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './settings/two-factor-recovery.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { TwoFactorU2fComponent } from './settings/two-factor-u2f.component';\nimport { TwoFactorVerifyComponent } from './settings/two-factor-verify.component';\nimport { TwoFactorYubiKeyComponent } from './settings/two-factor-yubikey.component';\nimport { UpdateKeyComponent } from './settings/update-key.component';\nimport { UpdateLicenseComponent } from './settings/update-license.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\nimport { VerifyEmailComponent } from './settings/verify-email.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ImportComponent } from './tools/import.component';\nimport { PasswordGeneratorHistoryComponent } from './tools/password-generator-history.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ToolsComponent } from './tools/tools.component';\n\nimport { AddEditComponent } from './vault/add-edit.component';\nimport { AttachmentsComponent } from './vault/attachments.component';\nimport { BulkDeleteComponent } from './vault/bulk-delete.component';\nimport { BulkMoveComponent } from './vault/bulk-move.component';\nimport { BulkShareComponent } from './vault/bulk-share.component';\nimport { CiphersComponent } from './vault/ciphers.component';\nimport { CollectionsComponent } from './vault/collections.component';\nimport { FolderAddEditComponent } from './vault/folder-add-edit.component';\nimport { GroupingsComponent } from './vault/groupings.component';\nimport { ShareComponent } from './vault/share.component';\nimport { VaultComponent } from './vault/vault.component';\n\nimport { IconComponent } from 'jslib/angular/components/icon.component';\n\nimport { ApiActionDirective } from 'jslib/angular/directives/api-action.directive';\nimport { AutofocusDirective } from 'jslib/angular/directives/autofocus.directive';\nimport { BlurClickDirective } from 'jslib/angular/directives/blur-click.directive';\nimport { BoxRowDirective } from 'jslib/angular/directives/box-row.directive';\nimport { FallbackSrcDirective } from 'jslib/angular/directives/fallback-src.directive';\nimport { InputVerbatimDirective } from 'jslib/angular/directives/input-verbatim.directive';\nimport { StopClickDirective } from 'jslib/angular/directives/stop-click.directive';\nimport { StopPropDirective } from 'jslib/angular/directives/stop-prop.directive';\nimport { TrueFalseValueDirective } from 'jslib/angular/directives/true-false-value.directive';\n\nimport { I18nPipe } from 'jslib/angular/pipes/i18n.pipe';\nimport { SearchCiphersPipe } from 'jslib/angular/pipes/search-ciphers.pipe';\nimport { SearchPipe } from 'jslib/angular/pipes/search.pipe';\n\nimport { registerLocaleData } from '@angular/common';\nimport localeDa from '@angular/common/locales/da';\nimport localeSk from '@angular/common/locales/sk';\n\nregisterLocaleData(localeDa, 'da');\nregisterLocaleData(localeSk, 'sk');\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n AppRoutingModule,\n ServicesModule,\n Angulartics2Module.forRoot([Angulartics2GoogleAnalytics], {\n pageTracking: {\n clearQueryParams: true,\n },\n }),\n ToasterModule,\n ],\n declarations: [\n AcceptOrganizationComponent,\n AccountComponent,\n AddEditComponent,\n AdjustPaymentComponent,\n AdjustSeatsComponent,\n AdjustStorageComponent,\n ApiActionDirective,\n AppComponent,\n AttachmentsComponent,\n AutofocusDirective,\n AvatarComponent,\n BlurClickDirective,\n BoxRowDirective,\n BreachReportComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CalloutComponent,\n ChangeEmailComponent,\n ChangePasswordComponent,\n CiphersComponent,\n CollectionsComponent,\n CreateOrganizationComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n DomainRulesComponent,\n ExportComponent,\n FallbackSrcDirective,\n FolderAddEditComponent,\n FooterComponent,\n FrontendLayoutComponent,\n GroupingsComponent,\n HintComponent,\n IconComponent,\n I18nPipe,\n ImportComponent,\n InputVerbatimDirective,\n LockComponent,\n LoginComponent,\n ModalComponent,\n NavbarComponent,\n OptionsComponent,\n OrgAccountComponent,\n OrgAddEditComponent,\n OrganizationBillingComponent,\n OrgAttachmentsComponent,\n OrgCiphersComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgEventsComponent,\n OrgExportComponent,\n OrgImportComponent,\n OrgGroupAddEditComponent,\n OrgGroupingsComponent,\n OrgGroupsComponent,\n OrgManageCollectionsComponent,\n OrgManageComponent,\n OrgPeopleComponent,\n OrgSettingComponent,\n OrgToolsComponent,\n OrgTwoFactorSetupComponent,\n OrgUserAddEditComponent,\n OrgUserGroupsComponent,\n OrganizationsComponent,\n OrganizationLayoutComponent,\n OrgVaultComponent,\n PasswordGeneratorComponent,\n PasswordGeneratorHistoryComponent,\n PaymentComponent,\n PremiumComponent,\n ProfileComponent,\n PurgeVaultComponent,\n RecoverDeleteComponent,\n RecoverTwoFactorComponent,\n RegisterComponent,\n SearchCiphersPipe,\n SearchPipe,\n SettingsComponent,\n ShareComponent,\n StopClickDirective,\n StopPropDirective,\n ToolsComponent,\n TrueFalseValueDirective,\n TwoFactorAuthenticatorComponent,\n TwoFactorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorSetupComponent,\n TwoFactorU2fComponent,\n TwoFactorVerifyComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n UpdateLicenseComponent,\n UserBillingComponent,\n UserLayoutComponent,\n VaultComponent,\n VerifyEmailComponent,\n VerifyEmailTokenComponent,\n VerifyRecoverDeleteComponent,\n ],\n entryComponents: [\n AddEditComponent,\n AttachmentsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CollectionsComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n FolderAddEditComponent,\n ModalComponent,\n OrgAddEditComponent,\n OrgAttachmentsComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgGroupAddEditComponent,\n OrgUserAddEditComponent,\n OrgUserGroupsComponent,\n PasswordGeneratorHistoryComponent,\n PurgeVaultComponent,\n ShareComponent,\n TwoFactorAuthenticatorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorU2fComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n ],\n providers: [],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport 'bootstrap';\nimport 'jquery';\nimport 'popper.js';\n\n// tslint:disable-next-line\nrequire('../scss/styles.scss');\n\nimport { AppModule } from './app.module';\n\nif (process.env.ENV === 'production') {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/main.3bc8efccbfe0b27994c6.css b/app/main.eb1e128bb8f8bc888f1e.css similarity index 99% rename from app/main.3bc8efccbfe0b27994c6.css rename to app/main.eb1e128bb8f8bc888f1e.css index 91c261ac..1ccd85a7 100644 --- a/app/main.3bc8efccbfe0b27994c6.css +++ b/app/main.eb1e128bb8f8bc888f1e.css @@ -9698,4 +9698,4 @@ img.logo { .overflow-hidden { overflow: hidden; } -/*# sourceMappingURL=main.3bc8efccbfe0b27994c6.css.map*/ \ No newline at end of file +/*# sourceMappingURL=main.eb1e128bb8f8bc888f1e.css.map*/ \ No newline at end of file diff --git a/app/main.3bc8efccbfe0b27994c6.css.map b/app/main.eb1e128bb8f8bc888f1e.css.map similarity index 58% rename from app/main.3bc8efccbfe0b27994c6.css.map rename to app/main.eb1e128bb8f8bc888f1e.css.map index 3a0ef190..92daf1d5 100644 --- a/app/main.3bc8efccbfe0b27994c6.css.map +++ b/app/main.eb1e128bb8f8bc888f1e.css.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"app/main.3bc8efccbfe0b27994c6.css","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"app/main.eb1e128bb8f8bc888f1e.css","sourceRoot":""} \ No newline at end of file diff --git a/app/main.3bc8efccbfe0b27994c6.js b/app/main.eb1e128bb8f8bc888f1e.js similarity index 51% rename from app/main.3bc8efccbfe0b27994c6.js rename to app/main.eb1e128bb8f8bc888f1e.js index 7af145ca..286a7d75 100644 --- a/app/main.3bc8efccbfe0b27994c6.js +++ b/app/main.eb1e128bb8f8bc888f1e.js @@ -1,2 +1,2 @@ -!function(n){function l(l){for(var t,i,r=l[0],a=l[1],s=l[2],c=0,p=[];c0&&this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),e[0]),e},n}();l.ValidationService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(17);var t=function(){function n(n,l){this.el=n,this.validationService=l}return n.prototype.ngOnChanges=function(n){var l=this;null!=this.appApiAction&&null!=this.appApiAction.then&&(this.el.nativeElement.loading=!0,this.appApiAction.then(function(n){l.el.nativeElement.loading=!1},function(n){l.el.nativeElement.loading=!1,l.validationService.showError(n)}))},n}();l.ApiActionDirective=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CryptoService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UserService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CipherService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.MessagingService=t},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.success=!1,this.ciphers=[],this.folders=[],this.folderRelationships=[],this.collections=[],this.collectionRelationships=[]}}();l.ImportResult=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(539),u=e(157),o=e(177),i=e(216),r=e(49),a=e(179),s=e(128),d=e(156),c=e(91),p=e(53),f=e(219),v=e(101),h=function(){function n(){this.organization=!1,this.newLineRegex=/(?:\r\n|\r|\n)/,this.passwordFieldNames=["password","pass word","passphrase","pass phrase","pass","code","code word","codeword","secret","secret word","personpwd","key","keyword","key word","keyphrase","key phrase","form_pw","wppassword","pin","pwd","pw","pword","passwd","p","serial","serial#","license key","reg #","passwort"],this.usernameFieldNames=["user","name","user name","username","login name","email","e-mail","id","userid","user id","login","form_loginname","wpname","mail","loginid","login id","log","personlogin","first name","last name","card#","account #","member","member #","nom","benutzername"],this.notesFieldNames=["note","notes","comment","comments","memo","description","free form","freeform","free text","freetext","free","kommentar"],this.uriFieldNames=["url","hyper link","hyperlink","link","host","hostname","host name","server","address","hyper ref","href","web","website","web site","site","web-site","uri","ort","adresse"]}return n.prototype.parseXml=function(n){var l=(new DOMParser).parseFromString(n,"application/xml");return null!=l&&null==l.querySelector("parsererror")?l:null},n.prototype.parseCsv=function(n,l){n=this.splitNewLine(n).join("\n").trim();var e=t.parse(n,{header:l,encoding:"UTF-8",skipEmptyLines:!1});return null!=e.errors&&e.errors.length>0&&e.errors.forEach(function(n){console.warn("Error parsing row "+n.row+": "+n.message)}),e.data&&e.data.length>0?e.data:null},n.prototype.parseSingleRowCsv=function(n){if(this.isNullOrWhitespace(n))return null;var l=this.parseCsv(n,!1);return null!=l&&l.length>0&&l[0].length>0?l[0]:null},n.prototype.makeUriArray=function(n){var l=this;if(null==n)return null;if("string"==typeof n){var e=new i.LoginUriView;return e.uri=this.fixUri(n),this.isNullOrWhitespace(e.uri)?null:(e.match=null,[e])}if(n.length>0){var t=[];return n.forEach(function(n){var e=new i.LoginUriView;e.uri=l.fixUri(n),l.isNullOrWhitespace(e.uri)||(e.match=null,t.push(e))}),0===t.length?null:t}return null},n.prototype.fixUri=function(n){return null==n?null:(-1===(n=n.toLowerCase().trim()).indexOf("://")&&n.indexOf(".")>=0&&(n="http://"+n),n.length>1e3?n.substring(0,1e3):n)},n.prototype.nameFromUrl=function(n){var l=r.Utils.getHostname(n);return this.isNullOrWhitespace(l)?null:l.startsWith("www.")?l.replace("www.",""):l},n.prototype.isNullOrWhitespace=function(n){return null==n||""===n.trim()},n.prototype.getValueOrDefault=function(n,l){return void 0===l&&(l=null),this.isNullOrWhitespace(n)?l:n},n.prototype.splitNewLine=function(n){return n.split(this.newLineRegex)},n.prototype.getCardBrand=function(n){if(this.isNullOrWhitespace(n))return null;var l=new RegExp("^4");return null!=n.match(l)?"Visa":/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/.test(n)?"Mastercard":(l=new RegExp("^3[47]"),null!=n.match(l)?"Amex":(l=new RegExp("^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)"),null!=n.match(l)?"Discover":(l=new RegExp("^36"),null!=n.match(l)?"Diners Club":(l=new RegExp("^30[0-5]"),null!=n.match(l)?"Diners Club":(l=new RegExp("^35(2[89]|[3-8][0-9])"),null!=n.match(l)?"JCB":(l=new RegExp("^(4026|417500|4508|4844|491(3|7))"),null!=n.match(l)?"Visa":null))))))},n.prototype.moveFoldersToCollections=function(n){n.folderRelationships.forEach(function(l){return n.collectionRelationships.push(l)}),n.collections=n.folders.map(function(n){var l=new o.CollectionView;return l.name=n.name,l}),n.folderRelationships=[],n.folders=[]},n.prototype.querySelectorDirectChild=function(n,l){var e=this.querySelectorAllDirectChild(n,l);return 0===e.length?null:e[0]},n.prototype.querySelectorAllDirectChild=function(n,l){return Array.from(n.querySelectorAll(l)).filter(function(l){return l.parentNode===n})},n.prototype.initLoginCipher=function(){var n=new u.CipherView;return n.favorite=!1,n.notes="",n.fields=[],n.login=new d.LoginView,n.type=p.CipherType.Login,n},n.prototype.cleanupCipher=function(n){null!=n&&(n.type!==p.CipherType.Login&&(n.login=null),this.isNullOrWhitespace(n.name)&&(n.name="--"),this.isNullOrWhitespace(n.notes)?n.notes=null:n.notes=n.notes.trim(),null!=n.fields&&0===n.fields.length&&(n.fields=null))},n.prototype.processKvp=function(n,l,e){if(!this.isNullOrWhitespace(e))if(this.isNullOrWhitespace(l)&&(l=""),e.length>200||e.trim().search(this.newLineRegex)>-1)null==n.notes&&(n.notes=""),n.notes+=l+": "+this.splitNewLine(e).join("\n")+"\n";else{null==n.fields&&(n.fields=[]);var t=new a.FieldView;t.type=f.FieldType.Text,t.name=l,t.value=e,n.fields.push(t)}},n.prototype.processFolder=function(n,l){var e=n.folders.length,t=!this.isNullOrWhitespace(l),u=t;if(t)for(var o=0;o-1&&(n="http://"+n),n.startsWith("http://")||n.startsWith("https://"))try{if(null!=o)return new o(n);if("function"==typeof URL)return new URL(n);if(null!=window){var l=window.document.createElement("a");return l.href=n,l}}catch(n){}return null},l.inited=!1,l.isNode=!1,l.isBrowser=!0,l.global=null,l}();l.Utils=i,i.init()}).call(this,e(223),e(103),e(295).Buffer)},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.FolderService=t},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Login=1]="Login",n[n.SecureNote=2]="SecureNote",n[n.Card=3]="Card",n[n.Identity=4]="Identity"}(l.CipherType||(l.CipherType={}))},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.preventDefault()},n}();l.StopClickDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StateService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SyncService=t},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordVerificationRequest=t},,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Authenticator=0]="Authenticator",n[n.Email=1]="Email",n[n.Duo=2]="Duo",n[n.Yubikey=3]="Yubikey",n[n.U2f=4]="U2f",n[n.Remember=5]="Remember",n[n.OrganizationDuo=6]="OrganizationDuo"}(l.TwoFactorProviderType||(l.TwoFactorProviderType={}))},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n){this.el=n}return Object.defineProperty(n.prototype,"appAutofocus",{set:function(n){this.autofocus=""===n||!0===n},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){this.autofocus&&this.el.nativeElement.focus()},n}();l.AutofocusDirective=t},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){n&&(this.type=n.type)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){return null},enumerable:!0,configurable:!0}),n}();l.SecureNoteView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.stopPropagation()},n}();l.StopPropDirective=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(225),i=(e(0),function(n){function l(l){var e=n.call(this,l)||this;return e.el=null,e}return u(l,n),l.prototype.ngOnDestroy=function(){},l.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.parentContainer=l,this.fade=e;var u=this.componentFactoryResolver.resolveComponentFactory(n),i=this.container.createComponent(u),r=Array.from(document.querySelectorAll(".modal"));return r.length>0&&(this.el=o(r[0]),this.el.modal("show"),this.el.on("show.bs.modal",function(){t.onShow.emit()}),this.el.on("shown.bs.modal",function(){t.onShown.emit(),t.el.find("*[appAutoFocus]").focus()}),this.el.on("hide.bs.modal",function(){t.onClose.emit()}),this.el.on("hidden.bs.modal",function(){t.onClosed.emit(),null!=t.parentContainer&&t.parentContainer.clear()})),i.instance},l.prototype.close=function(){null!=this.el&&this.el.modal("hide")},l}(e(837).ModalComponent));l.ModalComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordGenerationService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuthService=t},,,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?n[i]=r||null:n[i]=r?new o.CipherString(r):null}},n.prototype.buildDataModel=function(n,l,e,t){for(var u in void 0===t&&(t=[]),e)if(e.hasOwnProperty(u)){var o=n[e[u]||u];t.indexOf(u)>-1?l[u]=null!=o?o:null:l[u]=null!=o?o.encryptedString:null}},n.prototype.decryptObj=function(n,l,e){return t(this,void 0,void 0,function(){var t,o,i;return u(this,function(u){switch(u.label){case 0:for(i in t=[],o=this,l)l.hasOwnProperty(i)&&function(u){var i=Promise.resolve().then(function(){var n=l[u]||u;return o[n]?o[n].decrypt(e):null}).then(function(l){n[u]=l});t.push(i)}(i);return[4,Promise.all(t)];case 1:return u.sent(),[2,n]}})})},n}();l.default=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Generic=0]="Generic"}(l.SecureNoteType||(l.SecureNoteType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.environmentUrlsKey=n.environmentUrlsKey,this.disableGaKey=n.disableGaKey,this.disableAddLoginNotificationKey=n.disableAddLoginNotificationKey,this.disableContextMenuItemKey=n.disableContextMenuItemKey,this.disableFaviconKey=n.disableFaviconKey,this.disableAutoTotpCopyKey=n.disableAutoTotpCopyKey,this.enableAutoFillOnPageLoadKey=n.enableAutoFillOnPageLoadKey,this.lockOptionKey=n.lockOptionKey,this.lastActiveKey=n.lastActiveKey,this.neverDomainsKey=n.neverDomainsKey,this.installedVersionKey=n.installedVersionKey,this.localeKey=n.localeKey,this.themeKey=n.themeKey}return n.environmentUrlsKey="environmentUrls",n.disableGaKey="disableGa",n.disableAddLoginNotificationKey="disableAddLoginNotification",n.disableContextMenuItemKey="disableContextMenuItem",n.disableFaviconKey="disableFavicon",n.disableAutoTotpCopyKey="disableAutoTotpCopy",n.enableAutoFillOnPageLoadKey="enableAutoFillOnPageLoad",n.lockOptionKey="lockOption",n.lastActiveKey="lastActive",n.neverDomainsKey="neverDomains",n.installedVersionKey="installedVersion",n.localeKey="locale",n.themeKey="theme",n}();l.ConstantsService=t},,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(53),u=e(536),o=e(535),i=e(534),r=e(533),a=e(532),s=e(530),d=function(){return function(n,l,e){var d=this;if(null!=n){switch(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.userId=l,this.edit=n.edit,this.organizationUseTotp=n.organizationUseTotp,this.favorite=n.favorite,this.revisionDate=n.revisionDate,this.type=n.type,this.name=n.name,this.notes=n.notes,this.collectionIds=null!=e?e:n.collectionIds,this.type){case t.CipherType.Login:this.login=new a.LoginData(n.login);break;case t.CipherType.SecureNote:this.secureNote=new s.SecureNoteData(n.secureNote);break;case t.CipherType.Card:this.card=new o.CardData(n.card);break;case t.CipherType.Identity:this.identity=new r.IdentityData(n.identity)}null!=n.fields&&(this.fields=[],n.fields.forEach(function(n){d.fields.push(new i.FieldData(n))})),null!=n.attachments&&(this.attachments=[],n.attachments.forEach(function(n){d.attachments.push(new u.AttachmentData(n))}))}}}();l.CipherData=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.expMonth=null,this._brand=null}return Object.defineProperty(n.prototype,"maskedCode",{get:function(){return null!=this.code?"•".repeat(this.code.length):null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"brand",{get:function(){return this._brand},set:function(n){this._brand=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"number",{get:function(){return this._number},set:function(n){this._number=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null==this._subTitle&&(this._subTitle=this.brand,null!=this.number&&this.number.length>=4&&(null!=this._subTitle&&""!==this._subTitle?this._subTitle+=", ":this._subTitle="",this._subTitle+="*"+this.number.substr(this.number.length-4))),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"expiration",{get:function(){if(!this.expMonth&&!this.expYear)return null;var n=null!=this.expMonth?("0"+this.expMonth).slice(-2):"__";return n+=" / "+(null!=this.expYear?this.formatYear(this.expYear):"____")},enumerable:!0,configurable:!0}),n.prototype.formatYear=function(n){return 2===n.length?"20"+n:n},n}();l.CardView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(42);var t=function(){function n(n){this.sanitizer=n,this.width=45,this.height=45,this.charCount=2,this.textColor="#ffffff",this.fontSize=20,this.fontWeight=300,this.dynamic=!1,this.circle=!1}return n.prototype.ngOnInit=function(){this.dynamic||this.generate()},n.prototype.ngOnChanges=function(){this.dynamic&&this.generate()},n.prototype.generate=function(){var n=null,l=this.data.toUpperCase();this.charCount>1&&(n=this.getFirstLetters(l,this.charCount)),null==n&&(n=l.substr(0,this.charCount));var e=this.getCharText(n),t=this.stringToColor(l),u=this.getSvg(this.width,this.height,t);u.appendChild(e);var o=window.document.createElement("div").appendChild(u).outerHTML,i=window.btoa(unescape(encodeURIComponent(o)));this.src="data:image/svg+xml;base64,"+i},n.prototype.stringToColor=function(n){for(var l=0,e=0;e>8*e&255).toString(16)).substr(-2)}return t},n.prototype.getFirstLetters=function(n,l){var e=n.split(" ");if(e.length>1){for(var t="",u=0;u0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&window.document.body.removeChild(n)}),!this.hidePaypal){window.document.head.removeChild(this.btScript);var n=window.document.head.querySelector("#braintree-dropin-stylesheet");null!=n&&window.document.head.removeChild(n)}},n.prototype.changeMethod=function(){var n=this;"paypal"===this.method?window.setTimeout(function(){window.braintree.dropin.create({authorization:n.platformUtilsService.isDev()?t.btSandbox:t.btProduction,container:"#bt-dropin-container",paymentOptionPriority:["paypal"],paypal:{flow:"vault",buttonStyle:{label:"pay",size:"medium",shape:"pill",color:"blue"}}},function(l,e){null==l?n.btInstance=e:console.error(l)})},250):this.btInstance=null},n.prototype.createPaymentToken=function(){var n=this;return new Promise(function(l,e){if("paypal"===n.method)n.btInstance.requestPaymentMethod().then(function(n){l(n.nonce)}).catch(function(n){e(n.message)});else if("card"===n.method||"bank"===n.method){var t="card"===n.method?window.Stripe.card:window.Stripe.bankAccount,u="card"===n.method?n.card:n.bank;t.createToken(u,function(n,t){200===n&&null!=t.id?l(t.id):null!=t.error?e(t.error.message):e()})}})},n.prototype.getCountry=function(){return this.card.address_country},n}();l.PaymentComponent=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=null,n&&(this.id=n.id)}}();l.FolderView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuditService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(116),i=e(42),r=t.ɵcrt({encapsulation:2,styles:[],data:{}});function a(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"img",[],[[8,"src",4],[8,"title",0]],null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{"rounded-circle":0})],function(n,l){n(l,1,0,n(l,2,0,l.component.circle))},function(n,l){var e=l.component;n(l,0,0,e.sanitizer.bypassSecurityTrustResourceUrl(e.src),t.ɵinlineInterpolate(1,"",e.data,""))})}function s(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-avatar",[],null,null,null,a,r)),t.ɵdid(1,638976,null,0,o.AvatarComponent,[i.DomSanitizer],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AvatarComponent=r,l.View_AvatarComponent_0=a,l.View_AvatarComponent_Host_0=s;var d=t.ɵccf("app-avatar",o.AvatarComponent,s,{data:"data",width:"width",height:"height",charCount:"charCount",textColor:"textColor",fontSize:"fontSize",fontWeight:"fontWeight",dynamic:"dynamic",circle:"circle"},{},[]);l.AvatarComponentNgFactory=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.EnvironmentService=t},,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(17),s=e(46),d=e(125),c=e(4),p=e(9),f=e(20),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,43,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,19,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appAutoFocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,i.NgModel,[[2,i.ControlContainer],[2,i.NG_VALIDATORS],[8,null],[2,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(24,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),t.ɵdid(25,81920,null,0,s.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"");n(l,22,0,"MasterPasswordHash",e.masterPassword);n(l,25,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLoginAuthDesc"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"masterPass"))),n(l,17,0,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,30,0,t.ɵnov(l,1).loading),n(l,32,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"loading")),"")),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"continue"))),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l,0),"close")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-verify",[],null,null,null,h,v)),t.ɵdid(1,49152,null,0,d.TwoFactorVerifyComponent,[c.ApiService,o.I18nService,p.ToasterService,f.CryptoService],null,null)],null,null)}l.RenderType_TwoFactorVerifyComponent=v,l.View_TwoFactorVerifyComponent_0=h,l.View_TwoFactorVerifyComponent_Host_0=g;var m=t.ɵccf("app-two-factor-verify",d.TwoFactorVerifyComponent,g,{type:"type",organizationId:"organizationId"},{onAuthed:"onAuthed"},[]);l.TwoFactorVerifyComponentNgFactory=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?(a=[],[4,this.attachments.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){a.push(n)})},Promise.resolve())]):[3,13];case 12:i.sent(),n.attachments=a,i.label=13;case 13:return null!=this.fields&&this.fields.length>0?(d=[],[4,this.fields.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){d.push(n)})},Promise.resolve())]):[3,15];case 14:i.sent(),n.fields=d,i.label=15;case 15:return[2,n]}})})},l.prototype.toCipherData=function(n){var l=new a.CipherData;switch(l.id=this.id,l.organizationId=this.organizationId,l.folderId=this.folderId,l.userId=null!=this.organizationId?n:null,l.edit=this.edit,l.organizationUseTotp=this.organizationUseTotp,l.favorite=this.favorite,l.revisionDate=this.revisionDate,l.type=this.type,l.collectionIds=this.collectionIds,this.buildDataModel(this,l,{name:null,notes:null}),l.type){case r.CipherType.Login:l.login=this.login.toLoginData();break;case r.CipherType.SecureNote:l.secureNote=this.secureNote.toSecureNoteData();break;case r.CipherType.Card:l.card=this.card.toCardData();break;case r.CipherType.Identity:l.identity=this.identity.toIdentityData()}return null!=this.fields&&(l.fields=[],this.fields.forEach(function(n){l.fields.push(n.toFieldData())})),null!=this.attachments&&(l.attachments=[],this.attachments.forEach(function(n){l.attachments.push(n.toAttachmentData())})),l},l}(p.default);l.Cipher=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(177),i=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{id:null,organizationId:null,name:null,readOnly:null},e,["id","organizationId","readOnly"]),t)}return u(l,n),l.prototype.decrypt=function(){return this.decryptObj(new o.CollectionView(this),{name:null},this.organizationId)},l}(e(100).default);l.Collection=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){}return Object.defineProperty(n.prototype,"uri",{get:function(){return this.hasUris?this.uris[0].uri:null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"maskedPassword",{get:function(){return null!=this.password?"••••••••":null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return this.username},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"canLaunch",{get:function(){return this.hasUris&&this.uris[0].canLaunch},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasUris",{get:function(){return null!=this.uris&&this.uris.length>0},enumerable:!0,configurable:!0}),n}();l.LoginView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(53),u=function(){function n(n){this.favorite=!1,this.organizationUseTotp=!1,this.edit=!1,n&&(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.favorite=n.favorite,this.organizationUseTotp=n.organizationUseTotp,this.edit=n.edit,this.type=n.type,this.localData=n.localData,this.collectionIds=n.collectionIds)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){switch(this.type){case t.CipherType.Login:return this.login.subTitle;case t.CipherType.SecureNote:return this.secureNote.subTitle;case t.CipherType.Card:return this.card.subTitle;case t.CipherType.Identity:return this.identity.subTitle}return null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasAttachments",{get:function(){return this.attachments&&this.attachments.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasFields",{get:function(){return this.fields&&this.fields.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"login_username",{get:function(){return null!=this.login?this.login.username:null},enumerable:!0,configurable:!0}),n}();l.CipherView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(53),u=function(){return function(n){var l=this;switch(this.type=n.type,this.folderId=n.folderId,this.organizationId=n.organizationId,this.name=n.name?n.name.encryptedString:null,this.notes=n.notes?n.notes.encryptedString:null,this.favorite=n.favorite,this.type){case t.CipherType.Login:this.login={uris:null,username:n.login.username?n.login.username.encryptedString:null,password:n.login.password?n.login.password.encryptedString:null,totp:n.login.totp?n.login.totp.encryptedString:null},n.login.uris&&(this.login.uris=[],n.login.uris.forEach(function(n){l.login.uris.push({uri:n.uri?n.uri.encryptedString:null,match:null!=n.match?n.match:null})}));break;case t.CipherType.SecureNote:this.secureNote={type:n.secureNote.type};break;case t.CipherType.Card:this.card={cardholderName:n.card.cardholderName?n.card.cardholderName.encryptedString:null,brand:n.card.brand?n.card.brand.encryptedString:null,number:n.card.number?n.card.number.encryptedString:null,expMonth:n.card.expMonth?n.card.expMonth.encryptedString:null,expYear:n.card.expYear?n.card.expYear.encryptedString:null,code:n.card.code?n.card.code.encryptedString:null};break;case t.CipherType.Identity:this.identity={title:n.identity.title?n.identity.title.encryptedString:null,firstName:n.identity.firstName?n.identity.firstName.encryptedString:null,middleName:n.identity.middleName?n.identity.middleName.encryptedString:null,lastName:n.identity.lastName?n.identity.lastName.encryptedString:null,address1:n.identity.address1?n.identity.address1.encryptedString:null,address2:n.identity.address2?n.identity.address2.encryptedString:null,address3:n.identity.address3?n.identity.address3.encryptedString:null,city:n.identity.city?n.identity.city.encryptedString:null,state:n.identity.state?n.identity.state.encryptedString:null,postalCode:n.identity.postalCode?n.identity.postalCode.encryptedString:null,country:n.identity.country?n.identity.country.encryptedString:null,company:n.identity.company?n.identity.company.encryptedString:null,email:n.identity.email?n.identity.email.encryptedString:null,phone:n.identity.phone?n.identity.phone.encryptedString:null,ssn:n.identity.ssn?n.identity.ssn.encryptedString:null,username:n.identity.username?n.identity.username.encryptedString:null,passportNumber:n.identity.passportNumber?n.identity.passportNumber.encryptedString:null,licenseNumber:n.identity.licenseNumber?n.identity.licenseNumber.encryptedString:null}}n.fields&&(this.fields=[],n.fields.forEach(function(n){l.fields.push({type:n.type,name:n.name?n.name.encryptedString:null,value:n.value?n.value.encryptedString:null})})),n.attachments&&(this.attachments={},n.attachments.forEach(function(n){l.attachments[n.id]=n.fileName?n.fileName.encryptedString:null}))}}();l.CipherRequest=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Android=0]="Android",n[n.iOS=1]="iOS",n[n.ChromeExtension=2]="ChromeExtension",n[n.FirefoxExtension=3]="FirefoxExtension",n[n.OperaExtension=4]="OperaExtension",n[n.EdgeExtension=5]="EdgeExtension",n[n.WindowsDesktop=6]="WindowsDesktop",n[n.MacOsDesktop=7]="MacOsDesktop",n[n.LinuxDesktop=8]="LinuxDesktop",n[n.ChromeBrowser=9]="ChromeBrowser",n[n.FirefoxBrowser=10]="FirefoxBrowser",n[n.OperaBrowser=11]="OperaBrowser",n[n.EdgeBrowser=12]="EdgeBrowser",n[n.IEBrowser=13]="IEBrowser",n[n.UnknownBrowser=14]="UnknownBrowser",n[n.AndroidAmazon=15]="AndroidAmazon",n[n.UWP=16]="UWP",n[n.SafariBrowser=17]="SafariBrowser",n[n.VivaldiBrowser=18]="VivaldiBrowser",n[n.VivaldiExtension=19]="VivaldiExtension",n[n.SafariExtension=20]="SafariExtension"}(l.DeviceType||(l.DeviceType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.subscribers=new Map}return n.prototype.send=function(n,l){null==l?this.subscribers.forEach(function(l){l(n)}):this.subscribers.has(l)&&this.subscribers.get(l)(n)},n.prototype.subscribe=function(n,l){this.subscribers.has(n)||this.subscribers.set(n,l)},n.prototype.unsubscribe=function(n){this.subscribers.has(n)&&this.subscribers.delete(n)},n}();l.BroadcasterService=t},,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Owner=0]="Owner",n[n.Admin=1]="Admin",n[n.User=2]="User"}(l.OrganizationUserType||(l.OrganizationUserType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(2);var t=e(159),u=e(727),o=function(){function n(n){this.i18nService=n}return n.prototype.getDefaultDateFilters=function(){var n=new Date,l=new Date(n.getFullYear(),n.getMonth(),n.getDate(),23,59);n.setDate(n.getDate()-30);var e=new Date(n.getFullYear(),n.getMonth(),n.getDate(),0,0);return[this.toDateTimeLocalString(e),this.toDateTimeLocalString(l)]},n.prototype.formatDateFilters=function(n,l){var e=new Date(n),t=new Date(l+":59.999");if(isNaN(e.getTime())||isNaN(t.getTime())||t"+e+"";var t=this.makeAnchor(e);return t.setAttribute("href","#/organizations/"+n.organizationId+"/vault?search="+e+"&viewEvents="+n.cipherId),t.outerHTML},n.prototype.formatGroupId=function(n){var l=this.getShortId(n.groupId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/groups?search="+l),e.outerHTML},n.prototype.formatCollectionId=function(n){var l=this.getShortId(n.collectionId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/collections?search="+l),e.outerHTML},n.prototype.formatOrgUserId=function(n){var l=this.getShortId(n.organizationUserId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/people?search="+l+"&viewEvents="+n.organizationUserId),e.outerHTML},n.prototype.makeAnchor=function(n){var l=document.createElement("a");return l.title=this.i18nService.t("view"),l.innerHTML=""+n+"",l},n.prototype.getShortId=function(n){return n.substring(0,8)},n.prototype.toDateTimeLocalString=function(n){return n.getFullYear()+"-"+this.pad(n.getMonth()+1)+"-"+this.pad(n.getDate())+"T"+this.pad(n.getHours())+":"+this.pad(n.getMinutes())},n.prototype.pad=function(n){var l=Math.floor(Math.abs(n));return(l<10?"0":"")+l},n}();l.EventService=o;var i=function(){return function(){}}();l.EventInfo=i;var r=function(){return function(){this.cipherInfo=!0}}();l.EventOptions=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.ExportService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){n&&(this.id=n.id,this.organizationId=n.organizationId,this.readOnly=n.readOnly)}}();l.CollectionView=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0))return[3,4];u.label=1;case 1:return u.trys.push([1,3,,4]),[4,this.getFileContents(e[0])];case 2:return null!=(o=u.sent())&&(t=o),[3,4];case 3:return u.sent(),[3,4];case 4:return null==t||""===t?(this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),[2]):[4,n.parse(t)];case 5:if(!(i=u.sent()).success)return[3,10];if(0===i.folders.length&&0===i.ciphers.length)return this.error(this.i18nService.t("importNothingError")),[2];if(i.ciphers.length>0&&(r=Math.floor(i.ciphers.length/2),a=i.ciphers.length-1,this.badData(i.ciphers[0])&&this.badData(i.ciphers[r])&&this.badData(i.ciphers[a])))return this.error(this.i18nService.t("importFormatError")),[2];u.label=6;case 6:return u.trys.push([6,8,,9]),this.formPromise=this.postImport(i),[4,this.formPromise];case 7:return u.sent(),this.analytics.eventTrack.next({action:"Imported Data",properties:{label:this.format}}),this.toasterService.popAsync("success",null,this.i18nService.t("importSuccess")),this.router.navigate(this.successNavigate),[3,9];case 8:return u.sent(),[3,9];case 9:return[3,11];case 10:this.error(this.i18nService.t("importFormatError")),u.label=11;case 11:return[2]}})})},n.prototype.getFormatInstructionTitle=function(){var n=this;if(null==this.format)return null;var l=this.featuredImportOptions.concat(this.importOptions).filter(function(l){return l.id===n.format});return l.length>0?this.i18nService.t("instructionsFor",l[0].name):null},n.prototype.postImport=function(n){return t(this,void 0,void 0,function(){var l,e,t,s;return u(this,function(u){switch(u.label){case 0:l=new r.ImportCiphersRequest,t=0,u.label=1;case 1:return t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1},enumerable:!0,configurable:!0}),n}();l.LoginUriView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.title=null}return Object.defineProperty(n.prototype,"firstName",{get:function(){return this._firstName},set:function(n){this._firstName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"lastName",{get:function(){return this._lastName},set:function(n){this._lastName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null!=this._subTitle||null==this.firstName&&null==this.lastName||(this._subTitle="",null!=this.firstName&&(this._subTitle=this.firstName),null!=this.lastName&&(""!==this._subTitle&&(this._subTitle+=" "),this._subTitle+=this.lastName)),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"fullName",{get:function(){if(null!=this.title||null!=this.firstName||null!=this.middleName||null!=this.lastName){var n="";return null!=this.title&&(n+=this.title+" "),null!=this.firstName&&(n+=this.firstName+" "),null!=this.middleName&&(n+=this.middleName+" "),null!=this.lastName&&(n+=this.lastName),n.trim()}return null},enumerable:!0,configurable:!0}),n}();l.IdentityView=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]500?500:this.ciphers.length,e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]t){if(o===i.TwoFactorProviderType.U2f&&!n)return;e=o,t=r.priority}}),e},n.prototype.logInHelper=function(n,l,e,t,c,p){return u(this,void 0,void 0,function(){var u,f,v,h,g,m,y,C,b,S;return o(this,function(o){switch(o.label){case 0:return[4,this.tokenService.getTwoFactorToken(n)];case 1:return u=o.sent(),[4,this.appIdService.getAppId()];case 2:return f=o.sent(),v=new a.DeviceRequest(f,this.platformUtilsService),h=null!=c&&null!=t?new d.TokenRequest(n,l,t,c,p,v):null!=u?new d.TokenRequest(n,l,i.TwoFactorProviderType.Remember,u,!1,v):new d.TokenRequest(n,l,null,null,!1,v),[4,this.apiService.postIdentityToken(h)];case 3:return g=o.sent(),this.clearState(),(m=new r.AuthResult).twoFactor=!g.accessToken,m.twoFactor?(y=g,this.email=n,this.masterPasswordHash=l,this.key=this.setCryptoKeys?e:null,this.twoFactorProviders=y.twoFactorProviders2,m.twoFactorProviders=y.twoFactorProviders2,[2,m]):(null!=(C=g).twoFactorToken&&this.tokenService.setTwoFactorToken(C.twoFactorToken,n),[4,this.tokenService.setTokens(C.accessToken,C.refreshToken)]);case 4:return o.sent(),[4,this.userService.setUserIdAndEmail(this.tokenService.getUserId(),this.tokenService.getEmail())];case 5:return o.sent(),this.setCryptoKeys?[4,this.cryptoService.setKey(e)]:[3,15];case 6:return o.sent(),[4,this.cryptoService.setKeyHash(l)];case 7:return o.sent(),[4,this.cryptoService.setEncKey(C.key)];case 8:if(o.sent(),null!=C.privateKey)return[3,13];o.label=9;case 9:return o.trys.push([9,12,,13]),[4,this.cryptoService.makeKeyPair()];case 10:return b=o.sent(),[4,this.apiService.postAccountKeys(new s.KeysRequest(b[0],b[1].encryptedString))];case 11:return o.sent(),C.privateKey=b[1].encryptedString,[3,13];case 12:return S=o.sent(),console.error(S),[3,13];case 13:return[4,this.cryptoService.setEncPrivateKey(C.privateKey)];case 14:o.sent(),o.label=15;case 15:return this.messagingService.send("loggedIn"),[2,m]}})})},n.prototype.clearState=function(){this.email=null,this.masterPasswordHash=null,this.twoFactorProviders=null,this.selectedTwoFactorProviderType=null},n}();l.AuthService=c},,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=n.Id,this.readOnly=n.ReadOnly}}();l.SelectionReadOnlyResponse=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&l[0].status===i.OrganizationUserStatusType.Confirmed&&this.events(l[0]),[2]})})}),[2]}})})}),[2]})})},n.prototype.load=function(){return t(this,void 0,void 0,function(){var n,l=this;return u(this,function(e){switch(e.label){case 0:return[4,this.apiService.getOrganizationUsers(this.organizationId)];case 1:return n=e.sent(),this.statusMap.clear(),this.allUsers=null!=n.data&&n.data.length>0?n.data:[],this.allUsers.sort(a.Utils.getSortFunction(this.i18nService,"email")),this.allUsers.forEach(function(n){l.statusMap.has(n.status)?l.statusMap.get(n.status).push(n):l.statusMap.set(n.status,[n])}),this.filter(this.status),this.loading=!1,[2]}})})},n.prototype.filter=function(n){this.status=n,null!=this.status?this.users=this.statusMap.get(this.status):this.users=this.allUsers},Object.defineProperty(n.prototype,"invitedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Invited)?this.statusMap.get(i.OrganizationUserStatusType.Invited).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"acceptedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Accepted)?this.statusMap.get(i.OrganizationUserStatusType.Accepted).length:0},enumerable:!0,configurable:!0}),n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(c.UserAddEditComponent,this.addEditModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedUser.subscribe(function(){l.modal.close(),l.removeUser(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.invite=function(){this.edit(null)},n.prototype.groups=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.groupsModalRef.createComponent(e).instance;var t=this.modal.show(p.UserGroupsComponent,this.groupsModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close()}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.remove=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),n.name||n.email,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteOrganizationUser(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",n.name||n.email)),this.removeUser(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.reinvite=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.apiService.postOrganizationUserReinvite(this.organizationId,n.id),[4,this.actionPromise]);case 1:return l.sent(),this.analytics.eventTrack.next({action:"Reinvited User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenReinvited",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.confirm=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.doConfirmation(n),[4,this.actionPromise]);case 1:return l.sent(),n.status=i.OrganizationUserStatusType.Confirmed,this.analytics.eventTrack.next({action:"Confirmed User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenConfirmed",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.events=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(d.EntityEventsComponent,this.eventsModalRef)).name=n.name||n.email,e.organizationId=this.organizationId,e.entityId=n.id,e.showUser=!1,e.entity="user",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.doConfirmation=function(n){return t(this,void 0,void 0,function(){var l,e,t,i,r;return u(this,function(u){switch(u.label){case 0:return[4,this.cryptoService.getOrgKey(this.organizationId)];case 1:return l=u.sent(),[4,this.apiService.getUserPublicKey(n.userId)];case 2:return e=u.sent(),t=a.Utils.fromB64ToArray(e.publicKey),[4,this.cryptoService.rsaEncrypt(l.key,t.buffer)];case 3:return i=u.sent(),(r=new o.OrganizationUserConfirmRequest).key=i.encryptedString,[4,this.apiService.postOrganizationUserConfirm(this.organizationId,n.id,r)];case 4:return u.sent(),[2]}})})},n.prototype.removeUser=function(n){var l=this.users.indexOf(n);l>-1&&this.users.splice(l,1)},n}();l.PeopleComponent=f},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?n.data:[]).sort(o.Utils.getSortFunction(this.i18nService,"name")),this.groups=l,this.loading=!1,[2]}})})},n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(i.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(a.GroupAddEditComponent,this.addEditModalRef);t.organizationId=this.organizationId,t.groupId=null!=n?n.id:null,t.onSavedGroup.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedGroup.subscribe(function(){l.modal.close(),l.removeGroup(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.add=function(){this.edit(null)},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),n.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteGroup(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",n.name)),this.removeGroup(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.users=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(i.ModalComponent);this.modal=this.usersModalRef.createComponent(e).instance;var t=this.modal.show(r.EntityUsersComponent,this.usersModalRef);t.organizationId=this.organizationId,t.entity="group",t.entityId=n.id,t.entityName=n.name,this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.removeGroup=function(n){var l=this.groups.indexOf(n);l>-1&&this.groups.splice(l,1)},n}();l.GroupsComponent=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EventsComponent=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Invited=0]="Invited",n[n.Accepted=1]="Accepted",n[n.Confirmed=2]="Confirmed"}(l.OrganizationUserStatusType||(l.OrganizationUserStatusType={}))},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.users.splice(l,1),[3,8];case 7:return e.sent(),[3,8];case 8:return[2]}})})},n}();l.EntityUsersComponent=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.id=n,this.readOnly=l}}();l.SelectionReadOnlyRequest=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.collections.splice(l,1)},n}();l.CollectionsComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.transform=function(n,l,e,t,u){return null==n||0===n.length?[]:null==l||l.length<2?n:(l=l.trim().toLowerCase(),n.filter(function(n){return null!=e&&null!=n[e]&&n[e].toString().toLowerCase().indexOf(l)>-1||(null!=t&&null!=n[t]&&n[t].toString().toLowerCase().indexOf(l)>-1||null!=u&&null!=n[u]&&n[u].toString().toLowerCase().indexOf(l)>-1)}))},n}();l.SearchPipe=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EntityEventsComponent=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.viewEvents(e[0]),[2]}})})}),[2]}})})})},n.prototype.clearGroupingFilters=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchVault"),[4,this.ciphersComponent.applyFilter()];case 1:return n.sent(),this.clearFilters(),this.go(),[2]}})})},n.prototype.filterCipherType=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchType"),e=function(l){return l.type===n},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.type=n,this.go(),[2]}})})},n.prototype.filterCollection=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchCollection"),e=function(l){return"unassigned"===n?null==l.collectionIds||0===l.collectionIds.length:l.collectionIds.indexOf(n)>-1},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n},n.prototype.editCipherAttachments=function(n){var l=this;if(null!=this.organization.maxStorageGb&&0!==this.organization.maxStorageGb){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.attachmentsModalRef.createComponent(e).instance;var i=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef);i.organization=this.organization,i.cipherId=n.id;var r=!1;i.onUploadedAttachment.subscribe(function(){return r=!0}),i.onDeletedAttachment.subscribe(function(){return r=!0}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,r?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return r=!1,[2]}})})})}else this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var i=this.modal.show(s.CollectionsComponent,this.collectionsModalRef);this.organization.isAdmin&&(i.collectionIds=n.collectionIds,i.collections=this.groupingsComponent.collections.filter(function(n){return!n.readOnly})),i.organization=this.organization,i.cipherId=n.id,i.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addCipher=function(){this.editCipher(null).type=this.type},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var i=this.modal.show(r.AddEditComponent,this.cipherAddEditModalRef);return i.organization=this.organization,i.cipherId=null==n?null:n.id,i.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),i.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),i},n.prototype.viewEvents=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(i.EntityEventsComponent,this.eventsModalRef)).name=n.name,e.organizationId=this.organization.id,e.entityId=n.id,e.showUser=!0,e.entity="cipher",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.clearFilters=function(){this.collectionId=null,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={type:this.type,collectionId:this.collectionId});var l=this.router.createUrlTree(["organizations",this.organization.id,"vault"],{queryParams:n}).toString();this.location.go(l)},n}());l.VaultComponent=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1}),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.submit=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.cipherDomain.collectionIds=this.collections.filter(function(n){return!!n.checked}).map(function(n){return n.id}),this.formPromise=this.saveCollections(),[4,this.formPromise];case 1:return n.sent(),this.onSavedCollections.emit(),this.analytics.eventTrack.next({action:"Edited Cipher Collections"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedItem")),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.loadCipherCollections=function(){return this.cipherDomain.collectionIds},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n=this;return u(this,function(l){switch(l.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,l.sent().filter(function(l){return!l.readOnly&&l.organizationId===n.cipher.organizationId})]}})})},n.prototype.saveCollections=function(){return this.cipherService.saveCollectionsWithServer(this.cipherDomain)},n}());l.CollectionsComponent=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(12),e(3),e(26),e(20),e(2),e(8),e(35);var o=function(n){function l(l,e,t,u,o,i,r){return n.call(this,l,e,t,u,o,i,r,window)||this}return u(l,n),l}(e(800).AttachmentsComponent);l.AttachmentsComponent=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1})];case 1:return l.sent(),this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n},n.prototype.editCipherAttachments=function(n){return t(this,void 0,void 0,function(){var l,e,i,r,s,d=this;return u(this,function(c){switch(c.label){case 0:return[4,this.tokenService.getPremium()];case 1:return l=c.sent(),null!=n.organizationId||l?[3,2]:(this.messagingService.send("premiumRequired"),[2]);case 2:return null==n.organizationId?[3,4]:[4,this.userService.getOrganization(n.organizationId)];case 3:if(null!=(e=c.sent())&&(null==e.maxStorageGb||0===e.maxStorageGb))return this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId}),[2];c.label=4;case 4:return null!=this.modal&&this.modal.close(),i=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.attachmentsModalRef.createComponent(i).instance,(r=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef)).cipherId=n.id,s=!1,r.onUploadedAttachment.subscribe(function(){return s=!0}),r.onDeletedAttachment.subscribe(function(){return s=!0}),this.modal.onClosed.subscribe(function(){return t(d,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,s?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return s=!1,[2]}})})}),[2]}})})},n.prototype.shareCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.shareModalRef.createComponent(e).instance;var i=this.modal.show(v.ShareComponent,this.shareModalRef);i.cipherId=n.id,i.onSharedCipher.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var i=this.modal.show(p.CollectionsComponent,this.collectionsModalRef);i.cipherId=n.id,i.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addFolder=function(){return t(this,void 0,void 0,function(){var n,l,e=this;return u(this,function(i){return null!=this.modal&&this.modal.close(),n=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(n).instance,(l=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=null,l.onSavedFolder.subscribe(function(){return t(e,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){e.modal=null}),[2]})})},n.prototype.editFolder=function(n){return t(this,void 0,void 0,function(){var l,e,i=this;return u(this,function(r){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(l).instance,(e=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=n,e.onSavedFolder.subscribe(function(){return t(i,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),e.onDeletedFolder.subscribe(function(){return t(i,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[4,this.filterFolder("none")];case 2:return n.sent(),this.groupingsComponent.selectedFolderId=null,[2]}})})}),this.modal.onClosed.subscribe(function(){i.modal=null}),[2]})})},n.prototype.addCipher=function(){var n=this.editCipher(null);n.type=this.type,n.folderId="none"===this.folderId?null:this.folderId},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var i=this.modal.show(r.AddEditComponent,this.cipherAddEditModalRef);return i.cipherId=null==n?null:n.id,i.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),i.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),i},n.prototype.bulkDelete=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkDeleteModalRef.createComponent(e).instance;var i=this.modal.show(s.BulkDeleteComponent,this.bulkDeleteModalRef);i.cipherIds=l,i.onDeleted.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkShare=function(){var n=this,l=this.ciphersComponent.getSelected();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkShareModalRef.createComponent(e).instance;var i=this.modal.show(c.BulkShareComponent,this.bulkShareModalRef);i.ciphers=l,i.onShared.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkMove=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkMoveModalRef.createComponent(e).instance;var i=this.modal.show(d.BulkMoveComponent,this.bulkMoveModalRef);i.cipherIds=l,i.onMoved.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.selectAll=function(n){this.ciphersComponent.selectAll(n)},n.prototype.updateKey=function(){var n=this;null!=this.modal&&this.modal.close();var l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.updateKeyModalRef.createComponent(l).instance,this.modal.show(i.UpdateKeyComponent,this.updateKeyModalRef),this.modal.onClosed.subscribe(function(){n.modal=null})},n.prototype.clearFilters=function(){this.folderId=null,this.collectionId=null,this.favorites=!1,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={favorites:!!this.favorites||null,type:this.type,folderId:this.folderId,collectionId:this.collectionId});var l=this.router.createUrlTree(["vault"],{queryParams:n}).toString();this.location.go(l)},n.prototype.inOrgWithPremium=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.userService.getAllOrganizations()];case 1:for(n=e.sent(),l=0;l0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?(n="http://"+n,l=!0):this.imageEnabled&&(l=0===n.indexOf("http")&&n.indexOf(".")>-1),this.imageEnabled&&l)try{this.image=this.iconsUrl+"/"+r.Utils.getHostname(n)+"/icon.png",this.fallbackImage="images/fa-globe.png"}catch(n){}}else this.image=null},n}();l.IconComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.ngOnInit=function(){document.body.classList.remove("layout_frontend")},n}();l.UserLayoutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(8);var t=function(){function n(n){this.platformUtilsService=n,this.year="2015"}return n.prototype.ngOnInit=function(){this.year=(new Date).getFullYear().toString(),this.version=this.platformUtilsService.getApplicationVersion()},n}();l.FooterComponent=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(n.email=l.email),null!=l.premium?n.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=l.org&&(n.showCreateOrgMessage=!0,n.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:l.org}}))})},l}(e(830).RegisterComponent);l.RegisterComponent=o},function(n,l,e){var t,u,o;u=[],void 0===(o="function"==typeof(t=function(){var n,l,e,t,u,o=/^(?:AUTH|ENROLL)+\|[A-Za-z0-9\+\/=]+\|[A-Za-z0-9\+\/=]+$/,i=/^ERR\|[\w\s\.\(\)]+$/,r=/^DUO_OPEN_WINDOW\|/,a=["duo.com","duosecurity.com","duomobile.s3-us-west-1.amazonaws.com"],s="duo_iframe",d="",c="sig_response";function p(n,l){throw new Error("Duo Web SDK error: "+n+(l?"\nSee "+l+" for more information":""))}function f(n,l){return"dataset"in n?n.dataset[l]:n.getAttribute("data-"+l.replace(/([a-z])([A-Z])/,"$1-$2").toLowerCase())}function v(n,l,e,t){"addEventListener"in window?n.addEventListener(l,t,!1):n.attachEvent(e,t)}function h(n,l,e,t){"removeEventListener"in window?n.removeEventListener(l,t,!1):n.detachEvent(e,t)}function g(n){v(document,"DOMContentLoaded","onreadystatechange",n)}function m(n){h(document,"DOMContentLoaded","onreadystatechange",n)}function y(n){if(n){0===n.indexOf("ERR|")&&p(n.split("|")[1]),-1!==n.indexOf(":")&&2===n.split(":").length||p("Duo was given a bad token. This might indicate a configuration problem with one of Duo's client libraries.","https://www.duosecurity.com/docs/duoweb#first-steps");var t=n.split(":");return l=t[0],e=t[1],{sigRequest:n,duoSig:t[0],appSig:t[1]}}}function C(){if(!(t=document.getElementById(s)))throw new Error('This page does not contain an iframe for Duo to use.Add an element like to this page. See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe for more information.');w(),m(C)}function b(l){return Boolean(l.origin==="https://"+n&&"string"==typeof l.data&&(l.data.match(o)||l.data.match(i)||l.data.match(r)))}function S(n){if(b(n))if(n.data.match(r)){var l=n.data.substring("DUO_OPEN_WINDOW|".length);(function(n){if(!n)return!1;var l=document.createElement("a");if(l.href=n,"duotrustedendpoints:"===l.protocol)return!0;if("https:"!==l.protocol)return!1;for(var e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(this.email=e.email),null!=e.premium?this.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=e.org&&this.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:e.org}}),[4,n.prototype.ngOnInit.call(this)];case 1:return l.sent(),[2]}})})}),[2]})})},l.prototype.goAfterLogIn=function(){return o(this,void 0,void 0,function(){var n,l;return i(this,function(e){switch(e.label){case 0:return[4,this.stateService.get("orgInvitation")];case 1:return null==(n=e.sent())?[3,2]:(this.router.navigate(["accept-organization"],{queryParams:n}),[3,6]);case 2:return[4,this.stateService.get("loginRedirect")];case 3:return null==(l=e.sent())?[3,5]:(this.router.navigate([l.route],{queryParams:l.qParams}),[4,this.stateService.remove("loginRedirect")]);case 4:return e.sent(),[3,6];case 5:this.router.navigate([this.successRoute]),e.label=6;case 6:return[2]}})})},l}(e(850).LoginComponent);l.LoginComponent=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(8);var t=function(){function n(n){this.platformUtilsService=n}return n.prototype.ngOnInit=function(){this.version=this.platformUtilsService.getApplicationVersion(),document.body.classList.add("layout_frontend")},n.prototype.ngOnDestroy=function(){document.body.classList.remove("layout_frontend")},n}();l.FrontendLayoutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SettingsService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.LockService=t},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=n.length&&(n=Array(l+1-n.length).join(e)+n),n},n.prototype.dec2hex=function(n){return(n<15.5?"0":"")+Math.round(n).toString(16)},n.prototype.hex2dec=function(n){return parseInt(n,16)},n.prototype.b32tohex=function(n){n=n.toUpperCase();for(var l="",e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&n.push(l.domains)}),[2,this.settingsService.setEquivalentDomains(n)]})})},n}();l.SyncService=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.state={}}return n.prototype.get=function(n){return this.state.hasOwnProperty(n)?Promise.resolve(this.state[n]):Promise.resolve(null)},n.prototype.save=function(n,l){return this.state[n]=l,Promise.resolve()},n.prototype.remove=function(n){return delete this.state[n],Promise.resolve()},n.prototype.purge=function(){return this.state={},Promise.resolve()},n}();l.StateService=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0)for(p=0;p0)for(p=0;p0)for(p=0;p0)for(p=0;p100&&l.pop(),[4,this.encryptHistory(l)]);case 3:return e=t.sent(),[4,this.storageService.save(s,e)];case 4:return[2,t.sent()]}})})},n.prototype.clear=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.history=[],[4,this.storageService.remove(s)];case 1:return[2,n.sent()]}})})},n.prototype.encryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(o){switch(o.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.encrypt(n.password)];case 1:return l=e.sent(),[2,new i.PasswordHistory(l.encryptedString,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,o.sent()]}})})},n.prototype.decryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(r){switch(r.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.decryptToUtf8(new o.CipherString(n.password))];case 1:return l=e.sent(),[2,new i.PasswordHistory(l,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,r.sent()]}})})},n.prototype.matchesPrevious=function(n,l){return null!=l&&0!==l.length&&l[l.length-1].password===n},n.prototype.shuffleArray=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:e=n.length-1,u.label=1;case 1:return e>0?[4,this.cryptoService.randomNumber(0,e)]:[3,4];case 2:t=u.sent(),l=[n[t],n[e]],n[e]=l[0],n[t]=l[1],u.label=3;case 3:return e--,[3,1];case 4:return[2]}})})},n}();l.PasswordGenerationService=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=e?[4,this.lock()]:[3,6]);case 5:t.sent(),t.label=6;case 6:return[2]}})})},n.prototype.lock=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,Promise.all([this.cryptoService.clearKey(),this.cryptoService.clearOrgKeys(!0),this.cryptoService.clearKeyPair(!0),this.cryptoService.clearEncKey(!0)])];case 1:return n.sent(),this.folderService.clearCache(),this.cipherService.clearCache(),this.collectionService.clearCache(),this.messagingService.send("locked"),null==this.lockedCallback?[3,3]:[4,this.lockedCallback()];case 2:n.sent(),n.label=3;case 3:return[2]}})})},n.prototype.setLockOption=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.storageService.save(o.ConstantsService.lockOptionKey,n)];case 1:return l.sent(),[4,this.cryptoService.toggleKey()];case 2:return l.sent(),[2]}})})},n}();l.LockService=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.cipherService.upsert(o)}return[2]}})})},n.prototype.deleteWithServer=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.apiService.deleteFolder(n)];case 1:return l.sent(),[4,this.delete(n)];case 2:return l.sent(),[2]}})})},n}();l.FolderService=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=0;r--)(u=n[r])&&(i=(o<3?u(i):o>3?u(l,e,i):u(l,e))||i);return o>3&&i&&Object.defineProperty(l,e,i),i},u=this&&this.__metadata||function(n,l){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,l)},o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?[2,this.orgKeys]:[4,this.storageService.get(h)];case 1:if(null==(n=i.sent()))return[2,null];for(u in l=new Map,e=!1,t=[],n)t.push(u);o=0,i.label=2;case 2:return o53)throw new Error("We cannot generate numbers larger than 53 bits.");return o=Math.ceil(u/8),r=Math.pow(2,u)-1,s=Uint8Array.bind,[4,this.cryptoFunctionService.randomBytes(o)];case 1:for(a=new(s.apply(Uint8Array,[void 0,i.sent()])),d=8*(o-1),c=0;c=t?[2,this.randomNumber(n,l)]:[2,n+e]}})})},n.prototype.aesEncrypt=function(n,l){return o(this,void 0,void 0,function(){var e,t,u,o,r,a;return i(this,function(i){switch(i.label){case 0:return e=new s.EncryptedObject,t=e,[4,this.getKeyForEncryption(l)];case 1:return t.key=i.sent(),u=e,[4,this.cryptoFunctionService.randomBytes(16)];case 2:return u.iv=i.sent(),o=e,[4,this.cryptoFunctionService.aesEncrypt(n,e.iv,e.key.encKey)];case 3:return o.data=i.sent(),null==e.key.macKey?[3,5]:((r=new Uint8Array(e.iv.byteLength+e.data.byteLength)).set(new Uint8Array(e.iv),0),r.set(new Uint8Array(e.data),e.iv.byteLength),a=e,[4,this.cryptoFunctionService.hmac(r.buffer,e.key.macKey,"sha256")]);case 4:a.mac=i.sent(),i.label=5;case 5:return[2,e]}})})},n.prototype.aesDecryptToUtf8=function(n,l,e,t,u){return o(this,void 0,void 0,function(){var o,r,a,s;return i(this,function(i){switch(i.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return o=i.sent(),null!=(r=this.resolveLegacyKey(n,o)).macKey&&null==t?(console.error("mac required."),[2,null]):r.encType!==n?(console.error("encType unavailable."),[2,null]):null==(a=this.cryptoFunctionService.aesDecryptFastParameters(l,e,t,r)).macKey||null==a.mac?[3,4]:[4,this.cryptoFunctionService.hmacFast(a.macData,a.macKey,"sha256")];case 2:return s=i.sent(),[4,this.cryptoFunctionService.compareFast(a.mac,s)];case 3:if(!i.sent())return console.error("mac failed."),[2,null];i.label=4;case 4:return[2,this.cryptoFunctionService.aesDecryptFast(a)]}})})},n.prototype.aesDecryptToBytes=function(n,l,e,t,u){return o(this,void 0,void 0,function(){var o,r,a,s;return i(this,function(i){switch(i.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return o=i.sent(),null!=(r=this.resolveLegacyKey(n,o)).macKey&&null==t?[2,null]:r.encType!==n?[2,null]:null==r.macKey||null==t?[3,4]:((a=new Uint8Array(e.byteLength+l.byteLength)).set(new Uint8Array(e),0),a.set(new Uint8Array(l),e.byteLength),[4,this.cryptoFunctionService.hmac(a.buffer,r.macKey,"sha256")]);case 2:return null===(s=i.sent())?[2,null]:[4,this.cryptoFunctionService.compare(t,s)];case 3:if(!i.sent())return console.error("mac failed."),[2,null];i.label=4;case 4:return[4,this.cryptoFunctionService.aesDecrypt(l,e,r.encKey)];case 5:return[2,i.sent()]}})})},n.prototype.rsaDecrypt=function(n){return o(this,void 0,void 0,function(){var l,e,t,u,o,a,s,d,c;return i(this,function(i){switch(i.label){case 0:if(l=n.split("."),e=null,1===l.length)e=r.EncryptionType.Rsa2048_OaepSha256_B64,t=[l[0]];else if(2===l.length)try{e=parseInt(l[0],null),t=l[1].split("|")}catch(n){}switch(e){case r.EncryptionType.Rsa2048_OaepSha256_B64:case r.EncryptionType.Rsa2048_OaepSha1_B64:if(1!==t.length)throw new Error("Invalid cipher format.");break;case r.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:case r.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:if(2!==t.length)throw new Error("Invalid cipher format.");break;default:throw new Error("encType unavailable.")}if(null==t||t.length<=0)throw new Error("encPieces unavailable.");return u=f.Utils.fromB64ToArray(t[0]).buffer,[4,this.getEncKey()];case 1:return null!=(o=i.sent())&&null!=o.macKey&&t.length>1?(a=f.Utils.fromB64ToArray(t[1]).buffer,[4,this.cryptoFunctionService.hmac(u,o.macKey,"sha256")]):[3,4];case 2:return s=i.sent(),[4,this.cryptoFunctionService.compare(a,s)];case 3:if(!i.sent())throw new Error("MAC failed.");i.label=4;case 4:return[4,this.getPrivateKey()];case 5:if(null==(d=i.sent()))throw new Error("No private key.");switch(c="sha1",e){case r.EncryptionType.Rsa2048_OaepSha256_B64:case r.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:c="sha256";break;case r.EncryptionType.Rsa2048_OaepSha1_B64:case r.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:break;default:throw new Error("encType unavailable.")}return[2,this.cryptoFunctionService.rsaDecrypt(u,d,c)]}})})},n.prototype.getKeyForEncryption=function(n){return o(this,void 0,void 0,function(){var l;return i(this,function(e){switch(e.label){case 0:return null!=n?[2,n]:[4,this.getEncKey()];case 1:return null!=(l=e.sent())?[2,l]:[4,this.getKey()];case 2:return[2,e.sent()]}})})},n.prototype.resolveLegacyKey=function(n,l){return n===r.EncryptionType.AesCbc128_HmacSha256_B64&&l.encType===r.EncryptionType.AesCbc256_B64?(null==this.legacyEtmKey&&(this.legacyEtmKey=new d.SymmetricCryptoKey(l.key,r.EncryptionType.AesCbc128_HmacSha256_B64)),this.legacyEtmKey):l},n.prototype.stretchKey=function(n){return o(this,void 0,void 0,function(){var l,e,t,u,o;return i(this,function(i){switch(i.label){case 0:return l=new Uint8Array(64),t=(e=l).set,[4,this.hkdfExpand(n.key,f.Utils.fromUtf8ToArray("enc"),32)];case 1:return t.apply(e,[i.sent()]),o=(u=l).set,[4,this.hkdfExpand(n.key,f.Utils.fromUtf8ToArray("mac"),32)];case 2:return o.apply(u,[i.sent(),32]),[2,new d.SymmetricCryptoKey(l.buffer)]}})})},n.prototype.hkdfExpand=function(n,l,e){return o(this,void 0,void 0,function(){var t,u,o,r,a,s,d;return i(this,function(i){switch(i.label){case 0:t=32,u=new Uint8Array(e),o=new Uint8Array(0),r=Math.ceil(e/t),a=0,i.label=1;case 1:return a0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1})]}})})},l.prototype.getAllDecryptedForUrl=function(n,l){return t(this,void 0,void 0,function(){var e,t,r,a;return u(this,function(u){switch(u.label){case 0:return null!=n||l?(e=this.platformUtilsService.getDomain(n),t=null==e?Promise.resolve([]):this.settingsService.getEquivalentDomains().then(function(n){var l=[];return n.forEach(function(n){n.length&&n.indexOf(e)>=0&&(l=l.concat(n))}),l.length||l.push(e),l}),[4,Promise.all([t,this.getAllDecrypted()])]):[2,Promise.resolve([])];case 1:return r=u.sent(),a=r[0],[2,r[1].filter(function(t){if(l&&l.indexOf(t.type)>-1)return!0;if(null!=n&&t.type===o.CipherType.Login&&null!=t.login.uris)for(var u=0;u-1)return!0;break;case i.UriMatchType.Host:var s=w.Utils.getHost(n);if(null!=s&&s===w.Utils.getHost(r.uri))return!0;break;case i.UriMatchType.Exact:if(n===r.uri)return!0;break;case i.UriMatchType.StartsWith:if(n.startsWith(r.uri))return!0;break;case i.UriMatchType.RegularExpression:try{if(new RegExp(r.uri,"i").test(n))return!0}catch(n){}break;case i.UriMatchType.Never:}}return!1})]}})})},l.prototype.getLastUsedForUrl=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.getAllDecryptedForUrl(n)];case 1:return 0===(l=e.sent()).length?[2,null]:[2,l.sort(this.sortCiphersByLastUsed)[0]]}})})},l.prototype.updateLastUsedDate=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:return[4,this.storageService.get(_)];case 1:return(l=u.sent())||(l={}),l[n]?l[n].lastUsedDate=(new Date).getTime():l[n]={lastUsedDate:(new Date).getTime()},[4,this.storageService.save(_,l)];case 2:if(u.sent(),null==this.decryptedCipherCache)return[2];for(e=0;et?-1:null!=t&&null==e?1:0},l.prototype.sortCiphersByLastUsedThenName=function(n,l){var e=this.sortCiphersByLastUsed(n,l);return 0!==e?e:this.getLocaleSortingFunction()(n,l)},l.prototype.getLocaleSortingFunction=function(){var n=this;return function(l,e){var t=l.name,u=e.name;if(null==t&&null!=u)return-1;if(null!=t&&null==u)return 1;if(null==t&&null==u)return 0;var i=n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u);return 0!==i||l.type!==o.CipherType.Login||e.type!==o.CipherType.Login?i:(null!=l.login.username&&(t+=l.login.username),null!=e.login.username&&(u+=e.login.username),n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u))}},l.prototype.encryptObjProperty=function(n,l,e,o){return t(this,void 0,void 0,function(){var t,i,r;return u(this,function(u){switch(u.label){case 0:for(r in t=[],i=this,e)e.hasOwnProperty(r)&&function(l,u){var r=Promise.resolve().then(function(){var t=n[e[l]||l];return t&&""!==t?i.cryptoService.encrypt(t,o):null}).then(function(n){u[l]=n});t.push(r)}(r,l);return[4,Promise.all(t)];case 1:return u.sent(),[2]}})})},l.prototype.encryptCipherData=function(n,l,e){return t(this,void 0,void 0,function(){var t,i;return u(this,function(u){switch(u.label){case 0:switch(n.type){case o.CipherType.Login:return[3,1];case o.CipherType.SecureNote:return[3,7];case o.CipherType.Card:return[3,8];case o.CipherType.Identity:return[3,10]}return[3,12];case 1:return n.login=new f.Login,[4,this.encryptObjProperty(l.login,n.login,{username:null,password:null,totp:null},e)];case 2:if(u.sent(),null==l.login.uris)return[3,6];n.login.uris=[],t=0,u.label=3;case 3:return t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?[4,l.json()]:[3,3];case 2:e=u.sent(),u.label=3;case 3:return null==e?[3,6]:200!==l.status?[3,4]:[2,new g.IdentityTokenResponse(e)];case 4:return 400===l.status&&e.TwoFactorProviders2&&Object.keys(e.TwoFactorProviders2).length?[4,this.tokenService.clearTwoFactorToken(n.email)]:[3,6];case 5:return u.sent(),[2,new m.IdentityTwoFactorResponse(e)];case 6:return[2,Promise.reject(new c.ErrorResponse(e,l.status,!0))]}})})},n.prototype.refreshIdentityToken=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.doRefreshToken()];case 1:return n.sent(),[3,3];case 2:return n.sent(),[2,Promise.reject(null)];case 3:return[2]}})})},n.prototype.getProfile=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/profile",null,!0,!0)];case 1:return n=l.sent(),[2,new w.ProfileResponse(n)]}})})},n.prototype.getUserBilling=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/billing",null,!0,!0)];case 1:return n=l.sent(),[2,new i.BillingResponse(n)]}})})},n.prototype.putProfile=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/accounts/profile",n,!0,!0)];case 1:return l=e.sent(),[2,new w.ProfileResponse(l)]}})})},n.prototype.postEmailToken=function(n){return this.send("POST","/accounts/email-token",n,!0,!1)},n.prototype.postEmail=function(n){return this.send("POST","/accounts/email",n,!0,!1)},n.prototype.postPassword=function(n){return this.send("POST","/accounts/password",n,!0,!1)},n.prototype.postSecurityStamp=function(n){return this.send("POST","/accounts/security-stamp",n,!0,!1)},n.prototype.deleteAccount=function(n){return this.send("DELETE","/accounts",n,!0,!1)},n.prototype.getAccountRevisionDate=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.send("GET","/accounts/revision-date",null,!0,!0)];case 1:return[2,n.sent()]}})})},n.prototype.postPasswordHint=function(n){return this.send("POST","/accounts/password-hint",n,!1,!1)},n.prototype.postRegister=function(n){return this.send("POST","/accounts/register",n,!1,!1)},n.prototype.postPremium=function(n){return this.send("POST","/accounts/premium",n,!0,!1)},n.prototype.postReinstatePremium=function(){return this.send("POST","/accounts/reinstate-premium",null,!0,!1)},n.prototype.postCancelPremium=function(){return this.send("POST","/accounts/cancel-premium",null,!0,!1)},n.prototype.postAccountStorage=function(n){return this.send("POST","/accounts/storage",n,!0,!1)},n.prototype.postAccountPayment=function(n){return this.send("POST","/accounts/payment",n,!0,!1)},n.prototype.postAccountLicense=function(n){return this.send("POST","/accounts/license",n,!0,!1)},n.prototype.postAccountKeys=function(n){return this.send("POST","/accounts/keys",n,!0,!1)},n.prototype.postAccountKey=function(n){return this.send("POST","/accounts/key",n,!0,!1)},n.prototype.postAccountVerifyEmail=function(){return this.send("POST","/accounts/verify-email",null,!0,!1)},n.prototype.postAccountVerifyEmailToken=function(n){return this.send("POST","/accounts/verify-email-token",n,!1,!1)},n.prototype.postAccountRecoverDelete=function(n){return this.send("POST","/accounts/delete-recover",n,!1,!1)},n.prototype.postAccountRecoverDeleteToken=function(n){return this.send("POST","/accounts/delete-recover-token",n,!1,!1)},n.prototype.postFolder=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/folders",n,!0,!0)];case 1:return l=e.sent(),[2,new f.FolderResponse(l)]}})})},n.prototype.putFolder=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/folders/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new f.FolderResponse(e)]}})})},n.prototype.deleteFolder=function(n){return this.send("DELETE","/folders/"+n,null,!0,!1)},n.prototype.getCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.getCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n+"/admin",null,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.getCiphersOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/organization-details?organizationId="+n,null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,r.CipherResponse)]}})})},n.prototype.postCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers",n,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.postCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers/admin",n,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.putCipher=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.putCipherAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n+"/admin",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.deleteCipher=function(n){return this.send("DELETE","/ciphers/"+n,null,!0,!1)},n.prototype.deleteCipherAdmin=function(n){return this.send("DELETE","/ciphers/"+n+"/admin",null,!0,!1)},n.prototype.deleteManyCiphers=function(n){return this.send("DELETE","/ciphers",n,!0,!1)},n.prototype.putMoveCiphers=function(n){return this.send("PUT","/ciphers/move",n,!0,!1)},n.prototype.putShareCipher=function(n,l){return this.send("PUT","/ciphers/"+n+"/share",l,!0,!1)},n.prototype.putShareCiphers=function(n){return this.send("PUT","/ciphers/share",n,!0,!1)},n.prototype.putCipherCollections=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections",l,!0,!1)},n.prototype.putCipherCollectionsAdmin=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections-admin",l,!0,!1)},n.prototype.postPurgeCiphers=function(n){return this.send("POST","/ciphers/purge",n,!0,!1)},n.prototype.postImportCiphers=function(n){return this.send("POST","/ciphers/import",n,!0,!1)},n.prototype.postImportOrganizationCiphers=function(n,l){return this.send("POST","/ciphers/import-organization?organizationId="+n,l,!0,!1)},n.prototype.postCipherAttachment=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.postCipherAttachmentAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment-admin",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.deleteCipherAttachment=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l,null,!0,!1)},n.prototype.deleteCipherAttachmentAdmin=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l+"/admin",null,!0,!1)},n.prototype.postShareCipherAttachment=function(n,l,e,t){return this.send("POST","/ciphers/"+n+"/attachment/"+l+"/share?organizationId="+t,e,!0,!1)},n.prototype.getCollectionDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new a.CollectionGroupDetailsResponse(e)]}})})},n.prototype.getCollections=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,a.CollectionResponse)]}})})},n.prototype.getCollectionUsers=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/users",null,!0,!0)];case 1:return e=t.sent(),[2,new y.ListResponse(e,s.CollectionUserResponse)]}})})},n.prototype.postCollection=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/collections",l,!0,!0)];case 1:return e=t.sent(),[2,new a.CollectionResponse(e)]}})})},n.prototype.putCollection=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/collections/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new a.CollectionResponse(t)]}})})},n.prototype.deleteCollection=function(n,l){return this.send("DELETE","/organizations/"+n+"/collections/"+l,null,!0,!1)},n.prototype.deleteCollectionUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/collections/"+l+"/user/"+e,null,!0,!1)},n.prototype.getGroupDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupDetailsResponse(e)]}})})},n.prototype.getGroups=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,v.GroupResponse)]}})})},n.prototype.getGroupUsers=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/users",null,!0,!0)];case 1:return e=t.sent(),[2,new y.ListResponse(e,h.GroupUserResponse)]}})})},n.prototype.postGroup=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/groups",l,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupResponse(e)]}})})},n.prototype.putGroup=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/groups/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new v.GroupResponse(t)]}})})},n.prototype.deleteGroup=function(n,l){return this.send("DELETE","/organizations/"+n+"/groups/"+l,null,!0,!1)},n.prototype.deleteGroupUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/groups/"+l+"/user/"+e,null,!0,!1)},n.prototype.getOrganizationUser=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l,null,!0,!0)];case 1:return e=t.sent(),[2,new S.OrganizationUserDetailsResponse(e)]}})})},n.prototype.getOrganizationUserGroups=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l+"/groups",null,!0,!0)];case 1:return[2,e.sent()]}})})},n.prototype.getOrganizationUsers=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,S.OrganizationUserUserDetailsResponse)]}})})},n.prototype.postOrganizationUserInvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/invite",l,!0,!1)},n.prototype.postOrganizationUserReinvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/"+l+"/reinvite",null,!0,!1)},n.prototype.postOrganizationUserAccept=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/accept",e,!0,!1)},n.prototype.postOrganizationUserConfirm=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/confirm",e,!0,!1)},n.prototype.putOrganizationUser=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l,e,!0,!1)},n.prototype.putOrganizationUserGroups=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l+"/groups",e,!0,!1)},n.prototype.deleteOrganizationUser=function(n,l){return this.send("DELETE","/organizations/"+n+"/users/"+l,null,!0,!1)},n.prototype.getSync=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=this.isDesktopClient||this.isWebClient?"/sync?excludeDomains=true":"/sync",[4,this.send("GET",n,null,!0,!0)];case 1:return l=e.sent(),[2,new R.SyncResponse(l)]}})})},n.prototype.postImportDirectory=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/import",l,!0,!1)]})})},n.prototype.getSettingsDomains=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/settings/domains",null,!0,!0)];case 1:return n=l.sent(),[2,new d.DomainsResponse(n)]}})})},n.prototype.putSettingsDomains=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/settings/domains",n,!0,!0)];case 1:return l=e.sent(),[2,new d.DomainsResponse(l)]}})})},n.prototype.getTwoFactorProviders=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/two-factor",null,!0,!0)];case 1:return n=l.sent(),[2,new y.ListResponse(n,E.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorOrganizationProviders=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/two-factor",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,E.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new _.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.getTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-email",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorEmailResponse(l)]}})})},n.prototype.getTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-duo",n,!0,!0)];case 1:return l=e.sent(),[2,new I.TwoFactorDuoResponse(l)]}})})},n.prototype.getTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/two-factor/get-duo",l,!0,!0)];case 1:return e=t.sent(),[2,new I.TwoFactorDuoResponse(e)]}})})},n.prototype.getTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.getTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.getTwoFactorRecover=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-recover",n,!0,!0)];case 1:return l=e.sent(),[2,new O.TwoFactorRecoverResponse(l)]}})})},n.prototype.putTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new _.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.putTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/email",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorEmailResponse(l)]}})})},n.prototype.putTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/duo",n,!0,!0)];case 1:return l=e.sent(),[2,new I.TwoFactorDuoResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/duo",l,!0,!0)];case 1:return e=t.sent(),[2,new I.TwoFactorDuoResponse(e)]}})})},n.prototype.putTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.putTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.putTwoFactorDisable=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/disable",n,!0,!0)];case 1:return l=e.sent(),[2,new E.TwoFactorProviderResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDisable=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/disable",l,!0,!0)];case 1:return e=t.sent(),[2,new E.TwoFactorProviderResponse(e)]}})})},n.prototype.postTwoFactorRecover=function(n){return this.send("POST","/two-factor/recover",n,!1,!1)},n.prototype.postTwoFactorEmailSetup=function(n){return this.send("POST","/two-factor/send-email",n,!0,!1)},n.prototype.postTwoFactorEmail=function(n){return this.send("POST","/two-factor/send-email-login",n,!1,!1)},n.prototype.getOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.getOrganizationBilling=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/billing",null,!0,!0)];case 1:return l=e.sent(),[2,new C.OrganizationBillingResponse(l)]}})})},n.prototype.getOrganizationLicense=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("GET","/organizations/"+n+"/license?installationId="+l,null,!0,!0)]})})},n.prototype.postOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations",n,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.putOrganization=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new b.OrganizationResponse(e)]}})})},n.prototype.postLeaveOrganization=function(n){return this.send("POST","/organizations/"+n+"/leave",null,!0,!1)},n.prototype.postOrganizationLicense=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations/license",n,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.postOrganizationLicenseUpdate=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/license",l,!0,!1)]})})},n.prototype.postOrganizationSeat=function(n,l){return this.send("POST","/organizations/"+n+"/seat",l,!0,!1)},n.prototype.postOrganizationStorage=function(n,l){return this.send("POST","/organizations/"+n+"/storage",l,!0,!1)},n.prototype.postOrganizationPayment=function(n,l){return this.send("POST","/organizations/"+n+"/payment",l,!0,!1)},n.prototype.postOrganizationVerifyBank=function(n,l){return this.send("POST","/organizations/"+n+"/verify-bank",l,!0,!1)},n.prototype.postOrganizationCancel=function(n){return this.send("POST","/organizations/"+n+"/cancel",null,!0,!1)},n.prototype.postOrganizationReinstate=function(n){return this.send("POST","/organizations/"+n+"/reinstate",null,!0,!1)},n.prototype.deleteOrganization=function(n,l){return this.send("DELETE","/organizations/"+n,l,!0,!1)},n.prototype.getEvents=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/events",n,l,e),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsCipher=function(n,l,e,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/ciphers/"+n+"/events",l,e,o),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganization=function(n,l,e,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/events",l,e,o),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganizationUser=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/users/"+l+"/events",e,o,i),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getUserPublicKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/users/"+n+"/public-key",null,!0,!0)];case 1:return l=e.sent(),[2,new k.UserKeyResponse(l)]}})})},n.prototype.fetch=function(n){return"GET"===n.method&&(n.headers.set("Cache-Control","no-cache"),n.headers.set("Pragma","no-cache")),fetch(n)},n.prototype.send=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t,r,a,s,d;return u(this,function(u){switch(u.label){case 0:return t=new Headers({"Device-Type":this.deviceType}),r={cache:"no-cache",credentials:this.getCredentials(),method:n},o?[4,this.handleTokenState()]:[3,2];case 1:a=u.sent(),t.set("Authorization",a),u.label=2;case 2:return null!=e&&("string"==typeof e?(r.body=e,t.set("Content-Type","application/x-www-form-urlencoded; charset=utf-8")):"object"==typeof e&&(e instanceof FormData?r.body=e:(t.set("Content-Type","application/json; charset=utf-8"),r.body=JSON.stringify(e)))),i&&t.set("Accept","application/json"),r.headers=t,[4,this.fetch(new Request(this.apiBaseUrl+l,r))];case 3:return s=u.sent(),i&&200===s.status?[4,s.json()]:[3,5];case 4:return[2,u.sent()];case 5:return 200===s.status?[3,7]:[4,this.handleError(s,!1)];case 6:return d=u.sent(),[2,Promise.reject(d)];case 7:return[2]}})})},n.prototype.handleError=function(n,l){return t(this,void 0,void 0,function(){var e,t;return u(this,function(u){switch(u.label){case 0:return l&&400===n.status||401===n.status||403===n.status?[4,this.logoutCallback(!0)]:[3,2];case 1:return u.sent(),[2,null];case 2:return e=null,null!=(t=n.headers.get("content-type"))&&t.indexOf("application/json")>-1?[4,n.json()]:[3,4];case 3:e=u.sent(),u.label=4;case 4:return[2,new c.ErrorResponse(e,n.status,l)]}})})},n.prototype.handleTokenState=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.tokenService.getToken()];case 1:return n=e.sent(),this.tokenService.tokenNeedsRefresh()?[4,this.doRefreshToken()]:[3,3];case 2:l=e.sent(),n=l.accessToken,e.label=3;case 3:return[2,"Bearer "+n]}})})},n.prototype.doRefreshToken=function(){return t(this,void 0,void 0,function(){var n,l,e,t,o,i;return u(this,function(u){switch(u.label){case 0:return[4,this.tokenService.getRefreshToken()];case 1:if(null==(n=u.sent())||""===n)throw new Error;return l=this.tokenService.decodeToken(),[4,this.fetch(new Request(this.identityBaseUrl+"/connect/token",{body:this.qsStringify({grant_type:"refresh_token",client_id:l.client_id,refresh_token:n}),cache:"no-cache",credentials:this.getCredentials(),headers:new Headers({"Content-Type":"application/x-www-form-urlencoded; charset=utf-8",Accept:"application/json","Device-Type":this.deviceType}),method:"POST"}))];case 2:return 200!==(e=u.sent()).status?[3,5]:[4,e.json()];case 3:return t=u.sent(),o=new g.IdentityTokenResponse(t),[4,this.tokenService.setTokens(o.accessToken,o.refreshToken)];case 4:return u.sent(),[2,o];case 5:return[4,this.handleError(e,!0)];case 6:return i=u.sent(),[2,Promise.reject(i)]}})})},n.prototype.qsStringify=function(n){return Object.keys(n).map(function(l){return encodeURIComponent(l)+"="+encodeURIComponent(n[l])}).join("&")},n.prototype.getCredentials=function(){if(!this.isWebClient||this.usingBaseUrl)return"include"},n.prototype.addEventParameters=function(n,l,e,t){return null!=l&&(n+="?start="+l),null!=e&&(n+=n.indexOf("?")>-1?"&":"?",n+="end="+e),null!=t&&(n+=n.indexOf("?")>-1?"&":"?",n+="continuationToken="+t),n},n}();l.ApiService=V},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(13);var t=function(){function n(n,l){this.elementRef=n,this.renderer=l,this.trueValue=!0,this.falseValue=!1,this.propagateChange=function(n){}}return n.prototype.onHostChange=function(n){this.propagateChange(n.target.checked?this.trueValue:this.falseValue)},n.prototype.writeValue=function(n){n===this.trueValue?this.renderer.setProperty(this.elementRef.nativeElement,"checked",!0):this.renderer.setProperty(this.elementRef.nativeElement,"checked",!1)},n.prototype.registerOnChange=function(n){this.propagateChange=n},n.prototype.registerOnTouched=function(n){},n.prototype.setDisabledState=function(n){},n}();l.TrueFalseValueDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n){this.elRef=n,this.el=null,this.el=n.nativeElement}return n.prototype.ngOnInit=function(){var n=this;this.formEls=Array.from(this.el.querySelectorAll('input:not([type="hidden"]), select, textarea')),this.formEls.forEach(function(l){l.addEventListener("focus",function(l){n.el.classList.add("active")},!1),l.addEventListener("blur",function(l){n.el.classList.remove("active")},!1)})},n.prototype.onClick=function(n){if(n.target===this.el&&this.formEls.length>0){var l=this.formEls[0];if("input"===l.tagName.toLowerCase()){var e=l;if(null!=e.type&&"checkbox"===e.type.toLowerCase())return void e.click()}l.focus()}},n}();l.BoxRowDirective=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(l[0].checked=!0)}),[3,5];case 4:return u.sent(),[3,5];case 5:return this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new i.OrganizationUserUpdateGroupsRequest).groupIds=this.groups.filter(function(n){return n.checked}).map(function(n){return n.id}),l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.apiService.putOrganizationUserGroups(this.organizationId,this.organizationUserId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:"Edited User Groups"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedGroupsForUser",this.name)),this.onSavedUser.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n}();l.UserGroupsComponent=a},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("inviteUser"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new r.Collection(new i.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:n=null,"all"!==this.access&&(n=this.collections.filter(function(n){return n.checked}).map(function(n){return new d.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),e.label=1;case 1:return e.trys.push([1,3,,4]),this.editMode?((l=new s.OrganizationUserUpdateRequest).accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.putOrganizationUser(this.organizationId,this.organizationUserId,l)):((l=new a.OrganizationUserInviteRequest).emails=this.emails.trim().split(/\s*,\s*/),l.accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.postOrganizationUserInvite(this.organizationId,l)),[4,this.formPromise];case 2:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited User":"Invited User"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedUserId":"invitedUsers",this.name)),this.onSavedUser.emit(),[3,4];case 3:return e.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteOrganizationUser(this.organizationId,this.organizationUserId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",this.name)),this.onDeletedUser.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.UserAddEditComponent=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("addGroup"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new r.Collection(new i.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new a.GroupRequest).name=this.name,n.externalId=this.externalId,n.accessAll="all"===this.access,n.accessAll||(n.collections=this.collections.filter(function(n){return n.checked}).map(function(n){return new s.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),l.label=1;case 1:return l.trys.push([1,3,,4]),this.editMode?this.formPromise=this.apiService.putGroup(this.organizationId,this.groupId,n):this.formPromise=this.apiService.postGroup(this.organizationId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Group":"Created Group"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedGroupId":"createdGroupId",this.name)),this.onSavedGroup.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteGroup(this.organizationId,this.groupId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",this.name)),this.onDeletedGroup.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.GroupAddEditComponent=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(l[0].checked=!0,l[0].readOnly=n.readOnly)}),[3,7];case 6:return u.sent(),[3,7];case 7:return[3,9];case 8:this.title=this.i18nService.t("addCollection"),u.label=9;case 9:return this.groups.forEach(function(n){n.accessAll&&(n.checked=!0)}),this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.accessAll||(n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1))},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=new r.CollectionRequest,l=n,[4,this.cryptoService.encrypt(this.name,this.orgKey)];case 1:l.name=e.sent().encryptedString,n.groups=this.groups.filter(function(n){return n.checked&&!n.accessAll}).map(function(n){return new a.SelectionReadOnlyRequest(n.id,!!n.readOnly)}),e.label=2;case 2:return e.trys.push([2,4,,5]),this.editMode?this.formPromise=this.apiService.putCollection(this.organizationId,this.collectionId,n):this.formPromise=this.apiService.postCollection(this.organizationId,n),[4,this.formPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Collection":"Created Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedCollectionId":"createdCollectionId",this.name)),this.onSavedCollection.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteCollection(this.organizationId,this.collectionId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",this.name)),this.onDeletedCollection.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.CollectionAddEditComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.groups=[],null!=n&&(this.name=n.name?n.name.encryptedString:null)}}();l.CollectionRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.collectionIds=null==n?[]:n}}();l.CipherCollectionsRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(n.uris=[],this.uris.forEach(function(l){n.uris.push(l.toLoginUriData())})),n},l}(e(100).default);l.Login=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(533),i=e(100),r=e(217),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.IdentityView(this),{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null},n)},l.prototype.toIdentityData=function(){var n=new o.IdentityData;return this.buildDataModel(this,n,{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null}),n},l}(i.default);l.Identity=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(534),i=e(100),r=e(179),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.type=l.type,t.buildDomainModel(t,l,{name:null,value:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.FieldView(this),{name:null,value:null},n)},l.prototype.toFieldData=function(){var n=new o.FieldData;return this.buildDataModel(this,n,{name:null,value:null,type:null},["type"]),n},l}(i.default);l.Field=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(535),i=e(100),r=e(115),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.CardView(this),{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null},n)},l.prototype.toCardData=function(){var n=new o.CardData;return this.buildDataModel(this,n,{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null}),n},l}(i.default);l.Card=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(536),i=e(100),r=e(538),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.size=l.size,t.buildDomainModel(t,l,{id:null,url:null,sizeName:null,fileName:null},e,["id","url","sizeName"]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.AttachmentView(this),{fileName:null},n)},l.prototype.toAttachmentData=function(){var n=new o.AttachmentData;return this.buildDataModel(this,n,{id:null,url:null,sizeName:null,fileName:null},["id","url","sizeName"]),n},l}(i.default);l.Attachment=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.type=n.type)}}();l.SecureNoteData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.match=null,null!=n&&(this.uri=n.uri,this.match=n.match)}}();l.LoginUriData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(531),u=function(){return function(n){var l=this;null!=n&&(this.username=n.username,this.password=n.password,this.totp=n.totp,n.uris&&(this.uris=[],n.uris.forEach(function(n){l.uris.push(new t.LoginUriData(n))})))}}();l.LoginData=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.title=n.title,this.firstName=n.firstName,this.middleName=n.middleName,this.lastName=n.lastName,this.address1=n.address1,this.address2=n.address2,this.address3=n.address3,this.city=n.city,this.state=n.state,this.postalCode=n.postalCode,this.country=n.country,this.company=n.company,this.email=n.email,this.phone=n.phone,this.ssn=n.ssn,this.username=n.username,this.passportNumber=n.passportNumber,this.licenseNumber=n.licenseNumber)}}();l.IdentityData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.type=n.type,this.name=n.name,this.value=n.value)}}();l.FieldData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.cardholderName=n.cardholderName,this.brand=n.brand,this.number=n.number,this.expMonth=n.expMonth,this.expYear=n.expYear,this.code=n.code)}}();l.CardData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.id=n.id,this.url=n.url,this.fileName=n.fileName,this.size=n.size,this.sizeName=n.sizeName)}}();l.AttachmentData=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(12),e(3),e(2),e(94),e(8);var o=function(n){function l(l,e,t,u,o){return n.call(this,l,e,t,u,o,window)||this}return u(l,n),l}(e(733).PasswordGeneratorHistoryComponent);l.PasswordGeneratorHistoryComponent=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){n&&(this.id=n.id,this.url=n.url,this.size=n.size,this.sizeName=n.sizeName)}}();l.AttachmentView=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.key=n,this.value=l}}();l.KvpRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Free=0]="Free",n[n.FamiliesAnnually=1]="FamiliesAnnually",n[n.TeamsMonthly=2]="TeamsMonthly",n[n.TeamsAnnually=3]="TeamsAnnually",n[n.EnterpriseMonthly=4]="EnterpriseMonthly",n[n.EnterpriseAnnually=5]="EnterpriseAnnually",n[n.Custom=6]="Custom"}(l.PlanType||(l.PlanType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(13),a=e(18),s=e(17),d=e(269),c=e(127),p=e(8),f=e(7),v=e(5),h=e(265),g=e(4),m=e(3),y=e(9),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"app-callout",[["icon","fa-info-circle"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{icon:[0,"icon"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,null,0,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(12,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(13,null,["\n ","\n "])),t.ɵppd(14,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"fa-info-circle",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent,0),"contactSupport")),""))},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"contactSupportPaymentMethod"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),"contactSupport"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"close")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,29,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(3,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(4,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,22,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"app-payment",[],null,null,null,d.View_PaymentComponent_0,d.RenderType_PaymentComponent)),t.ɵdid(13,245760,[[1,4]],0,c.PaymentComponent,[i.I18nService,p.PlatformUtilsService],{showOptions:[0,"showOptions"],hideBank:[1,"hideBank"],hidePaypal:[2,"hidePaypal"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,13,0,e.organizationId,!e.organizationId,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),null!=e.currentType?"changePaymentMethod":"addPaymentMethod"))),n(l,15,0,t.ɵnov(l,0).loading),n(l,17,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"submit"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent,0),"cancel")))})}function w(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[i.I18nService]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.canChange),n(l,6,0,e.canChange)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-payment",[],null,null,null,w,C)),t.ɵdid(1,49152,null,0,h.AdjustPaymentComponent,[g.ApiService,i.I18nService,m.Angulartics2,y.ToasterService],null,null)],null,null)}l.RenderType_AdjustPaymentComponent=C,l.View_AdjustPaymentComponent_0=w,l.View_AdjustPaymentComponent_Host_0=R;var _=t.ɵccf("app-adjust-payment",h.AdjustPaymentComponent,R,{currentType:"currentType",organizationId:"organizationId"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustPaymentComponentNgFactory=_},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(5),r=e(13),a=e(18),s=e(17),d=e(266),c=e(4),p=e(3),f=e(9),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(5,null,[" "," GB × "," = "," /","\n "])),t.ɵppd(6,2),t.ɵppd(7,2),t.ɵppd(8,1)],null,function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"total"))),n(l,5,0,e.storageAdjustment||0,t.ɵunv(l,5,1,n(l,6,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,5,2,n(l,7,0,t.ɵnov(l.parent,1),e.adjustedStorageTotal,"$")),t.ɵunv(l,5,3,n(l,8,0,t.ɵnov(l.parent,0),e.interval)))})}function g(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵpid(0,i.CurrencyPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,[["form",1]],null,53,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,3).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,3).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(3,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(5,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(6,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,46,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","storageAdjustment"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["class","form-control"],["id","storageAdjustment"],["max","99"],["min","0"],["name","StroageGbAdjustment"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.storageAdjustment=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,r.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(25,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[r.DefaultValueAccessor,r.ɵbc]),t.ɵdid(28,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(30,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(35,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(48,null,["\n ","\n "])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,2,"small",[["class","d-block text-muted mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(52,null,["\n ","\n "])),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,6,0,e.formPromise);n(l,25,0,"");n(l,28,0,"StroageGbAdjustment",e.storageAdjustment),n(l,35,0,e.add)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,5).ngClassUntouched,t.ɵnov(l,5).ngClassTouched,t.ɵnov(l,5).ngClassPristine,t.ɵnov(l,5).ngClassDirty,t.ɵnov(l,5).ngClassValid,t.ɵnov(l,5).ngClassInvalid,t.ɵnov(l,5).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),e.add?"addStorage":"removeStorage"))),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),e.add?"gbStorageAdd":"gbStorageRemove"))),n(l,22,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending),n(l,37,0,t.ɵnov(l,2).loading),n(l,39,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"loading")),"")),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"submit"))),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"cancel"))),n(l,52,0,t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),e.add?"storageAddNote":"storageRemoveNote")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,null,null,g,v)),t.ɵdid(1,49152,null,0,d.AdjustStorageComponent,[c.ApiService,o.I18nService,p.Angulartics2,f.ToasterService],null,null)],null,null)}l.RenderType_AdjustStorageComponent=v,l.View_AdjustStorageComponent_0=g,l.View_AdjustStorageComponent_Host_0=m;var y=t.ɵccf("app-adjust-storage",d.AdjustStorageComponent,m,{storageGbPrice:"storageGbPrice",add:"add",organizationId:"organizationId",interval:"interval"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustStorageComponentNgFactory=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(17),s=e(267),d=e(4),c=e(3),p=e(9),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,32,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"label",[["class","sr-only"],["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,5,0,l.component.formPromise)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"licenseFile"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"licenseFileDesc",e.organizationId?"bitwarden_organization_license.json":"bitwarden_premium_license.json"))),n(l,20,0,t.ɵnov(l,1).loading),n(l,22,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"loading")),"")),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"submit"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"cancel")))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-update-license",[],null,null,null,v,f)),t.ɵdid(1,49152,null,0,s.UpdateLicenseComponent,[d.ApiService,o.I18nService,c.Angulartics2,p.ToasterService],null,null)],null,null)}l.RenderType_UpdateLicenseComponent=f,l.View_UpdateLicenseComponent_0=v,l.View_UpdateLicenseComponent_Host_0=h;var g=t.ɵccf("app-update-license",s.UpdateLicenseComponent,h,{organizationId:"organizationId"},{onUpdated:"onUpdated",onCanceled:"onCanceled"},[]);l.UpdateLicenseComponentNgFactory=g},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.keys[0].key:null,e.key2=null!=this.keys&&this.keys.length>1?this.keys[1].key:null,e.key3=null!=this.keys&&this.keys.length>2?this.keys[2].key:null,e.key4=null!=this.keys&&this.keys.length>3?this.keys[3].key:null,e.key5=null!=this.keys&&this.keys.length>4?this.keys[4].key:null,e.nfc=this.nfc,n.prototype.enable.call(this,function(){return o(l,void 0,void 0,function(){var n;return i(this,function(l){switch(l.label){case 0:return this.formPromise=this.apiService.putTwoFactorYubiKey(e),[4,this.formPromise];case 1:return n=l.sent(),[4,this.processResponse(n)];case 2:return l.sent(),this.toasterService.popAsync("success",null,this.i18nService.t("yubikeysUpdated")),[2]}})})})},l.prototype.disable=function(){return n.prototype.disable.call(this,this.disablePromise)},l.prototype.remove=function(n){n.existingKey=null,n.key=null},l.prototype.processResponse=function(n){this.enabled=n.enabled,this.keys=[{key:n.key1,existingKey:this.padRight(n.key1)},{key:n.key2,existingKey:this.padRight(n.key2)},{key:n.key3,existingKey:this.padRight(n.key3)},{key:n.key4,existingKey:this.padRight(n.key4)},{key:n.key5,existingKey:this.padRight(n.key5)}],this.nfc=n.nfc||!n.enabled},l.prototype.padRight=function(n,l,e){if(void 0===l&&(l="•"),void 0===e&&(e=44),null==n||null==l||n.length>=e)return n;for(var t=(e-n.length)/l.length,u=0;u0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]

'+this.i18nService.t("twoFactorRecoveryYourCode")+":

"+this.code+'

'+new Date+"

"),n.print(),n.close()},n.prototype.formatString=function(n){return null==n?null:n.replace(/(.{4})/g,"$1 ").trim().toUpperCase()},n.prototype.processResponse=function(n){this.code=this.formatString(n.code)},n}();l.TwoFactorRecoveryComponent=u},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l,e,o,i,r,a,s=this;return u(this,function(d){switch(d.label){case 0:return[4,this.cipherService.get(this.cipherId)];case 1:return[4,d.sent().decrypt()];case 2:if(n=d.sent(),l=[],null!=n.attachments)for(e=0,o=n.attachments;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return n=this.collections.filter(function(n){return n.checked}).map(function(n){return n.id}),this.formPromise=this.cipherService.shareManyWithServer(this.shareableCiphers,this.organizationId,n),[4,this.formPromise];case 1:return l.sent(),this.onShared.emit(),this.analytics.eventTrack.next({action:"Bulk Shared Items"}),this.toasterService.popAsync("success",null,this.i18nService.t("sharedItems")),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;(n?this.collections:this.writeableCollections).forEach(function(e){return l.check(e,n)})},n}());l.BulkShareComponent=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1||!e.onlySearchName&&(!!(l.length>=8&&n.id.startsWith(l))||(null!=n.subTitle&&n.subTitle.toLowerCase().indexOf(l)>-1||!!(n.login&&null!=n.login.uri&&n.login.uri.toLowerCase().indexOf(l)>-1)))}))},n}();l.SearchCiphersPipe=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(807),o=e(5),i=e(281),r=e(131),a=e(61),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"img",[["alt",""]],[[8,"src",4]],[[null,"error"]],function(n,l,e){var u=!0;"error"===l&&(u=!1!==t.ɵnov(n,1).onError()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.FallbackSrcDirective,[t.ElementRef],{appFallbackSrc:[0,"appFallbackSrc"]},null)],function(n,l){var e=l.component;n(l,1,0,t.ɵinlineInterpolate(1,"",e.fallbackImage,""))},function(n,l){n(l,0,0,l.component.image)})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null))],null,function(n,l){var e=l.component;n(l,0,0,t.ɵinlineInterpolate(1,"fa fa-fw fa-lg ",e.icon,""))})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,d)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.imageEnabled&&e.image),n(l,6,0,!e.imageEnabled||!e.image)},null)}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-icon",[],null,null,null,p,s)),t.ɵdid(1,573440,null,0,i.IconComponent,[r.EnvironmentService,a.StateService],null,null)],null,null)}l.RenderType_IconComponent=s,l.View_IconComponent_0=p,l.View_IconComponent_Host_0=f;var v=t.ɵccf("app-vault-icon",i.IconComponent,f,{cipher:"cipher"},{},[]);l.IconComponentNgFactory=v},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&n.data.forEach(function(n){var t=new a.Collection(new d.CollectionData(n));l.push(t.decrypt().then(function(n){e.push(n)}))}),Promise.all(l)})),c.push(this.apiService.getCiphersOrganization(n).then(function(n){var l=[];return null!=n&&null!=n.data&&n.data.length>0&&n.data.forEach(function(n){var e=new r.Cipher(new s.CipherData(n));l.push(e.decrypt().then(function(n){t.push(n)}))}),Promise.all(l)})),[4,Promise.all(c)];case 1:return u.sent(),p=new Map,e.forEach(function(n){p.set(n.id,n)}),f=[],t.forEach(function(n){if(n.type===i.CipherType.Login||n.type===i.CipherType.SecureNote){var l={collections:[]};null!=n.collectionIds&&(l.collections=n.collectionIds.filter(function(n){return p.has(n)}).map(function(n){return p.get(n).name})),v.buildCommonCipher(l,n),f.push(l)}}),"csv"===l?[2,o.unparse(f)]:[2,JSON.stringify(f,null," ")]}})})},n.prototype.getFileName=function(n){void 0===n&&(n=null);var l=new Date,e=l.getFullYear()+""+this.padNumber(l.getMonth()+1,2)+this.padNumber(l.getDate(),2)+this.padNumber(l.getHours(),2)+this.padNumber(l.getMinutes(),2)+this.padNumber(l.getSeconds(),2);return"bitwarden"+(n?"_"+n:"")+"_export_"+e+".csv"},n.prototype.padNumber=function(n,l,e){void 0===e&&(e="0");var t=n.toString();return t.length>=l?t:new Array(l-t.length+1).join(e)+t},n.prototype.buildCommonCipher=function(n,l){switch(n.type=null,n.name=l.name,n.notes=l.notes,n.fields=null,n.login_uri=null,n.login_username=null,n.login_password=null,n.login_totp=null,l.fields&&l.fields.forEach(function(l){n.fields?n.fields+="\n":n.fields="",n.fields+=(l.name||"")+": "+l.value}),l.type){case i.CipherType.Login:n.type="login",n.login_username=l.login.username,n.login_password=l.login.password,n.login_totp=l.login.totp,l.login.uris&&(n.login_uri=[],l.login.uris.forEach(function(l){n.login_uri.push(l.uri)}));break;case i.CipherType.SecureNote:n.type="note";break;default:return}return n},n}();l.ExportService=c},function(n,l,e){"use strict";var t,u=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(n=n.substring(0,l)),0!==n.indexOf("!/")&&0!==n.indexOf("#/")||(n=n.substring(1));var e=[];return n.split("/").forEach(function(n){n.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?e.push("__guid__"):e.push(n)}),encodeURIComponent(e.join("/"))},n}();l.Analytics=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=0?this.browserCache=i.DeviceType.OperaBrowser:-1!==navigator.userAgent.indexOf(" Edge/")?this.browserCache=i.DeviceType.EdgeBrowser:-1!==navigator.userAgent.indexOf(" Vivaldi/")?this.browserCache=i.DeviceType.VivaldiBrowser:-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")?this.browserCache=i.DeviceType.SafariBrowser:window.chrome&&-1!==navigator.userAgent.indexOf(" Chrome/")?this.browserCache=i.DeviceType.ChromeBrowser:-1!==navigator.userAgent.indexOf(" Trident/")?this.browserCache=i.DeviceType.IEBrowser:this.browserCache=i.DeviceType.UnknownBrowser,this.browserCache)},n.prototype.getDeviceString=function(){return i.DeviceType[this.getDevice()].toLowerCase().replace("browser","")},n.prototype.isFirefox=function(){return this.getDevice()===i.DeviceType.FirefoxBrowser},n.prototype.isChrome=function(){return this.getDevice()===i.DeviceType.ChromeBrowser},n.prototype.isEdge=function(){return this.getDevice()===i.DeviceType.EdgeBrowser},n.prototype.isOpera=function(){return this.getDevice()===i.DeviceType.OperaBrowser},n.prototype.isVivaldi=function(){return this.getDevice()===i.DeviceType.VivaldiBrowser},n.prototype.isSafari=function(){return this.getDevice()===i.DeviceType.SafariBrowser},n.prototype.isIE=function(){return this.getDevice()===i.DeviceType.IEBrowser},n.prototype.isMacAppStore=function(){return!1},n.prototype.analyticsId=function(){return"UA-81915606-3"},n.prototype.getDomain=function(n){return r.Utils.getHostname(n)},n.prototype.isViewOpen=function(){return!1},n.prototype.lockTimeout=function(){return 15},n.prototype.launchUri=function(n,l){var e=document.createElement("a");e.href=n,e.target="_blank",e.rel="noreferrer noopener",e.classList.add("d-none"),document.body.appendChild(e),e.click(),document.body.removeChild(e)},n.prototype.saveFile=function(n,l,e,t){var u=null;if(u=null==e||this.isIE()?new Blob([l]):new Blob([l],e),navigator.msSaveOrOpenBlob)navigator.msSaveBlob(u,t);else{var o=n.document.createElement("a");o.href=n.URL.createObjectURL(u),o.download=t,o.style.position="fixed",n.document.body.appendChild(o),o.click(),n.document.body.removeChild(o)}},n.prototype.getApplicationVersion=function(){return"2.0.0"},n.prototype.supportsU2f=function(n){return null!=n&&null!=n.u2f||(this.isChrome()||this.isOpera()||this.isVivaldi())&&!this.isMobile(n)},n.prototype.supportsDuo=function(){return!0},n.prototype.showToast=function(n,l,e,t){throw new Error("showToast not implemented")},n.prototype.showDialog=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t,r,s,d,c;return u(this,function(u){switch(u.label){case 0:if(t=[null==e?this.i18nService.t("ok"):e],null!=o&&t.unshift(o),r=document.createElement("div"),null!=i){switch((s=document.createElement("i")).classList.add("swal-custom-icon"),i){case"success":s.classList.add("fa","fa-check","text-success");break;case"warning":s.classList.add("fa","fa-warning","text-warning");break;case"error":s.classList.add("fa","fa-bolt","text-danger");break;case"info":s.classList.add("fa","fa-info-circle","text-info")}s.classList.contains("fa")&&r.appendChild(s)}return null!=l&&((d=document.createElement("div")).classList.add("swal-title"),d.appendChild(document.createTextNode(l)),r.appendChild(d)),null!=n&&((c=document.createElement("div")).classList.add("swal-text"),c.appendChild(document.createTextNode(n)),r.appendChild(c)),[4,a({content:{element:r},buttons:t})];case 1:return[2,u.sent()]}})})},n.prototype.isDev=function(){return!1},n.prototype.isSelfHost=function(){return"true"===(!1).toString()},n.prototype.copyToClipboard=function(n,l){var e=l?l.doc:window.document;if(window.clipboardData&&window.clipboardData.setData)window.clipboardData.setData("Text",n);else if(e.queryCommandSupported&&e.queryCommandSupported("copy")){var t=e.createElement("textarea");t.textContent=n,t.style.position="fixed",e.body.appendChild(t),t.select();try{e.execCommand("copy")}catch(n){console.warn("Copy to clipboard failed.",n)}finally{e.body.removeChild(t)}}},n.prototype.isMobile=function(n){var l,e=!1;return l=n.navigator.userAgent||n.navigator.vendor||n.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(l)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(l.substr(0,4)))&&(e=!0),e||null!=n.navigator.userAgent.match(/iPad/i)},n}();l.WebPlatformUtilsService=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.store=new Map}return n.prototype.get=function(n){if(this.store.has(n)){var l=this.store.get(n);return Promise.resolve(l)}return Promise.resolve(null)},n.prototype.save=function(n,l){return null==l?this.remove(n):(this.store.set(n,l),Promise.resolve())},n.prototype.remove=function(n){return this.store.delete(n),Promise.resolve()},n}();l.MemoryStorageService=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]1?"×"+l.context.$implicit.quantity:"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval)))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(11,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details")))})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,20,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,14,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(19,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,14,0,e.subscription),n(l,19,0,e.subscription)},function(n,l){var e=l.component;n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"billingPlan"))),n(l,11,0,e.billing.plan)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},d.View_UpdateLicenseComponent_0,d.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,c.UpdateLicenseComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{organizationId:[0,"organizationId"]},{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.organizationId)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense")))})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription")))})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["licenseBtn",1]],null,9,"button",[["class","btn btn-outline-secondary btn-submit ml-1"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.licensePromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense")))})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription")))})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addSeats"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeSeats")))})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-seats",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeSeats(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeSeats(!1)&&t);return t},h.View_AdjustSeatsComponent_0,h.RenderType_AdjustSeatsComponent)),t.ɵdid(1,49152,null,0,g.AdjustSeatsComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{seatPrice:[0,"seatPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.seatPrice,e.adjustSeatsAdd,e.organizationId,e.billingInterval)},null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustSeats),n(l,8,0,e.showAdjustSeats)},null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage")))})}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},m.View_AdjustStorageComponent_0,m.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,y.AdjustStorageComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.storageGbPrice,e.adjustStorageAdd,e.organizationId,e.billingInterval)},null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noPaymentMethod")))})}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,3,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,[""," ",""])),t.ɵppd(6,1),t.ɵppd(7,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(9,0,[["verifyForm",1]],0,61,"form",[["class","form-inline"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,10).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,10).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.verifyBank()&&u);return u},null,null)),t.ɵdid(10,4210688,null,0,C.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,C.ControlContainer,null,[C.NgForm]),t.ɵdid(12,16384,null,0,C.NgControlStatusGroup,[C.ControlContainer],null,null),t.ɵdid(13,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount1"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount1"],["max","99"],["min","1"],["name","Amount1"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,28)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,28).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,28)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,28)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.verifyAmount1=e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,C.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,C.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(29,16384,null,0,C.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(30,16384,null,0,C.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,C.NG_VALIDATORS,function(n){return[n]},[C.RequiredValidator]),t.ɵprd(1024,null,C.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[C.DefaultValueAccessor,C.ɵbc]),t.ɵdid(33,671744,null,0,C.NgModel,[[2,C.ControlContainer],[2,C.NG_VALIDATORS],[8,null],[2,C.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,C.NgControl,null,[C.NgModel]),t.ɵdid(35,16384,null,0,C.NgControlStatus,[C.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount2"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount2"],["max","99"],["min","1"],["name","Amount2"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,51)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,51)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,51)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.verifyAmount2=e)&&u);return u},null,null)),t.ɵdid(51,16384,null,0,C.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,C.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(52,16384,null,0,C.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(53,16384,null,0,C.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,C.NG_VALIDATORS,function(n){return[n]},[C.RequiredValidator]),t.ɵprd(1024,null,C.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[C.DefaultValueAccessor,C.ɵbc]),t.ɵdid(56,671744,null,0,C.NgModel,[[2,C.ControlContainer],[2,C.NG_VALIDATORS],[8,null],[2,C.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,C.NgControl,null,[C.NgModel]),t.ɵdid(58,16384,null,0,C.NgControlStatus,[C.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,8,"button",[["class","btn btn-outline-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(67,null,["",""])),t.ɵppd(68,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccount")),"")),n(l,13,0,e.verifyBankPromise);n(l,30,0,"");n(l,33,0,"Amount1",e.verifyAmount1);n(l,53,0,"");n(l,56,0,"Amount2",e.verifyAmount2)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccountDesc")),t.ɵunv(l,5,1,n(l,7,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccountFailureWarning"))),n(l,9,0,t.ɵnov(l,12).ngClassUntouched,t.ɵnov(l,12).ngClassTouched,t.ɵnov(l,12).ngClassPristine,t.ɵnov(l,12).ngClassDirty,t.ɵnov(l,12).ngClassValid,t.ɵnov(l,12).ngClassInvalid,t.ɵnov(l,12).ngClassPending),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent.parent,0),"amount","1"))),n(l,27,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent.parent,0),"amount","2"))),n(l,50,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending),n(l,61,0,t.ɵnov(l,9).loading),n(l,63,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent.parent,0),"loading")),"")),n(l,67,0,t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccount")))})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,X)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(8,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(9,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.paymentSource.type===e.paymentMethodType.BankAccount&&e.paymentSource.needsVerification);n(l,8,0,"fa fa-fw",n(l,9,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal))},function(n,l){n(l,10,0,l.component.paymentSource.description)})}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod")))})}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},b.View_AdjustPaymentComponent_0,b.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,S.AdjustPaymentComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{currentType:[0,"currentType"],organizationId:[1,"organizationId"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null,e.organizationId)},null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCharges")))})}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,28,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.viewInvoice(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,w.StopClickDirective,[],null,null),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-file-pdf-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"td",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(23,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(24,{"text-strike":0}),t.ɵppd(25,1),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,23,0,n(l,24,0,l.context.$implicit.refunded))},function(n,l){n(l,4,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,6,0,t.ɵnov(l.parent.parent.parent.parent,0),"invoice")),"")),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.createdDate,"mediumDate"))),n(l,17,0,l.context.$implicit.paymentSource?l.context.$implicit.paymentSource.description:"-"),n(l,20,0,l.context.$implicit.status),n(l,22,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,25,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"")),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$")))})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(5,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.charges)},null)}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,75,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePlan()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(24,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(37,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(38,{width:0}),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(44,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(51,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Q)),t.ɵdid(54,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,nn)),t.ɵdid(57,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,ln)),t.ɵdid(60,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(67,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,un)),t.ɵdid(70,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["* ",""])),t.ɵppd(74,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,e.canDownloadLicense),n(l,12,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,24,0,e.subscription&&e.canAdjustSeats),n(l,37,0,n(l,38,0,e.storageProgressWidth+"%")),n(l,44,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel&&e.paymentSource),n(l,51,0,!e.paymentSource),n(l,54,0,e.paymentSource),n(l,57,0,!e.showAdjustPayment),n(l,60,0,e.showAdjustPayment),n(l,67,0,!e.charges||!e.charges.length),n(l,70,0,e.charges&&e.charges.length)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"changeBillingPlan"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"userSeats"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"subscriptionUserSeats",e.billing.seats))),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent.parent,0),"storage"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.billing.maxStorageGb||0,e.billing.storageName||"0 MB"))),n(l,36,0,e.storagePercentage),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100))),n(l,47,0,t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent,0),"paymentMethod"))),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent,0),"charges"))),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"chargesStatement","BITWARDEN")))})}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(15,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,on)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,9,0,e.selfHosted),n(l,12,0,!e.selfHosted),n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},null)}function an(n){return t.ɵvid(0,[t.ɵpid(0,R.I18nPipe,[i.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,rn)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.billing)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"billingAndLicensing")))})}function sn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-billing",[],null,null,null,an,O)),t.ɵdid(1,114688,null,0,_.OrganizationBillingComponent,[I.TokenService,p.ApiService,A.PlatformUtilsService,i.I18nService,f.Angulartics2,v.ToasterService,E.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationBillingComponent=O,l.View_OrganizationBillingComponent_0=an,l.View_OrganizationBillingComponent_Host_0=sn;var dn=t.ɵccf("app-org-billing",_.OrganizationBillingComponent,sn,{},{},[]);l.OrganizationBillingComponentNgFactory=dn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(60),a=e(5),s=e(7),d=e(239),c=e(4),p=e(35),f=e(27),v=e(10),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc")))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"))),n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),""))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){n(l,2,0,t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled),n(l,15,0,!e.premium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.premium&&l.context.$implicit.premium),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function N(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(35,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId),n(l,24,0,n(l,25,0,!e.organizationId)),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,N,h)),t.ɵdid(1,114688,null,0,d.TwoFactorSetupComponent,[c.ApiService,p.TokenService,t.ComponentFactoryResolver,f.MessagingService,v.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=h,l.View_TwoFactorSetupComponent_0=N,l.View_TwoFactorSetupComponent_Host_0=T;var k=t.ɵccf("app-two-factor-setup",d.TwoFactorSetupComponent,T,{},{},[]);l.TwoFactorSetupComponentNgFactory=k},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(130),a=e(116),s=e(42),d=e(7),c=e(2),p=e(5),f=e(240),v=e(4),h=e(3),g=e(9),m=e(10),y=e(66),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.billingEmail=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.businessName=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["height","75"],["width","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],fontSize:[3,"fontSize"],dynamic:[4,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.org.name);n(l,33,0,"BillingEmail",e.org.billingEmail);n(l,47,0,"BusinessName",e.org.businessName);n(l,56,0,t.ɵinlineInterpolate(1,"",e.org.name,""),"75","75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"organizationName"))),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"billingEmail"))),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"businessName"))),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading),n(l,62,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=l.component;n(l,3,0,e.org.businessAddress1),n(l,6,0,e.org.businessAddress2),n(l,9,0,e.org.businessAddress3),n(l,12,0,e.org.businessCountry),n(l,15,0,e.org.businessTaxNumber)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[c.I18nService]),t.ɵqud(402653184,1,{deleteModalRef:0}),(n()(),t.ɵeld(2,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(10,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(13,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(15,0,null,null,5,"div",[["class","secondary-header border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(23,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(25,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(29,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n"])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(33,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(40,0,null,null,12,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,9,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(45,null,["",""])),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteOrganization()&&t);return t},null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deleteOrganizationTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.loading),n(l,13,0,e.org&&!e.loading),n(l,23,0,e.org&&(e.org.businessAddress1||e.org.businessTaxNumber))},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"myOrganization"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"taxInformation"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"taxInformationDesc"))),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"contactSupport"))),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"dangerZone"))),n(l,45,0,t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"dangerZoneDesc"))),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"deleteOrganization")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-account",[],null,null,null,_,C)),t.ɵdid(1,114688,null,0,f.AccountComponent,[t.ComponentFactoryResolver,v.ApiService,c.I18nService,h.Angulartics2,g.ToasterService,m.ActivatedRoute,y.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AccountComponent=C,l.View_AccountComponent_0=_,l.View_AccountComponent_Host_0=I;var A=t.ɵccf("app-org-account",f.AccountComponent,I,{},{},[]);l.AccountComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(241),s=e(21),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"two-factor");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"twoStepLogin")))})}function p(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,42,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,39,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,30,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,27,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,20,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(32,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(40,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"billing");n(l,25,0,"active"),n(l,32,0,e.access2fa),n(l,40,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myOrganization"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"billingAndLicensing")))})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-settings",[],null,null,null,p,d)),t.ɵdid(1,114688,null,0,a.SettingsComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=d,l.View_SettingsComponent_0=p,l.View_SettingsComponent_Host_0=f;var v=t.ɵccf("app-org-settings",a.SettingsComponent,f,{},{},[]);l.SettingsComponentNgFactory=v},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.groupIds=[]}}();l.OrganizationUserUpdateGroupsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.OrganizationUserUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.emails=[],this.collections=[]}}();l.OrganizationUserInviteRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUserConfirmRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(60),o=e(130),i=e(116),r=e(42),a=e(5),s=e(7),d=e(2),c=e(249),p=e(13),f=e(242),v=e(4),h=e(10),g=e(8),m=e(3),y=e(9),C=e(20),b=e(21),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-info"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.invitedCount)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.acceptedCount)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noUsersInList")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-secondary"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"invited")))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"accepted")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted d-block"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.parent.context.$implicit.name)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"owner")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"admin")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"user")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.reinvite(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-envelope-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"resendInvitation")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-success"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.confirm(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-check"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"confirm")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.groups(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-sitemap"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"groups")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"eventLogs")))})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,68,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["width","30"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-avatar",[["height","25"],["width","25"]],null,null,null,o.View_AvatarComponent_0,o.RenderType_AvatarComponent)),t.ɵdid(5,638976,null,0,i.AvatarComponent,[r.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],fontSize:[3,"fontSize"],circle:[4,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,14,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,10,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(27,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(30,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(33,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,31,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,28,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,20,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(48,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(51,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(54,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(57,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,60).onClick(e)&&u);"click"===l&&(u=!1!==o.remove(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,0,"i",[["class","fa fa-fw fa-remove"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["\n ","\n "])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit.name||l.context.$implicit.email,"25","25",14,!0),n(l,15,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,18,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,21,0,l.context.$implicit.name),n(l,27,0,l.context.$implicit.type===e.organizationUserType.Owner),n(l,30,0,l.context.$implicit.type===e.organizationUserType.Admin),n(l,33,0,l.context.$implicit.type===e.organizationUserType.User),n(l,48,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,51,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,54,0,e.accessGroups),n(l,57,0,e.accessEvents&&l.context.$implicit.status===e.organizationUserStatusType.Confirmed)},function(n,l){n(l,12,0,l.context.$implicit.email),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent,0),"remove")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(5,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(3,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(6,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function z(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[d.I18nService]),t.ɵpid(0,c.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{groupsModalRef:0}),t.ɵqud(402653184,3,{eventsModalRef:0}),(n()(),t.ɵeld(5,0,null,null,56,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,49,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,25,"div",[["class","btn-group btn-group-sm"],["role","group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(null)&&t);return t},null,null)),t.ɵdid(16,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(17,{active:0}),(n()(),t.ɵted(18,null,["\n ","\n "])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Invited)&&t);return t},null,null)),t.ɵdid(22,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(23,{active:0}),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(27,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Accepted)&&t);return t},null,null)),t.ɵdid(31,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(32,{active:0}),(n()(),t.ɵted(33,null,["\n ","\n "])),t.ɵppd(34,1),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(36,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,13,"div",[["class","ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,47)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,47).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,47)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,47)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(49,671744,null,0,p.NgModel,[[8,null],[8,null],[8,null],[2,p.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(51,16384,null,0,p.NgControlStatus,[p.NgControl],null,null),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.invite()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(64,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,F)),t.ɵdid(67,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(68,5),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,L)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["groupsTemplate",2]],null,0,null,G)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["eventsTemplate",2]],null,0,null,q)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"btn btn-outline-secondary",n(l,17,0,null==e.status));n(l,22,0,"btn btn-outline-secondary",n(l,23,0,e.status==e.organizationUserStatusType.Invited)),n(l,27,0,e.invitedCount);n(l,31,0,"btn btn-outline-secondary",n(l,32,0,e.status==e.organizationUserStatusType.Accepted)),n(l,36,0,e.acceptedCount),n(l,49,0,e.searchText),n(l,64,0,e.loading),n(l,67,0,!e.loading&&t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l,1),e.users,e.searchText,"name","email","id")))},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l,0),"people"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"all"))),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l,0),"invited"))),n(l,33,0,t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"accepted"))),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"search"))),n(l,46,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,46,0,n(l,52,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,51).ngClassUntouched,t.ɵnov(l,51).ngClassTouched,t.ɵnov(l,51).ngClassPristine,t.ɵnov(l,51).ngClassDirty,t.ɵnov(l,51).ngClassValid,t.ɵnov(l,51).ngClassInvalid,t.ɵnov(l,51).ngClassPending),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"inviteUser")))})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-people",[],null,null,null,z,S)),t.ɵdid(1,114688,null,0,f.PeopleComponent,[v.ApiService,h.ActivatedRoute,d.I18nService,t.ComponentFactoryResolver,g.PlatformUtilsService,m.Angulartics2,y.ToasterService,C.CryptoService,b.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PeopleComponent=S,l.View_PeopleComponent_0=z,l.View_PeopleComponent_Host_0=j;var B=t.ɵccf("app-org-people",f.PeopleComponent,j,{},{},[]);l.PeopleComponentNgFactory=B},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.GroupRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(60),o=e(5),i=e(7),r=e(2),a=e(249),s=e(13),d=e(243),c=e(4),p=e(10),f=e(3),v=e(9),h=e(8),g=e(21),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noGroupsInList")))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==o.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,w)),t.ɵdid(39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading),n(l,39,0,!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.groups,e.searchText,"name","id")))},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"groups"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newGroup")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-groups",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.GroupsComponent,[c.ApiService,p.ActivatedRoute,r.I18nService,t.ComponentFactoryResolver,f.Angulartics2,v.ToasterService,h.PlatformUtilsService,g.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_GroupsComponent=m,l.View_GroupsComponent_0=I,l.View_GroupsComponent_Host_0=A;var E=t.ɵccf("app-org-groups",d.GroupsComponent,A,{},{},[]);l.GroupsComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(18),i=e(17),r=e(7),a=e(2),s=e(13),d=e(244),c=e(4),p=e(10),f=e(175),v=e(9),h=e(21),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noEventsInList")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[],[[8,"className",0],[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"span",[],[[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,0,"td",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.date,"medium"))),n(l,8,0,t.ɵinlineInterpolate(1,"text-muted fa fa-lg ",l.context.$implicit.appIcon,""),t.ɵinlineInterpolate(2,"",l.context.$implicit.appName,", ",l.context.$implicit.ip,"")),n(l,13,0,t.ɵinlineInterpolate(1,"",l.context.$implicit.userEmail,"")),n(l,14,0,l.context.$implicit.userName),n(l,17,0,l.context.$implicit.message)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"table",[["class","table table-hover"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,23,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,20,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"th",[["class","border-top-0"],["width","210"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"th",[["class","border-top-0"],["width","40"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"span",[["class","sr-only"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"th",[["class","border-top-0"],["width","150"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"th",[["class","border-top-0"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(30,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,30,0,l.component.events)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"timestamp"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent,0),"device"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"user"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"event")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["moreBtn",1]],null,9,"button",[["class","btn btn-block btn-link btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!1)&&t);return t},null,null)),t.ɵdid(1,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.morePromise)},function(n,l){n(l,0,0,l.component.loaded&&t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"loadMore")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(9,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.events||!e.events.length),n(l,6,0,e.events&&e.events.length),n(l,9,0,e.continuationToken)},null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[a.I18nService]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,47,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,40,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,28,"div",[["class","form-inline"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["class","sr-only"],["for","start"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","start"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.start=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(21,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["class","mx-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["-"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["class","sr-only"],["for","end"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","end"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.end=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(36,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,[["refreshBtn",1]],null,7,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!0)&&t);return t},null,null)),t.ɵdid(41,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(44,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(45,{"fa-spin":0}),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(52,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(55,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,19,0,e.start),n(l,34,0,e.end),n(l,41,0,e.refreshPromise);n(l,44,0,"fa fa-refresh fa-fw",n(l,45,0,e.loaded&&t.ɵnov(l,40).loading)),n(l,52,0,!e.loaded),n(l,55,0,e.loaded)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"eventLogs"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"startDate"))),n(l,16,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,22,0,t.ɵnov(l,0),"startDate")),""),t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"endDate"))),n(l,31,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,31,0,n(l,37,0,t.ɵnov(l,0),"endDate")),""),t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending),n(l,40,0,e.loaded&&t.ɵnov(l,40).loading),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"refresh")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-events",[],null,null,null,R,g)),t.ɵdid(1,114688,null,0,d.EventsComponent,[c.ApiService,p.ActivatedRoute,f.EventService,a.I18nService,v.ToasterService,h.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_EventsComponent=g,l.View_EventsComponent_0=R,l.View_EventsComponent_Host_0=_;var I=t.ɵccf("app-org-events",d.EventsComponent,_,{},{},[]);l.EventsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(60),o=e(5),i=e(7),r=e(2),a=e(249),s=e(13),d=e(248),c=e(4),p=e(10),f=e(44),v=e(3),h=e(9),g=e(8),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-spinner fa-spin text-muted"]],null,null,null,null,null))],null,null)}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noCollectionsInList")))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==o.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,w)),t.ɵdid(39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading),n(l,39,0,!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.collections,e.searchText,"name","id")))},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"collections"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newCollection")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage-collections",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.CollectionsComponent,[c.ApiService,p.ActivatedRoute,f.CollectionService,t.ComponentFactoryResolver,v.Angulartics2,h.ToasterService,r.I18nService,g.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionsComponent=m,l.View_CollectionsComponent_0=I,l.View_CollectionsComponent_Host_0=A;var E=t.ɵccf("app-org-manage-collections",d.CollectionsComponent,A,{},{},[]);l.CollectionsComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(250),s=e(21),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","groups"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"groups");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"groups")))})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","events"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"events");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"eventLogs")))})}function f(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,45,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,42,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,33,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,30,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,23,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","people"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","collections"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(32,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(35,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(43,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"people");n(l,17,0,"active");n(l,24,0,"collections");n(l,25,0,"active"),n(l,32,0,e.accessGroups),n(l,35,0,e.accessEvents),n(l,43,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"manage"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"people"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"collections")))})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage",[],null,null,null,f,d)),t.ɵdid(1,114688,null,0,a.ManageComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ManageComponent=d,l.View_ManageComponent_0=f,l.View_ManageComponent_Host_0=v;var h=t.ɵccf("app-org-manage",a.ManageComponent,v,{},{},[]);l.ManageComponentNgFactory=h},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(17),s=e(40),d=e(37),c=e(46),p=e(251),f=e(3),v=e(9),h=e(20),g=e(21),m=e(8),y=e(176),C=e(10),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,51,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(19,114688,null,0,d.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(20,0,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPassword"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(33,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(36,671744,null,0,i.NgModel,[[2,i.ControlContainer],[2,i.NG_VALIDATORS],[8,null],[2,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(38,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),t.ɵdid(39,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"warning");n(l,33,0,"");n(l,36,0,"MasterPassword",e.masterPassword);n(l,39,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"exportVault"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"exportMasterPassword"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"exportWarning"))),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"masterPass"))),n(l,31,0,t.ɵnov(l,33).required?"":null,t.ɵnov(l,38).ngClassUntouched,t.ɵnov(l,38).ngClassTouched,t.ɵnov(l,38).ngClassPristine,t.ɵnov(l,38).ngClassDirty,t.ɵnov(l,38).ngClassValid,t.ɵnov(l,38).ngClassInvalid,t.ɵnov(l,38).ngClassPending),n(l,43,0,t.ɵnov(l,1).loading),n(l,45,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"loading")),"")),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"exportVault")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-export",[],null,null,null,S,b)),t.ɵdid(1,114688,null,0,p.ExportComponent,[f.Angulartics2,v.ToasterService,h.CryptoService,g.UserService,o.I18nService,m.PlatformUtilsService,y.ExportService,C.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ExportComponent=b,l.View_ExportComponent_0=S,l.View_ExportComponent_Host_0=w;var R=t.ɵccf("app-org-export",p.ExportComponent,w,{},{onSaved:"onSaved"},[]);l.ExportComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.collections=[],this.collectionRelationships=[]}}();l.ImportOrganizationCiphersRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(40),r=e(37),a=e(2),s=e(7),d=e(18),c=e(17),p=e(252),f=e(3),v=e(9),h=e(26),g=e(50),m=e(4),y=e(10),C=e(44),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(7,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click "Export CSV"\n for your "Accounts".\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the XML file.\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML (2.x)" option.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save the CSV file.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my data" to save\n the CSV file.\n ']))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..." and save the XML\n file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive (readable) in CSV format"\n and save the CSV file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the CSV file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings". Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" → "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2sMldAI"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the CSV\n file.\n ']))],null,null)}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,98,"app-callout",[["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(4,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,V)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(34,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,x)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(52,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(55,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(58,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(64,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(67,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(70,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(73,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(76,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(79,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(85,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(88,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(91,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(94,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,en)),t.ɵdid(97,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"pwsafexml"===e.format),n(l,58,0,"dashlanecsv"===e.format),n(l,61,0,"msecurecsv"===e.format),n(l,64,0,"stickypasswordxml"===e.format),n(l,67,0,"truekeycsv"===e.format),n(l,70,0,"clipperzhtml"===e.format),n(l,73,0,"roboformcsv"===e.format),n(l,76,0,"passboltcsv"===e.format),n(l,79,0,"ascendocsv"===e.format),n(l,82,0,"passwordbossjson"===e.format),n(l,85,0,"zohovaultcsv"===e.format),n(l,88,0,"splashidcsv"===e.format),n(l,91,0,"passkeepcsv"===e.format),n(l,94,0,"gnomejson"===e.format),n(l,97,0,"passwordagentcsv"===e.format)},null)}function un(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(12,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(34,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(44,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"))),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"))),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"))),n(l,64,0,t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"))),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading),n(l,77,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"")),n(l,81,0,t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData")))})}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-import",[],null,null,null,un,b)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.CipherService,g.FolderService,m.ApiService,y.Router,C.CollectionService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=b,l.View_ImportComponent_0=un,l.View_ImportComponent_Host_0=on;var rn=t.ɵccf("app-org-import",p.ImportComponent,on,{},{},[]);l.ImportComponentNgFactory=rn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(10),r=e(5),a=e(253),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,39,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,36,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,27,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,24,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,17,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(37,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,"import");n(l,17,0,"active");n(l,24,0,"export");n(l,25,0,"active"),n(l,37,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"importData"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"exportVault")))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-tools",[],null,null,null,d,s)),t.ɵdid(1,49152,null,0,a.ToolsComponent,[],null,null)],null,null)}l.RenderType_ToolsComponent=s,l.View_ToolsComponent_0=d,l.View_ToolsComponent_Host_0=c;var p=t.ɵccf("app-org-tools",a.ToolsComponent,c,{},{},[]);l.ToolsComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.User_LoggedIn=1e3]="User_LoggedIn",n[n.User_ChangedPassword=1001]="User_ChangedPassword",n[n.User_Enabled2fa=1002]="User_Enabled2fa",n[n.User_Disabled2fa=1003]="User_Disabled2fa",n[n.User_Recovered2fa=1004]="User_Recovered2fa",n[n.User_FailedLogIn=1005]="User_FailedLogIn",n[n.User_FailedLogIn2fa=1006]="User_FailedLogIn2fa",n[n.Cipher_Created=1100]="Cipher_Created",n[n.Cipher_Updated=1101]="Cipher_Updated",n[n.Cipher_Deleted=1102]="Cipher_Deleted",n[n.Cipher_AttachmentCreated=1103]="Cipher_AttachmentCreated",n[n.Cipher_AttachmentDeleted=1104]="Cipher_AttachmentDeleted",n[n.Cipher_Shared=1105]="Cipher_Shared",n[n.Cipher_UpdatedCollections=1106]="Cipher_UpdatedCollections",n[n.Collection_Created=1300]="Collection_Created",n[n.Collection_Updated=1301]="Collection_Updated",n[n.Collection_Deleted=1302]="Collection_Deleted",n[n.Group_Created=1400]="Group_Created",n[n.Group_Updated=1401]="Group_Updated",n[n.Group_Deleted=1402]="Group_Deleted",n[n.OrganizationUser_Invited=1500]="OrganizationUser_Invited",n[n.OrganizationUser_Confirmed=1501]="OrganizationUser_Confirmed",n[n.OrganizationUser_Updated=1502]="OrganizationUser_Updated",n[n.OrganizationUser_Removed=1503]="OrganizationUser_Removed",n[n.OrganizationUser_UpdatedGroups=1504]="OrganizationUser_UpdatedGroups",n[n.Organization_Updated=1600]="Organization_Updated"}(l.EventType||(l.EventType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(92),i=e(60),r=e(5),a=e(566),s=e(281),d=e(131),c=e(61),p=e(565),f=e(8),v=e(7),h=e(2),g=e(256),m=e(26),y=e(3),C=e(9),b=e(4),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.parent.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,3).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[8,null],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.$implicit.checked)},function(n,l){n(l,2,0,t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["appStopProp",""],["class","fa fa-share-alt"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(2,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),"shared")),""))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["appStopProp",""],["class","fa fa-paperclip"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(2,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),"attachments")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.copy(n.parent.context.$implicit.login.password,"password","password")&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"copyPassword")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.share(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-share-alt"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"share")))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.collections(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-cubes"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"collections")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"eventLogs")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"td",[["class","table-list-icon"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,1,"app-vault-icon",[],null,null,null,a.View_IconComponent_0,a.RenderType_IconComponent)),t.ɵdid(8,573440,null,0,s.IconComponent,[d.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,19,"td",[["class","reduced-lh"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"a",[["appStopClick",""],["appStopProp",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,14).onClick(e)&&u);"click"===l&&(u=!1!==t.ɵnov(n,15).onClick(e)&&u);"click"===l&&(u=!1!==o.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(14,16384,null,0,i.StopClickDirective,[],null,null),t.ɵdid(15,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(16,1),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(20,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(23,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"small",[["appStopProp",""]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,o.StopPropDirective,[],null,null),(n()(),t.ɵted(29,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,38,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,35,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["id","dropdownMenuButton"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,27,"div",[["aria-labelledby","dropdownMenuButton"],["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,47).onClick(e)&&u);"click"===l&&(u=!1!==o.attachments(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,0,"i",[["class","fa fa-fw fa-paperclip"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(54,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(57,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(60,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,63).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(63,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(66,null,["\n ","\n "])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.organization),n(l,8,0,l.context.$implicit),n(l,20,0,!e.organization&&l.context.$implicit.organizationId),n(l,23,0,l.context.$implicit.hasAttachments),n(l,44,0,l.context.$implicit.type===e.cipherType.Login),n(l,54,0,!e.organization&&!l.context.$implicit.organizationId),n(l,57,0,l.context.$implicit.organizationId),n(l,60,0,l.context.$implicit.organizationId&&e.accessEvents)},function(n,l){n(l,13,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,13,0,n(l,16,0,t.ɵnov(l.parent.parent.parent,1),"editItem")),"")),n(l,17,0,l.context.$implicit.name),n(l,29,0,l.context.$implicit.subTitle),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l.parent.parent.parent,1),"attachments"))),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent.parent.parent,1),"delete")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(5,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent,1),"loading")),""))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"button",[["class","btn btn-outline-primary"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1)],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,1),"addItem")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,l.component.showAddNew)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),"noItemsInList")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","no-items"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.loaded),n(l,6,0,e.loaded)},null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,l.context.ngIf.length>0),n(l,6,0,0===l.context.ngIf.length)},null)}function D(n){return t.ɵvid(0,[t.ɵpid(0,p.SearchCiphersPipe,[f.PlatformUtilsService]),t.ɵpid(0,v.I18nPipe,[h.I18nService]),(n()(),t.ɵand(16777216,null,null,2,null,x)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),e.ciphers,e.searchText)))},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-ciphers",[],null,null,null,D,S)),t.ɵdid(1,49152,null,0,g.CiphersComponent,[m.CipherService,y.Angulartics2,C.ToasterService,h.I18nService,f.PlatformUtilsService,b.ApiService],null,null)],null,null)}l.RenderType_CiphersComponent=S,l.View_CiphersComponent_0=D,l.View_CiphersComponent_Host_0=U;var F=t.ɵccf("app-org-vault-ciphers",g.CiphersComponent,U,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"},[]);l.CiphersComponentNgFactory=F},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(60),i=e(7),r=e(2),a=e(13),s=e(87),d=e(257),c=e(44),p=e(50),f=e(4),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectFavorites()&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-star"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,["","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,n(l,2,0,l.component.selectedFavorites))},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"favorites")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto show-active"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.editFolder(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-pencil fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"editFolder")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,12,"li",[["class","d-flex"]],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,4,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectFolder(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-caret-right"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(11,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"d-flex",n(l,2,0,e.selectedFolder&&l.context.$implicit.id===e.selectedFolderId)),n(l,11,0,l.context.$implicit.id)},function(n,l){n(l,8,0,l.context.$implicit.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"h3",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵeld(5,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,6).onClick(e)&&u);"click"===l&&(u=!1!==o.addFolder()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(16,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,16,0,l.component.folders)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"folders"))),n(l,5,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addFolder")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,4,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectCollection(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-caret-right"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ",""])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,n(l,2,0,l.context.$implicit.id===e.selectedCollectionId))},function(n,l){n(l,8,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,4,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(9,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.collections)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"collections")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.showFolders),n(l,6,0,e.showCollections&&e.collections&&e.collections.length)},null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,95,"div",[["class","card vault-filters"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Filters\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,89,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["appAutofocus",""],["class","form-control"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);"input"===l&&(u=!1!==o.searchTextChanged()&&u);return u},null,null)),t.ɵdid(9,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,a.NgModel,[[8,null],[8,null],[8,null],[2,a.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(13,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(14,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,16,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(20,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(21,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e)&&u);"click"===l&&(u=!1!==o.selectAll()&&u);return u},null,null)),t.ɵdid(24,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-th"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["","\n "])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(32,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,49,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(42,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(43,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,46).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Login)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-globe"]],null,null,null,null,null)),(n()(),t.ɵted(49,null,["","\n "])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(54,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(55,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,58).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Card)&&u);return u},null,null)),t.ɵdid(58,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-credit-card"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["","\n "])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(66,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(67,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,70).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Identity)&&u);return u},null,null)),t.ɵdid(70,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-id-card-o"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["","\n "])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(78,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(79,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,82).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.SecureNote)&&u);return u},null,null)),t.ɵdid(82,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-sticky-note-o"]],null,null,null,null,null)),(n()(),t.ɵted(85,null,["","\n "])),t.ɵppd(86,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(91,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(94,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,11,0,e.searchText);n(l,14,0,""),n(l,20,0,n(l,21,0,e.selectedAll)),n(l,32,0,e.showFavorites),n(l,42,0,n(l,43,0,e.selectedType===e.cipherType.Login)),n(l,54,0,n(l,55,0,e.selectedType===e.cipherType.Card)),n(l,66,0,n(l,67,0,e.selectedType===e.cipherType.Identity)),n(l,78,0,n(l,79,0,e.selectedType===e.cipherType.SecureNote)),n(l,91,0,!e.loaded),n(l,94,0,e.loaded)},function(n,l){var e=l.component;n(l,8,0,t.ɵinlineInterpolate(1,"",e.searchPlaceholder||t.ɵunv(l,8,0,n(l,15,0,t.ɵnov(l,0),"searchVault")),""),t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"allItems"))),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"types"))),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"typeLogin"))),n(l,61,0,t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l,0),"typeCard"))),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l,0),"typeIdentity"))),n(l,85,0,t.ɵunv(l,85,0,n(l,86,0,t.ɵnov(l,0),"typeSecureNote")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-groupings",[],null,null,null,R,v)),t.ɵdid(1,49152,null,0,d.GroupingsComponent,[c.CollectionService,p.FolderService,f.ApiService,r.I18nService],null,null)],null,null)}l.RenderType_GroupingsComponent=v,l.View_GroupingsComponent_0=R,l.View_GroupingsComponent_Host_0=_;var I=t.ɵccf("app-org-vault-groupings",d.GroupingsComponent,_,{showFolders:"showFolders",showCollections:"showCollections",showFavorites:"showFavorites"},{onAllClicked:"onAllClicked",onFavoritesClicked:"onFavoritesClicked",onCipherTypeClicked:"onCipherTypeClicked",onFolderClicked:"onFolderClicked",onAddFolder:"onAddFolder",onEditFolder:"onEditFolder",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"},[]);l.GroupingsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(729),r=e(257),a=e(44),s=e(50),d=e(4),c=e(728),p=e(256),f=e(26),v=e(3),h=e(9),g=e(8),m=e(255),y=e(10),C=e(21),b=e(5),S=e(66),w=e(27),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{groupingsComponent:0}),t.ɵqud(402653184,2,{ciphersComponent:0}),t.ɵqud(402653184,3,{attachmentsModalRef:0}),t.ɵqud(402653184,4,{cipherAddEditModalRef:0}),t.ɵqud(402653184,5,{collectionsModalRef:0}),t.ɵqud(402653184,6,{eventsModalRef:0}),(n()(),t.ɵeld(7,0,null,null,31,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,28,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,5,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"app-org-vault-groupings",[],null,[[null,"onAllClicked"],[null,"onCipherTypeClicked"],[null,"onCollectionClicked"],[null,"onSearchTextChanged"]],function(n,l,e){var t=!0,u=n.component;"onAllClicked"===l&&(t=!1!==u.clearGroupingFilters()&&t);"onCipherTypeClicked"===l&&(t=!1!==u.filterCipherType(e)&&t);"onCollectionClicked"===l&&(t=!1!==u.filterCollection(e.id)&&t);"onSearchTextChanged"===l&&(t=!1!==u.filterSearchText(e)&&t);return t},i.View_GroupingsComponent_0,i.RenderType_GroupingsComponent)),t.ɵdid(14,49152,[[1,4]],0,r.GroupingsComponent,[a.CollectionService,s.FolderService,d.ApiService,o.I18nService],{showFolders:[0,"showFolders"],showFavorites:[1,"showFavorites"]},{onAllClicked:"onAllClicked",onCipherTypeClicked:"onCipherTypeClicked",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,18,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,11,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(23,null,["",""])),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,4,"button",[["class","btn btn-outline-primary btn-sm ml-auto"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(29,null,["","\n "])),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"app-org-vault-ciphers",[],null,[[null,"onCipherClicked"],[null,"onAttachmentsClicked"],[null,"onAddCipher"],[null,"onCollectionsClicked"],[null,"onEventsClicked"]],function(n,l,e){var t=!0,u=n.component;"onCipherClicked"===l&&(t=!1!==u.editCipher(e)&&t);"onAttachmentsClicked"===l&&(t=!1!==u.editCipherAttachments(e)&&t);"onAddCipher"===l&&(t=!1!==u.addCipher()&&t);"onCollectionsClicked"===l&&(t=!1!==u.editCipherCollections(e)&&t);"onEventsClicked"===l&&(t=!1!==u.viewEvents(e)&&t);return t},c.View_CiphersComponent_0,c.RenderType_CiphersComponent)),t.ɵdid(34,49152,[[2,4]],0,p.CiphersComponent,[f.CipherService,v.Angulartics2,h.ToasterService,o.I18nService,g.PlatformUtilsService,d.ApiService],null,{onCipherClicked:"onCipherClicked",onAddCipher:"onAddCipher",onAttachmentsClicked:"onAttachmentsClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["attachments",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["cipherAddEdit",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["collections",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["eventsTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,14,0,!1,!1)},function(n,l){n(l,23,0,t.ɵunv(l,23,0,n(l,24,0,t.ɵnov(l,0),"vault"))),n(l,29,0,t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"addItem")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault",[],null,null,null,O,R)),t.ɵdid(1,114688,null,0,m.VaultComponent,[y.ActivatedRoute,C.UserService,b.Location,y.Router,S.SyncService,o.I18nService,t.ComponentFactoryResolver,w.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_VaultComponent=R,l.View_VaultComponent_0=O,l.View_VaultComponent_Host_0=N;var T=t.ɵccf("app-org-vault",m.VaultComponent,N,{},{},[]);l.VaultComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(130),r=e(116),a=e(42),s=e(7),d=e(2),c=e(569),p=e(284),f=e(27),v=e(8),h=e(35),g=e(568),m=e(283),y=e(258),C=e(21),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"a",[["class","nav-link"],["routerLink","settings"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,3).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(3,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(4,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-cogs"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"settings");n(l,4,0,"active")},function(n,l){n(l,2,0,t.ɵnov(l,3).target,t.ɵnov(l,3).href),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent.parent,0),"settings")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,43,"ul",[["class","nav nav-tabs"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,8,"a",[["class","nav-link"],["routerLink","vault"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(5,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(6,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,0,"i",[["class","fa fa-lock"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"a",[["class","nav-link"],["routerLink","manage"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,18).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(18,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(19,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-sliders"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"a",[["class","nav-link"],["routerLink","tools"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,31).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(31,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(32,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,0,"i",[["class","fa fa-wrench"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["\n ","\n "])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(42,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,"vault");n(l,6,0,"active");n(l,18,0,"manage");n(l,19,0,"active");n(l,31,0,"tools");n(l,32,0,"active"),n(l,42,0,e.organization.isOwner)},function(n,l){n(l,4,0,t.ɵnov(l,5).target,t.ɵnov(l,5).href),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"vault"))),n(l,17,0,t.ɵnov(l,18).target,t.ɵnov(l,18).href),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,0),"manage"))),n(l,30,0,t.ɵnov(l,31).target,t.ɵnov(l,31).href),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"tools")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,23,"div",[["class","org-nav"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,20,"div",[["class","container d-flex flex-column"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,14,"div",[["class","my-auto d-flex align-items-center pl-1"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"app-avatar",[],null,null,null,i.View_AvatarComponent_0,i.RenderType_AvatarComponent)),t.ɵdid(7,638976,null,0,r.AvatarComponent,[a.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],circle:[3,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,8,"div",[["class","org-name ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(21,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,7,0,e.organization.name,45,45,!0),n(l,21,0,e.organization.isAdmin)},function(n,l){n(l,12,0,l.component.organization.name),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organization")))})}function _(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[d.I18nService]),(n()(),t.ɵeld(1,0,null,null,1,"app-navbar",[],null,null,null,c.View_NavbarComponent_0,c.RenderType_NavbarComponent)),t.ɵdid(2,114688,null,0,p.NavbarComponent,[f.MessagingService,v.PlatformUtilsService,h.TokenService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(5,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(7,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(8,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,1,"app-footer",[],null,null,null,g.View_FooterComponent_0,g.RenderType_FooterComponent)),t.ɵdid(11,114688,null,0,m.FooterComponent,[v.PlatformUtilsService],null,null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0),n(l,5,0,e.organization),n(l,8,0),n(l,11,0)},null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-organization-layout",[],null,null,null,_,b)),t.ɵdid(1,114688,null,0,y.OrganizationLayoutComponent,[u.ActivatedRoute,C.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationLayoutComponent=b,l.View_OrganizationLayoutComponent_0=_,l.View_OrganizationLayoutComponent_Host_0=I;var A=t.ɵccf("app-organization-layout",y.OrganizationLayoutComponent,I,{},{},[]);l.OrganizationLayoutComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(5),a=e(7),s=e(13),d=e(18),c=e(17),p=e(259),f=e(129),v=e(21),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["","..."])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"reportError")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,2)],function(n,l){n(l,1,0,"success",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"goodNews")),""))},function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"breachUsernameNotFound",e.checkedUsername)))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,3)],function(n,l){n(l,1,0,"danger",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"breachFound")),""))},function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"breachUsernameFound",e.checkedUsername,e.breachedAccounts.length)))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"li",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.context.$implicit)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,64,"li",[["class","list-group-item min-height-fix"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,61,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,3,"div",[["class","col-2 text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,0,"img",[["alt",""],["class","img-fluid"]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,16,"div",[["class","col-7"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"h3",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,0,"p",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"p",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",":"])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,4,"ul",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(23,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,35,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,32,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(51,null,["",""])),t.ɵppd(52,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(59,null,["",""])),t.ɵppd(60,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,23,0,l.context.$implicit.dataClasses)},function(n,l){n(l,6,0,"https://haveibeenpwned.com/Content/Images/PwnedLogos/"+l.context.$implicit.name+"."+l.context.$implicit.logoType),n(l,12,0,l.context.$implicit.title),n(l,14,0,l.context.$implicit.description),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent.parent.parent,0),"compromisedData"))),n(l,32,0,t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent.parent.parent.parent,0),"website"))),n(l,36,0,l.context.$implicit.domain),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent.parent,0),"affectedUsers"))),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.pwnCount))),n(l,47,0,t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent.parent.parent,0),"breachOccurred"))),n(l,51,0,t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.breachDate,"mediumDate"))),n(l,55,0,t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent.parent.parent.parent,0),"breachReported"))),n(l,59,0,t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.addedDate,"mediumDate")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"ul",[["class","list-group list-group-breach"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.breachedAccounts)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(9,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.breachedAccounts.length),n(l,6,0,e.breachedAccounts.length),n(l,9,0,e.breachedAccounts.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.error),n(l,6,0,!e.error)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[i.I18nService]),t.ɵpid(0,r.DecimalPipe,[t.LOCALE_ID]),t.ɵpid(0,r.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,[["form",1]],null,38,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,15).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,15).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(15,4210688,null,0,s.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,s.ControlContainer,null,[s.NgForm]),t.ɵdid(17,16384,null,0,s.NgControlStatusGroup,[s.ControlContainer],null,null),t.ɵdid(18,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,21,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,18,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,2,"label",[["for","username"]],null,null,null,null,null)),(n()(),t.ɵted(25,null,["",""])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,7,"input",[["class","form-control"],["id","username"],["name","Username"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,29)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,29)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,29)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.username=e)&&u);return u},null,null)),t.ɵdid(29,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(30,16384,null,0,s.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,s.NG_VALIDATORS,function(n){return[n]},[s.RequiredValidator]),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,s.NgModel,[[2,s.ControlContainer],[2,s.NG_VALIDATORS],[8,null],[2,s.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(35,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(55,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,18,0,e.formPromise);n(l,30,0,"");n(l,33,0,"Username",e.username),n(l,55,0,!t.ɵnov(l,14).loading&&e.checkedUsername)},function(n,l){n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"dataBreachReport"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"breachDesc"))),n(l,14,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending),n(l,25,0,t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"username"))),n(l,28,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,38,0,t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"breachCheckUsernameEmail"))),n(l,43,0,t.ɵnov(l,14).loading),n(l,45,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"loading")),"")),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"checkBreaches")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-breach-report",[],null,null,null,_,h)),t.ɵdid(1,114688,null,0,p.BreachReportComponent,[f.AuditService,v.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_BreachReportComponent=h,l.View_BreachReportComponent_0=_,l.View_BreachReportComponent_Host_0=I;var A=t.ɵccf("app-breach-report",p.BreachReportComponent,I,{},{},[]);l.BreachReportComponentNgFactory=A},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]128&&(this.options.length=128),this.options.minNumber?this.options.minNumber>this.options.length?this.options.minNumber=this.options.length:this.options.minNumber>9&&(this.options.minNumber=9):this.options.minNumber=0,this.options.minSpecial?this.options.minSpecial>this.options.length?this.options.minSpecial=this.options.length:this.options.minSpecial>9&&(this.options.minSpecial=9):this.options.minSpecial=0,this.options.minSpecial+this.options.minNumber>this.options.length&&(this.options.minSpecial=this.options.length-this.options.minNumber)},n}();l.PasswordGeneratorComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(260),a=e(94),s=e(3),d=e(8),c=e(9),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{historyModalRef:0}),(n()(),t.ɵeld(2,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(9,0,null,null,4,"div",[["class","card card-password bg-light my-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(15,0,null,null,46,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"label",[["for","length"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"input",[["class","form-control"],["id","length"],["max","128"],["min","5"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,24)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,24)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,24)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.options.length=e)&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);return u},null,null)),t.ɵdid(24,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(25,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(27,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(29,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"label",[["for","min-number"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,6,"input",[["class","form-control"],["id","min-number"],["max","9"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"ngModelChange"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,39)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,39).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,39)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,39)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,40).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,40).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,40).onTouched()&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.minNumber=e)&&u);return u},null,null)),t.ɵdid(39,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(40,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(42,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(44,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"label",[["for","min-special"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["",""])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,6,"input",[["class","form-control"],["id","min-special"],["max","9"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"ngModelChange"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,54)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,54).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,54)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,54)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,55).onTouched()&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.minSpecial=e)&&u);return u},null,null)),t.ɵdid(54,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(55,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(57,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(59,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(63,0,null,null,67,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"input",[["class","form-check-input"],["id","uppercase"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,68).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.uppercase=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(70,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(72,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,1,"label",[["class","form-check-label"],["for","uppercase"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["A-Z"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(78,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,5,"input",[["class","form-check-input"],["id","lowercase"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,81).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,81).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.lowercase=e)&&u);return u},null,null)),t.ɵdid(81,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(83,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(85,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(87,0,null,null,1,"label",[["class","form-check-label"],["for","lowercase"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["a-z"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,5,"input",[["class","form-check-input"],["id","numbers"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,94).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,94).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.number=e)&&u);return u},null,null)),t.ɵdid(94,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(96,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(98,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,1,"label",[["class","form-check-label"],["for","numbers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["0-9"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(106,0,null,null,5,"input",[["class","form-check-input"],["id","special"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,107).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,107).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.special=e)&&u);return u},null,null)),t.ɵdid(107,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(109,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(111,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(113,0,null,null,1,"label",[["class","form-check-label"],["for","special"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["!@#$%^&*"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(117,0,null,null,12,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(119,0,null,null,5,"input",[["class","form-check-input"],["id","ambiguous"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,120).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,120).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.avoidAmbiguous=e)&&u);return u},null,null)),t.ɵdid(120,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(122,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(124,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(126,0,null,null,2,"label",[["class","form-check-label"],["for","ambiguous"]],null,null,null,null,null)),(n()(),t.ɵted(127,null,["",""])),t.ɵppd(128,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(132,0,null,null,21,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(134,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(136,0,null,null,2,"button",[["class","btn btn-primary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.regenerate()&&t);return t},null,null)),(n()(),t.ɵted(137,null,["\n ","\n "])),t.ɵppd(138,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(140,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy()&&t);return t},null,null)),(n()(),t.ɵted(141,null,["\n ","\n "])),t.ɵppd(142,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(147,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.history()&&t);return t},null,null)),t.ɵppd(148,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(150,0,null,null,0,"i",[["class","fa fa-clock-o fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["historyTemplate",2]],null,0,null,f)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,27,0,e.options.length),n(l,42,0,e.options.minNumber),n(l,57,0,e.options.minSpecial),n(l,70,0,e.options.uppercase),n(l,83,0,e.options.lowercase),n(l,96,0,e.options.number),n(l,109,0,e.options.special),n(l,122,0,e.avoidAmbiguous)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"passwordGenerator"))),n(l,12,0,e.password),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"length"))),n(l,23,0,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending),n(l,35,0,t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l,0),"minNumbers"))),n(l,38,0,t.ɵnov(l,44).ngClassUntouched,t.ɵnov(l,44).ngClassTouched,t.ɵnov(l,44).ngClassPristine,t.ɵnov(l,44).ngClassDirty,t.ɵnov(l,44).ngClassValid,t.ɵnov(l,44).ngClassInvalid,t.ɵnov(l,44).ngClassPending),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"minSpecial"))),n(l,53,0,t.ɵnov(l,59).ngClassUntouched,t.ɵnov(l,59).ngClassTouched,t.ɵnov(l,59).ngClassPristine,t.ɵnov(l,59).ngClassDirty,t.ɵnov(l,59).ngClassValid,t.ɵnov(l,59).ngClassInvalid,t.ɵnov(l,59).ngClassPending),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,80,0,t.ɵnov(l,85).ngClassUntouched,t.ɵnov(l,85).ngClassTouched,t.ɵnov(l,85).ngClassPristine,t.ɵnov(l,85).ngClassDirty,t.ɵnov(l,85).ngClassValid,t.ɵnov(l,85).ngClassInvalid,t.ɵnov(l,85).ngClassPending),n(l,93,0,t.ɵnov(l,98).ngClassUntouched,t.ɵnov(l,98).ngClassTouched,t.ɵnov(l,98).ngClassPristine,t.ɵnov(l,98).ngClassDirty,t.ɵnov(l,98).ngClassValid,t.ɵnov(l,98).ngClassInvalid,t.ɵnov(l,98).ngClassPending),n(l,106,0,t.ɵnov(l,111).ngClassUntouched,t.ɵnov(l,111).ngClassTouched,t.ɵnov(l,111).ngClassPristine,t.ɵnov(l,111).ngClassDirty,t.ɵnov(l,111).ngClassValid,t.ɵnov(l,111).ngClassInvalid,t.ɵnov(l,111).ngClassPending),n(l,119,0,t.ɵnov(l,124).ngClassUntouched,t.ɵnov(l,124).ngClassTouched,t.ɵnov(l,124).ngClassPristine,t.ɵnov(l,124).ngClassDirty,t.ɵnov(l,124).ngClassValid,t.ɵnov(l,124).ngClassInvalid,t.ɵnov(l,124).ngClassPending),n(l,127,0,t.ɵunv(l,127,0,n(l,128,0,t.ɵnov(l,0),"ambiguous"))),n(l,137,0,t.ɵunv(l,137,0,n(l,138,0,t.ɵnov(l,0),"regeneratePassword"))),n(l,141,0,t.ɵunv(l,141,0,n(l,142,0,t.ɵnov(l,0),"copyPassword"))),n(l,147,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,147,0,n(l,148,0,t.ɵnov(l,0),"passwordHistory")),""))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-password-generator",[],null,null,null,v,p)),t.ɵdid(1,114688,null,0,r.PasswordGeneratorComponent,[a.PasswordGenerationService,s.Angulartics2,d.PlatformUtilsService,o.I18nService,c.ToasterService,t.ComponentFactoryResolver],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PasswordGeneratorComponent=p,l.View_PasswordGeneratorComponent_0=v,l.View_PasswordGeneratorComponent_Host_0=h;var g=t.ɵccf("app-password-generator",r.PasswordGeneratorComponent,h,{showSelect:"showSelect"},{onSelected:"onSelected"},[]);l.PasswordGeneratorComponentNgFactory=g},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]t?l.substring(t+1):null;if(!e.isNullOrWhitespace(u)&&!e.isNullOrWhitespace(o)&&"SecretType"!==u){var i=u.toLowerCase();null==n.login.username&&e.usernameFieldNames.indexOf(i)>-1?n.login.username=o:null==n.login.password&&e.passwordFieldNames.indexOf(i)>-1?n.login.password=o:e.processKvp(n,u,o)}}})},l}(o.BaseImporter);l.ZohoVaultCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(5===n.length){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n[0],"--"),t.notes=l.getValueOrDefault(n[4]),t.login.username=l.getValueOrDefault(n[1]),t.login.password=l.getValueOrDefault(n[2]),t.login.uris=l.makeUriArray(n[3]),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.UpmCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(115),a=e(91),s=e(53),d=e(101),c=["kind","autologin","favorite","hexcolor","protectedwithpassword","subdomainonly","type","tk_export_version","note","title","document_content"],p=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.favorite="true"===l.getValueOrDefault(n.favorite,"").toLowerCase(),t.name=l.getValueOrDefault(n.name,"--"),t.notes=l.getValueOrDefault(n.memo,""),t.login.username=l.getValueOrDefault(n.login),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),"login"!==n.kind&&(t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.note,"")),"cc"===n.kind){if(t.type=s.CipherType.Card,t.card=new r.CardView,t.card.cardholderName=l.getValueOrDefault(n.cardholder),t.card.number=l.getValueOrDefault(n.number),t.card.brand=l.getCardBrand(t.card.number),!l.isNullOrWhitespace(n.expiryDate))try{var u=new Date(n.expiryDate);t.card.expYear=u.getFullYear().toString(),t.card.expMonth=(u.getMonth()+1).toString()}catch(n){}}else if("login"!==n.kind)for(var o in t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=d.SecureNoteType.Generic,l.isNullOrWhitespace(t.notes)||(t.notes=l.getValueOrDefault(n.document_content,"")),n)n.hasOwnProperty(o)&&c.indexOf(o.toLowerCase())<0&&!l.isNullOrWhitespace(n[o])&&l.processKvp(t,o,n[o]);l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.TrueKeyCsvImporter=p},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("root > Database > Logins > Login");return Array.from(u).forEach(function(n){var u=n.getAttribute("ID");if(!l.isNullOrWhitespace(u)){var o=n.getAttribute("Name"),i=n.getAttribute("Password"),r=null,a=null,s=null,d=null,c=null,p=t.querySelector('root > Database > Accounts > Account > LoginLinks > Login[SourceLoginID="'+u+'"]');if(null!=p){var f=p.parentElement.parentElement;null!=f&&(r=f.getAttribute("Name"),a=f.getAttribute("Link"),d=f.getAttribute("ParentID"),s=f.getAttribute("Comments"),l.isNullOrWhitespace(s)||(s=s.split("/n").join("\n")))}l.isNullOrWhitespace(d)||(c=l.buildGroupText(t,d,""),l.processFolder(e,c));var v=l.initLoginCipher();v.name=l.getValueOrDefault(r,"--"),v.notes=l.getValueOrDefault(s),v.login.username=l.getValueOrDefault(o),v.login.password=l.getValueOrDefault(i),v.login.uris=l.makeUriArray(a),l.cleanupCipher(v),e.ciphers.push(v)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l.prototype.buildGroupText=function(n,l,e){var t=n.querySelector('root > Database > Groups > Group[ID="'+l+'"]');return null==t?e:(this.isNullOrWhitespace(e)||(e="/"+e),e=t.getAttribute("Name")+e,this.buildGroupText(n,t.getAttribute("ParentID"),e))},l}(o.BaseImporter);l.StickyPasswordXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){l.processFolder(e,l.getValueOrDefault(n[n.length-1]));var t=l.initLoginCipher();t.notes=l.getValueOrDefault(n[n.length-2],""),t.name=l.getValueOrDefault(n[1],"--"),"Web Logins"===n[0]||"Servers"===n[0]||"Email Accounts"===n[0]?(t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),l.parseFieldsToNotes(t,5,n)):l.parseFieldsToNotes(t,2,n),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.parseFieldsToNotes=function(n,l,e){for(var t=l;t label")).forEach(function(n){var t=n.getAttribute("name"),o=n.getAttribute("id");if(!l.isNullOrWhitespace(t)&&!l.isNullOrWhitespace(o)){u.set(o,e.folders.length);var i=new r.FolderView;i.name=t,e.folders.push(i)}}),Array.from(t.querySelectorAll("database > card")).forEach(function(n){if("true"!==n.getAttribute("template")){var t=l.querySelectorDirectChild(n,"label_id");if(null!=t){var o=t.textContent;!l.isNullOrWhitespace(o)&&u.has(o)&&e.folderRelationships.push([e.ciphers.length,u.get(o)])}var i=l.initLoginCipher();i.name=l.getValueOrDefault(n.getAttribute("title"),"--"),"note"===n.getAttribute("type")?(i.type=s.CipherType.SecureNote,i.secureNote=new a.SecureNoteView,i.secureNote.type=d.SecureNoteType.Generic):Array.from(l.querySelectorAllDirectChild(n,"field")).forEach(function(n){var e=n.textContent;if(!l.isNullOrWhitespace(e)){var t=n.getAttribute("name"),u=l.getValueOrDefault(n.getAttribute("type"),"").toLowerCase();"login"===u?i.login.username=e:"password"===u?i.login.password=e:"notes"===u?i.notes+=e+"\n":"weblogin"===u||"website"===u?i.login.uris=l.makeUriArray(e):l.processKvp(i,t,e)}}),Array.from(l.querySelectorAllDirectChild(n,"notes")).forEach(function(n){i.notes+=n.textContent+"\n"}),l.cleanupCipher(i),e.ciphers.push(i)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.SafeInCloudXmlImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);if(null==t)return e.success=!1,e;var u=1;return t.forEach(function(n){var o=!l.isNullOrWhitespace(n.Folder)&&n.Folder.startsWith("/")?n.Folder.replace("/",""):n.Folder,i=l.isNullOrWhitespace(o)?null:o;l.processFolder(e,i);var r=l.initLoginCipher();r.notes=l.getValueOrDefault(n.Note),r.name=l.getValueOrDefault(n.Name,"--"),r.login.username=l.getValueOrDefault(n.Login),r.login.password=l.getValueOrDefault(n.Pwd),r.login.uris=l.makeUriArray(n.Url),l.cleanupCipher(r),u===t.length&&"--"===r.name&&l.isNullOrWhitespace(r.login.password)||(e.ciphers.push(r),u++)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.RoboFormCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelector("passwordsafe");if(null==u)return e.errorMessage="Missing `passwordsafe` node.",e.success=!1,e;var o=u.getAttribute("delimiter"),r=t.querySelectorAll("passwordsafe > entry");return Array.from(r).forEach(function(n){var t=l.querySelectorDirectChild(n,"group"),u=null==t||l.isNullOrWhitespace(t.textContent)?null:t.textContent.split(".").join("/");l.processFolder(e,u);var i=l.querySelectorDirectChild(n,"title"),r=l.querySelectorDirectChild(n,"username"),a=l.querySelectorDirectChild(n,"email"),s=l.querySelectorDirectChild(n,"password"),d=l.querySelectorDirectChild(n,"url"),c=l.querySelectorDirectChild(n,"notes"),p=l.initLoginCipher();p.name=null!=i?l.getValueOrDefault(i.textContent,"--"):"--",p.notes=null!=c?l.getValueOrDefault(c.textContent,"").split(o).join("\n"):null,p.login.username=null!=r?l.getValueOrDefault(r.textContent):null,p.login.password=null!=s?l.getValueOrDefault(s.textContent):null,p.login.uris=null!=d?l.makeUriArray(d.textContent):null,l.isNullOrWhitespace(p.login.username)&&null!=a?p.login.username=l.getValueOrDefault(a.textContent):null==a||l.isNullOrWhitespace(a.textContent)||(p.notes=l.isNullOrWhitespace(p.notes)?"Email: "+a.textContent:p.notes+"\nEmail: "+a.textContent),l.cleanupCipher(p),e.ciphers.push(p)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.PasswordSafeXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("PasswordManager > record");return Array.from(u).forEach(function(n){var t=l.querySelectorDirectChild(n,"Category"),u=null==t||l.isNullOrWhitespace(t.textContent)||"Unfiled"===t.textContent?null:t.textContent;l.processFolder(e,u);var o=l.querySelectorDirectChild(n,"Account-Name"),i=l.querySelectorDirectChild(n,"User-Id"),r=l.querySelectorDirectChild(n,"Password"),a=l.querySelectorDirectChild(n,"URL"),s=l.querySelectorDirectChild(n,"Notes"),d=l.initLoginCipher();d.name=null!=o?l.getValueOrDefault(o.textContent,"--"):"--",d.notes=null!=s?l.getValueOrDefault(s.textContent):"",d.login.username=null!=i?l.getValueOrDefault(i.textContent):null,d.login.password=null!=r?l.getValueOrDefault(r.textContent):null,d.login.uris=null!=a?l.makeUriArray(a.textContent):null;for(var c=[],p=1;p<=10;p++)c.push("Attribute-"+p);l.querySelectorAllDirectChild(n,c.join(",")).forEach(function(n){l.isNullOrWhitespace(n.textContent)||"null"===n.textContent||l.processKvp(d,n.tagName,n.textContent)}),l.cleanupCipher(d),e.ciphers.push(d)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.PasswordDragonXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(115),a=e(53),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=JSON.parse(n);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.name=l.getValueOrDefault(n.name,"--"),t.login.uris=l.makeUriArray(n.login_url),null!=n.identifiers){for(var u in l.isNullOrWhitespace(n.identifiers.notes)||(t.notes=n.identifiers.notes.split("\\r\\n").join("\n").split("\\n").join("\n")),"CreditCard"===n.type&&(t.card=new r.CardView,t.type=a.CipherType.Card),n.identifiers)if(n.identifiers.hasOwnProperty(u)){var o=n.identifiers[u],i=null!=o?o.toString():null;if(!l.isNullOrWhitespace(i)&&"notes"!==u&&"ignoreItemInSecurityScore"!==u){if(t.type===a.CipherType.Card){if("cardNumber"===u){t.card.number=i,t.card.brand=l.getCardBrand(i);continue}if("nameOnCard"===u){t.card.cardholderName=i;continue}if("security_code"===u){t.card.code=i;continue}if("expires"===u){try{var s=new Date(i);t.card.expYear=s.getFullYear().toString(),t.card.expMonth=(s.getMonth()+1).toString()}catch(n){}continue}if("cardType"===u)continue}else{if("username"===u){t.login.username=i;continue}if("password"===u){t.login.password=i;continue}if((null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(u)>-1){t.login.uris=l.makeUriArray(i);continue}}l.processKvp(t,u,i)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.PasswordBossJsonImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<9)){var t=l.getValueOrDefault(n[8],"(None)"),u="(None)"!==t?t.split("\\").join("/"):null;l.processFolder(e,u);var o=l.initLoginCipher();o.notes=l.getValueOrDefault(n[3]),o.name=l.getValueOrDefault(n[0],"--"),o.login.username=l.getValueOrDefault(n[1]),o.login.password=l.getValueOrDefault(n[2]),o.login.uris=l.makeUriArray(n[4]),l.convertToNoteIfNeeded(o),l.cleanupCipher(o),e.ciphers.push(o)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l}(o.BaseImporter);l.PasswordAgentCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.processFolder(e,l.getValue("category",n));var t=l.initLoginCipher();t.notes=l.getValue("description",n),t.name=l.getValueOrDefault(l.getValue("title",n),"--"),t.login.username=l.getValue("username",n),t.login.password=l.getValue("password",n),t.login.uris=l.makeUriArray(l.getValue("site",n)),l.processKvp(t,"Password 2",l.getValue("password2",n)),l.cleanupCipher(t),e.ciphers.push(t)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.getValue=function(n,l){return this.getValueOrDefault(l[n],this.getValueOrDefault(l[" "+n]))},l}(o.BaseImporter);l.PassKeepCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(177),a=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=null;return t.forEach(function(n){if(null!=u){if(!(n.length<2||n.length!==u.length)){if(!l.isNullOrWhitespace(n[1]))if(l.organization){(t=n[1].split(",")).forEach(function(n){n=n.trim();for(var l=!0,t=e.collections.length,u=0;u0?t[0].trim():null;l.processFolder(e,o)}var i=l.initLoginCipher();i.name=l.getValueOrDefault(n[0],"--");for(var a=2;a-1?i.login.username=n[a]:l.passwordFieldNames.indexOf(s)>-1?i.login.password=n[a]:l.uriFieldNames.indexOf(s)>-1?i.login.uris=l.makeUriArray(n[a]):l.processKvp(i,u[a],n[a]))}l.cleanupCipher(i),e.ciphers.push(i)}}else u=n.map(function(n){return n})}),e.success=!0,e},l}(o.BaseImporter);l.PadlockCsvImporter=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.View=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(538);l.AttachmentView=t.AttachmentView;var u=e(115);l.CardView=u.CardView;var o=e(157);l.CipherView=o.CipherView;var i=e(179);l.FieldView=i.FieldView;var r=e(217);l.IdentityView=r.IdentityView;var a=e(216);l.LoginUriView=a.LoginUriView;var s=e(156);l.LoginView=s.LoginView;var d=e(91);l.SecureNoteView=d.SecureNoteView;var c=e(752);l.View=c.View},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(53),a=e(753),s=["ainfo","autosubmit","notesPlain","ps","scope","tags","title","uuid"],d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!l.isNullOrWhitespace(n.title)){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.notesPlain,"")+"\n",l.isNullOrWhitespace(n.number)||l.isNullOrWhitespace(n["expiry date"])||(t.type=r.CipherType.Card,t.card=new a.CardView);var u=null;for(var o in n)if(n.hasOwnProperty(o)&&!l.isNullOrWhitespace(n[o])){if(t.type===r.CipherType.Login){if(l.isNullOrWhitespace(t.login.password)&&"password"===o){t.login.password=n[o];continue}if(l.isNullOrWhitespace(t.login.username)&&"username"===o){t.login.username=n[o];continue}if((null==t.login.uris||0===t.login.uri.length)&&"urls"===o){var i=n[o].split(l.newLineRegex);t.login.uris=l.makeUriArray(i);continue}}else if(t.type===r.CipherType.Card){if(l.isNullOrWhitespace(t.card.number)&&"number"===o){t.card.number=n[o],t.card.brand=l.getCardBrand(n.number);continue}if(l.isNullOrWhitespace(t.card.code)&&"verification number"===o){t.card.code=n[o];continue}if(l.isNullOrWhitespace(t.card.cardholderName)&&"cardholder name"===o){t.card.cardholderName=n[o];continue}if(l.isNullOrWhitespace(t.card.expiration)&&"expiry date"===o&&6===n[o].length){t.card.expMonth=n[o].substr(4,2),"0"===t.card.expMonth[0]&&(t.card.expMonth=t.card.expMonth.substr(1,1)),t.card.expYear=n[o].substr(0,4);continue}if("type"===o)continue}-1!==s.indexOf(o)||o.startsWith("section:")||(null==u&&"email"===o&&(u=n[o]),l.processKvp(t,o,n[o]))}t.type===r.CipherType.Login&&!l.isNullOrWhitespace(u)&&l.isNullOrWhitespace(t.login.username)&&-1===u.indexOf("://")&&(t.login.username=u),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.OnePasswordWinCsvImporter=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(115),a=e(91),s=e(53),d=e(101),c=function(n){function l(){var l=null!==n&&n.apply(this,arguments)||this;return l.result=new i.ImportResult,l}return u(l,n),l.prototype.parse=function(n){var l=this;return n.split(this.newLineRegex).forEach(function(n){if(!l.isNullOrWhitespace(n)&&"{"===n[0]){var e=JSON.parse(n),t=l.initLoginCipher();t.favorite=!(!e.openContents||!e.openContents.faveIndex),t.name=l.getValueOrDefault(e.title,"--"),"securenotes.SecureNote"===e.typeName?(t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=d.SecureNoteType.Generic):"wallet.financial.CreditCard"===e.typeName?(t.type=s.CipherType.Card,t.card=new r.CardView):t.login.uris=l.makeUriArray(e.location),null!=e.secureContents&&(l.isNullOrWhitespace(e.secureContents.notesPlain)||(t.notes=e.secureContents.notesPlain.split(l.newLineRegex).join("\n")+"\n"),null!=e.secureContents.fields&&l.parseFields(e.secureContents.fields,t,"designation","value","name"),null!=e.secureContents.sections&&e.secureContents.sections.forEach(function(n){null!=n.fields&&l.parseFields(n.fields,t,"n","v","t")})),l.cleanupCipher(t),l.result.ciphers.push(t)}}),this.result.success=!0,this.result},l.prototype.parseFields=function(n,l,e,t,u){var o=this;n.forEach(function(n){if(null!=n[t]&&""!==n[t].toString().trim()){var i=n[t].toString(),r=null!=n[e]?n[e].toString():null;if(l.type===s.CipherType.Login){if(o.isNullOrWhitespace(l.login.username)&&"username"===r)return void(l.login.username=i);if(o.isNullOrWhitespace(l.login.password)&&"password"===r)return void(l.login.password=i);if(o.isNullOrWhitespace(l.login.totp)&&null!=r&&r.startsWith("TOTP_"))return void(l.login.totp=i)}else if(l.type===s.CipherType.Card){if(o.isNullOrWhitespace(l.card.number)&&"ccnum"===r)return l.card.number=i,void(l.card.brand=o.getCardBrand(i));if(o.isNullOrWhitespace(l.card.code)&&"cvv"===r)return void(l.card.code=i);if(o.isNullOrWhitespace(l.card.cardholderName)&&"cardholder"===r)return void(l.card.cardholderName=i);if(o.isNullOrWhitespace(l.card.expiration)&&"expiry"===r&&6===i.length)return l.card.expMonth=i.substr(4,2),"0"===l.card.expMonth[0]&&(l.card.expMonth=l.card.expMonth.substr(1,1)),void(l.card.expYear=i.substr(0,4));if("type"===r)return}var a=o.isNullOrWhitespace(n[u])?"no_name":n[u];o.processKvp(l,a,i)}})},l}(o.BaseImporter);l.OnePassword1PifImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(53),a=e(101),s=e(91),d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){var t="Unassigned"!==l.getValueOrDefault(n[0],"Unassigned")?n[0]:null;l.processFolder(e,t);var u=l.initLoginCipher();if(u.name=l.getValueOrDefault(n[2],"--"),"Web Logins"===n[1])u.login.uris=l.makeUriArray(n[4]),u.login.username=l.getValueOrDefault(n[5]),u.login.password=l.getValueOrDefault(n[6]),u.notes=l.isNullOrWhitespace(n[3])?null:n[3].split("\\n").join("\n");else if(n.length>3){u.type=r.CipherType.SecureNote,u.secureNote=new s.SecureNoteView,u.secureNote.type=a.SecureNoteType.Generic;for(var o=3;o-1){var e=n.ccexp.split("-");e.length>1&&(l.expYear=e[0],l.expMonth=e[1],2===l.expMonth.length&&"0"===l.expMonth[0]&&(l.expMonth=l.expMonth[1]))}return l},l.prototype.parseIdentity=function(n){var l=new d.IdentityView;return l.title=this.getValueOrDefault(n.title),l.firstName=this.getValueOrDefault(n.firstname),l.middleName=this.getValueOrDefault(n.middlename),l.lastName=this.getValueOrDefault(n.lastname),l.username=this.getValueOrDefault(n.username),l.company=this.getValueOrDefault(n.company),l.ssn=this.getValueOrDefault(n.ssn),l.address1=this.getValueOrDefault(n.address1),l.address2=this.getValueOrDefault(n.address2),l.address3=this.getValueOrDefault(n.address3),l.city=this.getValueOrDefault(n.city),l.state=this.getValueOrDefault(n.state),l.postalCode=this.getValueOrDefault(n.zip),l.country=this.getValueOrDefault(n.country),l.email=this.getValueOrDefault(n.email),l.phone=this.getValueOrDefault(n.phone),this.isNullOrWhitespace(l.title)||(l.title=l.title.charAt(0).toUpperCase()+l.title.slice(1)),l},l.prototype.parseSecureNote=function(n,l){var e=this.splitNewLine(n.extra),t=!1;if(e.length){var u=e[0].split(":");if(u.length>1&&"NoteType"===u[0]&&("Credit Card"===u[1]||"Address"===u[1])){if("Credit Card"===u[1]){var o=this.parseSecureNoteMapping(e,{Number:"number","Name on Card":"cardholderName","Security Code":"code"});l.type=f.CipherType.Card,l.card=o[0],l.notes=o[1]}else if("Address"===u[1]){o=this.parseSecureNoteMapping(e,{Title:"title","First Name":"firstName","Last Name":"lastName","Middle Name":"middleName",Company:"company","Address 1":"address1","Address 2":"address2","Address 3":"address3","City / Town":"city",State:"state","Zip / Postal Code":"postalCode",Country:"country","Email Address":"email",Username:"username"});l.type=f.CipherType.Identity,l.identity=o[0],l.notes=o[1]}t=!0}}t||(l.secureNote=new p.SecureNoteView,l.secureNote.type=v.SecureNoteType.Generic,l.notes=this.getValueOrDefault(n.extra))},l.prototype.parseSecureNoteMapping=function(n,l){var e=this,t=null,u={};return n.forEach(function(n){var o=n.split(":");o.length<1||e.isNullOrWhitespace(o[0])||e.isNullOrWhitespace(o[1])||"NoteType"===o[0]||("Notes"===o[0]?e.isNullOrWhitespace(t)?t=o[1]:t+="\n"+o[1]:l.hasOwnProperty(o[0])?u[l[o[0]]]=o[1]:(e.isNullOrWhitespace(t)?t="":t+="\n",t+=o[0]+": "+o[1]))}),[u,t]},l}(o.BaseImporter);l.LastPassCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<6)){l.processFolder(e,n[0]);var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[5])+"\n",t.name=l.getValueOrDefault(n[1],"--"),t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),n.length>7)for(var u=7;u Root > Group");return null==e?(this.result.errorMessage="Missing `KeePassFile > Root > Group` node.",this.result.success=!1,this.result):(this.traverse(e,!0,""),this.organization&&this.moveFoldersToCollections(this.result),this.result.success=!0,this.result)},l.prototype.traverse=function(n,l,e){var t=this,u=this.result.folders.length,o=e;if(!l){""!==o&&(o+="/");var i=this.querySelectorDirectChild(n,"Name");o+=null==i?"-":i.textContent;var a=new r.FolderView;a.name=o,this.result.folders.push(a)}this.querySelectorAllDirectChild(n,"Entry").forEach(function(n){var e=t.result.ciphers.length,o=t.initLoginCipher();t.querySelectorAllDirectChild(n,"String").forEach(function(n){var l=t.querySelectorDirectChild(n,"Value"),e=null!=l?l.textContent:null;if(!t.isNullOrWhitespace(e)){var u=t.querySelectorDirectChild(n,"Key"),i=null!=u?u.textContent:null;"URL"===i?o.login.uris=t.makeUriArray(e):"UserName"===i?o.login.username=e:"Password"===i?o.login.password=e:"Title"===i?o.name=e:"Notes"===i?o.notes+=e+"\n":t.processKvp(o,i,e)}}),t.cleanupCipher(o),t.result.ciphers.push(o),l||t.result.folderRelationships.push([e,u])}),this.querySelectorAllDirectChild(n,"Group").forEach(function(n){t.traverse(n,!1,o)})},l}(o.BaseImporter);l.KeePass2XmlImporter=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=JSON.parse(n);if(null==t||0===Object.keys(t).length)return e.success=!1,e;var u=function(n){if(!t.hasOwnProperty(n)||o.isNullOrWhitespace(n)||0===t[n].length)return"continue";t[n].forEach(function(t){if(!l.isNullOrWhitespace(t.display_name)&&0===t.display_name.indexOf("http")){l.processFolder(e,n);var u=l.initLoginCipher();if(u.name=t.display_name.replace("http://","").replace("https://",""),u.name.length>30&&(u.name=u.name.substring(0,30)),u.login.password=l.getValueOrDefault(t.secret),u.login.uris=l.makeUriArray(t.display_name),null!=t.attributes)for(var o in u.login.username=null!=t.attributes?l.getValueOrDefault(t.attributes.username_value):null,t.attributes)t.attributes.hasOwnProperty(o)&&"username_value"!==o&&"xdg:schema"!==o&&l.processKvp(u,o,t.attributes[o]);l.convertToNoteIfNeeded(u),l.cleanupCipher(u),e.ciphers.push(u)}})},o=this;for(var r in t)u(r);return this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.GnomeJsonImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(l.nameFromUrl(n.hostname),"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.hostname),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.FirefoxCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(53),a=e(101),s=e(115),d=e(91),c=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=!0;return t.forEach(function(n){if(n.length<2||u&&"Title"===n[0])u=!1;else{var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),(2===n.length||n.indexOf("Username")<0&&n.indexOf("Password")<0&&n.indexOf("Email")&&n.indexOf("URL")<0)&&(t.type=r.CipherType.SecureNote,t.secureNote=new d.SecureNoteView,t.secureNote.type=a.SecureNoteType.Generic),n.indexOf("Cardholder")>-1&&n.indexOf("Number")>-1&&n.indexOf("Expiry date")>-1&&(t.type=r.CipherType.Card,t.card=new s.CardView),n.length>2&&n.length%2==0)for(var o=0;o-1?t.login.password=l.getValueOrDefault(o.value):null==t.login.username&&l.usernameFieldNames.indexOf(i)>-1?t.login.username=l.getValueOrDefault(o.value):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(i)>-1?t.login.uris=l.makeUriArray(o.value):l.processKvp(t,o.label,o.value)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.ClipperzHtmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.ChromeCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){"null"===n.label&&(n.label=null);var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.label,l.getValueOrDefault(l.nameFromUrl(n.domain),"--")),t.login.uris=l.makeUriArray(n.domain),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.email)&&!l.isNullOrWhitespace(n.username)?t.login.username=n.username:(t.login.username=l.getValueOrDefault(n.email),t.notes=l.getValueOrDefault(n.username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.BlurCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(157),a=e(177),s=e(179),d=e(156),c=e(91),p=e(53),f=e(219),v=e(101),h=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.organization&&!l.isNullOrWhitespace(n.collections)?n.collections.split(",").forEach(function(n){for(var l=!0,t=e.collections.length,u=0;ui+2&&(h.value=u[o].substr(i+2)),t.fields.push(h)}}switch(null!=n.type?n.type.toLowerCase():null){case"login":case null:t.type=p.CipherType.Login,t.login=new d.LoginView,t.login.totp=l.getValueOrDefault(n.login_totp||n.totp),t.login.username=l.getValueOrDefault(n.login_username||n.username),t.login.password=l.getValueOrDefault(n.login_password||n.password);var g=l.parseSingleRowCsv(n.login_uri||n.uri);t.login.uris=l.makeUriArray(g);break;case"note":t.type=p.CipherType.SecureNote,t.secureNote=new c.SecureNoteView,t.secureNote.type=v.SecureNoteType.Generic}e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.BitwardenCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,l.getValueOrDefault(l.nameFromUrl(n.website),"--")),t.login.uris=l.makeUriArray(n.website),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.username)&&!l.isNullOrWhitespace(n.secondary_username)?t.login.username=n.secondary_username:(t.login.username=l.getValueOrDefault(n.username),t.notes=l.getValueOrDefault(n.secondary_username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.AviraCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<2)){var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),n.length>2&&n.length%2==0)for(var u=0;u-1?t.login.password=l.getValueOrDefault(o):null==t.login.username&&l.usernameFieldNames.indexOf(r)>-1?t.login.username=l.getValueOrDefault(o):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(r)>-1?t.login.uris=l.makeUriArray(o):l.processKvp(t,i,o)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.AscendoCsvImporter=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.folders=[],this.folderRelationships=[]}}();l.ImportCiphersRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(40),r=e(37),a=e(2),s=e(7),d=e(18),c=e(17),p=e(214),f=e(3),v=e(9),h=e(26),g=e(50),m=e(4),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(7,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV file.\n ']))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click "Export CSV"\n for your "Accounts".\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the XML file.\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML (2.x)" option.\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save the CSV file.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my data" to save\n the CSV file.\n ']))],null,null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..." and save the XML\n file.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive (readable) in CSV format"\n and save the CSV file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the CSV file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings". Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" → "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2sMldAI"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the CSV\n file.\n ']))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,98,"app-callout",[["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,R)),t.ɵdid(4,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,V)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(34,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,D)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(52,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(55,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(58,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(64,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(67,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(70,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(73,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(76,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(79,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(85,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(88,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(91,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(94,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(97,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"pwsafexml"===e.format),n(l,58,0,"dashlanecsv"===e.format),n(l,61,0,"msecurecsv"===e.format),n(l,64,0,"stickypasswordxml"===e.format),n(l,67,0,"truekeycsv"===e.format),n(l,70,0,"clipperzhtml"===e.format),n(l,73,0,"roboformcsv"===e.format),n(l,76,0,"passboltcsv"===e.format),n(l,79,0,"ascendocsv"===e.format),n(l,82,0,"passwordbossjson"===e.format),n(l,85,0,"zohovaultcsv"===e.format),n(l,88,0,"splashidcsv"===e.format),n(l,91,0,"passkeepcsv"===e.format),n(l,94,0,"gnomejson"===e.format),n(l,97,0,"passwordagentcsv"===e.format)},null)}function tn(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(12,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(34,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(44,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"))),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"))),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"))),n(l,64,0,t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"))),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading),n(l,77,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"")),n(l,81,0,t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData")))})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-import",[],null,null,null,tn,C)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.CipherService,g.FolderService,m.ApiService,y.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=C,l.View_ImportComponent_0=tn,l.View_ImportComponent_Host_0=un;var on=t.ɵccf("app-import",p.ImportComponent,un,{},{},[]);l.ImportComponentNgFactory=on},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(10),r=e(5),a=e(261),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,65,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,62,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,53,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,32,"div",[["class","card mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,25,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","generator"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,32).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(32,671744,[[6,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(33,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,16,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,9,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,6,"a",[["class","list-group-item"],["routerLink","breach-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,50).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(50,671744,[[8,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(51,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(54,null,["\n ","\n "])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(63,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,"generator");n(l,17,0,"active");n(l,24,0,"import");n(l,25,0,"active");n(l,32,0,"export");n(l,33,0,"active");n(l,50,0,"breach-report");n(l,51,0,"active"),n(l,63,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"passwordGenerator"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"importData"))),n(l,31,0,t.ɵnov(l,32).target,t.ɵnov(l,32).href),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"exportVault"))),n(l,44,0,t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"reports"))),n(l,49,0,t.ɵnov(l,50).target,t.ɵnov(l,50).href),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"dataBreachReport")))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-tools",[],null,null,null,d,s)),t.ɵdid(1,49152,null,0,a.ToolsComponent,[],null,null)],null,null)}l.RenderType_ToolsComponent=s,l.View_ToolsComponent_0=d,l.View_ToolsComponent_Host_0=c;var p=t.ɵccf("app-tools",a.ToolsComponent,c,{},{},[]);l.ToolsComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationCreateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(5),a=e(269),s=e(127),d=e(2),c=e(8),p=e(7),f=e(262),v=e(4),h=e(3),g=e(9),m=e(20),y=e(10),C=e(66),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(10,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFileOrg"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"))),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_organization_license.json"))),n(l,25,0,t.ɵnov(l,6).loading),n(l,27,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,12,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.businessName=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,"BusinessName",l.component.businessName)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"businessName"))),n(l,8,0,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,29,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFree"],["name","PlanType"],["type","radio"],["value","free"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,18,"label",[["class","form-check-label"],["for","planFree"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","free");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFree"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFree","1"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"limitedUsers","2"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"limitedCollections","2"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"freeForever")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,47,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFamilies"],["name","PlanType"],["type","radio"],["value","families"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,36,"label",[["class","form-check-label"],["for","planFamilies"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["• ",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(30,null,["• ",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["• ",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["• ",""])),t.ɵppd(39,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(42,null,[""," /",", ",""])),t.ɵppd(43,2),t.ɵppd(44,1),t.ɵppd(45,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","families");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFamilies"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFamilies"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"addShareLimitedUsers","5"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"createUnlimitedCollections"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,0),"onPremHostingOptional"))),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l.parent.parent,0),"priorityCustomerSupport"))),n(l,38,0,t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent.parent,0),"xDayFreeTrial","7"))),n(l,42,0,t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,1),1,"$")),t.ɵunv(l,42,1,n(l,44,0,t.ɵnov(l.parent.parent,0),"month")),t.ɵunv(l,42,2,n(l,45,0,t.ɵnov(l.parent.parent,0),"includesXUsers",5)))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,23,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,20,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,9,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","1"],["name","AdditionalSeats"],["required",""],["type","number"]],[[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,15)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,15)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,15)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,16).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(15,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(16,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(17,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(20,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(22,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,17,0,"");n(l,20,0,"AdditionalSeats",e.additionalSeats)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"userSeats"))),n(l,14,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,14,0,n(l,23,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),""),t.ɵnov(l,17).required?"":null,t.ɵnov(l,22).ngClassUntouched,t.ɵnov(l,22).ngClassTouched,t.ɵnov(l,22).ngClassPristine,t.ɵnov(l,22).ngClassDirty,t.ɵnov(l,22).ngClassValid,t.ɵnov(l,22).ngClassInvalid,t.ɵnov(l,22).ngClassPending),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsHowManyDesc")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","0"],["name","AdditionalSeats"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,10).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(12,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(14,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,2),t.ɵppd(20,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,12,0,"AdditionalSeats",l.component.additionalSeats)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"additionalUserSeats"))),n(l,8,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),""),t.ɵnov(l,14).ngClassUntouched,t.ɵnov(l,14).ngClassTouched,t.ɵnov(l,14).ngClassPristine,t.ɵnov(l,14).ngClassDirty,t.ɵnov(l,14).ngClassValid,t.ɵnov(l,14).ngClassInvalid,t.ɵnov(l,14).ngClassPending),n(l,18,0,t.ɵunv(l,18,0,n(l,20,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsAdditionalDesc",e.plans[e.plan].baseSeats,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")))))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," ×12 "," = ","\n /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1),t.ɵppd(5,2),t.ɵppd(6,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"basePrice")),t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].basePrice,"$")),t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),t.ɵunv(l,1,3,n(l,5,0,t.ɵnov(l.parent.parent.parent,1),e.baseTotal(!0),"$")),t.ɵunv(l,1,4,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"year")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"additionalUsers")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"users")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," ×12 "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),t.ɵppd(10,2),t.ɵppd(11,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component;n(l,7,0,e.additionalSeats||0,t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")),t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent,1),e.seatTotal(!0),"$")),t.ɵunv(l,7,4,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"year")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"basePrice")),t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,1),e.baseTotal(!1),"$")),t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"month")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"additionalUsers")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"users")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,2),t.ɵppd(10,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component;n(l,7,0,e.additionalSeats||0,t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,1),e.plans[e.plan].monthlySeatPrice,"$")),t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,1),e.seatTotal(!1),"$")),t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent.parent,0),"month")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","intervalMonthly"],["name","BillingInterval"],["type","radio"],["value","month"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.interval=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,15,"label",[["class","form-check-label"],["for","intervalMonthly"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(14,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(17,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"small",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["\n ",": "," × "," = "," /","\n "])),t.ɵppd(21,1),t.ɵppd(22,2),t.ɵppd(23,2),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"BillingInterval","month");n(l,6,0,"BillingInterval",e.interval),n(l,14,0,e.plans[e.plan].monthlyBasePrice),n(l,17,0,!e.plans[e.plan].noAdditionalSeats)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"monthly"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,20,2,n(l,22,0,t.ɵnov(l.parent.parent.parent,1),e.storageGb.monthlyPrice,"$")),t.ɵunv(l,20,3,n(l,23,0,t.ɵnov(l.parent.parent.parent,1),e.additionalStorageTotal(!1),"$")),t.ɵunv(l,20,4,n(l,24,0,t.ɵnov(l.parent.parent.parent,0),"month")))})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,94,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,21)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,21).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,21)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,21)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,22).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(22,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(24,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(26,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,2),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,27,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,6,"input",[["class","form-check-input"],["id","intervalAnnually"],["name","BillingInterval"],["type","radio"],["value","year"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,43)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,43).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,43)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,43)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,44).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,44).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.interval=e)&&u);return u},null,null)),t.ɵdid(43,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(44,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(46,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(48,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,16,"label",[["class","form-check-label"],["for","intervalAnnually"]],null,null,null,null,null)),(n()(),t.ɵted(51,null,["\n ","\n "])),t.ɵppd(52,1),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(54,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(57,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["\n ",": "," × "," ×12 "," = "," /","\n "])),t.ɵppd(61,1),t.ɵppd(62,2),t.ɵppd(63,1),t.ɵppd(64,2),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",":"])),t.ɵppd(78,1),(n()(),t.ɵted(79,null,[" "," /","\n "])),t.ɵppd(80,2),t.ɵppd(81,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(83,0,null,null,3,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(84,null,["",""])),t.ɵppd(85,1),t.ɵppd(86,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(89,null,["",""])),t.ɵppd(90,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(92,0,null,null,1,"app-payment",[],null,null,null,a.View_PaymentComponent_0,a.RenderType_PaymentComponent)),t.ɵdid(93,245760,[[1,4]],0,s.PaymentComponent,[d.I18nService,c.PlatformUtilsService],{hidePaypal:[0,"hidePaypal"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.plans[e.plan].noAdditionalSeats&&!e.plans[e.plan].baseSeats),n(l,10,0,!e.plans[e.plan].noAdditionalSeats&&e.plans[e.plan].baseSeats);n(l,24,0,"AdditionalStorageGb",e.additionalStorage);n(l,44,0,"BillingInterval","year");n(l,46,0,"BillingInterval",e.interval),n(l,54,0,e.plans[e.plan].annualBasePrice),n(l,57,0,!e.plans[e.plan].noAdditionalSeats),n(l,70,0,e.plans[e.plan].monthlySeatPrice);n(l,93,0,!0)},function(n,l){var e=l.component;n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addons"))),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb"))),n(l,20,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"additionalStorageGbDesc")),""),t.ɵnov(l,26).ngClassUntouched,t.ɵnov(l,26).ngClassTouched,t.ɵnov(l,26).ngClassPristine,t.ɵnov(l,26).ngClassDirty,t.ɵnov(l,26).ngClassValid,t.ɵnov(l,26).ngClassInvalid,t.ɵnov(l,26).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"additionalStorageDesc","1 GB",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$"))))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"summary"))),n(l,42,0,t.ɵnov(l,48).ngClassUntouched,t.ɵnov(l,48).ngClassTouched,t.ɵnov(l,48).ngClassPristine,t.ɵnov(l,48).ngClassDirty,t.ɵnov(l,48).ngClassValid,t.ɵnov(l,48).ngClassInvalid,t.ɵnov(l,48).ngClassPending),n(l,51,0,t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent.parent,0),"annually"))),n(l,60,0,t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,60,2,n(l,62,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$")),t.ɵunv(l,60,3,n(l,63,0,t.ɵnov(l.parent.parent,0),"monthAbbr")),t.ɵunv(l,60,4,n(l,64,0,t.ɵnov(l.parent.parent,1),e.additionalStorageTotal(!0),"$")),t.ɵunv(l,60,5,n(l,65,0,t.ɵnov(l.parent.parent,0),"year"))),n(l,77,0,t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l.parent.parent,0),"total"))),n(l,79,0,t.ɵunv(l,79,0,n(l,80,0,t.ɵnov(l.parent.parent,1),e.total,"USD $")),t.ɵunv(l,79,1,n(l,81,0,t.ɵnov(l.parent.parent,0),e.interval))),n(l,84,0,t.ɵunv(l,84,0,n(l,86,0,t.ɵnov(l.parent.parent,0),"paymentChargedWithTrial",t.ɵunv(l,84,0,n(l,85,0,t.ɵnov(l.parent.parent,0),e.interval))))),n(l,89,0,t.ɵunv(l,89,0,n(l,90,0,t.ɵnov(l.parent.parent,0),"paymentInformation")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,198,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,33,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.name=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(23,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(25,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.billingEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(41,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,12,"div",[["class","form-group form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,5,"input",[["class","form-check-input"],["id","ownedBusiness"],["name","OwnedBusiness"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,48).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.ownedBusiness=e)&&u);"change"===l&&(u=!1!==o.changedOwnedBusiness()&&u);return u},null,null)),t.ɵdid(48,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(50,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(52,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"label",[["class","form-check-label"],["for","ownedBusiness"]],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(60,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(67,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,46,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,6,"input",[["class","form-check-input"],["id","planTeams"],["name","PlanType"],["type","radio"],["value","teams"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,75)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,75).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,75)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,75)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,76).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,76).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(75,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(76,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(78,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(80,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,35,"label",[["class","form-check-label"],["for","planTeams"]],null,null,null,null,null)),(n()(),t.ɵted(83,null,["\n ","\n "])),t.ɵppd(84,1),(n()(),t.ɵeld(85,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(86,null,["",""])),t.ɵppd(87,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(89,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(90,null,["• ",""])),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(94,null,["• ",""])),t.ɵppd(95,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(97,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(98,null,["• ",""])),t.ɵppd(99,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(102,null,["• ",""])),t.ɵppd(103,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(105,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(106,null,["• ",""])),t.ɵppd(107,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,7,"span",[],null,null,null,null,null)),(n()(),t.ɵted(110,null,[""," /",", ",", ","\n "," /",""])),t.ɵppd(111,2),t.ɵppd(112,1),t.ɵppd(113,2),t.ɵppd(114,1),t.ɵppd(115,2),t.ɵppd(116,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,59,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(122,0,null,null,6,"input",[["class","form-check-input"],["id","planEnterprise"],["name","PlanType"],["type","radio"],["value","enterprise"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,123)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,123).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,123)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,123)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,124).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,124).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(123,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(124,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(126,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(128,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(130,0,null,null,48,"label",[["class","form-check-label"],["for","planEnterprise"]],null,null,null,null,null)),(n()(),t.ɵted(131,null,["\n ","\n "])),t.ɵppd(132,1),(n()(),t.ɵeld(133,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(134,null,["",""])),t.ɵppd(135,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(137,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(138,null,["• ",""])),t.ɵppd(139,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(141,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(142,null,["• ",""])),t.ɵppd(143,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(146,null,["• ",""])),t.ɵppd(147,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(149,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(150,null,["• ",""])),t.ɵppd(151,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(153,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(154,null,["• ",""])),t.ɵppd(155,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(157,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(158,null,["• ",""])),t.ɵppd(159,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(161,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(162,null,["• ",""])),t.ɵppd(163,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(165,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(166,null,["• ",""])),t.ɵppd(167,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(169,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(170,null,["• ",""])),t.ɵppd(171,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(173,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(174,null,[""," /",""])),t.ɵppd(175,2),t.ɵppd(176,2),t.ɵppd(177,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(182,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(184,0,null,null,13,"div",[],null,null,null,null,null)),t.ɵdid(185,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(186,{"mt-4":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(188,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(190,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(191,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(193,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(194,null,["",""])),t.ɵppd(195,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,20,0,"");n(l,23,0,"Name",e.name);n(l,36,0,"");n(l,39,0,"BillingEmail",e.billingEmail);n(l,50,0,"OwnedBusiness",e.ownedBusiness),n(l,60,0,e.ownedBusiness),n(l,67,0,!e.ownedBusiness),n(l,70,0,!e.ownedBusiness);n(l,76,0,"PlanType","teams");n(l,78,0,"PlanType",e.plan);n(l,124,0,"PlanType","enterprise");n(l,126,0,"PlanType",e.plan),n(l,182,0,!e.plans[e.plan].noPayment),n(l,185,0,n(l,186,0,e.plans[e.plan].noPayment))},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"generalInformation"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organizationName"))),n(l,18,0,t.ɵnov(l,20).required?"":null,t.ɵnov(l,25).ngClassUntouched,t.ɵnov(l,25).ngClassTouched,t.ɵnov(l,25).ngClassPristine,t.ɵnov(l,25).ngClassDirty,t.ɵnov(l,25).ngClassValid,t.ɵnov(l,25).ngClassInvalid,t.ɵnov(l,25).ngClassPending),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"billingEmail"))),n(l,34,0,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,47,0,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending),n(l,55,0,t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent,0),"accountOwnedBusiness"))),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent,0),"chooseYourPlan"))),n(l,74,0,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending),n(l,83,0,t.ɵunv(l,83,0,n(l,84,0,t.ɵnov(l.parent,0),"planNameTeams"))),n(l,86,0,t.ɵunv(l,86,0,n(l,87,0,t.ɵnov(l.parent,0),"planDescTeams"))),n(l,90,0,t.ɵunv(l,90,0,n(l,91,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"))),n(l,94,0,t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"))),n(l,98,0,t.ɵunv(l,98,0,n(l,99,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,102,0,t.ɵunv(l,102,0,n(l,103,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"))),n(l,106,0,t.ɵunv(l,106,0,n(l,107,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"))),n(l,110,0,t.ɵunv(l,110,0,n(l,111,0,t.ɵnov(l.parent,1),5,"$")),t.ɵunv(l,110,1,n(l,112,0,t.ɵnov(l.parent,0),"month")),t.ɵunv(l,110,2,n(l,113,0,t.ɵnov(l.parent,0),"includesXUsers",5)),t.ɵunv(l,110,3,n(l,114,0,t.ɵnov(l.parent,0),"additionalUsers")).toLowerCase(),t.ɵunv(l,110,4,n(l,115,0,t.ɵnov(l.parent,1),2,"$")),t.ɵunv(l,110,5,n(l,116,0,t.ɵnov(l.parent,0),"month"))),n(l,122,0,t.ɵnov(l,128).ngClassUntouched,t.ɵnov(l,128).ngClassTouched,t.ɵnov(l,128).ngClassPristine,t.ɵnov(l,128).ngClassDirty,t.ɵnov(l,128).ngClassValid,t.ɵnov(l,128).ngClassInvalid,t.ɵnov(l,128).ngClassPending),n(l,131,0,t.ɵunv(l,131,0,n(l,132,0,t.ɵnov(l.parent,0),"planNameEnterprise"))),n(l,134,0,t.ɵunv(l,134,0,n(l,135,0,t.ɵnov(l.parent,0),"planDescEnterprise"))),n(l,138,0,t.ɵunv(l,138,0,n(l,139,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"))),n(l,142,0,t.ɵunv(l,142,0,n(l,143,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"))),n(l,146,0,t.ɵunv(l,146,0,n(l,147,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,150,0,t.ɵunv(l,150,0,n(l,151,0,t.ɵnov(l.parent,0),"controlAccessWithGroups"))),n(l,154,0,t.ɵunv(l,154,0,n(l,155,0,t.ɵnov(l.parent,0),"trackAuditLogs"))),n(l,158,0,t.ɵunv(l,158,0,n(l,159,0,t.ɵnov(l.parent,0),"syncUsersFromDirectory"))),n(l,162,0,t.ɵunv(l,162,0,n(l,163,0,t.ɵnov(l.parent,0),"onPremHostingOptional"))),n(l,166,0,t.ɵunv(l,166,0,n(l,167,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"))),n(l,170,0,t.ɵunv(l,170,0,n(l,171,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"))),n(l,174,0,t.ɵunv(l,174,0,n(l,176,0,t.ɵnov(l.parent,0),"costPerUser",t.ɵunv(l,174,0,n(l,175,0,t.ɵnov(l.parent,1),3,"$")))),t.ɵunv(l,174,1,n(l,177,0,t.ɵnov(l.parent,0),"month"))),n(l,188,0,t.ɵnov(l,0).loading),n(l,190,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,190,0,n(l,191,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,194,0,t.ɵunv(l,194,0,n(l,195,0,t.ɵnov(l.parent,0),"submit")))})}function F(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[d.I18nService]),t.ɵpid(0,r.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(15,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(18,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},function(n,l){n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"newOrganization"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"newOrganizationDesc")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-create-organization",[],null,null,null,F,b)),t.ɵdid(1,114688,null,0,f.CreateOrganizationComponent,[v.ApiService,d.I18nService,h.Angulartics2,g.ToasterService,c.PlatformUtilsService,m.CryptoService,y.Router,C.SyncService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CreateOrganizationComponent=b,l.View_CreateOrganizationComponent_0=F,l.View_CreateOrganizationComponent_Host_0=L;var G=t.ɵccf("app-create-organization",f.CreateOrganizationComponent,L,{},{},[]);l.CreateOrganizationComponentNgFactory=G},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PaymentRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StorageRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(18),a=e(17),s=e(5),d=e(544),c=e(267),p=e(4),f=e(3),v=e(9),h=e(543),g=e(266),m=e(542),y=e(265),C=e(7),b=e(263),S=e(35),w=e(8),R=e(10),_=t.ɵcrt({encapsulation:2,styles:[],data:{}});function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["",""])),t.ɵppd(4,1)],function(n,l){n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"canceled")),""))},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"subscriptionCanceled")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,[["reinstateBtn",1]],0,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reinstate()&&t);return t},null,null)),t.ɵdid(9,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"pendingCancellation")),"")),n(l,9,0,e.reinstatePromise)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"subscriptionPendingCanceled"))),n(l,8,0,t.ɵnov(l,8).loading),n(l,11,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"loading")),"")),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"reinstateSubscription")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,2)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,1),e.billing.expiration,"mediumDate")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"neverExpires")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(7,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(10,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,e.billing.expiration),n(l,10,0,!e.billing.expiration)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"expiration")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"pendingCancellation")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n "," "," @ ","\n "])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,l.context.$implicit.name,l.context.$implicit.quantity>1?"×"+l.context.$implicit.quantity:"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval)))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(11,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,26,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,23,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,7,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"span",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(16,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,3,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["","\n "])),t.ɵppd(25,2),t.ɵppd(26,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(31,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,16,0,e.subscriptionMarkedForCancel),n(l,31,0,e.subscription)},function(n,l){var e=l.component;n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"status"))),n(l,13,0,e.subscription&&e.subscription.status||"-"),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"nextCharge"))),n(l,24,0,e.nextInvoice?t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,1),e.nextInvoice.date,"mediumDate"))+", "+t.ɵunv(l,24,0,n(l,26,0,t.ɵnov(l.parent.parent,2),e.nextInvoice.amount,"$")):"-")})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},d.View_UpdateLicenseComponent_0,d.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,c.UpdateLicenseComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],null,{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/billing"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription")))})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription")))})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","ml-1 btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage")))})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},h.View_AdjustStorageComponent_0,h.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,g.AdjustStorageComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){n(l,1,0,4,l.component.adjustStorageAdd)},null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noPaymentMethod")))})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(3,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(4,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(5,null,["\n ","\n "]))],function(n,l){var e=l.component;n(l,3,0,"fa fa-fw",n(l,4,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal))},function(n,l){n(l,5,0,l.component.paymentSource.description)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod")))})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},m.View_AdjustPaymentComponent_0,m.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,y.AdjustPaymentComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{currentType:[0,"currentType"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null)},null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCharges")))})}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,1,"td",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(13,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(14,{"text-strike":0}),t.ɵppd(15,1),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,13,0,n(l,14,0,l.context.$implicit.refunded))},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.createdDate,"mediumDate"))),n(l,7,0,l.context.$implicit.paymentSource?l.context.$implicit.paymentSource.description:"-"),n(l,10,0,l.context.$implicit.status),n(l,12,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,15,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"")),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$")))})}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(5,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.charges)},null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,60,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(22,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(23,{width:0}),(n()(),t.ɵted(24,null,["",""])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(36,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(39,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(42,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(45,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(52,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(55,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["* ",""])),t.ɵppd(59,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.subscription||!e.subscription.cancelled),n(l,8,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,22,0,n(l,23,0,e.storageProgressWidth+"%")),n(l,29,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel&&e.paymentSource),n(l,36,0,!e.paymentSource),n(l,39,0,e.paymentSource),n(l,42,0,!e.showAdjustPayment),n(l,45,0,e.showAdjustPayment),n(l,52,0,!e.charges||!e.charges.length),n(l,55,0,e.charges&&e.charges.length)},function(n,l){var e=l.component;n(l,12,0,t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent,0),"storage"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.billing.maxStorageGb||0,e.billing.storageName||"0 MB"))),n(l,21,0,e.storagePercentage),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100))),n(l,32,0,t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent.parent,0),"paymentMethod"))),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l.parent.parent,0),"charges"))),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent.parent,0),"chargesStatement","BITWARDEN")))})}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(20,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(23,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(26,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,20,0,e.selfHosted),n(l,23,0,!e.selfHosted),n(l,26,0,e.selfHosted),n(l,29,0,!e.selfHosted)},function(n,l){n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent,0),"subscription"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"premiumMembership")))})}function X(n){return t.ɵvid(0,[t.ɵpid(0,C.I18nPipe,[i.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.billing)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"billingAndLicensing")))})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-billing",[],null,null,null,X,_)),t.ɵdid(1,114688,null,0,b.UserBillingComponent,[S.TokenService,p.ApiService,w.PlatformUtilsService,i.I18nService,f.Angulartics2,v.ToasterService,R.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserBillingComponent=_,l.View_UserBillingComponent_0=X,l.View_UserBillingComponent_Host_0=Q;var nn=t.ɵccf("app-user-billing",b.UserBillingComponent,Q,{},{},[]);l.UserBillingComponentNgFactory=nn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(269),a=e(127),s=e(2),d=e(8),c=e(7),p=e(5),f=e(40),v=e(37),h=e(268),g=e(4),m=e(3),y=e(9),C=e(35),b=e(10),S=e(27),w=e(66),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/premium"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"purchasePremium")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(10,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFilePremium"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"))),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_premium_license.json"))),n(l,25,0,t.ɵnov(l,6).loading),n(l,27,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,20).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(22,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(24,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,2),t.ɵppd(30,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(37,null,["\n ",": ","\n "])),t.ɵppd(38,1),t.ɵppd(39,2),(n()(),t.ɵeld(40,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(41,null,[" ",": "," GB × "," = ","\n "])),t.ɵppd(42,1),t.ɵppd(43,2),t.ɵppd(44,2),(n()(),t.ɵeld(45,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(50,null,["",":"])),t.ɵppd(51,1),(n()(),t.ɵted(52,null,[" "," /","\n "])),t.ɵppd(53,2),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,2,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(57,null,["",""])),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["",""])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,1,"app-payment",[],null,null,null,r.View_PaymentComponent_0,r.RenderType_PaymentComponent)),t.ɵdid(65,245760,[[1,4]],0,a.PaymentComponent,[s.I18nService,d.PlatformUtilsService],{hideBank:[0,"hideBank"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(73,null,["",""])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,22,0,"AdditionalStorageGb",e.additionalStorage);n(l,65,0,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"addons"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"additionalStorageGb"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,25,0,t.ɵnov(l.parent,0),"additionalStorageGbDesc")),""),t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,30,0,t.ɵnov(l.parent,0),"additionalStorageDesc","1 GB",t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$"))))),n(l,35,0,t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l.parent,0),"summary"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent,0),"premiumMembership")),t.ɵunv(l,37,1,n(l,39,0,t.ɵnov(l.parent,1),e.premiumPrice,"$"))),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,41,2,n(l,43,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,41,3,n(l,44,0,t.ɵnov(l.parent,1),e.additionalStorageTotal,"$"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l.parent,0),"total"))),n(l,52,0,t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l.parent,1),e.total,"USD $")),t.ɵunv(l,52,1,n(l,54,0,t.ɵnov(l.parent,0),"year"))),n(l,57,0,t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l.parent,0),"paymentChargedAnnually"))),n(l,61,0,t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l.parent,0),"paymentInformation"))),n(l,67,0,t.ɵnov(l,0).loading),n(l,69,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent,0),"submit")))})}function E(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[s.I18nService]),t.ɵpid(0,p.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,49,"app-callout",[["type","success"]],null,null,null,f.View_CalloutComponent_0,f.RenderType_CalloutComponent)),t.ɵdid(11,114688,null,0,v.CalloutComponent,[s.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(13,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(17,0,null,0,31,"ul",[["class","fa-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(34,null,["\n ","\n "])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(40,null,["\n ","\n "])),t.ɵppd(41,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(50,0,null,0,5,"p",[["class","text-lg"]],null,null,null,null,null)),t.ɵdid(51,278528,null,0,p.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(52,{"mb-0":0}),(n()(),t.ɵted(53,null,["",""])),t.ɵppd(54,2),t.ɵppd(55,2),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(58,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(62,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(65,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,11,0,"success");n(l,51,0,"text-lg",n(l,52,0,!e.selfHosted)),n(l,58,0,e.selfHosted),n(l,62,0,e.selfHosted),n(l,65,0,!e.selfHosted)},function(n,l){var e=l.component;n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"goPremium"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"premiumUpgradeUnlockFeatures"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"premiumSignUpStorage"))),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"premiumSignUpTwoStep"))),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"premiumSignUpTotp"))),n(l,40,0,t.ɵunv(l,40,0,n(l,41,0,t.ɵnov(l,0),"premiumSignUpSupport"))),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"premiumSignUpFuture"))),n(l,53,0,t.ɵunv(l,53,0,n(l,55,0,t.ɵnov(l,0),"premiumPrice",t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,1),e.premiumPrice,"$")))))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-premium",[],null,null,null,E,R)),t.ɵdid(1,114688,null,0,h.PremiumComponent,[g.ApiService,s.I18nService,m.Angulartics2,y.ToasterService,d.PlatformUtilsService,C.TokenService,b.Router,S.MessagingService,w.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PremiumComponent=R,l.View_PremiumComponent_0=E,l.View_PremiumComponent_Host_0=O;var N=t.ɵccf("app-premium",h.PremiumComponent,O,{},{},[]);l.PremiumComponentNgFactory=N},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorYubioOtpRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorU2fRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorEmailRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorDuoRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.TwoFactorProviderRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorAuthenticatorRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(60),a=e(5),s=e(7),d=e(215),c=e(4),p=e(35),f=e(27),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"))),n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode")))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){n(l,2,0,t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled),n(l,15,0,!e.premium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.premium&&l.context.$implicit.premium),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(35,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,w)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId),n(l,24,0,n(l,25,0,!e.organizationId)),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,O,v)),t.ɵdid(1,114688,null,0,d.TwoFactorSetupComponent,[c.ApiService,p.TokenService,t.ComponentFactoryResolver,f.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=v,l.View_TwoFactorSetupComponent_0=O,l.View_TwoFactorSetupComponent_Host_0=N;var T=t.ɵccf("app-two-factor-setup",d.TwoFactorSetupComponent,N,{},{},[]);l.TwoFactorSetupComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UpdateDomainsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(60),r=e(7),a=e(2),s=e(18),d=e(17),c=e(271),p=e(4),f=e(3),v=e(9),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,24,"div",[["class","form-group d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,15,"div",[["class","flex-fill"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["class","sr-only"]],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,8,"textarea",[["class","form-control"],["required",""]],[[8,"id",0],[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.custom[n.context.index]=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.remove(n.context.index)&&t);return t},null,null)),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,10,0,""),n(l,13,0,t.ɵinlineInterpolate(1,"CustomDomain[",l.context.index,"]"),e.custom[l.context.index])},function(n,l){n(l,4,0,t.ɵinlineInterpolate(1,"customDomain_",l.context.index,"")),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"customDomainX",l.context.index+1))),n(l,8,0,t.ɵinlineInterpolate(1,"customDomain_",l.context.index,""),t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,1,n(l,16,0,t.ɵnov(l.parent.parent,0),"ex"))," google.com, gmail.com"),t.ɵnov(l,10).required?"":null,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,19,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l.parent.parent,0),"remove")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(3,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"button",[["class","btn btn-outline-secondary btn-sm mb-2"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"small",[["class","text-muted d-block mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.custom,e.indexTrackBy)},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"newCustomDomain"))),n(l,12,0,t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent,0),"newCustomDomainDesc")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.toggleExcluded(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-close"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"exclude")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.toggleExcluded(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-plus"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"include")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,33,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"td",[],null,null,null,null,null)),t.ɵdid(3,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(4,{"table-list-strike":0}),(n()(),t.ɵted(5,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,25,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,22,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,14,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,25).onClick(e)&&u);"click"===l&&(u=!1!==o.customize(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-fw fa-scissors"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,n(l,4,0,l.context.$implicit.excluded)),n(l,19,0,!l.context.$implicit.excluded),n(l,22,0,l.context.$implicit.excluded)},function(n,l){n(l,5,0,l.context.$implicit.domains),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent,0),"customize")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.global)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(12,0,[["form",1]],null,45,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,13).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,13).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(13,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(15,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(16,540672,null,0,s.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"h2",[],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(23,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(26,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,e.formPromise),n(l,23,0,e.loading),n(l,26,0,!e.loading),n(l,43,0,e.loading),n(l,46,0,!e.loading&&e.global.length>0)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"domainRules"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"domainRulesDesc"))),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"customEqDomains"))),n(l,28,0,t.ɵnov(l,12).loading),n(l,30,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"loading")),"")),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"save"))),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"globalEqDomains"))),n(l,48,0,t.ɵnov(l,12).loading),n(l,50,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"loading")),"")),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"save")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-domain-rules",[],null,null,null,_,h)),t.ɵdid(1,114688,null,0,c.DomainRulesComponent,[p.ApiService,a.I18nService,f.Angulartics2,v.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_DomainRulesComponent=h,l.View_DomainRulesComponent_0=_,l.View_DomainRulesComponent_Host_0=I;var A=t.ɵccf("app-domain-rules",c.DomainRulesComponent,I,{},{},[]);l.DomainRulesComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(7),i=e(2),r=e(5),a=e(272),s=e(117),d=e(61),c=e(3),p=e(9),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function h(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(12,0,null,null,72,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,13).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,13).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(13,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(15,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,35,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,32,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,29,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"label",[["for","locale"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/localization/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,9,"select",[["class","form-control"],["id","locale"],["name","Locale"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,37).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,37).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.locale=e)&&u);return u},null,null)),t.ɵdid(37,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(39,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(41,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(44,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,25,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,18,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,5,"input",[["class","form-check-input"],["id","disableIcons"],["name","DisableIcons"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,59).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,59).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.disableIcons=e)&&u);return u},null,null)),t.ɵdid(59,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(61,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(63,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"label",[["class","form-check-label"],["for","disableIcons"]],null,null,null,null,null)),(n()(),t.ɵted(66,null,["\n ","\n "])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,4,"a",[["href","https://help.bitwarden.com/article/website-icons/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",""])),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,2,"button",[["class","btn btn-primary"],["type","submit"]],null,null,null,null,null)),(n()(),t.ɵted(82,null,["\n ","\n "])),t.ɵppd(83,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,39,0,"Locale",e.locale),n(l,44,0,e.localeOptions);n(l,61,0,"DisableIcons",e.disableIcons)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"options"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"optionsDesc"))),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"language"))),n(l,29,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"learnMore")),"")),n(l,36,0,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"languageDesc"))),n(l,58,0,t.ɵnov(l,63).ngClassUntouched,t.ɵnov(l,63).ngClassTouched,t.ɵnov(l,63).ngClassPristine,t.ɵnov(l,63).ngClassDirty,t.ɵnov(l,63).ngClassValid,t.ɵnov(l,63).ngClassInvalid,t.ɵnov(l,63).ngClassPending),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l,0),"disableIcons"))),n(l,69,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l,0),"learnMore")),"")),n(l,77,0,t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"disableIconsDesc"))),n(l,82,0,t.ɵunv(l,82,0,n(l,83,0,t.ɵnov(l,0),"save")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-options",[],null,null,null,h,f)),t.ɵdid(1,114688,null,0,a.OptionsComponent,[s.StorageService,d.StateService,c.Angulartics2,i.I18nService,p.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OptionsComponent=f,l.View_OptionsComponent_0=h,l.View_OptionsComponent_Host_0=g;var m=t.ɵccf("app-options",a.OptionsComponent,g,{},{},[]);l.OptionsComponentNgFactory=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.PasswordRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(40),r=e(37),a=e(13),s=e(18),d=e(17),c=e(46),p=e(553),f=e(4),v=e(3),h=e(9),g=e(20),m=e(27),y=e(21),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(2,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(3,0,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(6,0,[["form",1]],null,72,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,a.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,a.ControlContainer,null,[a.NgForm]),t.ɵdid(9,16384,null,0,a.NgControlStatusGroup,[a.ControlContainer],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,55,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,52,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","currentMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","currentMasterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.currentMasterPassword=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(27,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(29,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(30,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"label",[["for","newMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","newMasterPassword"],["name","NewMasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,40)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,40).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,40)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,40)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.newMasterPassword=e)&&u);return u},null,null)),t.ɵdid(40,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(41,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(44,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(46,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(47,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","confirmNewMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","confirmNewMasterPassword"],["name","ConfirmNewMasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,57)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,57).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,57)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,57)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.confirmNewMasterPassword=e)&&u);return u},null,null)),t.ɵdid(57,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(58,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(61,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(63,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(64,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(72,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(75,null,["",""])),t.ɵppd(76,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,"warning"),n(l,10,0,e.formPromise);n(l,24,0,"");n(l,27,0,"MasterPasswordHash",e.currentMasterPassword);n(l,30,0,"");n(l,41,0,"");n(l,44,0,"NewMasterPasswordHash",e.newMasterPassword);n(l,47,0,"");n(l,58,0,"");n(l,61,0,"ConfirmNewMasterPasswordHash",e.confirmNewMasterPassword);n(l,64,0,"")},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),"loggedOutWarning"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"currentMasterPass"))),n(l,22,0,t.ɵnov(l,24).required?"":null,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"newMasterPass"))),n(l,39,0,t.ɵnov(l,41).required?"":null,t.ɵnov(l,46).ngClassUntouched,t.ɵnov(l,46).ngClassTouched,t.ɵnov(l,46).ngClassPristine,t.ɵnov(l,46).ngClassDirty,t.ɵnov(l,46).ngClassValid,t.ɵnov(l,46).ngClassInvalid,t.ɵnov(l,46).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"confirmNewMasterPass"))),n(l,56,0,t.ɵnov(l,58).required?"":null,t.ɵnov(l,63).ngClassUntouched,t.ɵnov(l,63).ngClassTouched,t.ɵnov(l,63).ngClassPristine,t.ɵnov(l,63).ngClassDirty,t.ɵnov(l,63).ngClassValid,t.ɵnov(l,63).ngClassInvalid,t.ɵnov(l,63).ngClassPending),n(l,69,0,t.ɵnov(l,6).loading),n(l,71,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,71,0,n(l,72,0,t.ɵnov(l,0),"loading")),"")),n(l,75,0,t.ɵunv(l,75,0,n(l,76,0,t.ɵnov(l,0),"changeMasterPassword")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-change-password",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,p.ChangePasswordComponent,[f.ApiService,o.I18nService,v.Angulartics2,h.ToasterService,g.CryptoService,m.MessagingService,y.UserService],null,null)],null,null)}l.RenderType_ChangePasswordComponent=C,l.View_ChangePasswordComponent_0=b,l.View_ChangePasswordComponent_Host_0=S;var w=t.ɵccf("app-change-password",p.ChangePasswordComponent,S,{},{},[]);l.ChangePasswordComponentNgFactory=w},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(554).EmailTokenRequest);l.EmailRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(13),a=e(46),s=e(7),d=e(18),c=e(17),p=e(5),f=e(555),v=e(4),h=e(3),g=e(9),m=e(20),y=e(27),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(9,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(10,0,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,21,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,18,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"label",[["for","token"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","token"],["name","Token"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,24)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,24)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,24)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.token=e)&&u);return u},null,null)),t.ɵdid(24,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(25,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(28,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(30,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(31,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,"warning");n(l,25,0,"");n(l,28,0,"Token",e.token);n(l,31,0,"")},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"changeEmailDesc",e.newEmail))),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent,0),"loggedOutWarning"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent,0),"code"))),n(l,23,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"continue")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"changeEmail")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reset()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"cancel")))})}function _(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,63,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(4,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(5,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,38,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,35,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[8,"readOnly",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(24,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(25,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","newEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,8,"input",[["appInputVerbatim","false"],["class","form-control"],["id","newEmail"],["inputmode","email"],["name","NewEmail"],["required",""],["type","text"]],[[8,"readOnly",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.newEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(41,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(42,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(48,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,10,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(56,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(59,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(63,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"");n(l,22,0,"MasterPasswordHash",e.masterPassword);n(l,25,0,"");n(l,36,0,"");n(l,39,0,"NewEmail",e.newEmail);n(l,42,0,"false"),n(l,48,0,e.tokenSent),n(l,56,0,!e.tokenSent),n(l,59,0,e.tokenSent),n(l,63,0,e.tokenSent)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"masterPass"))),n(l,17,0,e.tokenSent,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"newEmail"))),n(l,34,0,e.tokenSent,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,50,0,t.ɵnov(l,1).loading),n(l,52,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"loading")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-change-email",[],null,null,null,_,C)),t.ɵdid(1,49152,null,0,f.ChangeEmailComponent,[v.ApiService,i.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.MessagingService],null,null)],null,null)}l.RenderType_ChangeEmailComponent=C,l.View_ChangeEmailComponent_0=_,l.View_ChangeEmailComponent_Host_0=I;var A=t.ɵccf("app-change-email",f.ChangeEmailComponent,I,{},{},[]);l.ChangeEmailComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.culture="en-US",this.name=n,this.masterPasswordHint=l||null}}();l.UpdateProfileRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(130),a=e(116),s=e(42),d=e(7),c=e(2),p=e(5),f=e(556),v=e(4),h=e(3),g=e(9),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","email"],["name","Email"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.email=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","masterPasswordHint"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","masterPasswordHint"],["name","MasterPasswordHint"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.masterPasswordHint=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["height","75"],["width","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],fontSize:[3,"fontSize"],dynamic:[4,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.profile.name);n(l,33,0,"Email",e.profile.email);n(l,47,0,"MasterPasswordHint",e.profile.masterPasswordHint);n(l,56,0,t.ɵinlineInterpolate(1,"",e.profile.name||e.profile.email,""),"75","75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"name"))),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"email"))),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"masterPassHintLabel"))),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading),n(l,62,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save")))})}function b(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[c.I18nService]),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(2,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(5,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,e.loading),n(l,5,0,e.profile&&!e.loading)},null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-profile",[],null,null,null,b,m)),t.ɵdid(1,114688,null,0,f.ProfileComponent,[v.ApiService,c.I18nService,h.Angulartics2,g.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ProfileComponent=m,l.View_ProfileComponent_0=b,l.View_ProfileComponent_Host_0=S;var w=t.ɵccf("app-profile",f.ProfileComponent,S,{},{},[]);l.ProfileComponentNgFactory=w},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(796),r=e(556),a=e(4),s=e(3),d=e(9),c=e(794),p=e(555),f=e(20),v=e(27),h=e(792),g=e(553),m=e(21),y=e(273),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{deauthModalRef:0}),t.ɵqud(402653184,2,{purgeModalRef:0}),t.ɵqud(402653184,3,{deleteModalRef:0}),(n()(),t.ɵeld(4,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(11,0,null,null,1,"app-profile",[],null,null,null,i.View_ProfileComponent_0,i.RenderType_ProfileComponent)),t.ɵdid(12,114688,null,0,r.ProfileComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,null,null,5,"div",[["class","secondary-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(21,0,null,null,1,"app-change-email",[],null,null,null,c.View_ChangeEmailComponent_0,c.RenderType_ChangeEmailComponent)),t.ɵdid(22,49152,null,0,p.ChangeEmailComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService,f.CryptoService,v.MessagingService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(24,0,null,null,5,"div",[["class","secondary-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(31,0,null,null,1,"app-change-password",[],null,null,null,h.View_ChangePasswordComponent_0,h.RenderType_ChangePasswordComponent)),t.ɵdid(32,49152,null,0,g.ChangePasswordComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService,f.CryptoService,v.MessagingService,m.UserService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(34,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(41,0,null,null,20,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,17,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(46,null,["",""])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deauthorizeSessions()&&t);return t},null,null)),(n()(),t.ɵted(50,null,["",""])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.purgeVault()&&t);return t},null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteAccount()&&t);return t},null,null)),(n()(),t.ɵted(58,null,["",""])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deauthorizeSessionsTemplate",2]],null,0,null,b)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["purgeVaultTemplate",2]],null,0,null,S)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["deleteAccountTemplate",2]],null,0,null,w)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,12,0)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"myAccount"))),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"changeEmail"))),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"changeMasterPassword"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"dangerZone"))),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"dangerZoneDesc"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"deauthorizeSessions"))),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"purgeVault"))),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"deleteAccount")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-account",[],null,null,null,R,C)),t.ɵdid(1,49152,null,0,y.AccountComponent,[t.ComponentFactoryResolver],null,null)],null,null)}l.RenderType_AccountComponent=C,l.View_AccountComponent_0=R,l.View_AccountComponent_Host_0=_;var I=t.ɵccf("app-account",y.AccountComponent,_,{},{},[]);l.AccountComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(274),s=e(35),d=e(160),c=t.ɵcrt({encapsulation:2,styles:[],data:{}});function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"billing");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"billingAndLicensing")))})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","premium"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[10,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,9,{links:1}),t.ɵqud(603979776,10,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"premium");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"goPremium")))})}function v(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,57,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,54,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,47,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","options"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"a",[["class","list-group-item"],["routerLink","organizations"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,32).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(32,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(33,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,46).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(46,671744,[[12,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(47,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,11,{links:1}),t.ɵqud(603979776,12,{linksWithHrefs:1}),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,6,"a",[["class","list-group-item"],["routerLink","domain-rules"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,54).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(54,671744,[[14,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(55,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,13,{links:1}),t.ɵqud(603979776,14,{linksWithHrefs:1}),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(67,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"options");n(l,25,0,"active");n(l,32,0,"organizations");n(l,33,0,"active"),n(l,40,0,e.premium),n(l,43,0,!e.premium);n(l,46,0,"two-factor");n(l,47,0,"active");n(l,54,0,"domain-rules");n(l,55,0,"active"),n(l,67,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myAccount"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"options"))),n(l,31,0,t.ɵnov(l,32).target,t.ɵnov(l,32).href),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"organizations"))),n(l,45,0,t.ɵnov(l,46).target,t.ɵnov(l,46).href),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,53,0,t.ɵnov(l,54).target,t.ɵnov(l,54).href),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"domainRules")))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-settings",[],null,null,null,v,c)),t.ɵdid(1,245760,null,0,a.SettingsComponent,[s.TokenService,d.BroadcasterService,t.NgZone],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=c,l.View_SettingsComponent_0=v,l.View_SettingsComponent_Host_0=h;var g=t.ɵccf("app-settings",a.SettingsComponent,h,{},{},[]);l.SettingsComponentNgFactory=g},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]104857600)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2];u.label=1;case 1:return u.trys.push([1,4,,5]),this.formPromise=this.saveCipherAttachment(l[0]),e=this,[4,this.formPromise];case 2:return e.cipherDomain=u.sent(),t=this,[4,this.cipherDomain.decrypt()];case 3:return t.cipher=u.sent(),this.analytics.eventTrack.next({action:"Added Attachment"}),this.toasterService.popAsync("success",null,this.i18nService.t("attachmentSaved")),this.onUploadedAttachment.emit(),[3,5];case 4:return u.sent(),[3,5];case 5:return n.type="",n.type="file",n.value="",[2]}})})},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null!=this.deletePromises[n.id]?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteAttachmentConfirmation"),this.i18nService.t("deleteAttachment"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromises[n.id]=this.deleteCipherAttachment(n.id),[4,this.deletePromises[n.id]];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Deleted Attachment"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedAttachment")),(l=this.cipher.attachments.indexOf(n))>-1&&this.cipher.attachments.splice(l,1),[3,5];case 4:return e.sent(),[3,5];case 5:return this.deletePromises[n.id]=null,this.onDeletedAttachment.emit(),[2]}})})},n.prototype.download=function(n){return t(this,void 0,void 0,function(){var l,e,t,o,i;return u(this,function(u){switch(u.label){case 0:return(l=n).downloading?[2]:this.canAccessAttachments?(l.downloading=!0,[4,fetch(new Request(n.url,{cache:"no-cache"}))]):(this.toasterService.popAsync("error",this.i18nService.t("premiumRequired"),this.i18nService.t("premiumRequiredDesc")),[2]);case 1:if(200!==(e=u.sent()).status)return this.toasterService.popAsync("error",null,this.i18nService.t("errorOccurred")),l.downloading=!1,[2];u.label=2;case 2:return u.trys.push([2,6,,7]),[4,e.arrayBuffer()];case 3:return t=u.sent(),[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 4:return o=u.sent(),[4,this.cryptoService.decryptFromBytes(t,o)];case 5:return i=u.sent(),this.platformUtilsService.saveFile(this.win,i,null,n.fileName),[3,7];case 6:return u.sent(),this.toasterService.popAsync("error",null,this.i18nService.t("errorOccurred")),[3,7];case 7:return l.downloading=!1,[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.saveCipherAttachment=function(n){return this.cipherService.saveAttachmentWithServer(this.cipherDomain,n)},n.prototype.deleteCipherAttachment=function(n){return this.cipherService.deleteAttachmentWithServer(this.cipher.id,n)},n}();l.AttachmentsComponent=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.cipher.login.uris.splice(l,1)}},n.prototype.addField=function(){null==this.cipher.fields&&(this.cipher.fields=[]);var n=new p.FieldView;n.type=this.addFieldType,this.cipher.fields.push(n)},n.prototype.removeField=function(n){var l=this.cipher.fields.indexOf(n);l>-1&&this.cipher.fields.splice(l,1)},n.prototype.cancel=function(){this.onCancelled.emit(this.cipher)},n.prototype.attachments=function(){this.onEditAttachments.emit(this.cipher)},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteItemConfirmation"),this.i18nService.t("deleteItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.deleteCipher(),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Cipher"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedItem")),this.onDeletedCipher.emit(this.cipher),[3,5];case 4:return n.sent(),[3,5];case 5:return[2,!0]}})})},n.prototype.generatePassword=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return null!=this.cipher.login&&null!=this.cipher.login.password&&this.cipher.login.password.length?[4,this.platformUtilsService.showDialog(this.i18nService.t("overwritePasswordConfirmation"),this.i18nService.t("overwritePassword"),this.i18nService.t("yes"),this.i18nService.t("no"))]:[3,2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return this.onGeneratePassword.emit(),[2,!0]}})})},n.prototype.togglePassword=function(){this.analytics.eventTrack.next({action:"Toggled Password on Edit"}),this.showPassword=!this.showPassword,document.getElementById("loginPassword").focus()},n.prototype.toggleCardCode=function(){this.analytics.eventTrack.next({action:"Toggled CardCode on Edit"}),this.showCardCode=!this.showCardCode,document.getElementById("cardCode").focus()},n.prototype.toggleFieldValue=function(n){var l=n;l.showValue=!l.showValue},n.prototype.toggleUriOptions=function(n){var l=n;l.showOptions=(null!=l.showOptions||null==n.match)&&!l.showOptions},n.prototype.loginUriMatchChanged=function(n){var l=n;l.showOptions=null==l.showOptions||l.showOptions},n.prototype.checkPassword=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return null!=this.checkPasswordPromise?[2]:null==this.cipher.login||null==this.cipher.login.password||""===this.cipher.login.password?[2]:(this.analytics.eventTrack.next({action:"Check Password"}),this.checkPasswordPromise=this.auditService.passwordLeaked(this.cipher.login.password),[4,this.checkPasswordPromise]);case 1:return n=l.sent(),this.checkPasswordPromise=null,n>0?this.toasterService.popAsync("warning",null,this.i18nService.t("passwordExposed",n.toString())):this.toasterService.popAsync("success",null,this.i18nService.t("passwordSafe")),[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.encryptCipher=function(){return this.cipherService.encrypt(this.cipher)},n.prototype.saveCipher=function(n){return this.cipherService.saveWithServer(n)},n.prototype.deleteCipher=function(){return this.cipherService.deleteWithServer(this.cipher.id)},n}();l.AddEditComponent=m},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.folders=[]}}();l.UpdateKeyRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(l){var e=n.call(this,l)||this;return e.id=l.id,e}return u(l,n),l}(e(278).FolderRequest);l.FolderWithIdRequest=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0),n(l,6,0,0===l.context.ngIf.length)},null)}function x(n){return t.ɵvid(0,[t.ɵpid(0,p.SearchCiphersPipe,[f.PlatformUtilsService]),t.ɵpid(0,v.I18nPipe,[h.I18nService]),(n()(),t.ɵand(16777216,null,null,2,null,M)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),e.ciphers,e.searchText)))},null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-ciphers",[],null,null,null,x,b)),t.ɵdid(1,49152,null,0,g.CiphersComponent,[m.CipherService,y.Angulartics2,C.ToasterService,h.I18nService,f.PlatformUtilsService],null,null)],null,null)}l.RenderType_CiphersComponent=b,l.View_CiphersComponent_0=x,l.View_CiphersComponent_Host_0=D;var U=t.ɵccf("app-vault-ciphers",g.CiphersComponent,D,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked"},[]);l.CiphersComponentNgFactory=U},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.u2f.init({appId:l[0].appId,challenge:l[0].challenge,keys:[{version:l[0].version,keyHandle:l[0].keyHandle}]}),[3,7]):[3,7];case 2:return this.platformUtilsService.getDevice()===o.DeviceType.SafariExtension?[3,7]:(setTimeout(function(){s.init({iframe:void 0,host:n.Host,sig_request:n.Signature,submit_callback:function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null==(l=n.querySelector('input[name="sig_response"]'))?[3,2]:(this.token=l.value,[4,this.submit()]);case 1:e.sent(),e.label=2;case 2:return[2]}})})}})},0),[3,7]);case 3:return this.twoFactorEmail=n.Email,this.authService.twoFactorProviders.size>1?[4,this.sendEmail(!1)]:[3,5];case 4:r.sent(),r.label=5;case 5:case 6:return[3,7];case 7:return[2]}})})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:if(null==this.token||""===this.token)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("verificationCodeRequired")),[2];if(this.selectedProviderType===i.TwoFactorProviderType.U2f){if(null==this.u2f)return[2];this.u2f.stop()}else this.selectedProviderType!==i.TwoFactorProviderType.Email&&this.selectedProviderType!==i.TwoFactorProviderType.Authenticator||(this.token=this.token.replace(" ","").trim());l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.authService.logInTwoFactor(this.selectedProviderType,this.token,this.remember),[4,this.formPromise];case 2:return l.sent(),null!=this.onSuccessfulLogin&&this.onSuccessfulLogin(),this.analytics.eventTrack.next({action:"Logged In From Two-step"}),null!=this.onSuccessfulLoginNavigate?this.onSuccessfulLoginNavigate():this.router.navigate([this.successRoute]),[3,4];case 3:if(n=l.sent(),this.selectedProviderType!==i.TwoFactorProviderType.U2f||null==this.u2f)throw n;return this.u2f.start(),[3,4];case 4:return[2]}})})},n.prototype.sendEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:if(this.selectedProviderType!==i.TwoFactorProviderType.Email)return[2];if(null!=this.emailPromise)return[2];e.label=1;case 1:return e.trys.push([1,3,,4]),l=new r.TwoFactorEmailRequest(this.authService.email,this.authService.masterPasswordHash),this.emailPromise=this.apiService.postTwoFactorEmail(l),[4,this.emailPromise];case 2:return e.sent(),n&&this.toasterService.popAsync("success",null,this.i18nService.t("verificationCodeEmailSent",this.twoFactorEmail)),[3,4];case 3:return e.sent(),[3,4];case 4:return this.emailPromise=null,[2]}})})},n.prototype.cleanupU2f=function(){null!=this.u2f&&(this.u2f.stop(),this.u2f.cleanup())},n}();l.TwoFactorComponent=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=function(){function n(n){this.componentFactoryResolver=n,this.onClose=new t.EventEmitter,this.onClosed=new t.EventEmitter,this.onShow=new t.EventEmitter,this.onShown=new t.EventEmitter,this.parentContainer=null,this.fade=!0}return n.prototype.ngOnDestroy=function(){document.body.classList.remove("modal-open"),document.body.removeChild(document.querySelector(".modal-backdrop"))},n.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.onShow.emit(),this.parentContainer=l,this.fade=e,document.body.classList.add("modal-open");var u=document.createElement("div");u.className="modal-backdrop"+(this.fade?" fade":""),document.body.appendChild(u);var o=this.componentFactoryResolver.resolveComponentFactory(n),i=this.container.createComponent(o);document.querySelector(".modal-dialog").addEventListener("click",function(n){n.stopPropagation()});for(var r=0,a=Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss="modal"]'));r0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),e[0]),e},n}();l.ValidationService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(17);var t=function(){function n(n,l){this.el=n,this.validationService=l}return n.prototype.ngOnChanges=function(n){var l=this;null!=this.appApiAction&&null!=this.appApiAction.then&&(this.el.nativeElement.loading=!0,this.appApiAction.then(function(n){l.el.nativeElement.loading=!1},function(n){l.el.nativeElement.loading=!1,l.validationService.showError(n)}))},n}();l.ApiActionDirective=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CryptoService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UserService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CipherService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.MessagingService=t},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.success=!1,this.ciphers=[],this.folders=[],this.folderRelationships=[],this.collections=[],this.collectionRelationships=[]}}();l.ImportResult=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(539),u=e(157),o=e(177),i=e(216),r=e(49),a=e(179),s=e(128),d=e(156),c=e(91),p=e(53),f=e(219),v=e(101),h=function(){function n(){this.organization=!1,this.newLineRegex=/(?:\r\n|\r|\n)/,this.passwordFieldNames=["password","pass word","passphrase","pass phrase","pass","code","code word","codeword","secret","secret word","personpwd","key","keyword","key word","keyphrase","key phrase","form_pw","wppassword","pin","pwd","pw","pword","passwd","p","serial","serial#","license key","reg #","passwort"],this.usernameFieldNames=["user","name","user name","username","login name","email","e-mail","id","userid","user id","login","form_loginname","wpname","mail","loginid","login id","log","personlogin","first name","last name","card#","account #","member","member #","nom","benutzername"],this.notesFieldNames=["note","notes","comment","comments","memo","description","free form","freeform","free text","freetext","free","kommentar"],this.uriFieldNames=["url","hyper link","hyperlink","link","host","hostname","host name","server","address","hyper ref","href","web","website","web site","site","web-site","uri","ort","adresse"]}return n.prototype.parseXml=function(n){var l=(new DOMParser).parseFromString(n,"application/xml");return null!=l&&null==l.querySelector("parsererror")?l:null},n.prototype.parseCsv=function(n,l){n=this.splitNewLine(n).join("\n").trim();var e=t.parse(n,{header:l,encoding:"UTF-8",skipEmptyLines:!1});return null!=e.errors&&e.errors.length>0&&e.errors.forEach(function(n){console.warn("Error parsing row "+n.row+": "+n.message)}),e.data&&e.data.length>0?e.data:null},n.prototype.parseSingleRowCsv=function(n){if(this.isNullOrWhitespace(n))return null;var l=this.parseCsv(n,!1);return null!=l&&l.length>0&&l[0].length>0?l[0]:null},n.prototype.makeUriArray=function(n){var l=this;if(null==n)return null;if("string"==typeof n){var e=new i.LoginUriView;return e.uri=this.fixUri(n),this.isNullOrWhitespace(e.uri)?null:(e.match=null,[e])}if(n.length>0){var t=[];return n.forEach(function(n){var e=new i.LoginUriView;e.uri=l.fixUri(n),l.isNullOrWhitespace(e.uri)||(e.match=null,t.push(e))}),0===t.length?null:t}return null},n.prototype.fixUri=function(n){return null==n?null:(-1===(n=n.toLowerCase().trim()).indexOf("://")&&n.indexOf(".")>=0&&(n="http://"+n),n.length>1e3?n.substring(0,1e3):n)},n.prototype.nameFromUrl=function(n){var l=r.Utils.getHostname(n);return this.isNullOrWhitespace(l)?null:l.startsWith("www.")?l.replace("www.",""):l},n.prototype.isNullOrWhitespace=function(n){return null==n||""===n.trim()},n.prototype.getValueOrDefault=function(n,l){return void 0===l&&(l=null),this.isNullOrWhitespace(n)?l:n},n.prototype.splitNewLine=function(n){return n.split(this.newLineRegex)},n.prototype.getCardBrand=function(n){if(this.isNullOrWhitespace(n))return null;var l=new RegExp("^4");return null!=n.match(l)?"Visa":/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/.test(n)?"Mastercard":(l=new RegExp("^3[47]"),null!=n.match(l)?"Amex":(l=new RegExp("^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)"),null!=n.match(l)?"Discover":(l=new RegExp("^36"),null!=n.match(l)?"Diners Club":(l=new RegExp("^30[0-5]"),null!=n.match(l)?"Diners Club":(l=new RegExp("^35(2[89]|[3-8][0-9])"),null!=n.match(l)?"JCB":(l=new RegExp("^(4026|417500|4508|4844|491(3|7))"),null!=n.match(l)?"Visa":null))))))},n.prototype.moveFoldersToCollections=function(n){n.folderRelationships.forEach(function(l){return n.collectionRelationships.push(l)}),n.collections=n.folders.map(function(n){var l=new o.CollectionView;return l.name=n.name,l}),n.folderRelationships=[],n.folders=[]},n.prototype.querySelectorDirectChild=function(n,l){var e=this.querySelectorAllDirectChild(n,l);return 0===e.length?null:e[0]},n.prototype.querySelectorAllDirectChild=function(n,l){return Array.from(n.querySelectorAll(l)).filter(function(l){return l.parentNode===n})},n.prototype.initLoginCipher=function(){var n=new u.CipherView;return n.favorite=!1,n.notes="",n.fields=[],n.login=new d.LoginView,n.type=p.CipherType.Login,n},n.prototype.cleanupCipher=function(n){null!=n&&(n.type!==p.CipherType.Login&&(n.login=null),this.isNullOrWhitespace(n.name)&&(n.name="--"),this.isNullOrWhitespace(n.notes)?n.notes=null:n.notes=n.notes.trim(),null!=n.fields&&0===n.fields.length&&(n.fields=null))},n.prototype.processKvp=function(n,l,e){if(!this.isNullOrWhitespace(e))if(this.isNullOrWhitespace(l)&&(l=""),e.length>200||e.trim().search(this.newLineRegex)>-1)null==n.notes&&(n.notes=""),n.notes+=l+": "+this.splitNewLine(e).join("\n")+"\n";else{null==n.fields&&(n.fields=[]);var t=new a.FieldView;t.type=f.FieldType.Text,t.name=l,t.value=e,n.fields.push(t)}},n.prototype.processFolder=function(n,l){var e=n.folders.length,t=!this.isNullOrWhitespace(l),u=t;if(t)for(var o=0;o-1&&(n="http://"+n),n.startsWith("http://")||n.startsWith("https://"))try{if(null!=o)return new o(n);if("function"==typeof URL)return new URL(n);if(null!=window){var l=window.document.createElement("a");return l.href=n,l}}catch(n){}return null},l.inited=!1,l.isNode=!1,l.isBrowser=!0,l.global=null,l}();l.Utils=i,i.init()}).call(this,e(223),e(103),e(295).Buffer)},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.FolderService=t},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Login=1]="Login",n[n.SecureNote=2]="SecureNote",n[n.Card=3]="Card",n[n.Identity=4]="Identity"}(l.CipherType||(l.CipherType={}))},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.preventDefault()},n}();l.StopClickDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StateService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SyncService=t},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordVerificationRequest=t},,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Authenticator=0]="Authenticator",n[n.Email=1]="Email",n[n.Duo=2]="Duo",n[n.Yubikey=3]="Yubikey",n[n.U2f=4]="U2f",n[n.Remember=5]="Remember",n[n.OrganizationDuo=6]="OrganizationDuo"}(l.TwoFactorProviderType||(l.TwoFactorProviderType={}))},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n){this.el=n}return Object.defineProperty(n.prototype,"appAutofocus",{set:function(n){this.autofocus=""===n||!0===n},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){this.autofocus&&this.el.nativeElement.focus()},n}();l.AutofocusDirective=t},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){n&&(this.type=n.type)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){return null},enumerable:!0,configurable:!0}),n}();l.SecureNoteView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.stopPropagation()},n}();l.StopPropDirective=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(225),i=(e(0),function(n){function l(l){var e=n.call(this,l)||this;return e.el=null,e}return u(l,n),l.prototype.ngOnDestroy=function(){},l.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.parentContainer=l,this.fade=e;var u=this.componentFactoryResolver.resolveComponentFactory(n),i=this.container.createComponent(u),r=Array.from(document.querySelectorAll(".modal"));return r.length>0&&(this.el=o(r[0]),this.el.modal("show"),this.el.on("show.bs.modal",function(){t.onShow.emit()}),this.el.on("shown.bs.modal",function(){t.onShown.emit(),t.el.find("*[appAutoFocus]").focus()}),this.el.on("hide.bs.modal",function(){t.onClose.emit()}),this.el.on("hidden.bs.modal",function(){t.onClosed.emit(),null!=t.parentContainer&&t.parentContainer.clear()})),i.instance},l.prototype.close=function(){null!=this.el&&this.el.modal("hide")},l}(e(837).ModalComponent));l.ModalComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordGenerationService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuthService=t},,,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?n[i]=r||null:n[i]=r?new o.CipherString(r):null}},n.prototype.buildDataModel=function(n,l,e,t){for(var u in void 0===t&&(t=[]),e)if(e.hasOwnProperty(u)){var o=n[e[u]||u];t.indexOf(u)>-1?l[u]=null!=o?o:null:l[u]=null!=o?o.encryptedString:null}},n.prototype.decryptObj=function(n,l,e){return t(this,void 0,void 0,function(){var t,o,i;return u(this,function(u){switch(u.label){case 0:for(i in t=[],o=this,l)l.hasOwnProperty(i)&&function(u){var i=Promise.resolve().then(function(){var n=l[u]||u;return o[n]?o[n].decrypt(e):null}).then(function(l){n[u]=l});t.push(i)}(i);return[4,Promise.all(t)];case 1:return u.sent(),[2,n]}})})},n}();l.default=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Generic=0]="Generic"}(l.SecureNoteType||(l.SecureNoteType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.environmentUrlsKey=n.environmentUrlsKey,this.disableGaKey=n.disableGaKey,this.disableAddLoginNotificationKey=n.disableAddLoginNotificationKey,this.disableContextMenuItemKey=n.disableContextMenuItemKey,this.disableFaviconKey=n.disableFaviconKey,this.disableAutoTotpCopyKey=n.disableAutoTotpCopyKey,this.enableAutoFillOnPageLoadKey=n.enableAutoFillOnPageLoadKey,this.lockOptionKey=n.lockOptionKey,this.lastActiveKey=n.lastActiveKey,this.neverDomainsKey=n.neverDomainsKey,this.installedVersionKey=n.installedVersionKey,this.localeKey=n.localeKey,this.themeKey=n.themeKey}return n.environmentUrlsKey="environmentUrls",n.disableGaKey="disableGa",n.disableAddLoginNotificationKey="disableAddLoginNotification",n.disableContextMenuItemKey="disableContextMenuItem",n.disableFaviconKey="disableFavicon",n.disableAutoTotpCopyKey="disableAutoTotpCopy",n.enableAutoFillOnPageLoadKey="enableAutoFillOnPageLoad",n.lockOptionKey="lockOption",n.lastActiveKey="lastActive",n.neverDomainsKey="neverDomains",n.installedVersionKey="installedVersion",n.localeKey="locale",n.themeKey="theme",n}();l.ConstantsService=t},,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(53),u=e(536),o=e(535),i=e(534),r=e(533),a=e(532),s=e(530),d=function(){return function(n,l,e){var d=this;if(null!=n){switch(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.userId=l,this.edit=n.edit,this.organizationUseTotp=n.organizationUseTotp,this.favorite=n.favorite,this.revisionDate=n.revisionDate,this.type=n.type,this.name=n.name,this.notes=n.notes,this.collectionIds=null!=e?e:n.collectionIds,this.type){case t.CipherType.Login:this.login=new a.LoginData(n.login);break;case t.CipherType.SecureNote:this.secureNote=new s.SecureNoteData(n.secureNote);break;case t.CipherType.Card:this.card=new o.CardData(n.card);break;case t.CipherType.Identity:this.identity=new r.IdentityData(n.identity)}null!=n.fields&&(this.fields=[],n.fields.forEach(function(n){d.fields.push(new i.FieldData(n))})),null!=n.attachments&&(this.attachments=[],n.attachments.forEach(function(n){d.attachments.push(new u.AttachmentData(n))}))}}}();l.CipherData=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.expMonth=null,this._brand=null}return Object.defineProperty(n.prototype,"maskedCode",{get:function(){return null!=this.code?"•".repeat(this.code.length):null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"brand",{get:function(){return this._brand},set:function(n){this._brand=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"number",{get:function(){return this._number},set:function(n){this._number=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null==this._subTitle&&(this._subTitle=this.brand,null!=this.number&&this.number.length>=4&&(null!=this._subTitle&&""!==this._subTitle?this._subTitle+=", ":this._subTitle="",this._subTitle+="*"+this.number.substr(this.number.length-4))),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"expiration",{get:function(){if(!this.expMonth&&!this.expYear)return null;var n=null!=this.expMonth?("0"+this.expMonth).slice(-2):"__";return n+=" / "+(null!=this.expYear?this.formatYear(this.expYear):"____")},enumerable:!0,configurable:!0}),n.prototype.formatYear=function(n){return 2===n.length?"20"+n:n},n}();l.CardView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(42);var t=function(){function n(n){this.sanitizer=n,this.width=45,this.height=45,this.charCount=2,this.textColor="#ffffff",this.fontSize=20,this.fontWeight=300,this.dynamic=!1,this.circle=!1}return n.prototype.ngOnInit=function(){this.dynamic||this.generate()},n.prototype.ngOnChanges=function(){this.dynamic&&this.generate()},n.prototype.generate=function(){var n=null,l=this.data.toUpperCase();this.charCount>1&&(n=this.getFirstLetters(l,this.charCount)),null==n&&(n=l.substr(0,this.charCount));var e=this.getCharText(n),t=this.stringToColor(l),u=this.getSvg(this.width,this.height,t);u.appendChild(e);var o=window.document.createElement("div").appendChild(u).outerHTML,i=window.btoa(unescape(encodeURIComponent(o)));this.src="data:image/svg+xml;base64,"+i},n.prototype.stringToColor=function(n){for(var l=0,e=0;e>8*e&255).toString(16)).substr(-2)}return t},n.prototype.getFirstLetters=function(n,l){var e=n.split(" ");if(e.length>1){for(var t="",u=0;u0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&window.document.body.removeChild(n)}),!this.hidePaypal){window.document.head.removeChild(this.btScript);var n=window.document.head.querySelector("#braintree-dropin-stylesheet");null!=n&&window.document.head.removeChild(n)}},n.prototype.changeMethod=function(){var n=this;"paypal"===this.method?window.setTimeout(function(){window.braintree.dropin.create({authorization:n.platformUtilsService.isDev()?t.btSandbox:t.btProduction,container:"#bt-dropin-container",paymentOptionPriority:["paypal"],paypal:{flow:"vault",buttonStyle:{label:"pay",size:"medium",shape:"pill",color:"blue"}}},function(l,e){null==l?n.btInstance=e:console.error(l)})},250):this.btInstance=null},n.prototype.createPaymentToken=function(){var n=this;return new Promise(function(l,e){if("paypal"===n.method)n.btInstance.requestPaymentMethod().then(function(n){l(n.nonce)}).catch(function(n){e(n.message)});else if("card"===n.method||"bank"===n.method){var t="card"===n.method?window.Stripe.card:window.Stripe.bankAccount,u="card"===n.method?n.card:n.bank;t.createToken(u,function(n,t){200===n&&null!=t.id?l(t.id):null!=t.error?e(t.error.message):e()})}})},n.prototype.getCountry=function(){return this.card.address_country},n}();l.PaymentComponent=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=null,n&&(this.id=n.id)}}();l.FolderView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuditService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(116),i=e(42),r=t.ɵcrt({encapsulation:2,styles:[],data:{}});function a(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"img",[],[[8,"src",4],[8,"title",0]],null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{"rounded-circle":0})],function(n,l){n(l,1,0,n(l,2,0,l.component.circle))},function(n,l){var e=l.component;n(l,0,0,e.sanitizer.bypassSecurityTrustResourceUrl(e.src),t.ɵinlineInterpolate(1,"",e.data,""))})}function s(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-avatar",[],null,null,null,a,r)),t.ɵdid(1,638976,null,0,o.AvatarComponent,[i.DomSanitizer],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AvatarComponent=r,l.View_AvatarComponent_0=a,l.View_AvatarComponent_Host_0=s;var d=t.ɵccf("app-avatar",o.AvatarComponent,s,{data:"data",width:"width",height:"height",charCount:"charCount",textColor:"textColor",fontSize:"fontSize",fontWeight:"fontWeight",dynamic:"dynamic",circle:"circle"},{},[]);l.AvatarComponentNgFactory=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.EnvironmentService=t},,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(17),s=e(46),d=e(125),c=e(4),p=e(9),f=e(20),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,43,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,19,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appAutoFocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,i.NgModel,[[2,i.ControlContainer],[2,i.NG_VALIDATORS],[8,null],[2,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(24,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),t.ɵdid(25,81920,null,0,s.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"");n(l,22,0,"MasterPasswordHash",e.masterPassword);n(l,25,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLoginAuthDesc"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"masterPass"))),n(l,17,0,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,30,0,t.ɵnov(l,1).loading),n(l,32,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"loading")),"")),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"continue"))),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l,0),"close")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-verify",[],null,null,null,h,v)),t.ɵdid(1,49152,null,0,d.TwoFactorVerifyComponent,[c.ApiService,o.I18nService,p.ToasterService,f.CryptoService],null,null)],null,null)}l.RenderType_TwoFactorVerifyComponent=v,l.View_TwoFactorVerifyComponent_0=h,l.View_TwoFactorVerifyComponent_Host_0=g;var m=t.ɵccf("app-two-factor-verify",d.TwoFactorVerifyComponent,g,{type:"type",organizationId:"organizationId"},{onAuthed:"onAuthed"},[]);l.TwoFactorVerifyComponentNgFactory=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?(a=[],[4,this.attachments.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){a.push(n)})},Promise.resolve())]):[3,13];case 12:i.sent(),n.attachments=a,i.label=13;case 13:return null!=this.fields&&this.fields.length>0?(d=[],[4,this.fields.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){d.push(n)})},Promise.resolve())]):[3,15];case 14:i.sent(),n.fields=d,i.label=15;case 15:return[2,n]}})})},l.prototype.toCipherData=function(n){var l=new a.CipherData;switch(l.id=this.id,l.organizationId=this.organizationId,l.folderId=this.folderId,l.userId=null!=this.organizationId?n:null,l.edit=this.edit,l.organizationUseTotp=this.organizationUseTotp,l.favorite=this.favorite,l.revisionDate=this.revisionDate,l.type=this.type,l.collectionIds=this.collectionIds,this.buildDataModel(this,l,{name:null,notes:null}),l.type){case r.CipherType.Login:l.login=this.login.toLoginData();break;case r.CipherType.SecureNote:l.secureNote=this.secureNote.toSecureNoteData();break;case r.CipherType.Card:l.card=this.card.toCardData();break;case r.CipherType.Identity:l.identity=this.identity.toIdentityData()}return null!=this.fields&&(l.fields=[],this.fields.forEach(function(n){l.fields.push(n.toFieldData())})),null!=this.attachments&&(l.attachments=[],this.attachments.forEach(function(n){l.attachments.push(n.toAttachmentData())})),l},l}(p.default);l.Cipher=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(177),i=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{id:null,organizationId:null,name:null,readOnly:null},e,["id","organizationId","readOnly"]),t)}return u(l,n),l.prototype.decrypt=function(){return this.decryptObj(new o.CollectionView(this),{name:null},this.organizationId)},l}(e(100).default);l.Collection=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){}return Object.defineProperty(n.prototype,"uri",{get:function(){return this.hasUris?this.uris[0].uri:null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"maskedPassword",{get:function(){return null!=this.password?"••••••••":null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return this.username},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"canLaunch",{get:function(){return this.hasUris&&this.uris[0].canLaunch},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasUris",{get:function(){return null!=this.uris&&this.uris.length>0},enumerable:!0,configurable:!0}),n}();l.LoginView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(53),u=function(){function n(n){this.favorite=!1,this.organizationUseTotp=!1,this.edit=!1,n&&(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.favorite=n.favorite,this.organizationUseTotp=n.organizationUseTotp,this.edit=n.edit,this.type=n.type,this.localData=n.localData,this.collectionIds=n.collectionIds)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){switch(this.type){case t.CipherType.Login:return this.login.subTitle;case t.CipherType.SecureNote:return this.secureNote.subTitle;case t.CipherType.Card:return this.card.subTitle;case t.CipherType.Identity:return this.identity.subTitle}return null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasAttachments",{get:function(){return this.attachments&&this.attachments.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasFields",{get:function(){return this.fields&&this.fields.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"login_username",{get:function(){return null!=this.login?this.login.username:null},enumerable:!0,configurable:!0}),n}();l.CipherView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(53),u=function(){return function(n){var l=this;switch(this.type=n.type,this.folderId=n.folderId,this.organizationId=n.organizationId,this.name=n.name?n.name.encryptedString:null,this.notes=n.notes?n.notes.encryptedString:null,this.favorite=n.favorite,this.type){case t.CipherType.Login:this.login={uris:null,username:n.login.username?n.login.username.encryptedString:null,password:n.login.password?n.login.password.encryptedString:null,totp:n.login.totp?n.login.totp.encryptedString:null},n.login.uris&&(this.login.uris=[],n.login.uris.forEach(function(n){l.login.uris.push({uri:n.uri?n.uri.encryptedString:null,match:null!=n.match?n.match:null})}));break;case t.CipherType.SecureNote:this.secureNote={type:n.secureNote.type};break;case t.CipherType.Card:this.card={cardholderName:n.card.cardholderName?n.card.cardholderName.encryptedString:null,brand:n.card.brand?n.card.brand.encryptedString:null,number:n.card.number?n.card.number.encryptedString:null,expMonth:n.card.expMonth?n.card.expMonth.encryptedString:null,expYear:n.card.expYear?n.card.expYear.encryptedString:null,code:n.card.code?n.card.code.encryptedString:null};break;case t.CipherType.Identity:this.identity={title:n.identity.title?n.identity.title.encryptedString:null,firstName:n.identity.firstName?n.identity.firstName.encryptedString:null,middleName:n.identity.middleName?n.identity.middleName.encryptedString:null,lastName:n.identity.lastName?n.identity.lastName.encryptedString:null,address1:n.identity.address1?n.identity.address1.encryptedString:null,address2:n.identity.address2?n.identity.address2.encryptedString:null,address3:n.identity.address3?n.identity.address3.encryptedString:null,city:n.identity.city?n.identity.city.encryptedString:null,state:n.identity.state?n.identity.state.encryptedString:null,postalCode:n.identity.postalCode?n.identity.postalCode.encryptedString:null,country:n.identity.country?n.identity.country.encryptedString:null,company:n.identity.company?n.identity.company.encryptedString:null,email:n.identity.email?n.identity.email.encryptedString:null,phone:n.identity.phone?n.identity.phone.encryptedString:null,ssn:n.identity.ssn?n.identity.ssn.encryptedString:null,username:n.identity.username?n.identity.username.encryptedString:null,passportNumber:n.identity.passportNumber?n.identity.passportNumber.encryptedString:null,licenseNumber:n.identity.licenseNumber?n.identity.licenseNumber.encryptedString:null}}n.fields&&(this.fields=[],n.fields.forEach(function(n){l.fields.push({type:n.type,name:n.name?n.name.encryptedString:null,value:n.value?n.value.encryptedString:null})})),n.attachments&&(this.attachments={},n.attachments.forEach(function(n){l.attachments[n.id]=n.fileName?n.fileName.encryptedString:null}))}}();l.CipherRequest=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Android=0]="Android",n[n.iOS=1]="iOS",n[n.ChromeExtension=2]="ChromeExtension",n[n.FirefoxExtension=3]="FirefoxExtension",n[n.OperaExtension=4]="OperaExtension",n[n.EdgeExtension=5]="EdgeExtension",n[n.WindowsDesktop=6]="WindowsDesktop",n[n.MacOsDesktop=7]="MacOsDesktop",n[n.LinuxDesktop=8]="LinuxDesktop",n[n.ChromeBrowser=9]="ChromeBrowser",n[n.FirefoxBrowser=10]="FirefoxBrowser",n[n.OperaBrowser=11]="OperaBrowser",n[n.EdgeBrowser=12]="EdgeBrowser",n[n.IEBrowser=13]="IEBrowser",n[n.UnknownBrowser=14]="UnknownBrowser",n[n.AndroidAmazon=15]="AndroidAmazon",n[n.UWP=16]="UWP",n[n.SafariBrowser=17]="SafariBrowser",n[n.VivaldiBrowser=18]="VivaldiBrowser",n[n.VivaldiExtension=19]="VivaldiExtension",n[n.SafariExtension=20]="SafariExtension"}(l.DeviceType||(l.DeviceType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.subscribers=new Map}return n.prototype.send=function(n,l){null==l?this.subscribers.forEach(function(l){l(n)}):this.subscribers.has(l)&&this.subscribers.get(l)(n)},n.prototype.subscribe=function(n,l){this.subscribers.has(n)||this.subscribers.set(n,l)},n.prototype.unsubscribe=function(n){this.subscribers.has(n)&&this.subscribers.delete(n)},n}();l.BroadcasterService=t},,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Owner=0]="Owner",n[n.Admin=1]="Admin",n[n.User=2]="User"}(l.OrganizationUserType||(l.OrganizationUserType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(2);var t=e(159),u=e(727),o=function(){function n(n){this.i18nService=n}return n.prototype.getDefaultDateFilters=function(){var n=new Date,l=new Date(n.getFullYear(),n.getMonth(),n.getDate(),23,59);n.setDate(n.getDate()-30);var e=new Date(n.getFullYear(),n.getMonth(),n.getDate(),0,0);return[this.toDateTimeLocalString(e),this.toDateTimeLocalString(l)]},n.prototype.formatDateFilters=function(n,l){var e=new Date(n),t=new Date(l+":59.999");if(isNaN(e.getTime())||isNaN(t.getTime())||t"+e+"";var t=this.makeAnchor(e);return t.setAttribute("href","#/organizations/"+n.organizationId+"/vault?search="+e+"&viewEvents="+n.cipherId),t.outerHTML},n.prototype.formatGroupId=function(n){var l=this.getShortId(n.groupId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/groups?search="+l),e.outerHTML},n.prototype.formatCollectionId=function(n){var l=this.getShortId(n.collectionId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/collections?search="+l),e.outerHTML},n.prototype.formatOrgUserId=function(n){var l=this.getShortId(n.organizationUserId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/people?search="+l+"&viewEvents="+n.organizationUserId),e.outerHTML},n.prototype.makeAnchor=function(n){var l=document.createElement("a");return l.title=this.i18nService.t("view"),l.innerHTML=""+n+"",l},n.prototype.getShortId=function(n){return n.substring(0,8)},n.prototype.toDateTimeLocalString=function(n){return n.getFullYear()+"-"+this.pad(n.getMonth()+1)+"-"+this.pad(n.getDate())+"T"+this.pad(n.getHours())+":"+this.pad(n.getMinutes())},n.prototype.pad=function(n){var l=Math.floor(Math.abs(n));return(l<10?"0":"")+l},n}();l.EventService=o;var i=function(){return function(){}}();l.EventInfo=i;var r=function(){return function(){this.cipherInfo=!0}}();l.EventOptions=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.ExportService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){n&&(this.id=n.id,this.organizationId=n.organizationId,this.readOnly=n.readOnly)}}();l.CollectionView=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0))return[3,4];u.label=1;case 1:return u.trys.push([1,3,,4]),[4,this.getFileContents(e[0])];case 2:return null!=(o=u.sent())&&(t=o),[3,4];case 3:return u.sent(),[3,4];case 4:return null==t||""===t?(this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),[2]):[4,n.parse(t)];case 5:if(!(i=u.sent()).success)return[3,10];if(0===i.folders.length&&0===i.ciphers.length)return this.error(this.i18nService.t("importNothingError")),[2];if(i.ciphers.length>0&&(r=Math.floor(i.ciphers.length/2),a=i.ciphers.length-1,this.badData(i.ciphers[0])&&this.badData(i.ciphers[r])&&this.badData(i.ciphers[a])))return this.error(this.i18nService.t("importFormatError")),[2];u.label=6;case 6:return u.trys.push([6,8,,9]),this.formPromise=this.postImport(i),[4,this.formPromise];case 7:return u.sent(),this.analytics.eventTrack.next({action:"Imported Data",properties:{label:this.format}}),this.toasterService.popAsync("success",null,this.i18nService.t("importSuccess")),this.router.navigate(this.successNavigate),[3,9];case 8:return u.sent(),[3,9];case 9:return[3,11];case 10:this.error(this.i18nService.t("importFormatError")),u.label=11;case 11:return[2]}})})},n.prototype.getFormatInstructionTitle=function(){var n=this;if(null==this.format)return null;var l=this.featuredImportOptions.concat(this.importOptions).filter(function(l){return l.id===n.format});return l.length>0?this.i18nService.t("instructionsFor",l[0].name):null},n.prototype.postImport=function(n){return t(this,void 0,void 0,function(){var l,e,t,s;return u(this,function(u){switch(u.label){case 0:l=new r.ImportCiphersRequest,t=0,u.label=1;case 1:return t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1},enumerable:!0,configurable:!0}),n}();l.LoginUriView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.title=null}return Object.defineProperty(n.prototype,"firstName",{get:function(){return this._firstName},set:function(n){this._firstName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"lastName",{get:function(){return this._lastName},set:function(n){this._lastName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null!=this._subTitle||null==this.firstName&&null==this.lastName||(this._subTitle="",null!=this.firstName&&(this._subTitle=this.firstName),null!=this.lastName&&(""!==this._subTitle&&(this._subTitle+=" "),this._subTitle+=this.lastName)),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"fullName",{get:function(){if(null!=this.title||null!=this.firstName||null!=this.middleName||null!=this.lastName){var n="";return null!=this.title&&(n+=this.title+" "),null!=this.firstName&&(n+=this.firstName+" "),null!=this.middleName&&(n+=this.middleName+" "),null!=this.lastName&&(n+=this.lastName),n.trim()}return null},enumerable:!0,configurable:!0}),n}();l.IdentityView=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]500?500:this.ciphers.length,e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]t){if(o===i.TwoFactorProviderType.U2f&&!n)return;e=o,t=r.priority}}),e},n.prototype.logInHelper=function(n,l,e,t,c,p){return u(this,void 0,void 0,function(){var u,f,v,h,g,m,y,C,b,S;return o(this,function(o){switch(o.label){case 0:return[4,this.tokenService.getTwoFactorToken(n)];case 1:return u=o.sent(),[4,this.appIdService.getAppId()];case 2:return f=o.sent(),v=new a.DeviceRequest(f,this.platformUtilsService),h=null!=c&&null!=t?new d.TokenRequest(n,l,t,c,p,v):null!=u?new d.TokenRequest(n,l,i.TwoFactorProviderType.Remember,u,!1,v):new d.TokenRequest(n,l,null,null,!1,v),[4,this.apiService.postIdentityToken(h)];case 3:return g=o.sent(),this.clearState(),(m=new r.AuthResult).twoFactor=!g.accessToken,m.twoFactor?(y=g,this.email=n,this.masterPasswordHash=l,this.key=this.setCryptoKeys?e:null,this.twoFactorProviders=y.twoFactorProviders2,m.twoFactorProviders=y.twoFactorProviders2,[2,m]):(null!=(C=g).twoFactorToken&&this.tokenService.setTwoFactorToken(C.twoFactorToken,n),[4,this.tokenService.setTokens(C.accessToken,C.refreshToken)]);case 4:return o.sent(),[4,this.userService.setUserIdAndEmail(this.tokenService.getUserId(),this.tokenService.getEmail())];case 5:return o.sent(),this.setCryptoKeys?[4,this.cryptoService.setKey(e)]:[3,15];case 6:return o.sent(),[4,this.cryptoService.setKeyHash(l)];case 7:return o.sent(),[4,this.cryptoService.setEncKey(C.key)];case 8:if(o.sent(),null!=C.privateKey)return[3,13];o.label=9;case 9:return o.trys.push([9,12,,13]),[4,this.cryptoService.makeKeyPair()];case 10:return b=o.sent(),[4,this.apiService.postAccountKeys(new s.KeysRequest(b[0],b[1].encryptedString))];case 11:return o.sent(),C.privateKey=b[1].encryptedString,[3,13];case 12:return S=o.sent(),console.error(S),[3,13];case 13:return[4,this.cryptoService.setEncPrivateKey(C.privateKey)];case 14:o.sent(),o.label=15;case 15:return this.messagingService.send("loggedIn"),[2,m]}})})},n.prototype.clearState=function(){this.email=null,this.masterPasswordHash=null,this.twoFactorProviders=null,this.selectedTwoFactorProviderType=null},n}();l.AuthService=c},,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=n.Id,this.readOnly=n.ReadOnly}}();l.SelectionReadOnlyResponse=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&l[0].status===i.OrganizationUserStatusType.Confirmed&&this.events(l[0]),[2]})})}),[2]}})})}),[2]})})},n.prototype.load=function(){return t(this,void 0,void 0,function(){var n,l=this;return u(this,function(e){switch(e.label){case 0:return[4,this.apiService.getOrganizationUsers(this.organizationId)];case 1:return n=e.sent(),this.statusMap.clear(),this.allUsers=null!=n.data&&n.data.length>0?n.data:[],this.allUsers.sort(a.Utils.getSortFunction(this.i18nService,"email")),this.allUsers.forEach(function(n){l.statusMap.has(n.status)?l.statusMap.get(n.status).push(n):l.statusMap.set(n.status,[n])}),this.filter(this.status),this.loading=!1,[2]}})})},n.prototype.filter=function(n){this.status=n,null!=this.status?this.users=this.statusMap.get(this.status):this.users=this.allUsers},Object.defineProperty(n.prototype,"invitedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Invited)?this.statusMap.get(i.OrganizationUserStatusType.Invited).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"acceptedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Accepted)?this.statusMap.get(i.OrganizationUserStatusType.Accepted).length:0},enumerable:!0,configurable:!0}),n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(c.UserAddEditComponent,this.addEditModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedUser.subscribe(function(){l.modal.close(),l.removeUser(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.invite=function(){this.edit(null)},n.prototype.groups=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.groupsModalRef.createComponent(e).instance;var t=this.modal.show(p.UserGroupsComponent,this.groupsModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close()}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.remove=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),n.name||n.email,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteOrganizationUser(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",n.name||n.email)),this.removeUser(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.reinvite=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.apiService.postOrganizationUserReinvite(this.organizationId,n.id),[4,this.actionPromise]);case 1:return l.sent(),this.analytics.eventTrack.next({action:"Reinvited User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenReinvited",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.confirm=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.doConfirmation(n),[4,this.actionPromise]);case 1:return l.sent(),n.status=i.OrganizationUserStatusType.Confirmed,this.analytics.eventTrack.next({action:"Confirmed User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenConfirmed",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.events=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(d.EntityEventsComponent,this.eventsModalRef)).name=n.name||n.email,e.organizationId=this.organizationId,e.entityId=n.id,e.showUser=!1,e.entity="user",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.doConfirmation=function(n){return t(this,void 0,void 0,function(){var l,e,t,i,r;return u(this,function(u){switch(u.label){case 0:return[4,this.cryptoService.getOrgKey(this.organizationId)];case 1:return l=u.sent(),[4,this.apiService.getUserPublicKey(n.userId)];case 2:return e=u.sent(),t=a.Utils.fromB64ToArray(e.publicKey),[4,this.cryptoService.rsaEncrypt(l.key,t.buffer)];case 3:return i=u.sent(),(r=new o.OrganizationUserConfirmRequest).key=i.encryptedString,[4,this.apiService.postOrganizationUserConfirm(this.organizationId,n.id,r)];case 4:return u.sent(),[2]}})})},n.prototype.removeUser=function(n){var l=this.users.indexOf(n);l>-1&&this.users.splice(l,1)},n}();l.PeopleComponent=f},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?n.data:[]).sort(o.Utils.getSortFunction(this.i18nService,"name")),this.groups=l,this.loading=!1,[2]}})})},n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(i.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(a.GroupAddEditComponent,this.addEditModalRef);t.organizationId=this.organizationId,t.groupId=null!=n?n.id:null,t.onSavedGroup.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedGroup.subscribe(function(){l.modal.close(),l.removeGroup(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.add=function(){this.edit(null)},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),n.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteGroup(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",n.name)),this.removeGroup(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.users=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(i.ModalComponent);this.modal=this.usersModalRef.createComponent(e).instance;var t=this.modal.show(r.EntityUsersComponent,this.usersModalRef);t.organizationId=this.organizationId,t.entity="group",t.entityId=n.id,t.entityName=n.name,this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.removeGroup=function(n){var l=this.groups.indexOf(n);l>-1&&this.groups.splice(l,1)},n}();l.GroupsComponent=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EventsComponent=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Invited=0]="Invited",n[n.Accepted=1]="Accepted",n[n.Confirmed=2]="Confirmed"}(l.OrganizationUserStatusType||(l.OrganizationUserStatusType={}))},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.users.splice(l,1),[3,8];case 7:return e.sent(),[3,8];case 8:return[2]}})})},n}();l.EntityUsersComponent=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.id=n,this.readOnly=l}}();l.SelectionReadOnlyRequest=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.collections.splice(l,1)},n}();l.CollectionsComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.transform=function(n,l,e,t,u){return null==n||0===n.length?[]:null==l||l.length<2?n:(l=l.trim().toLowerCase(),n.filter(function(n){return null!=e&&null!=n[e]&&n[e].toString().toLowerCase().indexOf(l)>-1||(null!=t&&null!=n[t]&&n[t].toString().toLowerCase().indexOf(l)>-1||null!=u&&null!=n[u]&&n[u].toString().toLowerCase().indexOf(l)>-1)}))},n}();l.SearchPipe=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EntityEventsComponent=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.viewEvents(e[0]),[2]}})})}),[2]}})})})},n.prototype.clearGroupingFilters=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchVault"),[4,this.ciphersComponent.applyFilter()];case 1:return n.sent(),this.clearFilters(),this.go(),[2]}})})},n.prototype.filterCipherType=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchType"),e=function(l){return l.type===n},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.type=n,this.go(),[2]}})})},n.prototype.filterCollection=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchCollection"),e=function(l){return"unassigned"===n?null==l.collectionIds||0===l.collectionIds.length:l.collectionIds.indexOf(n)>-1},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n},n.prototype.editCipherAttachments=function(n){var l=this;if(null!=this.organization.maxStorageGb&&0!==this.organization.maxStorageGb){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.attachmentsModalRef.createComponent(e).instance;var i=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef);i.organization=this.organization,i.cipherId=n.id;var r=!1;i.onUploadedAttachment.subscribe(function(){return r=!0}),i.onDeletedAttachment.subscribe(function(){return r=!0}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,r?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return r=!1,[2]}})})})}else this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var i=this.modal.show(s.CollectionsComponent,this.collectionsModalRef);this.organization.isAdmin&&(i.collectionIds=n.collectionIds,i.collections=this.groupingsComponent.collections.filter(function(n){return!n.readOnly})),i.organization=this.organization,i.cipherId=n.id,i.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addCipher=function(){this.editCipher(null).type=this.type},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var i=this.modal.show(r.AddEditComponent,this.cipherAddEditModalRef);return i.organization=this.organization,i.cipherId=null==n?null:n.id,i.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),i.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),i},n.prototype.viewEvents=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(i.EntityEventsComponent,this.eventsModalRef)).name=n.name,e.organizationId=this.organization.id,e.entityId=n.id,e.showUser=!0,e.entity="cipher",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.clearFilters=function(){this.collectionId=null,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={type:this.type,collectionId:this.collectionId});var l=this.router.createUrlTree(["organizations",this.organization.id,"vault"],{queryParams:n}).toString();this.location.go(l)},n}());l.VaultComponent=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1}),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.submit=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.cipherDomain.collectionIds=this.collections.filter(function(n){return!!n.checked}).map(function(n){return n.id}),this.formPromise=this.saveCollections(),[4,this.formPromise];case 1:return n.sent(),this.onSavedCollections.emit(),this.analytics.eventTrack.next({action:"Edited Cipher Collections"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedItem")),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.loadCipherCollections=function(){return this.cipherDomain.collectionIds},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n=this;return u(this,function(l){switch(l.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,l.sent().filter(function(l){return!l.readOnly&&l.organizationId===n.cipher.organizationId})]}})})},n.prototype.saveCollections=function(){return this.cipherService.saveCollectionsWithServer(this.cipherDomain)},n}());l.CollectionsComponent=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(12),e(3),e(26),e(20),e(2),e(8),e(35);var o=function(n){function l(l,e,t,u,o,i,r){return n.call(this,l,e,t,u,o,i,r,window)||this}return u(l,n),l}(e(800).AttachmentsComponent);l.AttachmentsComponent=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1})];case 1:return l.sent(),this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n},n.prototype.editCipherAttachments=function(n){return t(this,void 0,void 0,function(){var l,e,i,r,s,d=this;return u(this,function(c){switch(c.label){case 0:return[4,this.tokenService.getPremium()];case 1:return l=c.sent(),null!=n.organizationId||l?[3,2]:(this.messagingService.send("premiumRequired"),[2]);case 2:return null==n.organizationId?[3,4]:[4,this.userService.getOrganization(n.organizationId)];case 3:if(null!=(e=c.sent())&&(null==e.maxStorageGb||0===e.maxStorageGb))return this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId}),[2];c.label=4;case 4:return null!=this.modal&&this.modal.close(),i=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.attachmentsModalRef.createComponent(i).instance,(r=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef)).cipherId=n.id,s=!1,r.onUploadedAttachment.subscribe(function(){return s=!0}),r.onDeletedAttachment.subscribe(function(){return s=!0}),this.modal.onClosed.subscribe(function(){return t(d,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,s?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return s=!1,[2]}})})}),[2]}})})},n.prototype.shareCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.shareModalRef.createComponent(e).instance;var i=this.modal.show(v.ShareComponent,this.shareModalRef);i.cipherId=n.id,i.onSharedCipher.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var i=this.modal.show(p.CollectionsComponent,this.collectionsModalRef);i.cipherId=n.id,i.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addFolder=function(){return t(this,void 0,void 0,function(){var n,l,e=this;return u(this,function(i){return null!=this.modal&&this.modal.close(),n=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(n).instance,(l=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=null,l.onSavedFolder.subscribe(function(){return t(e,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){e.modal=null}),[2]})})},n.prototype.editFolder=function(n){return t(this,void 0,void 0,function(){var l,e,i=this;return u(this,function(r){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(l).instance,(e=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=n,e.onSavedFolder.subscribe(function(){return t(i,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),e.onDeletedFolder.subscribe(function(){return t(i,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[4,this.filterFolder("none")];case 2:return n.sent(),this.groupingsComponent.selectedFolderId=null,[2]}})})}),this.modal.onClosed.subscribe(function(){i.modal=null}),[2]})})},n.prototype.addCipher=function(){var n=this.editCipher(null);n.type=this.type,n.folderId="none"===this.folderId?null:this.folderId},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var i=this.modal.show(r.AddEditComponent,this.cipherAddEditModalRef);return i.cipherId=null==n?null:n.id,i.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),i.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),i},n.prototype.bulkDelete=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkDeleteModalRef.createComponent(e).instance;var i=this.modal.show(s.BulkDeleteComponent,this.bulkDeleteModalRef);i.cipherIds=l,i.onDeleted.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkShare=function(){var n=this,l=this.ciphersComponent.getSelected();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkShareModalRef.createComponent(e).instance;var i=this.modal.show(c.BulkShareComponent,this.bulkShareModalRef);i.ciphers=l,i.onShared.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkMove=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkMoveModalRef.createComponent(e).instance;var i=this.modal.show(d.BulkMoveComponent,this.bulkMoveModalRef);i.cipherIds=l,i.onMoved.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.selectAll=function(n){this.ciphersComponent.selectAll(n)},n.prototype.updateKey=function(){var n=this;null!=this.modal&&this.modal.close();var l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.updateKeyModalRef.createComponent(l).instance,this.modal.show(i.UpdateKeyComponent,this.updateKeyModalRef),this.modal.onClosed.subscribe(function(){n.modal=null})},n.prototype.clearFilters=function(){this.folderId=null,this.collectionId=null,this.favorites=!1,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={favorites:!!this.favorites||null,type:this.type,folderId:this.folderId,collectionId:this.collectionId});var l=this.router.createUrlTree(["vault"],{queryParams:n}).toString();this.location.go(l)},n.prototype.inOrgWithPremium=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.userService.getAllOrganizations()];case 1:for(n=e.sent(),l=0;l0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?(n="http://"+n,l=!0):this.imageEnabled&&(l=0===n.indexOf("http")&&n.indexOf(".")>-1),this.imageEnabled&&l)try{this.image=this.iconsUrl+"/"+r.Utils.getHostname(n)+"/icon.png",this.fallbackImage="images/fa-globe.png"}catch(n){}}else this.image=null},n}();l.IconComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.ngOnInit=function(){document.body.classList.remove("layout_frontend")},n}();l.UserLayoutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(8);var t=function(){function n(n){this.platformUtilsService=n,this.year="2015"}return n.prototype.ngOnInit=function(){this.year=(new Date).getFullYear().toString(),this.version=this.platformUtilsService.getApplicationVersion()},n}();l.FooterComponent=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(n.email=l.email),null!=l.premium?n.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=l.org&&(n.showCreateOrgMessage=!0,n.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:l.org}}))})},l}(e(830).RegisterComponent);l.RegisterComponent=o},function(n,l,e){var t,u,o;u=[],void 0===(o="function"==typeof(t=function(){var n,l,e,t,u,o=/^(?:AUTH|ENROLL)+\|[A-Za-z0-9\+\/=]+\|[A-Za-z0-9\+\/=]+$/,i=/^ERR\|[\w\s\.\(\)]+$/,r=/^DUO_OPEN_WINDOW\|/,a=["duo.com","duosecurity.com","duomobile.s3-us-west-1.amazonaws.com"],s="duo_iframe",d="",c="sig_response";function p(n,l){throw new Error("Duo Web SDK error: "+n+(l?"\nSee "+l+" for more information":""))}function f(n,l){return"dataset"in n?n.dataset[l]:n.getAttribute("data-"+l.replace(/([a-z])([A-Z])/,"$1-$2").toLowerCase())}function v(n,l,e,t){"addEventListener"in window?n.addEventListener(l,t,!1):n.attachEvent(e,t)}function h(n,l,e,t){"removeEventListener"in window?n.removeEventListener(l,t,!1):n.detachEvent(e,t)}function g(n){v(document,"DOMContentLoaded","onreadystatechange",n)}function m(n){h(document,"DOMContentLoaded","onreadystatechange",n)}function y(n){if(n){0===n.indexOf("ERR|")&&p(n.split("|")[1]),-1!==n.indexOf(":")&&2===n.split(":").length||p("Duo was given a bad token. This might indicate a configuration problem with one of Duo's client libraries.","https://www.duosecurity.com/docs/duoweb#first-steps");var t=n.split(":");return l=t[0],e=t[1],{sigRequest:n,duoSig:t[0],appSig:t[1]}}}function C(){if(!(t=document.getElementById(s)))throw new Error('This page does not contain an iframe for Duo to use.Add an element like to this page. See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe for more information.');w(),m(C)}function b(l){return Boolean(l.origin==="https://"+n&&"string"==typeof l.data&&(l.data.match(o)||l.data.match(i)||l.data.match(r)))}function S(n){if(b(n))if(n.data.match(r)){var l=n.data.substring("DUO_OPEN_WINDOW|".length);(function(n){if(!n)return!1;var l=document.createElement("a");if(l.href=n,"duotrustedendpoints:"===l.protocol)return!0;if("https:"!==l.protocol)return!1;for(var e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(this.email=e.email),null!=e.premium?this.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=e.org&&this.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:e.org}}),[4,n.prototype.ngOnInit.call(this)];case 1:return l.sent(),[2]}})})}),[2]})})},l.prototype.goAfterLogIn=function(){return o(this,void 0,void 0,function(){var n,l;return i(this,function(e){switch(e.label){case 0:return[4,this.stateService.get("orgInvitation")];case 1:return null==(n=e.sent())?[3,2]:(this.router.navigate(["accept-organization"],{queryParams:n}),[3,6]);case 2:return[4,this.stateService.get("loginRedirect")];case 3:return null==(l=e.sent())?[3,5]:(this.router.navigate([l.route],{queryParams:l.qParams}),[4,this.stateService.remove("loginRedirect")]);case 4:return e.sent(),[3,6];case 5:this.router.navigate([this.successRoute]),e.label=6;case 6:return[2]}})})},l}(e(850).LoginComponent);l.LoginComponent=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(8);var t=function(){function n(n){this.platformUtilsService=n}return n.prototype.ngOnInit=function(){this.version=this.platformUtilsService.getApplicationVersion(),document.body.classList.add("layout_frontend")},n.prototype.ngOnDestroy=function(){document.body.classList.remove("layout_frontend")},n}();l.FrontendLayoutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SettingsService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.LockService=t},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=n.length&&(n=Array(l+1-n.length).join(e)+n),n},n.prototype.dec2hex=function(n){return(n<15.5?"0":"")+Math.round(n).toString(16)},n.prototype.hex2dec=function(n){return parseInt(n,16)},n.prototype.b32tohex=function(n){n=n.toUpperCase();for(var l="",e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&n.push(l.domains)}),[2,this.settingsService.setEquivalentDomains(n)]})})},n}();l.SyncService=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.state={}}return n.prototype.get=function(n){return this.state.hasOwnProperty(n)?Promise.resolve(this.state[n]):Promise.resolve(null)},n.prototype.save=function(n,l){return this.state[n]=l,Promise.resolve()},n.prototype.remove=function(n){return delete this.state[n],Promise.resolve()},n.prototype.purge=function(){return this.state={},Promise.resolve()},n}();l.StateService=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0)for(p=0;p0)for(p=0;p0)for(p=0;p0)for(p=0;p100&&l.pop(),[4,this.encryptHistory(l)]);case 3:return e=t.sent(),[4,this.storageService.save(s,e)];case 4:return[2,t.sent()]}})})},n.prototype.clear=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.history=[],[4,this.storageService.remove(s)];case 1:return[2,n.sent()]}})})},n.prototype.encryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(o){switch(o.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.encrypt(n.password)];case 1:return l=e.sent(),[2,new i.PasswordHistory(l.encryptedString,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,o.sent()]}})})},n.prototype.decryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(r){switch(r.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.decryptToUtf8(new o.CipherString(n.password))];case 1:return l=e.sent(),[2,new i.PasswordHistory(l,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,r.sent()]}})})},n.prototype.matchesPrevious=function(n,l){return null!=l&&0!==l.length&&l[l.length-1].password===n},n.prototype.shuffleArray=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:e=n.length-1,u.label=1;case 1:return e>0?[4,this.cryptoService.randomNumber(0,e)]:[3,4];case 2:t=u.sent(),l=[n[t],n[e]],n[e]=l[0],n[t]=l[1],u.label=3;case 3:return e--,[3,1];case 4:return[2]}})})},n}();l.PasswordGenerationService=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=e?[4,this.lock()]:[3,6]);case 5:t.sent(),t.label=6;case 6:return[2]}})})},n.prototype.lock=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,Promise.all([this.cryptoService.clearKey(),this.cryptoService.clearOrgKeys(!0),this.cryptoService.clearKeyPair(!0),this.cryptoService.clearEncKey(!0)])];case 1:return n.sent(),this.folderService.clearCache(),this.cipherService.clearCache(),this.collectionService.clearCache(),this.messagingService.send("locked"),null==this.lockedCallback?[3,3]:[4,this.lockedCallback()];case 2:n.sent(),n.label=3;case 3:return[2]}})})},n.prototype.setLockOption=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.storageService.save(o.ConstantsService.lockOptionKey,n)];case 1:return l.sent(),[4,this.cryptoService.toggleKey()];case 2:return l.sent(),[2]}})})},n}();l.LockService=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.cipherService.upsert(o)}return[2]}})})},n.prototype.deleteWithServer=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.apiService.deleteFolder(n)];case 1:return l.sent(),[4,this.delete(n)];case 2:return l.sent(),[2]}})})},n}();l.FolderService=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=0;r--)(u=n[r])&&(i=(o<3?u(i):o>3?u(l,e,i):u(l,e))||i);return o>3&&i&&Object.defineProperty(l,e,i),i},u=this&&this.__metadata||function(n,l){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,l)},o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?[2,this.orgKeys]:[4,this.storageService.get(h)];case 1:if(null==(n=i.sent()))return[2,null];for(u in l=new Map,e=!1,t=[],n)t.push(u);o=0,i.label=2;case 2:return o53)throw new Error("We cannot generate numbers larger than 53 bits.");return o=Math.ceil(u/8),r=Math.pow(2,u)-1,s=Uint8Array.bind,[4,this.cryptoFunctionService.randomBytes(o)];case 1:for(a=new(s.apply(Uint8Array,[void 0,i.sent()])),d=8*(o-1),c=0;c=t?[2,this.randomNumber(n,l)]:[2,n+e]}})})},n.prototype.aesEncrypt=function(n,l){return o(this,void 0,void 0,function(){var e,t,u,o,r,a;return i(this,function(i){switch(i.label){case 0:return e=new s.EncryptedObject,t=e,[4,this.getKeyForEncryption(l)];case 1:return t.key=i.sent(),u=e,[4,this.cryptoFunctionService.randomBytes(16)];case 2:return u.iv=i.sent(),o=e,[4,this.cryptoFunctionService.aesEncrypt(n,e.iv,e.key.encKey)];case 3:return o.data=i.sent(),null==e.key.macKey?[3,5]:((r=new Uint8Array(e.iv.byteLength+e.data.byteLength)).set(new Uint8Array(e.iv),0),r.set(new Uint8Array(e.data),e.iv.byteLength),a=e,[4,this.cryptoFunctionService.hmac(r.buffer,e.key.macKey,"sha256")]);case 4:a.mac=i.sent(),i.label=5;case 5:return[2,e]}})})},n.prototype.aesDecryptToUtf8=function(n,l,e,t,u){return o(this,void 0,void 0,function(){var o,r,a,s;return i(this,function(i){switch(i.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return o=i.sent(),null!=(r=this.resolveLegacyKey(n,o)).macKey&&null==t?(console.error("mac required."),[2,null]):r.encType!==n?(console.error("encType unavailable."),[2,null]):null==(a=this.cryptoFunctionService.aesDecryptFastParameters(l,e,t,r)).macKey||null==a.mac?[3,4]:[4,this.cryptoFunctionService.hmacFast(a.macData,a.macKey,"sha256")];case 2:return s=i.sent(),[4,this.cryptoFunctionService.compareFast(a.mac,s)];case 3:if(!i.sent())return console.error("mac failed."),[2,null];i.label=4;case 4:return[2,this.cryptoFunctionService.aesDecryptFast(a)]}})})},n.prototype.aesDecryptToBytes=function(n,l,e,t,u){return o(this,void 0,void 0,function(){var o,r,a,s;return i(this,function(i){switch(i.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return o=i.sent(),null!=(r=this.resolveLegacyKey(n,o)).macKey&&null==t?[2,null]:r.encType!==n?[2,null]:null==r.macKey||null==t?[3,4]:((a=new Uint8Array(e.byteLength+l.byteLength)).set(new Uint8Array(e),0),a.set(new Uint8Array(l),e.byteLength),[4,this.cryptoFunctionService.hmac(a.buffer,r.macKey,"sha256")]);case 2:return null===(s=i.sent())?[2,null]:[4,this.cryptoFunctionService.compare(t,s)];case 3:if(!i.sent())return console.error("mac failed."),[2,null];i.label=4;case 4:return[4,this.cryptoFunctionService.aesDecrypt(l,e,r.encKey)];case 5:return[2,i.sent()]}})})},n.prototype.rsaDecrypt=function(n){return o(this,void 0,void 0,function(){var l,e,t,u,o,a,s,d,c;return i(this,function(i){switch(i.label){case 0:if(l=n.split("."),e=null,1===l.length)e=r.EncryptionType.Rsa2048_OaepSha256_B64,t=[l[0]];else if(2===l.length)try{e=parseInt(l[0],null),t=l[1].split("|")}catch(n){}switch(e){case r.EncryptionType.Rsa2048_OaepSha256_B64:case r.EncryptionType.Rsa2048_OaepSha1_B64:if(1!==t.length)throw new Error("Invalid cipher format.");break;case r.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:case r.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:if(2!==t.length)throw new Error("Invalid cipher format.");break;default:throw new Error("encType unavailable.")}if(null==t||t.length<=0)throw new Error("encPieces unavailable.");return u=f.Utils.fromB64ToArray(t[0]).buffer,[4,this.getEncKey()];case 1:return null!=(o=i.sent())&&null!=o.macKey&&t.length>1?(a=f.Utils.fromB64ToArray(t[1]).buffer,[4,this.cryptoFunctionService.hmac(u,o.macKey,"sha256")]):[3,4];case 2:return s=i.sent(),[4,this.cryptoFunctionService.compare(a,s)];case 3:if(!i.sent())throw new Error("MAC failed.");i.label=4;case 4:return[4,this.getPrivateKey()];case 5:if(null==(d=i.sent()))throw new Error("No private key.");switch(c="sha1",e){case r.EncryptionType.Rsa2048_OaepSha256_B64:case r.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:c="sha256";break;case r.EncryptionType.Rsa2048_OaepSha1_B64:case r.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:break;default:throw new Error("encType unavailable.")}return[2,this.cryptoFunctionService.rsaDecrypt(u,d,c)]}})})},n.prototype.getKeyForEncryption=function(n){return o(this,void 0,void 0,function(){var l;return i(this,function(e){switch(e.label){case 0:return null!=n?[2,n]:[4,this.getEncKey()];case 1:return null!=(l=e.sent())?[2,l]:[4,this.getKey()];case 2:return[2,e.sent()]}})})},n.prototype.resolveLegacyKey=function(n,l){return n===r.EncryptionType.AesCbc128_HmacSha256_B64&&l.encType===r.EncryptionType.AesCbc256_B64?(null==this.legacyEtmKey&&(this.legacyEtmKey=new d.SymmetricCryptoKey(l.key,r.EncryptionType.AesCbc128_HmacSha256_B64)),this.legacyEtmKey):l},n.prototype.stretchKey=function(n){return o(this,void 0,void 0,function(){var l,e,t,u,o;return i(this,function(i){switch(i.label){case 0:return l=new Uint8Array(64),t=(e=l).set,[4,this.hkdfExpand(n.key,f.Utils.fromUtf8ToArray("enc"),32)];case 1:return t.apply(e,[i.sent()]),o=(u=l).set,[4,this.hkdfExpand(n.key,f.Utils.fromUtf8ToArray("mac"),32)];case 2:return o.apply(u,[i.sent(),32]),[2,new d.SymmetricCryptoKey(l.buffer)]}})})},n.prototype.hkdfExpand=function(n,l,e){return o(this,void 0,void 0,function(){var t,u,o,r,a,s,d;return i(this,function(i){switch(i.label){case 0:t=32,u=new Uint8Array(e),o=new Uint8Array(0),r=Math.ceil(e/t),a=0,i.label=1;case 1:return a0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1})]}})})},l.prototype.getAllDecryptedForUrl=function(n,l){return t(this,void 0,void 0,function(){var e,t,r,a;return u(this,function(u){switch(u.label){case 0:return null!=n||l?(e=this.platformUtilsService.getDomain(n),t=null==e?Promise.resolve([]):this.settingsService.getEquivalentDomains().then(function(n){var l=[];return n.forEach(function(n){n.length&&n.indexOf(e)>=0&&(l=l.concat(n))}),l.length||l.push(e),l}),[4,Promise.all([t,this.getAllDecrypted()])]):[2,Promise.resolve([])];case 1:return r=u.sent(),a=r[0],[2,r[1].filter(function(t){if(l&&l.indexOf(t.type)>-1)return!0;if(null!=n&&t.type===o.CipherType.Login&&null!=t.login.uris)for(var u=0;u-1)return!0;break;case i.UriMatchType.Host:var s=w.Utils.getHost(n);if(null!=s&&s===w.Utils.getHost(r.uri))return!0;break;case i.UriMatchType.Exact:if(n===r.uri)return!0;break;case i.UriMatchType.StartsWith:if(n.startsWith(r.uri))return!0;break;case i.UriMatchType.RegularExpression:try{if(new RegExp(r.uri,"i").test(n))return!0}catch(n){}break;case i.UriMatchType.Never:}}return!1})]}})})},l.prototype.getLastUsedForUrl=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.getAllDecryptedForUrl(n)];case 1:return 0===(l=e.sent()).length?[2,null]:[2,l.sort(this.sortCiphersByLastUsed)[0]]}})})},l.prototype.updateLastUsedDate=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:return[4,this.storageService.get(_)];case 1:return(l=u.sent())||(l={}),l[n]?l[n].lastUsedDate=(new Date).getTime():l[n]={lastUsedDate:(new Date).getTime()},[4,this.storageService.save(_,l)];case 2:if(u.sent(),null==this.decryptedCipherCache)return[2];for(e=0;et?-1:null!=t&&null==e?1:0},l.prototype.sortCiphersByLastUsedThenName=function(n,l){var e=this.sortCiphersByLastUsed(n,l);return 0!==e?e:this.getLocaleSortingFunction()(n,l)},l.prototype.getLocaleSortingFunction=function(){var n=this;return function(l,e){var t=l.name,u=e.name;if(null==t&&null!=u)return-1;if(null!=t&&null==u)return 1;if(null==t&&null==u)return 0;var i=n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u);return 0!==i||l.type!==o.CipherType.Login||e.type!==o.CipherType.Login?i:(null!=l.login.username&&(t+=l.login.username),null!=e.login.username&&(u+=e.login.username),n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u))}},l.prototype.encryptObjProperty=function(n,l,e,o){return t(this,void 0,void 0,function(){var t,i,r;return u(this,function(u){switch(u.label){case 0:for(r in t=[],i=this,e)e.hasOwnProperty(r)&&function(l,u){var r=Promise.resolve().then(function(){var t=n[e[l]||l];return t&&""!==t?i.cryptoService.encrypt(t,o):null}).then(function(n){u[l]=n});t.push(r)}(r,l);return[4,Promise.all(t)];case 1:return u.sent(),[2]}})})},l.prototype.encryptCipherData=function(n,l,e){return t(this,void 0,void 0,function(){var t,i;return u(this,function(u){switch(u.label){case 0:switch(n.type){case o.CipherType.Login:return[3,1];case o.CipherType.SecureNote:return[3,7];case o.CipherType.Card:return[3,8];case o.CipherType.Identity:return[3,10]}return[3,12];case 1:return n.login=new f.Login,[4,this.encryptObjProperty(l.login,n.login,{username:null,password:null,totp:null},e)];case 2:if(u.sent(),null==l.login.uris)return[3,6];n.login.uris=[],t=0,u.label=3;case 3:return t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?[4,l.json()]:[3,3];case 2:e=u.sent(),u.label=3;case 3:return null==e?[3,6]:200!==l.status?[3,4]:[2,new g.IdentityTokenResponse(e)];case 4:return 400===l.status&&e.TwoFactorProviders2&&Object.keys(e.TwoFactorProviders2).length?[4,this.tokenService.clearTwoFactorToken(n.email)]:[3,6];case 5:return u.sent(),[2,new m.IdentityTwoFactorResponse(e)];case 6:return[2,Promise.reject(new c.ErrorResponse(e,l.status,!0))]}})})},n.prototype.refreshIdentityToken=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.doRefreshToken()];case 1:return n.sent(),[3,3];case 2:return n.sent(),[2,Promise.reject(null)];case 3:return[2]}})})},n.prototype.getProfile=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/profile",null,!0,!0)];case 1:return n=l.sent(),[2,new w.ProfileResponse(n)]}})})},n.prototype.getUserBilling=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/billing",null,!0,!0)];case 1:return n=l.sent(),[2,new i.BillingResponse(n)]}})})},n.prototype.putProfile=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/accounts/profile",n,!0,!0)];case 1:return l=e.sent(),[2,new w.ProfileResponse(l)]}})})},n.prototype.postEmailToken=function(n){return this.send("POST","/accounts/email-token",n,!0,!1)},n.prototype.postEmail=function(n){return this.send("POST","/accounts/email",n,!0,!1)},n.prototype.postPassword=function(n){return this.send("POST","/accounts/password",n,!0,!1)},n.prototype.postSecurityStamp=function(n){return this.send("POST","/accounts/security-stamp",n,!0,!1)},n.prototype.deleteAccount=function(n){return this.send("DELETE","/accounts",n,!0,!1)},n.prototype.getAccountRevisionDate=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.send("GET","/accounts/revision-date",null,!0,!0)];case 1:return[2,n.sent()]}})})},n.prototype.postPasswordHint=function(n){return this.send("POST","/accounts/password-hint",n,!1,!1)},n.prototype.postRegister=function(n){return this.send("POST","/accounts/register",n,!1,!1)},n.prototype.postPremium=function(n){return this.send("POST","/accounts/premium",n,!0,!1)},n.prototype.postReinstatePremium=function(){return this.send("POST","/accounts/reinstate-premium",null,!0,!1)},n.prototype.postCancelPremium=function(){return this.send("POST","/accounts/cancel-premium",null,!0,!1)},n.prototype.postAccountStorage=function(n){return this.send("POST","/accounts/storage",n,!0,!1)},n.prototype.postAccountPayment=function(n){return this.send("POST","/accounts/payment",n,!0,!1)},n.prototype.postAccountLicense=function(n){return this.send("POST","/accounts/license",n,!0,!1)},n.prototype.postAccountKeys=function(n){return this.send("POST","/accounts/keys",n,!0,!1)},n.prototype.postAccountKey=function(n){return this.send("POST","/accounts/key",n,!0,!1)},n.prototype.postAccountVerifyEmail=function(){return this.send("POST","/accounts/verify-email",null,!0,!1)},n.prototype.postAccountVerifyEmailToken=function(n){return this.send("POST","/accounts/verify-email-token",n,!1,!1)},n.prototype.postAccountRecoverDelete=function(n){return this.send("POST","/accounts/delete-recover",n,!1,!1)},n.prototype.postAccountRecoverDeleteToken=function(n){return this.send("POST","/accounts/delete-recover-token",n,!1,!1)},n.prototype.postFolder=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/folders",n,!0,!0)];case 1:return l=e.sent(),[2,new f.FolderResponse(l)]}})})},n.prototype.putFolder=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/folders/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new f.FolderResponse(e)]}})})},n.prototype.deleteFolder=function(n){return this.send("DELETE","/folders/"+n,null,!0,!1)},n.prototype.getCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.getCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n+"/admin",null,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.getCiphersOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/organization-details?organizationId="+n,null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,r.CipherResponse)]}})})},n.prototype.postCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers",n,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.postCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers/admin",n,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.putCipher=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.putCipherAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n+"/admin",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.deleteCipher=function(n){return this.send("DELETE","/ciphers/"+n,null,!0,!1)},n.prototype.deleteCipherAdmin=function(n){return this.send("DELETE","/ciphers/"+n+"/admin",null,!0,!1)},n.prototype.deleteManyCiphers=function(n){return this.send("DELETE","/ciphers",n,!0,!1)},n.prototype.putMoveCiphers=function(n){return this.send("PUT","/ciphers/move",n,!0,!1)},n.prototype.putShareCipher=function(n,l){return this.send("PUT","/ciphers/"+n+"/share",l,!0,!1)},n.prototype.putShareCiphers=function(n){return this.send("PUT","/ciphers/share",n,!0,!1)},n.prototype.putCipherCollections=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections",l,!0,!1)},n.prototype.putCipherCollectionsAdmin=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections-admin",l,!0,!1)},n.prototype.postPurgeCiphers=function(n){return this.send("POST","/ciphers/purge",n,!0,!1)},n.prototype.postImportCiphers=function(n){return this.send("POST","/ciphers/import",n,!0,!1)},n.prototype.postImportOrganizationCiphers=function(n,l){return this.send("POST","/ciphers/import-organization?organizationId="+n,l,!0,!1)},n.prototype.postCipherAttachment=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.postCipherAttachmentAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment-admin",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.deleteCipherAttachment=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l,null,!0,!1)},n.prototype.deleteCipherAttachmentAdmin=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l+"/admin",null,!0,!1)},n.prototype.postShareCipherAttachment=function(n,l,e,t){return this.send("POST","/ciphers/"+n+"/attachment/"+l+"/share?organizationId="+t,e,!0,!1)},n.prototype.getCollectionDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new a.CollectionGroupDetailsResponse(e)]}})})},n.prototype.getCollections=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,a.CollectionResponse)]}})})},n.prototype.getCollectionUsers=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/users",null,!0,!0)];case 1:return e=t.sent(),[2,new y.ListResponse(e,s.CollectionUserResponse)]}})})},n.prototype.postCollection=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/collections",l,!0,!0)];case 1:return e=t.sent(),[2,new a.CollectionResponse(e)]}})})},n.prototype.putCollection=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/collections/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new a.CollectionResponse(t)]}})})},n.prototype.deleteCollection=function(n,l){return this.send("DELETE","/organizations/"+n+"/collections/"+l,null,!0,!1)},n.prototype.deleteCollectionUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/collections/"+l+"/user/"+e,null,!0,!1)},n.prototype.getGroupDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupDetailsResponse(e)]}})})},n.prototype.getGroups=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,v.GroupResponse)]}})})},n.prototype.getGroupUsers=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/users",null,!0,!0)];case 1:return e=t.sent(),[2,new y.ListResponse(e,h.GroupUserResponse)]}})})},n.prototype.postGroup=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/groups",l,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupResponse(e)]}})})},n.prototype.putGroup=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/groups/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new v.GroupResponse(t)]}})})},n.prototype.deleteGroup=function(n,l){return this.send("DELETE","/organizations/"+n+"/groups/"+l,null,!0,!1)},n.prototype.deleteGroupUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/groups/"+l+"/user/"+e,null,!0,!1)},n.prototype.getOrganizationUser=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l,null,!0,!0)];case 1:return e=t.sent(),[2,new S.OrganizationUserDetailsResponse(e)]}})})},n.prototype.getOrganizationUserGroups=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l+"/groups",null,!0,!0)];case 1:return[2,e.sent()]}})})},n.prototype.getOrganizationUsers=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,S.OrganizationUserUserDetailsResponse)]}})})},n.prototype.postOrganizationUserInvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/invite",l,!0,!1)},n.prototype.postOrganizationUserReinvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/"+l+"/reinvite",null,!0,!1)},n.prototype.postOrganizationUserAccept=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/accept",e,!0,!1)},n.prototype.postOrganizationUserConfirm=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/confirm",e,!0,!1)},n.prototype.putOrganizationUser=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l,e,!0,!1)},n.prototype.putOrganizationUserGroups=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l+"/groups",e,!0,!1)},n.prototype.deleteOrganizationUser=function(n,l){return this.send("DELETE","/organizations/"+n+"/users/"+l,null,!0,!1)},n.prototype.getSync=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=this.isDesktopClient||this.isWebClient?"/sync?excludeDomains=true":"/sync",[4,this.send("GET",n,null,!0,!0)];case 1:return l=e.sent(),[2,new R.SyncResponse(l)]}})})},n.prototype.postImportDirectory=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/import",l,!0,!1)]})})},n.prototype.getSettingsDomains=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/settings/domains",null,!0,!0)];case 1:return n=l.sent(),[2,new d.DomainsResponse(n)]}})})},n.prototype.putSettingsDomains=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/settings/domains",n,!0,!0)];case 1:return l=e.sent(),[2,new d.DomainsResponse(l)]}})})},n.prototype.getTwoFactorProviders=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/two-factor",null,!0,!0)];case 1:return n=l.sent(),[2,new y.ListResponse(n,E.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorOrganizationProviders=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/two-factor",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,E.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new _.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.getTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-email",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorEmailResponse(l)]}})})},n.prototype.getTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-duo",n,!0,!0)];case 1:return l=e.sent(),[2,new I.TwoFactorDuoResponse(l)]}})})},n.prototype.getTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/two-factor/get-duo",l,!0,!0)];case 1:return e=t.sent(),[2,new I.TwoFactorDuoResponse(e)]}})})},n.prototype.getTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.getTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.getTwoFactorRecover=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-recover",n,!0,!0)];case 1:return l=e.sent(),[2,new O.TwoFactorRecoverResponse(l)]}})})},n.prototype.putTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new _.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.putTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/email",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorEmailResponse(l)]}})})},n.prototype.putTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/duo",n,!0,!0)];case 1:return l=e.sent(),[2,new I.TwoFactorDuoResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/duo",l,!0,!0)];case 1:return e=t.sent(),[2,new I.TwoFactorDuoResponse(e)]}})})},n.prototype.putTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.putTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.putTwoFactorDisable=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/disable",n,!0,!0)];case 1:return l=e.sent(),[2,new E.TwoFactorProviderResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDisable=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/disable",l,!0,!0)];case 1:return e=t.sent(),[2,new E.TwoFactorProviderResponse(e)]}})})},n.prototype.postTwoFactorRecover=function(n){return this.send("POST","/two-factor/recover",n,!1,!1)},n.prototype.postTwoFactorEmailSetup=function(n){return this.send("POST","/two-factor/send-email",n,!0,!1)},n.prototype.postTwoFactorEmail=function(n){return this.send("POST","/two-factor/send-email-login",n,!1,!1)},n.prototype.getOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.getOrganizationBilling=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/billing",null,!0,!0)];case 1:return l=e.sent(),[2,new C.OrganizationBillingResponse(l)]}})})},n.prototype.getOrganizationLicense=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("GET","/organizations/"+n+"/license?installationId="+l,null,!0,!0)]})})},n.prototype.postOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations",n,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.putOrganization=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new b.OrganizationResponse(e)]}})})},n.prototype.postLeaveOrganization=function(n){return this.send("POST","/organizations/"+n+"/leave",null,!0,!1)},n.prototype.postOrganizationLicense=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations/license",n,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.postOrganizationLicenseUpdate=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/license",l,!0,!1)]})})},n.prototype.postOrganizationSeat=function(n,l){return this.send("POST","/organizations/"+n+"/seat",l,!0,!1)},n.prototype.postOrganizationStorage=function(n,l){return this.send("POST","/organizations/"+n+"/storage",l,!0,!1)},n.prototype.postOrganizationPayment=function(n,l){return this.send("POST","/organizations/"+n+"/payment",l,!0,!1)},n.prototype.postOrganizationVerifyBank=function(n,l){return this.send("POST","/organizations/"+n+"/verify-bank",l,!0,!1)},n.prototype.postOrganizationCancel=function(n){return this.send("POST","/organizations/"+n+"/cancel",null,!0,!1)},n.prototype.postOrganizationReinstate=function(n){return this.send("POST","/organizations/"+n+"/reinstate",null,!0,!1)},n.prototype.deleteOrganization=function(n,l){return this.send("DELETE","/organizations/"+n,l,!0,!1)},n.prototype.getEvents=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/events",n,l,e),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsCipher=function(n,l,e,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/ciphers/"+n+"/events",l,e,o),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganization=function(n,l,e,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/events",l,e,o),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganizationUser=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/users/"+l+"/events",e,o,i),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getUserPublicKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/users/"+n+"/public-key",null,!0,!0)];case 1:return l=e.sent(),[2,new k.UserKeyResponse(l)]}})})},n.prototype.fetch=function(n){return"GET"===n.method&&(n.headers.set("Cache-Control","no-cache"),n.headers.set("Pragma","no-cache")),fetch(n)},n.prototype.send=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t,r,a,s,d;return u(this,function(u){switch(u.label){case 0:return t=new Headers({"Device-Type":this.deviceType}),r={cache:"no-cache",credentials:this.getCredentials(),method:n},o?[4,this.handleTokenState()]:[3,2];case 1:a=u.sent(),t.set("Authorization",a),u.label=2;case 2:return null!=e&&("string"==typeof e?(r.body=e,t.set("Content-Type","application/x-www-form-urlencoded; charset=utf-8")):"object"==typeof e&&(e instanceof FormData?r.body=e:(t.set("Content-Type","application/json; charset=utf-8"),r.body=JSON.stringify(e)))),i&&t.set("Accept","application/json"),r.headers=t,[4,this.fetch(new Request(this.apiBaseUrl+l,r))];case 3:return s=u.sent(),i&&200===s.status?[4,s.json()]:[3,5];case 4:return[2,u.sent()];case 5:return 200===s.status?[3,7]:[4,this.handleError(s,!1)];case 6:return d=u.sent(),[2,Promise.reject(d)];case 7:return[2]}})})},n.prototype.handleError=function(n,l){return t(this,void 0,void 0,function(){var e,t;return u(this,function(u){switch(u.label){case 0:return l&&400===n.status||401===n.status||403===n.status?[4,this.logoutCallback(!0)]:[3,2];case 1:return u.sent(),[2,null];case 2:return e=null,null!=(t=n.headers.get("content-type"))&&t.indexOf("application/json")>-1?[4,n.json()]:[3,4];case 3:e=u.sent(),u.label=4;case 4:return[2,new c.ErrorResponse(e,n.status,l)]}})})},n.prototype.handleTokenState=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.tokenService.getToken()];case 1:return n=e.sent(),this.tokenService.tokenNeedsRefresh()?[4,this.doRefreshToken()]:[3,3];case 2:l=e.sent(),n=l.accessToken,e.label=3;case 3:return[2,"Bearer "+n]}})})},n.prototype.doRefreshToken=function(){return t(this,void 0,void 0,function(){var n,l,e,t,o,i;return u(this,function(u){switch(u.label){case 0:return[4,this.tokenService.getRefreshToken()];case 1:if(null==(n=u.sent())||""===n)throw new Error;return l=this.tokenService.decodeToken(),[4,this.fetch(new Request(this.identityBaseUrl+"/connect/token",{body:this.qsStringify({grant_type:"refresh_token",client_id:l.client_id,refresh_token:n}),cache:"no-cache",credentials:this.getCredentials(),headers:new Headers({"Content-Type":"application/x-www-form-urlencoded; charset=utf-8",Accept:"application/json","Device-Type":this.deviceType}),method:"POST"}))];case 2:return 200!==(e=u.sent()).status?[3,5]:[4,e.json()];case 3:return t=u.sent(),o=new g.IdentityTokenResponse(t),[4,this.tokenService.setTokens(o.accessToken,o.refreshToken)];case 4:return u.sent(),[2,o];case 5:return[4,this.handleError(e,!0)];case 6:return i=u.sent(),[2,Promise.reject(i)]}})})},n.prototype.qsStringify=function(n){return Object.keys(n).map(function(l){return encodeURIComponent(l)+"="+encodeURIComponent(n[l])}).join("&")},n.prototype.getCredentials=function(){if(!this.isWebClient||this.usingBaseUrl)return"include"},n.prototype.addEventParameters=function(n,l,e,t){return null!=l&&(n+="?start="+l),null!=e&&(n+=n.indexOf("?")>-1?"&":"?",n+="end="+e),null!=t&&(n+=n.indexOf("?")>-1?"&":"?",n+="continuationToken="+t),n},n}();l.ApiService=V},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(13);var t=function(){function n(n,l){this.elementRef=n,this.renderer=l,this.trueValue=!0,this.falseValue=!1,this.propagateChange=function(n){}}return n.prototype.onHostChange=function(n){this.propagateChange(n.target.checked?this.trueValue:this.falseValue)},n.prototype.writeValue=function(n){n===this.trueValue?this.renderer.setProperty(this.elementRef.nativeElement,"checked",!0):this.renderer.setProperty(this.elementRef.nativeElement,"checked",!1)},n.prototype.registerOnChange=function(n){this.propagateChange=n},n.prototype.registerOnTouched=function(n){},n.prototype.setDisabledState=function(n){},n}();l.TrueFalseValueDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n){this.elRef=n,this.el=null,this.el=n.nativeElement}return n.prototype.ngOnInit=function(){var n=this;this.formEls=Array.from(this.el.querySelectorAll('input:not([type="hidden"]), select, textarea')),this.formEls.forEach(function(l){l.addEventListener("focus",function(l){n.el.classList.add("active")},!1),l.addEventListener("blur",function(l){n.el.classList.remove("active")},!1)})},n.prototype.onClick=function(n){if(n.target===this.el&&this.formEls.length>0){var l=this.formEls[0];if("input"===l.tagName.toLowerCase()){var e=l;if(null!=e.type&&"checkbox"===e.type.toLowerCase())return void e.click()}l.focus()}},n}();l.BoxRowDirective=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(l[0].checked=!0)}),[3,5];case 4:return u.sent(),[3,5];case 5:return this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new i.OrganizationUserUpdateGroupsRequest).groupIds=this.groups.filter(function(n){return n.checked}).map(function(n){return n.id}),l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.apiService.putOrganizationUserGroups(this.organizationId,this.organizationUserId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:"Edited User Groups"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedGroupsForUser",this.name)),this.onSavedUser.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n}();l.UserGroupsComponent=a},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("inviteUser"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new r.Collection(new i.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:n=null,"all"!==this.access&&(n=this.collections.filter(function(n){return n.checked}).map(function(n){return new d.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),e.label=1;case 1:return e.trys.push([1,3,,4]),this.editMode?((l=new s.OrganizationUserUpdateRequest).accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.putOrganizationUser(this.organizationId,this.organizationUserId,l)):((l=new a.OrganizationUserInviteRequest).emails=this.emails.trim().split(/\s*,\s*/),l.accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.postOrganizationUserInvite(this.organizationId,l)),[4,this.formPromise];case 2:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited User":"Invited User"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedUserId":"invitedUsers",this.name)),this.onSavedUser.emit(),[3,4];case 3:return e.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteOrganizationUser(this.organizationId,this.organizationUserId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",this.name)),this.onDeletedUser.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.UserAddEditComponent=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("addGroup"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new r.Collection(new i.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new a.GroupRequest).name=this.name,n.externalId=this.externalId,n.accessAll="all"===this.access,n.accessAll||(n.collections=this.collections.filter(function(n){return n.checked}).map(function(n){return new s.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),l.label=1;case 1:return l.trys.push([1,3,,4]),this.editMode?this.formPromise=this.apiService.putGroup(this.organizationId,this.groupId,n):this.formPromise=this.apiService.postGroup(this.organizationId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Group":"Created Group"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedGroupId":"createdGroupId",this.name)),this.onSavedGroup.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteGroup(this.organizationId,this.groupId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",this.name)),this.onDeletedGroup.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.GroupAddEditComponent=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(l[0].checked=!0,l[0].readOnly=n.readOnly)}),[3,7];case 6:return u.sent(),[3,7];case 7:return[3,9];case 8:this.title=this.i18nService.t("addCollection"),u.label=9;case 9:return this.groups.forEach(function(n){n.accessAll&&(n.checked=!0)}),this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.accessAll||(n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1))},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=new r.CollectionRequest,l=n,[4,this.cryptoService.encrypt(this.name,this.orgKey)];case 1:l.name=e.sent().encryptedString,n.groups=this.groups.filter(function(n){return n.checked&&!n.accessAll}).map(function(n){return new a.SelectionReadOnlyRequest(n.id,!!n.readOnly)}),e.label=2;case 2:return e.trys.push([2,4,,5]),this.editMode?this.formPromise=this.apiService.putCollection(this.organizationId,this.collectionId,n):this.formPromise=this.apiService.postCollection(this.organizationId,n),[4,this.formPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Collection":"Created Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedCollectionId":"createdCollectionId",this.name)),this.onSavedCollection.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteCollection(this.organizationId,this.collectionId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",this.name)),this.onDeletedCollection.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.CollectionAddEditComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.groups=[],null!=n&&(this.name=n.name?n.name.encryptedString:null)}}();l.CollectionRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.collectionIds=null==n?[]:n}}();l.CipherCollectionsRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(n.uris=[],this.uris.forEach(function(l){n.uris.push(l.toLoginUriData())})),n},l}(e(100).default);l.Login=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(533),i=e(100),r=e(217),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.IdentityView(this),{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null},n)},l.prototype.toIdentityData=function(){var n=new o.IdentityData;return this.buildDataModel(this,n,{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null}),n},l}(i.default);l.Identity=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(534),i=e(100),r=e(179),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.type=l.type,t.buildDomainModel(t,l,{name:null,value:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.FieldView(this),{name:null,value:null},n)},l.prototype.toFieldData=function(){var n=new o.FieldData;return this.buildDataModel(this,n,{name:null,value:null,type:null},["type"]),n},l}(i.default);l.Field=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(535),i=e(100),r=e(115),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.CardView(this),{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null},n)},l.prototype.toCardData=function(){var n=new o.CardData;return this.buildDataModel(this,n,{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null}),n},l}(i.default);l.Card=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(536),i=e(100),r=e(538),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.size=l.size,t.buildDomainModel(t,l,{id:null,url:null,sizeName:null,fileName:null},e,["id","url","sizeName"]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.AttachmentView(this),{fileName:null},n)},l.prototype.toAttachmentData=function(){var n=new o.AttachmentData;return this.buildDataModel(this,n,{id:null,url:null,sizeName:null,fileName:null},["id","url","sizeName"]),n},l}(i.default);l.Attachment=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.type=n.type)}}();l.SecureNoteData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.match=null,null!=n&&(this.uri=n.uri,this.match=n.match)}}();l.LoginUriData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(531),u=function(){return function(n){var l=this;null!=n&&(this.username=n.username,this.password=n.password,this.totp=n.totp,n.uris&&(this.uris=[],n.uris.forEach(function(n){l.uris.push(new t.LoginUriData(n))})))}}();l.LoginData=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.title=n.title,this.firstName=n.firstName,this.middleName=n.middleName,this.lastName=n.lastName,this.address1=n.address1,this.address2=n.address2,this.address3=n.address3,this.city=n.city,this.state=n.state,this.postalCode=n.postalCode,this.country=n.country,this.company=n.company,this.email=n.email,this.phone=n.phone,this.ssn=n.ssn,this.username=n.username,this.passportNumber=n.passportNumber,this.licenseNumber=n.licenseNumber)}}();l.IdentityData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.type=n.type,this.name=n.name,this.value=n.value)}}();l.FieldData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.cardholderName=n.cardholderName,this.brand=n.brand,this.number=n.number,this.expMonth=n.expMonth,this.expYear=n.expYear,this.code=n.code)}}();l.CardData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.id=n.id,this.url=n.url,this.fileName=n.fileName,this.size=n.size,this.sizeName=n.sizeName)}}();l.AttachmentData=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(12),e(3),e(2),e(94),e(8);var o=function(n){function l(l,e,t,u,o){return n.call(this,l,e,t,u,o,window)||this}return u(l,n),l}(e(733).PasswordGeneratorHistoryComponent);l.PasswordGeneratorHistoryComponent=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){n&&(this.id=n.id,this.url=n.url,this.size=n.size,this.sizeName=n.sizeName)}}();l.AttachmentView=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.key=n,this.value=l}}();l.KvpRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Free=0]="Free",n[n.FamiliesAnnually=1]="FamiliesAnnually",n[n.TeamsMonthly=2]="TeamsMonthly",n[n.TeamsAnnually=3]="TeamsAnnually",n[n.EnterpriseMonthly=4]="EnterpriseMonthly",n[n.EnterpriseAnnually=5]="EnterpriseAnnually",n[n.Custom=6]="Custom"}(l.PlanType||(l.PlanType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(13),a=e(18),s=e(17),d=e(269),c=e(127),p=e(8),f=e(7),v=e(5),h=e(265),g=e(4),m=e(3),y=e(9),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"app-callout",[["icon","fa-info-circle"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{icon:[0,"icon"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,null,0,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(12,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(13,null,["\n ","\n "])),t.ɵppd(14,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"fa-info-circle",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent,0),"contactSupport")),""))},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"contactSupportPaymentMethod"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),"contactSupport"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"close")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,29,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(3,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(4,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,22,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"app-payment",[],null,null,null,d.View_PaymentComponent_0,d.RenderType_PaymentComponent)),t.ɵdid(13,245760,[[1,4]],0,c.PaymentComponent,[i.I18nService,p.PlatformUtilsService],{showOptions:[0,"showOptions"],hideBank:[1,"hideBank"],hidePaypal:[2,"hidePaypal"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,13,0,e.organizationId,!e.organizationId,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),null!=e.currentType?"changePaymentMethod":"addPaymentMethod"))),n(l,15,0,t.ɵnov(l,0).loading),n(l,17,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"submit"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent,0),"cancel")))})}function w(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[i.I18nService]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.canChange),n(l,6,0,e.canChange)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-payment",[],null,null,null,w,C)),t.ɵdid(1,49152,null,0,h.AdjustPaymentComponent,[g.ApiService,i.I18nService,m.Angulartics2,y.ToasterService],null,null)],null,null)}l.RenderType_AdjustPaymentComponent=C,l.View_AdjustPaymentComponent_0=w,l.View_AdjustPaymentComponent_Host_0=R;var _=t.ɵccf("app-adjust-payment",h.AdjustPaymentComponent,R,{currentType:"currentType",organizationId:"organizationId"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustPaymentComponentNgFactory=_},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(5),r=e(13),a=e(18),s=e(17),d=e(266),c=e(4),p=e(3),f=e(9),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(5,null,[" "," GB × "," = "," /","\n "])),t.ɵppd(6,2),t.ɵppd(7,2),t.ɵppd(8,1)],null,function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"total"))),n(l,5,0,e.storageAdjustment||0,t.ɵunv(l,5,1,n(l,6,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,5,2,n(l,7,0,t.ɵnov(l.parent,1),e.adjustedStorageTotal,"$")),t.ɵunv(l,5,3,n(l,8,0,t.ɵnov(l.parent,0),e.interval)))})}function g(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵpid(0,i.CurrencyPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,[["form",1]],null,53,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,3).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,3).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(3,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(5,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(6,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,46,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","storageAdjustment"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["class","form-control"],["id","storageAdjustment"],["max","99"],["min","0"],["name","StroageGbAdjustment"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.storageAdjustment=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,r.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(25,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[r.DefaultValueAccessor,r.ɵbc]),t.ɵdid(28,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(30,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(35,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(48,null,["\n ","\n "])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,2,"small",[["class","d-block text-muted mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(52,null,["\n ","\n "])),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,6,0,e.formPromise);n(l,25,0,"");n(l,28,0,"StroageGbAdjustment",e.storageAdjustment),n(l,35,0,e.add)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,5).ngClassUntouched,t.ɵnov(l,5).ngClassTouched,t.ɵnov(l,5).ngClassPristine,t.ɵnov(l,5).ngClassDirty,t.ɵnov(l,5).ngClassValid,t.ɵnov(l,5).ngClassInvalid,t.ɵnov(l,5).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),e.add?"addStorage":"removeStorage"))),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),e.add?"gbStorageAdd":"gbStorageRemove"))),n(l,22,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending),n(l,37,0,t.ɵnov(l,2).loading),n(l,39,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"loading")),"")),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"submit"))),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"cancel"))),n(l,52,0,t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),e.add?"storageAddNote":"storageRemoveNote")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,null,null,g,v)),t.ɵdid(1,49152,null,0,d.AdjustStorageComponent,[c.ApiService,o.I18nService,p.Angulartics2,f.ToasterService],null,null)],null,null)}l.RenderType_AdjustStorageComponent=v,l.View_AdjustStorageComponent_0=g,l.View_AdjustStorageComponent_Host_0=m;var y=t.ɵccf("app-adjust-storage",d.AdjustStorageComponent,m,{storageGbPrice:"storageGbPrice",add:"add",organizationId:"organizationId",interval:"interval"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustStorageComponentNgFactory=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(17),s=e(267),d=e(4),c=e(3),p=e(9),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,32,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"label",[["class","sr-only"],["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,5,0,l.component.formPromise)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"licenseFile"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"licenseFileDesc",e.organizationId?"bitwarden_organization_license.json":"bitwarden_premium_license.json"))),n(l,20,0,t.ɵnov(l,1).loading),n(l,22,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"loading")),"")),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"submit"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"cancel")))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-update-license",[],null,null,null,v,f)),t.ɵdid(1,49152,null,0,s.UpdateLicenseComponent,[d.ApiService,o.I18nService,c.Angulartics2,p.ToasterService],null,null)],null,null)}l.RenderType_UpdateLicenseComponent=f,l.View_UpdateLicenseComponent_0=v,l.View_UpdateLicenseComponent_Host_0=h;var g=t.ɵccf("app-update-license",s.UpdateLicenseComponent,h,{organizationId:"organizationId"},{onUpdated:"onUpdated",onCanceled:"onCanceled"},[]);l.UpdateLicenseComponentNgFactory=g},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.keys[0].key:null,e.key2=null!=this.keys&&this.keys.length>1?this.keys[1].key:null,e.key3=null!=this.keys&&this.keys.length>2?this.keys[2].key:null,e.key4=null!=this.keys&&this.keys.length>3?this.keys[3].key:null,e.key5=null!=this.keys&&this.keys.length>4?this.keys[4].key:null,e.nfc=this.nfc,n.prototype.enable.call(this,function(){return o(l,void 0,void 0,function(){var n;return i(this,function(l){switch(l.label){case 0:return this.formPromise=this.apiService.putTwoFactorYubiKey(e),[4,this.formPromise];case 1:return n=l.sent(),[4,this.processResponse(n)];case 2:return l.sent(),this.toasterService.popAsync("success",null,this.i18nService.t("yubikeysUpdated")),[2]}})})})},l.prototype.disable=function(){return n.prototype.disable.call(this,this.disablePromise)},l.prototype.remove=function(n){n.existingKey=null,n.key=null},l.prototype.processResponse=function(n){this.enabled=n.enabled,this.keys=[{key:n.key1,existingKey:this.padRight(n.key1)},{key:n.key2,existingKey:this.padRight(n.key2)},{key:n.key3,existingKey:this.padRight(n.key3)},{key:n.key4,existingKey:this.padRight(n.key4)},{key:n.key5,existingKey:this.padRight(n.key5)}],this.nfc=n.nfc||!n.enabled},l.prototype.padRight=function(n,l,e){if(void 0===l&&(l="•"),void 0===e&&(e=44),null==n||null==l||n.length>=e)return n;for(var t=(e-n.length)/l.length,u=0;u0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]

'+this.i18nService.t("twoFactorRecoveryYourCode")+":

"+this.code+'

'+new Date+"

"),n.print(),n.close()},n.prototype.formatString=function(n){return null==n?null:n.replace(/(.{4})/g,"$1 ").trim().toUpperCase()},n.prototype.processResponse=function(n){this.code=this.formatString(n.code)},n}();l.TwoFactorRecoveryComponent=u},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l,e,o,i,r,a,s=this;return u(this,function(d){switch(d.label){case 0:return[4,this.cipherService.get(this.cipherId)];case 1:return[4,d.sent().decrypt()];case 2:if(n=d.sent(),l=[],null!=n.attachments)for(e=0,o=n.attachments;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return n=this.collections.filter(function(n){return n.checked}).map(function(n){return n.id}),this.formPromise=this.cipherService.shareManyWithServer(this.shareableCiphers,this.organizationId,n),[4,this.formPromise];case 1:return l.sent(),this.onShared.emit(),this.analytics.eventTrack.next({action:"Bulk Shared Items"}),this.toasterService.popAsync("success",null,this.i18nService.t("sharedItems")),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;(n?this.collections:this.writeableCollections).forEach(function(e){return l.check(e,n)})},n}());l.BulkShareComponent=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1||!e.onlySearchName&&(!!(l.length>=8&&n.id.startsWith(l))||(null!=n.subTitle&&n.subTitle.toLowerCase().indexOf(l)>-1||!!(n.login&&null!=n.login.uri&&n.login.uri.toLowerCase().indexOf(l)>-1)))}))},n}();l.SearchCiphersPipe=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(807),o=e(5),i=e(281),r=e(131),a=e(61),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"img",[["alt",""]],[[8,"src",4]],[[null,"error"]],function(n,l,e){var u=!0;"error"===l&&(u=!1!==t.ɵnov(n,1).onError()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.FallbackSrcDirective,[t.ElementRef],{appFallbackSrc:[0,"appFallbackSrc"]},null)],function(n,l){var e=l.component;n(l,1,0,t.ɵinlineInterpolate(1,"",e.fallbackImage,""))},function(n,l){n(l,0,0,l.component.image)})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null))],null,function(n,l){var e=l.component;n(l,0,0,t.ɵinlineInterpolate(1,"fa fa-fw fa-lg ",e.icon,""))})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,d)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.imageEnabled&&e.image),n(l,6,0,!e.imageEnabled||!e.image)},null)}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-icon",[],null,null,null,p,s)),t.ɵdid(1,573440,null,0,i.IconComponent,[r.EnvironmentService,a.StateService],null,null)],null,null)}l.RenderType_IconComponent=s,l.View_IconComponent_0=p,l.View_IconComponent_Host_0=f;var v=t.ɵccf("app-vault-icon",i.IconComponent,f,{cipher:"cipher"},{},[]);l.IconComponentNgFactory=v},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&n.data.forEach(function(n){var t=new a.Collection(new d.CollectionData(n));l.push(t.decrypt().then(function(n){e.push(n)}))}),Promise.all(l)})),c.push(this.apiService.getCiphersOrganization(n).then(function(n){var l=[];return null!=n&&null!=n.data&&n.data.length>0&&n.data.forEach(function(n){var e=new r.Cipher(new s.CipherData(n));l.push(e.decrypt().then(function(n){t.push(n)}))}),Promise.all(l)})),[4,Promise.all(c)];case 1:return u.sent(),p=new Map,e.forEach(function(n){p.set(n.id,n)}),f=[],t.forEach(function(n){if(n.type===i.CipherType.Login||n.type===i.CipherType.SecureNote){var l={collections:[]};null!=n.collectionIds&&(l.collections=n.collectionIds.filter(function(n){return p.has(n)}).map(function(n){return p.get(n).name})),v.buildCommonCipher(l,n),f.push(l)}}),"csv"===l?[2,o.unparse(f)]:[2,JSON.stringify(f,null," ")]}})})},n.prototype.getFileName=function(n){void 0===n&&(n=null);var l=new Date,e=l.getFullYear()+""+this.padNumber(l.getMonth()+1,2)+this.padNumber(l.getDate(),2)+this.padNumber(l.getHours(),2)+this.padNumber(l.getMinutes(),2)+this.padNumber(l.getSeconds(),2);return"bitwarden"+(n?"_"+n:"")+"_export_"+e+".csv"},n.prototype.padNumber=function(n,l,e){void 0===e&&(e="0");var t=n.toString();return t.length>=l?t:new Array(l-t.length+1).join(e)+t},n.prototype.buildCommonCipher=function(n,l){switch(n.type=null,n.name=l.name,n.notes=l.notes,n.fields=null,n.login_uri=null,n.login_username=null,n.login_password=null,n.login_totp=null,l.fields&&l.fields.forEach(function(l){n.fields?n.fields+="\n":n.fields="",n.fields+=(l.name||"")+": "+l.value}),l.type){case i.CipherType.Login:n.type="login",n.login_username=l.login.username,n.login_password=l.login.password,n.login_totp=l.login.totp,l.login.uris&&(n.login_uri=[],l.login.uris.forEach(function(l){n.login_uri.push(l.uri)}));break;case i.CipherType.SecureNote:n.type="note";break;default:return}return n},n}();l.ExportService=c},function(n,l,e){"use strict";var t,u=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(n=n.substring(0,l)),0!==n.indexOf("!/")&&0!==n.indexOf("#/")||(n=n.substring(1));var e=[];return n.split("/").forEach(function(n){n.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?e.push("__guid__"):e.push(n)}),encodeURIComponent(e.join("/"))},n}();l.Analytics=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=0?this.browserCache=i.DeviceType.OperaBrowser:-1!==navigator.userAgent.indexOf(" Edge/")?this.browserCache=i.DeviceType.EdgeBrowser:-1!==navigator.userAgent.indexOf(" Vivaldi/")?this.browserCache=i.DeviceType.VivaldiBrowser:-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")?this.browserCache=i.DeviceType.SafariBrowser:window.chrome&&-1!==navigator.userAgent.indexOf(" Chrome/")?this.browserCache=i.DeviceType.ChromeBrowser:-1!==navigator.userAgent.indexOf(" Trident/")?this.browserCache=i.DeviceType.IEBrowser:this.browserCache=i.DeviceType.UnknownBrowser,this.browserCache)},n.prototype.getDeviceString=function(){return i.DeviceType[this.getDevice()].toLowerCase().replace("browser","")},n.prototype.isFirefox=function(){return this.getDevice()===i.DeviceType.FirefoxBrowser},n.prototype.isChrome=function(){return this.getDevice()===i.DeviceType.ChromeBrowser},n.prototype.isEdge=function(){return this.getDevice()===i.DeviceType.EdgeBrowser},n.prototype.isOpera=function(){return this.getDevice()===i.DeviceType.OperaBrowser},n.prototype.isVivaldi=function(){return this.getDevice()===i.DeviceType.VivaldiBrowser},n.prototype.isSafari=function(){return this.getDevice()===i.DeviceType.SafariBrowser},n.prototype.isIE=function(){return this.getDevice()===i.DeviceType.IEBrowser},n.prototype.isMacAppStore=function(){return!1},n.prototype.analyticsId=function(){return"UA-81915606-3"},n.prototype.getDomain=function(n){return r.Utils.getHostname(n)},n.prototype.isViewOpen=function(){return!1},n.prototype.lockTimeout=function(){return 15},n.prototype.launchUri=function(n,l){var e=document.createElement("a");e.href=n,e.target="_blank",e.rel="noreferrer noopener",e.classList.add("d-none"),document.body.appendChild(e),e.click(),document.body.removeChild(e)},n.prototype.saveFile=function(n,l,e,t){var u=null;if(u=null==e||this.isIE()?new Blob([l]):new Blob([l],e),navigator.msSaveOrOpenBlob)navigator.msSaveBlob(u,t);else{var o=n.document.createElement("a");o.href=n.URL.createObjectURL(u),o.download=t,o.style.position="fixed",n.document.body.appendChild(o),o.click(),n.document.body.removeChild(o)}},n.prototype.getApplicationVersion=function(){return"2.0.0"},n.prototype.supportsU2f=function(n){return null!=n&&null!=n.u2f||(this.isChrome()||this.isOpera()||this.isVivaldi())&&!this.isMobile(n)},n.prototype.supportsDuo=function(){return!0},n.prototype.showToast=function(n,l,e,t){throw new Error("showToast not implemented")},n.prototype.showDialog=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t,r,s,d,c;return u(this,function(u){switch(u.label){case 0:if(t=[null==e?this.i18nService.t("ok"):e],null!=o&&t.unshift(o),r=document.createElement("div"),null!=i){switch((s=document.createElement("i")).classList.add("swal-custom-icon"),i){case"success":s.classList.add("fa","fa-check","text-success");break;case"warning":s.classList.add("fa","fa-warning","text-warning");break;case"error":s.classList.add("fa","fa-bolt","text-danger");break;case"info":s.classList.add("fa","fa-info-circle","text-info")}s.classList.contains("fa")&&r.appendChild(s)}return null!=l&&((d=document.createElement("div")).classList.add("swal-title"),d.appendChild(document.createTextNode(l)),r.appendChild(d)),null!=n&&((c=document.createElement("div")).classList.add("swal-text"),c.appendChild(document.createTextNode(n)),r.appendChild(c)),[4,a({content:{element:r},buttons:t})];case 1:return[2,u.sent()]}})})},n.prototype.isDev=function(){return!1},n.prototype.isSelfHost=function(){return"true"===(!1).toString()},n.prototype.copyToClipboard=function(n,l){var e=l?l.doc:window.document;if(window.clipboardData&&window.clipboardData.setData)window.clipboardData.setData("Text",n);else if(e.queryCommandSupported&&e.queryCommandSupported("copy")){var t=e.createElement("textarea");t.textContent=n,t.style.position="fixed";var u=e.body;this.isFirefox()&&e.body.classList.contains("modal-open")&&(u=e.body.querySelector(".modal")),u.appendChild(t),t.select();try{e.execCommand("copy")}catch(n){console.warn("Copy to clipboard failed.",n)}finally{u.removeChild(t)}}},n.prototype.isMobile=function(n){var l,e=!1;return l=n.navigator.userAgent||n.navigator.vendor||n.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(l)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(l.substr(0,4)))&&(e=!0),e||null!=n.navigator.userAgent.match(/iPad/i)},n}();l.WebPlatformUtilsService=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.store=new Map}return n.prototype.get=function(n){if(this.store.has(n)){var l=this.store.get(n);return Promise.resolve(l)}return Promise.resolve(null)},n.prototype.save=function(n,l){return null==l?this.remove(n):(this.store.set(n,l),Promise.resolve())},n.prototype.remove=function(n){return this.store.delete(n),Promise.resolve()},n}();l.MemoryStorageService=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]1?"×"+l.context.$implicit.quantity:"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval)))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(11,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details")))})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,20,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,14,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(19,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,14,0,e.subscription),n(l,19,0,e.subscription)},function(n,l){var e=l.component;n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"billingPlan"))),n(l,11,0,e.billing.plan)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},d.View_UpdateLicenseComponent_0,d.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,c.UpdateLicenseComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{organizationId:[0,"organizationId"]},{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.organizationId)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense")))})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription")))})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["licenseBtn",1]],null,9,"button",[["class","btn btn-outline-secondary btn-submit ml-1"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.licensePromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense")))})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription")))})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addSeats"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeSeats")))})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-seats",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeSeats(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeSeats(!1)&&t);return t},h.View_AdjustSeatsComponent_0,h.RenderType_AdjustSeatsComponent)),t.ɵdid(1,49152,null,0,g.AdjustSeatsComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{seatPrice:[0,"seatPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.seatPrice,e.adjustSeatsAdd,e.organizationId,e.billingInterval)},null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustSeats),n(l,8,0,e.showAdjustSeats)},null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage")))})}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},m.View_AdjustStorageComponent_0,m.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,y.AdjustStorageComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.storageGbPrice,e.adjustStorageAdd,e.organizationId,e.billingInterval)},null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noPaymentMethod")))})}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,3,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,[""," ",""])),t.ɵppd(6,1),t.ɵppd(7,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(9,0,[["verifyForm",1]],0,61,"form",[["class","form-inline"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,10).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,10).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.verifyBank()&&u);return u},null,null)),t.ɵdid(10,4210688,null,0,C.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,C.ControlContainer,null,[C.NgForm]),t.ɵdid(12,16384,null,0,C.NgControlStatusGroup,[C.ControlContainer],null,null),t.ɵdid(13,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount1"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount1"],["max","99"],["min","1"],["name","Amount1"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,28)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,28).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,28)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,28)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.verifyAmount1=e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,C.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,C.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(29,16384,null,0,C.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(30,16384,null,0,C.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,C.NG_VALIDATORS,function(n){return[n]},[C.RequiredValidator]),t.ɵprd(1024,null,C.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[C.DefaultValueAccessor,C.ɵbc]),t.ɵdid(33,671744,null,0,C.NgModel,[[2,C.ControlContainer],[2,C.NG_VALIDATORS],[8,null],[2,C.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,C.NgControl,null,[C.NgModel]),t.ɵdid(35,16384,null,0,C.NgControlStatus,[C.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount2"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount2"],["max","99"],["min","1"],["name","Amount2"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,51)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,51)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,51)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.verifyAmount2=e)&&u);return u},null,null)),t.ɵdid(51,16384,null,0,C.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,C.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(52,16384,null,0,C.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(53,16384,null,0,C.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,C.NG_VALIDATORS,function(n){return[n]},[C.RequiredValidator]),t.ɵprd(1024,null,C.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[C.DefaultValueAccessor,C.ɵbc]),t.ɵdid(56,671744,null,0,C.NgModel,[[2,C.ControlContainer],[2,C.NG_VALIDATORS],[8,null],[2,C.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,C.NgControl,null,[C.NgModel]),t.ɵdid(58,16384,null,0,C.NgControlStatus,[C.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,8,"button",[["class","btn btn-outline-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(67,null,["",""])),t.ɵppd(68,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccount")),"")),n(l,13,0,e.verifyBankPromise);n(l,30,0,"");n(l,33,0,"Amount1",e.verifyAmount1);n(l,53,0,"");n(l,56,0,"Amount2",e.verifyAmount2)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccountDesc")),t.ɵunv(l,5,1,n(l,7,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccountFailureWarning"))),n(l,9,0,t.ɵnov(l,12).ngClassUntouched,t.ɵnov(l,12).ngClassTouched,t.ɵnov(l,12).ngClassPristine,t.ɵnov(l,12).ngClassDirty,t.ɵnov(l,12).ngClassValid,t.ɵnov(l,12).ngClassInvalid,t.ɵnov(l,12).ngClassPending),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent.parent,0),"amount","1"))),n(l,27,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent.parent,0),"amount","2"))),n(l,50,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending),n(l,61,0,t.ɵnov(l,9).loading),n(l,63,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent.parent,0),"loading")),"")),n(l,67,0,t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccount")))})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,X)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(8,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(9,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.paymentSource.type===e.paymentMethodType.BankAccount&&e.paymentSource.needsVerification);n(l,8,0,"fa fa-fw",n(l,9,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal))},function(n,l){n(l,10,0,l.component.paymentSource.description)})}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod")))})}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},b.View_AdjustPaymentComponent_0,b.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,S.AdjustPaymentComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{currentType:[0,"currentType"],organizationId:[1,"organizationId"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null,e.organizationId)},null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCharges")))})}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,28,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.viewInvoice(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,w.StopClickDirective,[],null,null),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-file-pdf-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"td",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(23,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(24,{"text-strike":0}),t.ɵppd(25,1),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,23,0,n(l,24,0,l.context.$implicit.refunded))},function(n,l){n(l,4,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,6,0,t.ɵnov(l.parent.parent.parent.parent,0),"invoice")),"")),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.createdDate,"mediumDate"))),n(l,17,0,l.context.$implicit.paymentSource?l.context.$implicit.paymentSource.description:"-"),n(l,20,0,l.context.$implicit.status),n(l,22,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,25,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"")),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$")))})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(5,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.charges)},null)}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,75,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePlan()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(24,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(37,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(38,{width:0}),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(44,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(51,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Q)),t.ɵdid(54,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,nn)),t.ɵdid(57,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,ln)),t.ɵdid(60,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(67,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,un)),t.ɵdid(70,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["* ",""])),t.ɵppd(74,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,e.canDownloadLicense),n(l,12,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,24,0,e.subscription&&e.canAdjustSeats),n(l,37,0,n(l,38,0,e.storageProgressWidth+"%")),n(l,44,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel&&e.paymentSource),n(l,51,0,!e.paymentSource),n(l,54,0,e.paymentSource),n(l,57,0,!e.showAdjustPayment),n(l,60,0,e.showAdjustPayment),n(l,67,0,!e.charges||!e.charges.length),n(l,70,0,e.charges&&e.charges.length)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"changeBillingPlan"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"userSeats"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"subscriptionUserSeats",e.billing.seats))),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent.parent,0),"storage"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.billing.maxStorageGb||0,e.billing.storageName||"0 MB"))),n(l,36,0,e.storagePercentage),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100))),n(l,47,0,t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent,0),"paymentMethod"))),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent,0),"charges"))),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"chargesStatement","BITWARDEN")))})}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(15,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,on)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,9,0,e.selfHosted),n(l,12,0,!e.selfHosted),n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},null)}function an(n){return t.ɵvid(0,[t.ɵpid(0,R.I18nPipe,[i.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,rn)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.billing)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"billingAndLicensing")))})}function sn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-billing",[],null,null,null,an,O)),t.ɵdid(1,114688,null,0,_.OrganizationBillingComponent,[I.TokenService,p.ApiService,A.PlatformUtilsService,i.I18nService,f.Angulartics2,v.ToasterService,E.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationBillingComponent=O,l.View_OrganizationBillingComponent_0=an,l.View_OrganizationBillingComponent_Host_0=sn;var dn=t.ɵccf("app-org-billing",_.OrganizationBillingComponent,sn,{},{},[]);l.OrganizationBillingComponentNgFactory=dn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(60),a=e(5),s=e(7),d=e(239),c=e(4),p=e(35),f=e(27),v=e(10),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc")))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"))),n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),""))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){n(l,2,0,t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled),n(l,15,0,!e.premium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.premium&&l.context.$implicit.premium),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function N(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(35,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId),n(l,24,0,n(l,25,0,!e.organizationId)),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,N,h)),t.ɵdid(1,114688,null,0,d.TwoFactorSetupComponent,[c.ApiService,p.TokenService,t.ComponentFactoryResolver,f.MessagingService,v.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=h,l.View_TwoFactorSetupComponent_0=N,l.View_TwoFactorSetupComponent_Host_0=T;var k=t.ɵccf("app-two-factor-setup",d.TwoFactorSetupComponent,T,{},{},[]);l.TwoFactorSetupComponentNgFactory=k},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(130),a=e(116),s=e(42),d=e(7),c=e(2),p=e(5),f=e(240),v=e(4),h=e(3),g=e(9),m=e(10),y=e(66),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.billingEmail=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.businessName=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["height","75"],["width","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],fontSize:[3,"fontSize"],dynamic:[4,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.org.name);n(l,33,0,"BillingEmail",e.org.billingEmail);n(l,47,0,"BusinessName",e.org.businessName);n(l,56,0,t.ɵinlineInterpolate(1,"",e.org.name,""),"75","75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"organizationName"))),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"billingEmail"))),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"businessName"))),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading),n(l,62,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=l.component;n(l,3,0,e.org.businessAddress1),n(l,6,0,e.org.businessAddress2),n(l,9,0,e.org.businessAddress3),n(l,12,0,e.org.businessCountry),n(l,15,0,e.org.businessTaxNumber)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[c.I18nService]),t.ɵqud(402653184,1,{deleteModalRef:0}),(n()(),t.ɵeld(2,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(10,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(13,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(15,0,null,null,5,"div",[["class","secondary-header border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(23,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(25,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(29,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n"])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(33,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(40,0,null,null,12,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,9,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(45,null,["",""])),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteOrganization()&&t);return t},null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deleteOrganizationTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.loading),n(l,13,0,e.org&&!e.loading),n(l,23,0,e.org&&(e.org.businessAddress1||e.org.businessTaxNumber))},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"myOrganization"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"taxInformation"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"taxInformationDesc"))),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"contactSupport"))),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"dangerZone"))),n(l,45,0,t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"dangerZoneDesc"))),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"deleteOrganization")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-account",[],null,null,null,_,C)),t.ɵdid(1,114688,null,0,f.AccountComponent,[t.ComponentFactoryResolver,v.ApiService,c.I18nService,h.Angulartics2,g.ToasterService,m.ActivatedRoute,y.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AccountComponent=C,l.View_AccountComponent_0=_,l.View_AccountComponent_Host_0=I;var A=t.ɵccf("app-org-account",f.AccountComponent,I,{},{},[]);l.AccountComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(241),s=e(21),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"two-factor");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"twoStepLogin")))})}function p(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,42,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,39,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,30,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,27,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,20,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(32,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(40,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"billing");n(l,25,0,"active"),n(l,32,0,e.access2fa),n(l,40,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myOrganization"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"billingAndLicensing")))})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-settings",[],null,null,null,p,d)),t.ɵdid(1,114688,null,0,a.SettingsComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=d,l.View_SettingsComponent_0=p,l.View_SettingsComponent_Host_0=f;var v=t.ɵccf("app-org-settings",a.SettingsComponent,f,{},{},[]);l.SettingsComponentNgFactory=v},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.groupIds=[]}}();l.OrganizationUserUpdateGroupsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.OrganizationUserUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.emails=[],this.collections=[]}}();l.OrganizationUserInviteRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUserConfirmRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(60),o=e(130),i=e(116),r=e(42),a=e(5),s=e(7),d=e(2),c=e(249),p=e(13),f=e(242),v=e(4),h=e(10),g=e(8),m=e(3),y=e(9),C=e(20),b=e(21),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-info"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.invitedCount)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.acceptedCount)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noUsersInList")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-secondary"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"invited")))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"accepted")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted d-block"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.parent.context.$implicit.name)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"owner")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"admin")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"user")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.reinvite(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-envelope-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"resendInvitation")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-success"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.confirm(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-check"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"confirm")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.groups(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-sitemap"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"groups")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"eventLogs")))})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,68,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["width","30"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-avatar",[["height","25"],["width","25"]],null,null,null,o.View_AvatarComponent_0,o.RenderType_AvatarComponent)),t.ɵdid(5,638976,null,0,i.AvatarComponent,[r.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],fontSize:[3,"fontSize"],circle:[4,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,14,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,10,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(27,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(30,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(33,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,31,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,28,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,20,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(48,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(51,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(54,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(57,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,60).onClick(e)&&u);"click"===l&&(u=!1!==o.remove(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,0,"i",[["class","fa fa-fw fa-remove"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["\n ","\n "])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit.name||l.context.$implicit.email,"25","25",14,!0),n(l,15,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,18,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,21,0,l.context.$implicit.name),n(l,27,0,l.context.$implicit.type===e.organizationUserType.Owner),n(l,30,0,l.context.$implicit.type===e.organizationUserType.Admin),n(l,33,0,l.context.$implicit.type===e.organizationUserType.User),n(l,48,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,51,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,54,0,e.accessGroups),n(l,57,0,e.accessEvents&&l.context.$implicit.status===e.organizationUserStatusType.Confirmed)},function(n,l){n(l,12,0,l.context.$implicit.email),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent,0),"remove")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(5,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(3,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(6,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function z(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[d.I18nService]),t.ɵpid(0,c.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{groupsModalRef:0}),t.ɵqud(402653184,3,{eventsModalRef:0}),(n()(),t.ɵeld(5,0,null,null,56,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,49,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,25,"div",[["class","btn-group btn-group-sm"],["role","group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(null)&&t);return t},null,null)),t.ɵdid(16,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(17,{active:0}),(n()(),t.ɵted(18,null,["\n ","\n "])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Invited)&&t);return t},null,null)),t.ɵdid(22,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(23,{active:0}),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(27,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Accepted)&&t);return t},null,null)),t.ɵdid(31,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(32,{active:0}),(n()(),t.ɵted(33,null,["\n ","\n "])),t.ɵppd(34,1),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(36,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,13,"div",[["class","ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,47)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,47).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,47)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,47)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(49,671744,null,0,p.NgModel,[[8,null],[8,null],[8,null],[2,p.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(51,16384,null,0,p.NgControlStatus,[p.NgControl],null,null),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.invite()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(64,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,F)),t.ɵdid(67,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(68,5),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,L)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["groupsTemplate",2]],null,0,null,G)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["eventsTemplate",2]],null,0,null,q)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"btn btn-outline-secondary",n(l,17,0,null==e.status));n(l,22,0,"btn btn-outline-secondary",n(l,23,0,e.status==e.organizationUserStatusType.Invited)),n(l,27,0,e.invitedCount);n(l,31,0,"btn btn-outline-secondary",n(l,32,0,e.status==e.organizationUserStatusType.Accepted)),n(l,36,0,e.acceptedCount),n(l,49,0,e.searchText),n(l,64,0,e.loading),n(l,67,0,!e.loading&&t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l,1),e.users,e.searchText,"name","email","id")))},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l,0),"people"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"all"))),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l,0),"invited"))),n(l,33,0,t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"accepted"))),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"search"))),n(l,46,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,46,0,n(l,52,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,51).ngClassUntouched,t.ɵnov(l,51).ngClassTouched,t.ɵnov(l,51).ngClassPristine,t.ɵnov(l,51).ngClassDirty,t.ɵnov(l,51).ngClassValid,t.ɵnov(l,51).ngClassInvalid,t.ɵnov(l,51).ngClassPending),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"inviteUser")))})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-people",[],null,null,null,z,S)),t.ɵdid(1,114688,null,0,f.PeopleComponent,[v.ApiService,h.ActivatedRoute,d.I18nService,t.ComponentFactoryResolver,g.PlatformUtilsService,m.Angulartics2,y.ToasterService,C.CryptoService,b.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PeopleComponent=S,l.View_PeopleComponent_0=z,l.View_PeopleComponent_Host_0=j;var B=t.ɵccf("app-org-people",f.PeopleComponent,j,{},{},[]);l.PeopleComponentNgFactory=B},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.GroupRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(60),o=e(5),i=e(7),r=e(2),a=e(249),s=e(13),d=e(243),c=e(4),p=e(10),f=e(3),v=e(9),h=e(8),g=e(21),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noGroupsInList")))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==o.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,w)),t.ɵdid(39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading),n(l,39,0,!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.groups,e.searchText,"name","id")))},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"groups"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newGroup")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-groups",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.GroupsComponent,[c.ApiService,p.ActivatedRoute,r.I18nService,t.ComponentFactoryResolver,f.Angulartics2,v.ToasterService,h.PlatformUtilsService,g.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_GroupsComponent=m,l.View_GroupsComponent_0=I,l.View_GroupsComponent_Host_0=A;var E=t.ɵccf("app-org-groups",d.GroupsComponent,A,{},{},[]);l.GroupsComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(18),i=e(17),r=e(7),a=e(2),s=e(13),d=e(244),c=e(4),p=e(10),f=e(175),v=e(9),h=e(21),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noEventsInList")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[],[[8,"className",0],[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"span",[],[[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,0,"td",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.date,"medium"))),n(l,8,0,t.ɵinlineInterpolate(1,"text-muted fa fa-lg ",l.context.$implicit.appIcon,""),t.ɵinlineInterpolate(2,"",l.context.$implicit.appName,", ",l.context.$implicit.ip,"")),n(l,13,0,t.ɵinlineInterpolate(1,"",l.context.$implicit.userEmail,"")),n(l,14,0,l.context.$implicit.userName),n(l,17,0,l.context.$implicit.message)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"table",[["class","table table-hover"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,23,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,20,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"th",[["class","border-top-0"],["width","210"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"th",[["class","border-top-0"],["width","40"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"span",[["class","sr-only"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"th",[["class","border-top-0"],["width","150"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"th",[["class","border-top-0"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(30,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,30,0,l.component.events)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"timestamp"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent,0),"device"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"user"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"event")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["moreBtn",1]],null,9,"button",[["class","btn btn-block btn-link btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!1)&&t);return t},null,null)),t.ɵdid(1,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.morePromise)},function(n,l){n(l,0,0,l.component.loaded&&t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"loadMore")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(9,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.events||!e.events.length),n(l,6,0,e.events&&e.events.length),n(l,9,0,e.continuationToken)},null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[a.I18nService]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,47,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,40,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,28,"div",[["class","form-inline"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["class","sr-only"],["for","start"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","start"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.start=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(21,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["class","mx-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["-"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["class","sr-only"],["for","end"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","end"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.end=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(36,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,[["refreshBtn",1]],null,7,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!0)&&t);return t},null,null)),t.ɵdid(41,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(44,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(45,{"fa-spin":0}),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(52,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(55,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,19,0,e.start),n(l,34,0,e.end),n(l,41,0,e.refreshPromise);n(l,44,0,"fa fa-refresh fa-fw",n(l,45,0,e.loaded&&t.ɵnov(l,40).loading)),n(l,52,0,!e.loaded),n(l,55,0,e.loaded)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"eventLogs"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"startDate"))),n(l,16,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,22,0,t.ɵnov(l,0),"startDate")),""),t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"endDate"))),n(l,31,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,31,0,n(l,37,0,t.ɵnov(l,0),"endDate")),""),t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending),n(l,40,0,e.loaded&&t.ɵnov(l,40).loading),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"refresh")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-events",[],null,null,null,R,g)),t.ɵdid(1,114688,null,0,d.EventsComponent,[c.ApiService,p.ActivatedRoute,f.EventService,a.I18nService,v.ToasterService,h.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_EventsComponent=g,l.View_EventsComponent_0=R,l.View_EventsComponent_Host_0=_;var I=t.ɵccf("app-org-events",d.EventsComponent,_,{},{},[]);l.EventsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(60),o=e(5),i=e(7),r=e(2),a=e(249),s=e(13),d=e(248),c=e(4),p=e(10),f=e(44),v=e(3),h=e(9),g=e(8),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-spinner fa-spin text-muted"]],null,null,null,null,null))],null,null)}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noCollectionsInList")))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==o.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,w)),t.ɵdid(39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading),n(l,39,0,!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.collections,e.searchText,"name","id")))},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"collections"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newCollection")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage-collections",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.CollectionsComponent,[c.ApiService,p.ActivatedRoute,f.CollectionService,t.ComponentFactoryResolver,v.Angulartics2,h.ToasterService,r.I18nService,g.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionsComponent=m,l.View_CollectionsComponent_0=I,l.View_CollectionsComponent_Host_0=A;var E=t.ɵccf("app-org-manage-collections",d.CollectionsComponent,A,{},{},[]);l.CollectionsComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(250),s=e(21),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","groups"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"groups");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"groups")))})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","events"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"events");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"eventLogs")))})}function f(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,45,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,42,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,33,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,30,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,23,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","people"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","collections"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(32,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(35,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(43,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"people");n(l,17,0,"active");n(l,24,0,"collections");n(l,25,0,"active"),n(l,32,0,e.accessGroups),n(l,35,0,e.accessEvents),n(l,43,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"manage"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"people"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"collections")))})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage",[],null,null,null,f,d)),t.ɵdid(1,114688,null,0,a.ManageComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ManageComponent=d,l.View_ManageComponent_0=f,l.View_ManageComponent_Host_0=v;var h=t.ɵccf("app-org-manage",a.ManageComponent,v,{},{},[]);l.ManageComponentNgFactory=h},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(17),s=e(40),d=e(37),c=e(46),p=e(251),f=e(3),v=e(9),h=e(20),g=e(21),m=e(8),y=e(176),C=e(10),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,51,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(19,114688,null,0,d.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(20,0,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPassword"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(33,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(36,671744,null,0,i.NgModel,[[2,i.ControlContainer],[2,i.NG_VALIDATORS],[8,null],[2,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(38,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),t.ɵdid(39,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"warning");n(l,33,0,"");n(l,36,0,"MasterPassword",e.masterPassword);n(l,39,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"exportVault"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"exportMasterPassword"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"exportWarning"))),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"masterPass"))),n(l,31,0,t.ɵnov(l,33).required?"":null,t.ɵnov(l,38).ngClassUntouched,t.ɵnov(l,38).ngClassTouched,t.ɵnov(l,38).ngClassPristine,t.ɵnov(l,38).ngClassDirty,t.ɵnov(l,38).ngClassValid,t.ɵnov(l,38).ngClassInvalid,t.ɵnov(l,38).ngClassPending),n(l,43,0,t.ɵnov(l,1).loading),n(l,45,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"loading")),"")),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"exportVault")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-export",[],null,null,null,S,b)),t.ɵdid(1,114688,null,0,p.ExportComponent,[f.Angulartics2,v.ToasterService,h.CryptoService,g.UserService,o.I18nService,m.PlatformUtilsService,y.ExportService,C.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ExportComponent=b,l.View_ExportComponent_0=S,l.View_ExportComponent_Host_0=w;var R=t.ɵccf("app-org-export",p.ExportComponent,w,{},{onSaved:"onSaved"},[]);l.ExportComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.collections=[],this.collectionRelationships=[]}}();l.ImportOrganizationCiphersRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(40),r=e(37),a=e(2),s=e(7),d=e(18),c=e(17),p=e(252),f=e(3),v=e(9),h=e(26),g=e(50),m=e(4),y=e(10),C=e(44),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(7,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click "Export CSV"\n for your "Accounts".\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the XML file.\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML (2.x)" option.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save the CSV file.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my data" to save\n the CSV file.\n ']))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..." and save the XML\n file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive (readable) in CSV format"\n and save the CSV file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the CSV file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings". Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" → "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2sMldAI"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the CSV\n file.\n ']))],null,null)}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,98,"app-callout",[["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(4,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,V)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(34,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,x)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(52,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(55,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(58,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(64,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(67,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(70,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(73,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(76,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(79,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(85,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(88,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(91,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(94,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,en)),t.ɵdid(97,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"pwsafexml"===e.format),n(l,58,0,"dashlanecsv"===e.format),n(l,61,0,"msecurecsv"===e.format),n(l,64,0,"stickypasswordxml"===e.format),n(l,67,0,"truekeycsv"===e.format),n(l,70,0,"clipperzhtml"===e.format),n(l,73,0,"roboformcsv"===e.format),n(l,76,0,"passboltcsv"===e.format),n(l,79,0,"ascendocsv"===e.format),n(l,82,0,"passwordbossjson"===e.format),n(l,85,0,"zohovaultcsv"===e.format),n(l,88,0,"splashidcsv"===e.format),n(l,91,0,"passkeepcsv"===e.format),n(l,94,0,"gnomejson"===e.format),n(l,97,0,"passwordagentcsv"===e.format)},null)}function un(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(12,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(34,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(44,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"))),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"))),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"))),n(l,64,0,t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"))),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading),n(l,77,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"")),n(l,81,0,t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData")))})}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-import",[],null,null,null,un,b)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.CipherService,g.FolderService,m.ApiService,y.Router,C.CollectionService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=b,l.View_ImportComponent_0=un,l.View_ImportComponent_Host_0=on;var rn=t.ɵccf("app-org-import",p.ImportComponent,on,{},{},[]);l.ImportComponentNgFactory=rn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(10),r=e(5),a=e(253),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,39,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,36,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,27,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,24,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,17,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(37,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,"import");n(l,17,0,"active");n(l,24,0,"export");n(l,25,0,"active"),n(l,37,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"importData"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"exportVault")))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-tools",[],null,null,null,d,s)),t.ɵdid(1,49152,null,0,a.ToolsComponent,[],null,null)],null,null)}l.RenderType_ToolsComponent=s,l.View_ToolsComponent_0=d,l.View_ToolsComponent_Host_0=c;var p=t.ɵccf("app-org-tools",a.ToolsComponent,c,{},{},[]);l.ToolsComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.User_LoggedIn=1e3]="User_LoggedIn",n[n.User_ChangedPassword=1001]="User_ChangedPassword",n[n.User_Enabled2fa=1002]="User_Enabled2fa",n[n.User_Disabled2fa=1003]="User_Disabled2fa",n[n.User_Recovered2fa=1004]="User_Recovered2fa",n[n.User_FailedLogIn=1005]="User_FailedLogIn",n[n.User_FailedLogIn2fa=1006]="User_FailedLogIn2fa",n[n.Cipher_Created=1100]="Cipher_Created",n[n.Cipher_Updated=1101]="Cipher_Updated",n[n.Cipher_Deleted=1102]="Cipher_Deleted",n[n.Cipher_AttachmentCreated=1103]="Cipher_AttachmentCreated",n[n.Cipher_AttachmentDeleted=1104]="Cipher_AttachmentDeleted",n[n.Cipher_Shared=1105]="Cipher_Shared",n[n.Cipher_UpdatedCollections=1106]="Cipher_UpdatedCollections",n[n.Collection_Created=1300]="Collection_Created",n[n.Collection_Updated=1301]="Collection_Updated",n[n.Collection_Deleted=1302]="Collection_Deleted",n[n.Group_Created=1400]="Group_Created",n[n.Group_Updated=1401]="Group_Updated",n[n.Group_Deleted=1402]="Group_Deleted",n[n.OrganizationUser_Invited=1500]="OrganizationUser_Invited",n[n.OrganizationUser_Confirmed=1501]="OrganizationUser_Confirmed",n[n.OrganizationUser_Updated=1502]="OrganizationUser_Updated",n[n.OrganizationUser_Removed=1503]="OrganizationUser_Removed",n[n.OrganizationUser_UpdatedGroups=1504]="OrganizationUser_UpdatedGroups",n[n.Organization_Updated=1600]="Organization_Updated"}(l.EventType||(l.EventType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(92),i=e(60),r=e(5),a=e(566),s=e(281),d=e(131),c=e(61),p=e(565),f=e(8),v=e(7),h=e(2),g=e(256),m=e(26),y=e(3),C=e(9),b=e(4),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.parent.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,3).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[8,null],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.$implicit.checked)},function(n,l){n(l,2,0,t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["appStopProp",""],["class","fa fa-share-alt"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(2,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),"shared")),""))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["appStopProp",""],["class","fa fa-paperclip"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(2,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),"attachments")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.copy(n.parent.context.$implicit.login.password,"password","password")&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"copyPassword")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.share(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-share-alt"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"share")))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.collections(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-cubes"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"collections")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"eventLogs")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"td",[["class","table-list-icon"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,1,"app-vault-icon",[],null,null,null,a.View_IconComponent_0,a.RenderType_IconComponent)),t.ɵdid(8,573440,null,0,s.IconComponent,[d.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,19,"td",[["class","reduced-lh"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"a",[["appStopClick",""],["appStopProp",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,14).onClick(e)&&u);"click"===l&&(u=!1!==t.ɵnov(n,15).onClick(e)&&u);"click"===l&&(u=!1!==o.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(14,16384,null,0,i.StopClickDirective,[],null,null),t.ɵdid(15,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(16,1),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(20,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(23,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"small",[["appStopProp",""]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,o.StopPropDirective,[],null,null),(n()(),t.ɵted(29,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,38,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,35,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["id","dropdownMenuButton"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,27,"div",[["aria-labelledby","dropdownMenuButton"],["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,47).onClick(e)&&u);"click"===l&&(u=!1!==o.attachments(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,0,"i",[["class","fa fa-fw fa-paperclip"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(54,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(57,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(60,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,63).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(63,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(66,null,["\n ","\n "])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.organization),n(l,8,0,l.context.$implicit),n(l,20,0,!e.organization&&l.context.$implicit.organizationId),n(l,23,0,l.context.$implicit.hasAttachments),n(l,44,0,l.context.$implicit.type===e.cipherType.Login),n(l,54,0,!e.organization&&!l.context.$implicit.organizationId),n(l,57,0,l.context.$implicit.organizationId),n(l,60,0,l.context.$implicit.organizationId&&e.accessEvents)},function(n,l){n(l,13,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,13,0,n(l,16,0,t.ɵnov(l.parent.parent.parent,1),"editItem")),"")),n(l,17,0,l.context.$implicit.name),n(l,29,0,l.context.$implicit.subTitle),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l.parent.parent.parent,1),"attachments"))),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent.parent.parent,1),"delete")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(5,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent,1),"loading")),""))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"button",[["class","btn btn-outline-primary"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1)],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,1),"addItem")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,l.component.showAddNew)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),"noItemsInList")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","no-items"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.loaded),n(l,6,0,e.loaded)},null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,l.context.ngIf.length>0),n(l,6,0,0===l.context.ngIf.length)},null)}function D(n){return t.ɵvid(0,[t.ɵpid(0,p.SearchCiphersPipe,[f.PlatformUtilsService]),t.ɵpid(0,v.I18nPipe,[h.I18nService]),(n()(),t.ɵand(16777216,null,null,2,null,x)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),e.ciphers,e.searchText)))},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-ciphers",[],null,null,null,D,S)),t.ɵdid(1,49152,null,0,g.CiphersComponent,[m.CipherService,y.Angulartics2,C.ToasterService,h.I18nService,f.PlatformUtilsService,b.ApiService],null,null)],null,null)}l.RenderType_CiphersComponent=S,l.View_CiphersComponent_0=D,l.View_CiphersComponent_Host_0=U;var F=t.ɵccf("app-org-vault-ciphers",g.CiphersComponent,U,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"},[]);l.CiphersComponentNgFactory=F},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(60),i=e(7),r=e(2),a=e(13),s=e(87),d=e(257),c=e(44),p=e(50),f=e(4),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectFavorites()&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-star"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,["","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,n(l,2,0,l.component.selectedFavorites))},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"favorites")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto show-active"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.editFolder(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-pencil fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"editFolder")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,12,"li",[["class","d-flex"]],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,4,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectFolder(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-caret-right"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(11,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"d-flex",n(l,2,0,e.selectedFolder&&l.context.$implicit.id===e.selectedFolderId)),n(l,11,0,l.context.$implicit.id)},function(n,l){n(l,8,0,l.context.$implicit.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"h3",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵeld(5,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,6).onClick(e)&&u);"click"===l&&(u=!1!==o.addFolder()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(16,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,16,0,l.component.folders)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"folders"))),n(l,5,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addFolder")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,4,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectCollection(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-caret-right"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ",""])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,n(l,2,0,l.context.$implicit.id===e.selectedCollectionId))},function(n,l){n(l,8,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,4,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(9,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.collections)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"collections")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.showFolders),n(l,6,0,e.showCollections&&e.collections&&e.collections.length)},null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,95,"div",[["class","card vault-filters"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Filters\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,89,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["appAutofocus",""],["class","form-control"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);"input"===l&&(u=!1!==o.searchTextChanged()&&u);return u},null,null)),t.ɵdid(9,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,a.NgModel,[[8,null],[8,null],[8,null],[2,a.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(13,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(14,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,16,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(20,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(21,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e)&&u);"click"===l&&(u=!1!==o.selectAll()&&u);return u},null,null)),t.ɵdid(24,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-th"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["","\n "])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(32,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,49,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(42,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(43,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,46).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Login)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-globe"]],null,null,null,null,null)),(n()(),t.ɵted(49,null,["","\n "])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(54,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(55,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,58).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Card)&&u);return u},null,null)),t.ɵdid(58,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-credit-card"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["","\n "])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(66,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(67,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,70).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Identity)&&u);return u},null,null)),t.ɵdid(70,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-id-card-o"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["","\n "])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(78,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(79,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,82).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.SecureNote)&&u);return u},null,null)),t.ɵdid(82,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-sticky-note-o"]],null,null,null,null,null)),(n()(),t.ɵted(85,null,["","\n "])),t.ɵppd(86,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(91,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(94,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,11,0,e.searchText);n(l,14,0,""),n(l,20,0,n(l,21,0,e.selectedAll)),n(l,32,0,e.showFavorites),n(l,42,0,n(l,43,0,e.selectedType===e.cipherType.Login)),n(l,54,0,n(l,55,0,e.selectedType===e.cipherType.Card)),n(l,66,0,n(l,67,0,e.selectedType===e.cipherType.Identity)),n(l,78,0,n(l,79,0,e.selectedType===e.cipherType.SecureNote)),n(l,91,0,!e.loaded),n(l,94,0,e.loaded)},function(n,l){var e=l.component;n(l,8,0,t.ɵinlineInterpolate(1,"",e.searchPlaceholder||t.ɵunv(l,8,0,n(l,15,0,t.ɵnov(l,0),"searchVault")),""),t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"allItems"))),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"types"))),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"typeLogin"))),n(l,61,0,t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l,0),"typeCard"))),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l,0),"typeIdentity"))),n(l,85,0,t.ɵunv(l,85,0,n(l,86,0,t.ɵnov(l,0),"typeSecureNote")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-groupings",[],null,null,null,R,v)),t.ɵdid(1,49152,null,0,d.GroupingsComponent,[c.CollectionService,p.FolderService,f.ApiService,r.I18nService],null,null)],null,null)}l.RenderType_GroupingsComponent=v,l.View_GroupingsComponent_0=R,l.View_GroupingsComponent_Host_0=_;var I=t.ɵccf("app-org-vault-groupings",d.GroupingsComponent,_,{showFolders:"showFolders",showCollections:"showCollections",showFavorites:"showFavorites"},{onAllClicked:"onAllClicked",onFavoritesClicked:"onFavoritesClicked",onCipherTypeClicked:"onCipherTypeClicked",onFolderClicked:"onFolderClicked",onAddFolder:"onAddFolder",onEditFolder:"onEditFolder",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"},[]);l.GroupingsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(729),r=e(257),a=e(44),s=e(50),d=e(4),c=e(728),p=e(256),f=e(26),v=e(3),h=e(9),g=e(8),m=e(255),y=e(10),C=e(21),b=e(5),S=e(66),w=e(27),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{groupingsComponent:0}),t.ɵqud(402653184,2,{ciphersComponent:0}),t.ɵqud(402653184,3,{attachmentsModalRef:0}),t.ɵqud(402653184,4,{cipherAddEditModalRef:0}),t.ɵqud(402653184,5,{collectionsModalRef:0}),t.ɵqud(402653184,6,{eventsModalRef:0}),(n()(),t.ɵeld(7,0,null,null,31,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,28,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,5,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"app-org-vault-groupings",[],null,[[null,"onAllClicked"],[null,"onCipherTypeClicked"],[null,"onCollectionClicked"],[null,"onSearchTextChanged"]],function(n,l,e){var t=!0,u=n.component;"onAllClicked"===l&&(t=!1!==u.clearGroupingFilters()&&t);"onCipherTypeClicked"===l&&(t=!1!==u.filterCipherType(e)&&t);"onCollectionClicked"===l&&(t=!1!==u.filterCollection(e.id)&&t);"onSearchTextChanged"===l&&(t=!1!==u.filterSearchText(e)&&t);return t},i.View_GroupingsComponent_0,i.RenderType_GroupingsComponent)),t.ɵdid(14,49152,[[1,4]],0,r.GroupingsComponent,[a.CollectionService,s.FolderService,d.ApiService,o.I18nService],{showFolders:[0,"showFolders"],showFavorites:[1,"showFavorites"]},{onAllClicked:"onAllClicked",onCipherTypeClicked:"onCipherTypeClicked",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,18,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,11,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(23,null,["",""])),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,4,"button",[["class","btn btn-outline-primary btn-sm ml-auto"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(29,null,["","\n "])),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"app-org-vault-ciphers",[],null,[[null,"onCipherClicked"],[null,"onAttachmentsClicked"],[null,"onAddCipher"],[null,"onCollectionsClicked"],[null,"onEventsClicked"]],function(n,l,e){var t=!0,u=n.component;"onCipherClicked"===l&&(t=!1!==u.editCipher(e)&&t);"onAttachmentsClicked"===l&&(t=!1!==u.editCipherAttachments(e)&&t);"onAddCipher"===l&&(t=!1!==u.addCipher()&&t);"onCollectionsClicked"===l&&(t=!1!==u.editCipherCollections(e)&&t);"onEventsClicked"===l&&(t=!1!==u.viewEvents(e)&&t);return t},c.View_CiphersComponent_0,c.RenderType_CiphersComponent)),t.ɵdid(34,49152,[[2,4]],0,p.CiphersComponent,[f.CipherService,v.Angulartics2,h.ToasterService,o.I18nService,g.PlatformUtilsService,d.ApiService],null,{onCipherClicked:"onCipherClicked",onAddCipher:"onAddCipher",onAttachmentsClicked:"onAttachmentsClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["attachments",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["cipherAddEdit",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["collections",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["eventsTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,14,0,!1,!1)},function(n,l){n(l,23,0,t.ɵunv(l,23,0,n(l,24,0,t.ɵnov(l,0),"vault"))),n(l,29,0,t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"addItem")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault",[],null,null,null,O,R)),t.ɵdid(1,114688,null,0,m.VaultComponent,[y.ActivatedRoute,C.UserService,b.Location,y.Router,S.SyncService,o.I18nService,t.ComponentFactoryResolver,w.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_VaultComponent=R,l.View_VaultComponent_0=O,l.View_VaultComponent_Host_0=N;var T=t.ɵccf("app-org-vault",m.VaultComponent,N,{},{},[]);l.VaultComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(130),r=e(116),a=e(42),s=e(7),d=e(2),c=e(569),p=e(284),f=e(27),v=e(8),h=e(35),g=e(568),m=e(283),y=e(258),C=e(21),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"a",[["class","nav-link"],["routerLink","settings"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,3).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(3,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(4,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-cogs"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"settings");n(l,4,0,"active")},function(n,l){n(l,2,0,t.ɵnov(l,3).target,t.ɵnov(l,3).href),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent.parent,0),"settings")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,43,"ul",[["class","nav nav-tabs"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,8,"a",[["class","nav-link"],["routerLink","vault"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(5,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(6,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,0,"i",[["class","fa fa-lock"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"a",[["class","nav-link"],["routerLink","manage"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,18).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(18,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(19,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-sliders"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"a",[["class","nav-link"],["routerLink","tools"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,31).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(31,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(32,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,0,"i",[["class","fa fa-wrench"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["\n ","\n "])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(42,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,"vault");n(l,6,0,"active");n(l,18,0,"manage");n(l,19,0,"active");n(l,31,0,"tools");n(l,32,0,"active"),n(l,42,0,e.organization.isOwner)},function(n,l){n(l,4,0,t.ɵnov(l,5).target,t.ɵnov(l,5).href),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"vault"))),n(l,17,0,t.ɵnov(l,18).target,t.ɵnov(l,18).href),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,0),"manage"))),n(l,30,0,t.ɵnov(l,31).target,t.ɵnov(l,31).href),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"tools")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,23,"div",[["class","org-nav"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,20,"div",[["class","container d-flex flex-column"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,14,"div",[["class","my-auto d-flex align-items-center pl-1"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"app-avatar",[],null,null,null,i.View_AvatarComponent_0,i.RenderType_AvatarComponent)),t.ɵdid(7,638976,null,0,r.AvatarComponent,[a.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],circle:[3,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,8,"div",[["class","org-name ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(21,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,7,0,e.organization.name,45,45,!0),n(l,21,0,e.organization.isAdmin)},function(n,l){n(l,12,0,l.component.organization.name),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organization")))})}function _(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[d.I18nService]),(n()(),t.ɵeld(1,0,null,null,1,"app-navbar",[],null,null,null,c.View_NavbarComponent_0,c.RenderType_NavbarComponent)),t.ɵdid(2,114688,null,0,p.NavbarComponent,[f.MessagingService,v.PlatformUtilsService,h.TokenService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(5,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(7,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(8,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,1,"app-footer",[],null,null,null,g.View_FooterComponent_0,g.RenderType_FooterComponent)),t.ɵdid(11,114688,null,0,m.FooterComponent,[v.PlatformUtilsService],null,null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0),n(l,5,0,e.organization),n(l,8,0),n(l,11,0)},null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-organization-layout",[],null,null,null,_,b)),t.ɵdid(1,114688,null,0,y.OrganizationLayoutComponent,[u.ActivatedRoute,C.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationLayoutComponent=b,l.View_OrganizationLayoutComponent_0=_,l.View_OrganizationLayoutComponent_Host_0=I;var A=t.ɵccf("app-organization-layout",y.OrganizationLayoutComponent,I,{},{},[]);l.OrganizationLayoutComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(5),a=e(7),s=e(13),d=e(18),c=e(17),p=e(259),f=e(129),v=e(21),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["","..."])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"reportError")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,2)],function(n,l){n(l,1,0,"success",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"goodNews")),""))},function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"breachUsernameNotFound",e.checkedUsername)))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,3)],function(n,l){n(l,1,0,"danger",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"breachFound")),""))},function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"breachUsernameFound",e.checkedUsername,e.breachedAccounts.length)))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"li",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.context.$implicit)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,64,"li",[["class","list-group-item min-height-fix"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,61,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,3,"div",[["class","col-2 text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,0,"img",[["alt",""],["class","img-fluid"]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,16,"div",[["class","col-7"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"h3",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,0,"p",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"p",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",":"])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,4,"ul",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(23,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,35,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,32,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(51,null,["",""])),t.ɵppd(52,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(59,null,["",""])),t.ɵppd(60,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,23,0,l.context.$implicit.dataClasses)},function(n,l){n(l,6,0,"https://haveibeenpwned.com/Content/Images/PwnedLogos/"+l.context.$implicit.name+"."+l.context.$implicit.logoType),n(l,12,0,l.context.$implicit.title),n(l,14,0,l.context.$implicit.description),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent.parent.parent,0),"compromisedData"))),n(l,32,0,t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent.parent.parent.parent,0),"website"))),n(l,36,0,l.context.$implicit.domain),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent.parent,0),"affectedUsers"))),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.pwnCount))),n(l,47,0,t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent.parent.parent,0),"breachOccurred"))),n(l,51,0,t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.breachDate,"mediumDate"))),n(l,55,0,t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent.parent.parent.parent,0),"breachReported"))),n(l,59,0,t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.addedDate,"mediumDate")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"ul",[["class","list-group list-group-breach"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.breachedAccounts)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(9,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.breachedAccounts.length),n(l,6,0,e.breachedAccounts.length),n(l,9,0,e.breachedAccounts.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.error),n(l,6,0,!e.error)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[i.I18nService]),t.ɵpid(0,r.DecimalPipe,[t.LOCALE_ID]),t.ɵpid(0,r.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,[["form",1]],null,38,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,15).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,15).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(15,4210688,null,0,s.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,s.ControlContainer,null,[s.NgForm]),t.ɵdid(17,16384,null,0,s.NgControlStatusGroup,[s.ControlContainer],null,null),t.ɵdid(18,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,21,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,18,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,2,"label",[["for","username"]],null,null,null,null,null)),(n()(),t.ɵted(25,null,["",""])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,7,"input",[["class","form-control"],["id","username"],["name","Username"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,29)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,29)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,29)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.username=e)&&u);return u},null,null)),t.ɵdid(29,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(30,16384,null,0,s.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,s.NG_VALIDATORS,function(n){return[n]},[s.RequiredValidator]),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,s.NgModel,[[2,s.ControlContainer],[2,s.NG_VALIDATORS],[8,null],[2,s.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(35,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(55,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,18,0,e.formPromise);n(l,30,0,"");n(l,33,0,"Username",e.username),n(l,55,0,!t.ɵnov(l,14).loading&&e.checkedUsername)},function(n,l){n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"dataBreachReport"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"breachDesc"))),n(l,14,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending),n(l,25,0,t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"username"))),n(l,28,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,38,0,t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"breachCheckUsernameEmail"))),n(l,43,0,t.ɵnov(l,14).loading),n(l,45,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"loading")),"")),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"checkBreaches")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-breach-report",[],null,null,null,_,h)),t.ɵdid(1,114688,null,0,p.BreachReportComponent,[f.AuditService,v.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_BreachReportComponent=h,l.View_BreachReportComponent_0=_,l.View_BreachReportComponent_Host_0=I;var A=t.ɵccf("app-breach-report",p.BreachReportComponent,I,{},{},[]);l.BreachReportComponentNgFactory=A},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]128&&(this.options.length=128),this.options.minNumber?this.options.minNumber>this.options.length?this.options.minNumber=this.options.length:this.options.minNumber>9&&(this.options.minNumber=9):this.options.minNumber=0,this.options.minSpecial?this.options.minSpecial>this.options.length?this.options.minSpecial=this.options.length:this.options.minSpecial>9&&(this.options.minSpecial=9):this.options.minSpecial=0,this.options.minSpecial+this.options.minNumber>this.options.length&&(this.options.minSpecial=this.options.length-this.options.minNumber)},n}();l.PasswordGeneratorComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(260),a=e(94),s=e(3),d=e(8),c=e(9),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{historyModalRef:0}),(n()(),t.ɵeld(2,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(9,0,null,null,4,"div",[["class","card card-password bg-light my-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(15,0,null,null,46,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"label",[["for","length"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"input",[["class","form-control"],["id","length"],["max","128"],["min","5"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,24)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,24)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,24)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.options.length=e)&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);return u},null,null)),t.ɵdid(24,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(25,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(27,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(29,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"label",[["for","min-number"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,6,"input",[["class","form-control"],["id","min-number"],["max","9"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"ngModelChange"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,39)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,39).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,39)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,39)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,40).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,40).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,40).onTouched()&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.minNumber=e)&&u);return u},null,null)),t.ɵdid(39,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(40,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(42,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(44,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"label",[["for","min-special"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["",""])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,6,"input",[["class","form-control"],["id","min-special"],["max","9"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"ngModelChange"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,54)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,54).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,54)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,54)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,55).onTouched()&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.minSpecial=e)&&u);return u},null,null)),t.ɵdid(54,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(55,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(57,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(59,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(63,0,null,null,67,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"input",[["class","form-check-input"],["id","uppercase"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,68).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.uppercase=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(70,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(72,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,1,"label",[["class","form-check-label"],["for","uppercase"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["A-Z"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(78,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,5,"input",[["class","form-check-input"],["id","lowercase"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,81).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,81).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.lowercase=e)&&u);return u},null,null)),t.ɵdid(81,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(83,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(85,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(87,0,null,null,1,"label",[["class","form-check-label"],["for","lowercase"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["a-z"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,5,"input",[["class","form-check-input"],["id","numbers"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,94).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,94).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.number=e)&&u);return u},null,null)),t.ɵdid(94,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(96,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(98,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,1,"label",[["class","form-check-label"],["for","numbers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["0-9"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(106,0,null,null,5,"input",[["class","form-check-input"],["id","special"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,107).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,107).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.special=e)&&u);return u},null,null)),t.ɵdid(107,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(109,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(111,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(113,0,null,null,1,"label",[["class","form-check-label"],["for","special"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["!@#$%^&*"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(117,0,null,null,12,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(119,0,null,null,5,"input",[["class","form-check-input"],["id","ambiguous"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,120).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,120).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.avoidAmbiguous=e)&&u);return u},null,null)),t.ɵdid(120,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(122,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(124,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(126,0,null,null,2,"label",[["class","form-check-label"],["for","ambiguous"]],null,null,null,null,null)),(n()(),t.ɵted(127,null,["",""])),t.ɵppd(128,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(132,0,null,null,21,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(134,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(136,0,null,null,2,"button",[["class","btn btn-primary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.regenerate()&&t);return t},null,null)),(n()(),t.ɵted(137,null,["\n ","\n "])),t.ɵppd(138,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(140,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy()&&t);return t},null,null)),(n()(),t.ɵted(141,null,["\n ","\n "])),t.ɵppd(142,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(147,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.history()&&t);return t},null,null)),t.ɵppd(148,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(150,0,null,null,0,"i",[["class","fa fa-clock-o fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["historyTemplate",2]],null,0,null,f)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,27,0,e.options.length),n(l,42,0,e.options.minNumber),n(l,57,0,e.options.minSpecial),n(l,70,0,e.options.uppercase),n(l,83,0,e.options.lowercase),n(l,96,0,e.options.number),n(l,109,0,e.options.special),n(l,122,0,e.avoidAmbiguous)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"passwordGenerator"))),n(l,12,0,e.password),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"length"))),n(l,23,0,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending),n(l,35,0,t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l,0),"minNumbers"))),n(l,38,0,t.ɵnov(l,44).ngClassUntouched,t.ɵnov(l,44).ngClassTouched,t.ɵnov(l,44).ngClassPristine,t.ɵnov(l,44).ngClassDirty,t.ɵnov(l,44).ngClassValid,t.ɵnov(l,44).ngClassInvalid,t.ɵnov(l,44).ngClassPending),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"minSpecial"))),n(l,53,0,t.ɵnov(l,59).ngClassUntouched,t.ɵnov(l,59).ngClassTouched,t.ɵnov(l,59).ngClassPristine,t.ɵnov(l,59).ngClassDirty,t.ɵnov(l,59).ngClassValid,t.ɵnov(l,59).ngClassInvalid,t.ɵnov(l,59).ngClassPending),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,80,0,t.ɵnov(l,85).ngClassUntouched,t.ɵnov(l,85).ngClassTouched,t.ɵnov(l,85).ngClassPristine,t.ɵnov(l,85).ngClassDirty,t.ɵnov(l,85).ngClassValid,t.ɵnov(l,85).ngClassInvalid,t.ɵnov(l,85).ngClassPending),n(l,93,0,t.ɵnov(l,98).ngClassUntouched,t.ɵnov(l,98).ngClassTouched,t.ɵnov(l,98).ngClassPristine,t.ɵnov(l,98).ngClassDirty,t.ɵnov(l,98).ngClassValid,t.ɵnov(l,98).ngClassInvalid,t.ɵnov(l,98).ngClassPending),n(l,106,0,t.ɵnov(l,111).ngClassUntouched,t.ɵnov(l,111).ngClassTouched,t.ɵnov(l,111).ngClassPristine,t.ɵnov(l,111).ngClassDirty,t.ɵnov(l,111).ngClassValid,t.ɵnov(l,111).ngClassInvalid,t.ɵnov(l,111).ngClassPending),n(l,119,0,t.ɵnov(l,124).ngClassUntouched,t.ɵnov(l,124).ngClassTouched,t.ɵnov(l,124).ngClassPristine,t.ɵnov(l,124).ngClassDirty,t.ɵnov(l,124).ngClassValid,t.ɵnov(l,124).ngClassInvalid,t.ɵnov(l,124).ngClassPending),n(l,127,0,t.ɵunv(l,127,0,n(l,128,0,t.ɵnov(l,0),"ambiguous"))),n(l,137,0,t.ɵunv(l,137,0,n(l,138,0,t.ɵnov(l,0),"regeneratePassword"))),n(l,141,0,t.ɵunv(l,141,0,n(l,142,0,t.ɵnov(l,0),"copyPassword"))),n(l,147,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,147,0,n(l,148,0,t.ɵnov(l,0),"passwordHistory")),""))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-password-generator",[],null,null,null,v,p)),t.ɵdid(1,114688,null,0,r.PasswordGeneratorComponent,[a.PasswordGenerationService,s.Angulartics2,d.PlatformUtilsService,o.I18nService,c.ToasterService,t.ComponentFactoryResolver],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PasswordGeneratorComponent=p,l.View_PasswordGeneratorComponent_0=v,l.View_PasswordGeneratorComponent_Host_0=h;var g=t.ɵccf("app-password-generator",r.PasswordGeneratorComponent,h,{showSelect:"showSelect"},{onSelected:"onSelected"},[]);l.PasswordGeneratorComponentNgFactory=g},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]t?l.substring(t+1):null;if(!e.isNullOrWhitespace(u)&&!e.isNullOrWhitespace(o)&&"SecretType"!==u){var i=u.toLowerCase();null==n.login.username&&e.usernameFieldNames.indexOf(i)>-1?n.login.username=o:null==n.login.password&&e.passwordFieldNames.indexOf(i)>-1?n.login.password=o:e.processKvp(n,u,o)}}})},l}(o.BaseImporter);l.ZohoVaultCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(5===n.length){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n[0],"--"),t.notes=l.getValueOrDefault(n[4]),t.login.username=l.getValueOrDefault(n[1]),t.login.password=l.getValueOrDefault(n[2]),t.login.uris=l.makeUriArray(n[3]),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.UpmCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(115),a=e(91),s=e(53),d=e(101),c=["kind","autologin","favorite","hexcolor","protectedwithpassword","subdomainonly","type","tk_export_version","note","title","document_content"],p=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.favorite="true"===l.getValueOrDefault(n.favorite,"").toLowerCase(),t.name=l.getValueOrDefault(n.name,"--"),t.notes=l.getValueOrDefault(n.memo,""),t.login.username=l.getValueOrDefault(n.login),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),"login"!==n.kind&&(t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.note,"")),"cc"===n.kind){if(t.type=s.CipherType.Card,t.card=new r.CardView,t.card.cardholderName=l.getValueOrDefault(n.cardholder),t.card.number=l.getValueOrDefault(n.number),t.card.brand=l.getCardBrand(t.card.number),!l.isNullOrWhitespace(n.expiryDate))try{var u=new Date(n.expiryDate);t.card.expYear=u.getFullYear().toString(),t.card.expMonth=(u.getMonth()+1).toString()}catch(n){}}else if("login"!==n.kind)for(var o in t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=d.SecureNoteType.Generic,l.isNullOrWhitespace(t.notes)||(t.notes=l.getValueOrDefault(n.document_content,"")),n)n.hasOwnProperty(o)&&c.indexOf(o.toLowerCase())<0&&!l.isNullOrWhitespace(n[o])&&l.processKvp(t,o,n[o]);l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.TrueKeyCsvImporter=p},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("root > Database > Logins > Login");return Array.from(u).forEach(function(n){var u=n.getAttribute("ID");if(!l.isNullOrWhitespace(u)){var o=n.getAttribute("Name"),i=n.getAttribute("Password"),r=null,a=null,s=null,d=null,c=null,p=t.querySelector('root > Database > Accounts > Account > LoginLinks > Login[SourceLoginID="'+u+'"]');if(null!=p){var f=p.parentElement.parentElement;null!=f&&(r=f.getAttribute("Name"),a=f.getAttribute("Link"),d=f.getAttribute("ParentID"),s=f.getAttribute("Comments"),l.isNullOrWhitespace(s)||(s=s.split("/n").join("\n")))}l.isNullOrWhitespace(d)||(c=l.buildGroupText(t,d,""),l.processFolder(e,c));var v=l.initLoginCipher();v.name=l.getValueOrDefault(r,"--"),v.notes=l.getValueOrDefault(s),v.login.username=l.getValueOrDefault(o),v.login.password=l.getValueOrDefault(i),v.login.uris=l.makeUriArray(a),l.cleanupCipher(v),e.ciphers.push(v)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l.prototype.buildGroupText=function(n,l,e){var t=n.querySelector('root > Database > Groups > Group[ID="'+l+'"]');return null==t?e:(this.isNullOrWhitespace(e)||(e="/"+e),e=t.getAttribute("Name")+e,this.buildGroupText(n,t.getAttribute("ParentID"),e))},l}(o.BaseImporter);l.StickyPasswordXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){l.processFolder(e,l.getValueOrDefault(n[n.length-1]));var t=l.initLoginCipher();t.notes=l.getValueOrDefault(n[n.length-2],""),t.name=l.getValueOrDefault(n[1],"--"),"Web Logins"===n[0]||"Servers"===n[0]||"Email Accounts"===n[0]?(t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),l.parseFieldsToNotes(t,5,n)):l.parseFieldsToNotes(t,2,n),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.parseFieldsToNotes=function(n,l,e){for(var t=l;t label")).forEach(function(n){var t=n.getAttribute("name"),o=n.getAttribute("id");if(!l.isNullOrWhitespace(t)&&!l.isNullOrWhitespace(o)){u.set(o,e.folders.length);var i=new r.FolderView;i.name=t,e.folders.push(i)}}),Array.from(t.querySelectorAll("database > card")).forEach(function(n){if("true"!==n.getAttribute("template")){var t=l.querySelectorDirectChild(n,"label_id");if(null!=t){var o=t.textContent;!l.isNullOrWhitespace(o)&&u.has(o)&&e.folderRelationships.push([e.ciphers.length,u.get(o)])}var i=l.initLoginCipher();i.name=l.getValueOrDefault(n.getAttribute("title"),"--"),"note"===n.getAttribute("type")?(i.type=s.CipherType.SecureNote,i.secureNote=new a.SecureNoteView,i.secureNote.type=d.SecureNoteType.Generic):Array.from(l.querySelectorAllDirectChild(n,"field")).forEach(function(n){var e=n.textContent;if(!l.isNullOrWhitespace(e)){var t=n.getAttribute("name"),u=l.getValueOrDefault(n.getAttribute("type"),"").toLowerCase();"login"===u?i.login.username=e:"password"===u?i.login.password=e:"notes"===u?i.notes+=e+"\n":"weblogin"===u||"website"===u?i.login.uris=l.makeUriArray(e):l.processKvp(i,t,e)}}),Array.from(l.querySelectorAllDirectChild(n,"notes")).forEach(function(n){i.notes+=n.textContent+"\n"}),l.cleanupCipher(i),e.ciphers.push(i)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.SafeInCloudXmlImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);if(null==t)return e.success=!1,e;var u=1;return t.forEach(function(n){var o=!l.isNullOrWhitespace(n.Folder)&&n.Folder.startsWith("/")?n.Folder.replace("/",""):n.Folder,i=l.isNullOrWhitespace(o)?null:o;l.processFolder(e,i);var r=l.initLoginCipher();r.notes=l.getValueOrDefault(n.Note),r.name=l.getValueOrDefault(n.Name,"--"),r.login.username=l.getValueOrDefault(n.Login),r.login.password=l.getValueOrDefault(n.Pwd),r.login.uris=l.makeUriArray(n.Url),l.cleanupCipher(r),u===t.length&&"--"===r.name&&l.isNullOrWhitespace(r.login.password)||(e.ciphers.push(r),u++)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.RoboFormCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelector("passwordsafe");if(null==u)return e.errorMessage="Missing `passwordsafe` node.",e.success=!1,e;var o=u.getAttribute("delimiter"),r=t.querySelectorAll("passwordsafe > entry");return Array.from(r).forEach(function(n){var t=l.querySelectorDirectChild(n,"group"),u=null==t||l.isNullOrWhitespace(t.textContent)?null:t.textContent.split(".").join("/");l.processFolder(e,u);var i=l.querySelectorDirectChild(n,"title"),r=l.querySelectorDirectChild(n,"username"),a=l.querySelectorDirectChild(n,"email"),s=l.querySelectorDirectChild(n,"password"),d=l.querySelectorDirectChild(n,"url"),c=l.querySelectorDirectChild(n,"notes"),p=l.initLoginCipher();p.name=null!=i?l.getValueOrDefault(i.textContent,"--"):"--",p.notes=null!=c?l.getValueOrDefault(c.textContent,"").split(o).join("\n"):null,p.login.username=null!=r?l.getValueOrDefault(r.textContent):null,p.login.password=null!=s?l.getValueOrDefault(s.textContent):null,p.login.uris=null!=d?l.makeUriArray(d.textContent):null,l.isNullOrWhitespace(p.login.username)&&null!=a?p.login.username=l.getValueOrDefault(a.textContent):null==a||l.isNullOrWhitespace(a.textContent)||(p.notes=l.isNullOrWhitespace(p.notes)?"Email: "+a.textContent:p.notes+"\nEmail: "+a.textContent),l.cleanupCipher(p),e.ciphers.push(p)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.PasswordSafeXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("PasswordManager > record");return Array.from(u).forEach(function(n){var t=l.querySelectorDirectChild(n,"Category"),u=null==t||l.isNullOrWhitespace(t.textContent)||"Unfiled"===t.textContent?null:t.textContent;l.processFolder(e,u);var o=l.querySelectorDirectChild(n,"Account-Name"),i=l.querySelectorDirectChild(n,"User-Id"),r=l.querySelectorDirectChild(n,"Password"),a=l.querySelectorDirectChild(n,"URL"),s=l.querySelectorDirectChild(n,"Notes"),d=l.initLoginCipher();d.name=null!=o?l.getValueOrDefault(o.textContent,"--"):"--",d.notes=null!=s?l.getValueOrDefault(s.textContent):"",d.login.username=null!=i?l.getValueOrDefault(i.textContent):null,d.login.password=null!=r?l.getValueOrDefault(r.textContent):null,d.login.uris=null!=a?l.makeUriArray(a.textContent):null;for(var c=[],p=1;p<=10;p++)c.push("Attribute-"+p);l.querySelectorAllDirectChild(n,c.join(",")).forEach(function(n){l.isNullOrWhitespace(n.textContent)||"null"===n.textContent||l.processKvp(d,n.tagName,n.textContent)}),l.cleanupCipher(d),e.ciphers.push(d)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.PasswordDragonXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(115),a=e(53),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=JSON.parse(n);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.name=l.getValueOrDefault(n.name,"--"),t.login.uris=l.makeUriArray(n.login_url),null!=n.identifiers){for(var u in l.isNullOrWhitespace(n.identifiers.notes)||(t.notes=n.identifiers.notes.split("\\r\\n").join("\n").split("\\n").join("\n")),"CreditCard"===n.type&&(t.card=new r.CardView,t.type=a.CipherType.Card),n.identifiers)if(n.identifiers.hasOwnProperty(u)){var o=n.identifiers[u],i=null!=o?o.toString():null;if(!l.isNullOrWhitespace(i)&&"notes"!==u&&"ignoreItemInSecurityScore"!==u){if(t.type===a.CipherType.Card){if("cardNumber"===u){t.card.number=i,t.card.brand=l.getCardBrand(i);continue}if("nameOnCard"===u){t.card.cardholderName=i;continue}if("security_code"===u){t.card.code=i;continue}if("expires"===u){try{var s=new Date(i);t.card.expYear=s.getFullYear().toString(),t.card.expMonth=(s.getMonth()+1).toString()}catch(n){}continue}if("cardType"===u)continue}else{if("username"===u){t.login.username=i;continue}if("password"===u){t.login.password=i;continue}if((null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(u)>-1){t.login.uris=l.makeUriArray(i);continue}}l.processKvp(t,u,i)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.PasswordBossJsonImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<9)){var t=l.getValueOrDefault(n[8],"(None)"),u="(None)"!==t?t.split("\\").join("/"):null;l.processFolder(e,u);var o=l.initLoginCipher();o.notes=l.getValueOrDefault(n[3]),o.name=l.getValueOrDefault(n[0],"--"),o.login.username=l.getValueOrDefault(n[1]),o.login.password=l.getValueOrDefault(n[2]),o.login.uris=l.makeUriArray(n[4]),l.convertToNoteIfNeeded(o),l.cleanupCipher(o),e.ciphers.push(o)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l}(o.BaseImporter);l.PasswordAgentCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.processFolder(e,l.getValue("category",n));var t=l.initLoginCipher();t.notes=l.getValue("description",n),t.name=l.getValueOrDefault(l.getValue("title",n),"--"),t.login.username=l.getValue("username",n),t.login.password=l.getValue("password",n),t.login.uris=l.makeUriArray(l.getValue("site",n)),l.processKvp(t,"Password 2",l.getValue("password2",n)),l.cleanupCipher(t),e.ciphers.push(t)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.getValue=function(n,l){return this.getValueOrDefault(l[n],this.getValueOrDefault(l[" "+n]))},l}(o.BaseImporter);l.PassKeepCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(177),a=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=null;return t.forEach(function(n){if(null!=u){if(!(n.length<2||n.length!==u.length)){if(!l.isNullOrWhitespace(n[1]))if(l.organization){(t=n[1].split(",")).forEach(function(n){n=n.trim();for(var l=!0,t=e.collections.length,u=0;u0?t[0].trim():null;l.processFolder(e,o)}var i=l.initLoginCipher();i.name=l.getValueOrDefault(n[0],"--");for(var a=2;a-1?i.login.username=n[a]:l.passwordFieldNames.indexOf(s)>-1?i.login.password=n[a]:l.uriFieldNames.indexOf(s)>-1?i.login.uris=l.makeUriArray(n[a]):l.processKvp(i,u[a],n[a]))}l.cleanupCipher(i),e.ciphers.push(i)}}else u=n.map(function(n){return n})}),e.success=!0,e},l}(o.BaseImporter);l.PadlockCsvImporter=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.View=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(538);l.AttachmentView=t.AttachmentView;var u=e(115);l.CardView=u.CardView;var o=e(157);l.CipherView=o.CipherView;var i=e(179);l.FieldView=i.FieldView;var r=e(217);l.IdentityView=r.IdentityView;var a=e(216);l.LoginUriView=a.LoginUriView;var s=e(156);l.LoginView=s.LoginView;var d=e(91);l.SecureNoteView=d.SecureNoteView;var c=e(752);l.View=c.View},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(53),a=e(753),s=["ainfo","autosubmit","notesPlain","ps","scope","tags","title","uuid"],d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!l.isNullOrWhitespace(n.title)){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.notesPlain,"")+"\n",l.isNullOrWhitespace(n.number)||l.isNullOrWhitespace(n["expiry date"])||(t.type=r.CipherType.Card,t.card=new a.CardView);var u=null;for(var o in n)if(n.hasOwnProperty(o)&&!l.isNullOrWhitespace(n[o])){if(t.type===r.CipherType.Login){if(l.isNullOrWhitespace(t.login.password)&&"password"===o){t.login.password=n[o];continue}if(l.isNullOrWhitespace(t.login.username)&&"username"===o){t.login.username=n[o];continue}if((null==t.login.uris||0===t.login.uri.length)&&"urls"===o){var i=n[o].split(l.newLineRegex);t.login.uris=l.makeUriArray(i);continue}}else if(t.type===r.CipherType.Card){if(l.isNullOrWhitespace(t.card.number)&&"number"===o){t.card.number=n[o],t.card.brand=l.getCardBrand(n.number);continue}if(l.isNullOrWhitespace(t.card.code)&&"verification number"===o){t.card.code=n[o];continue}if(l.isNullOrWhitespace(t.card.cardholderName)&&"cardholder name"===o){t.card.cardholderName=n[o];continue}if(l.isNullOrWhitespace(t.card.expiration)&&"expiry date"===o&&6===n[o].length){t.card.expMonth=n[o].substr(4,2),"0"===t.card.expMonth[0]&&(t.card.expMonth=t.card.expMonth.substr(1,1)),t.card.expYear=n[o].substr(0,4);continue}if("type"===o)continue}-1!==s.indexOf(o)||o.startsWith("section:")||(null==u&&"email"===o&&(u=n[o]),l.processKvp(t,o,n[o]))}t.type===r.CipherType.Login&&!l.isNullOrWhitespace(u)&&l.isNullOrWhitespace(t.login.username)&&-1===u.indexOf("://")&&(t.login.username=u),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.OnePasswordWinCsvImporter=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(115),a=e(91),s=e(53),d=e(101),c=function(n){function l(){var l=null!==n&&n.apply(this,arguments)||this;return l.result=new i.ImportResult,l}return u(l,n),l.prototype.parse=function(n){var l=this;return n.split(this.newLineRegex).forEach(function(n){if(!l.isNullOrWhitespace(n)&&"{"===n[0]){var e=JSON.parse(n),t=l.initLoginCipher();t.favorite=!(!e.openContents||!e.openContents.faveIndex),t.name=l.getValueOrDefault(e.title,"--"),"securenotes.SecureNote"===e.typeName?(t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=d.SecureNoteType.Generic):"wallet.financial.CreditCard"===e.typeName?(t.type=s.CipherType.Card,t.card=new r.CardView):t.login.uris=l.makeUriArray(e.location),null!=e.secureContents&&(l.isNullOrWhitespace(e.secureContents.notesPlain)||(t.notes=e.secureContents.notesPlain.split(l.newLineRegex).join("\n")+"\n"),null!=e.secureContents.fields&&l.parseFields(e.secureContents.fields,t,"designation","value","name"),null!=e.secureContents.sections&&e.secureContents.sections.forEach(function(n){null!=n.fields&&l.parseFields(n.fields,t,"n","v","t")})),l.cleanupCipher(t),l.result.ciphers.push(t)}}),this.result.success=!0,this.result},l.prototype.parseFields=function(n,l,e,t,u){var o=this;n.forEach(function(n){if(null!=n[t]&&""!==n[t].toString().trim()){var i=n[t].toString(),r=null!=n[e]?n[e].toString():null;if(l.type===s.CipherType.Login){if(o.isNullOrWhitespace(l.login.username)&&"username"===r)return void(l.login.username=i);if(o.isNullOrWhitespace(l.login.password)&&"password"===r)return void(l.login.password=i);if(o.isNullOrWhitespace(l.login.totp)&&null!=r&&r.startsWith("TOTP_"))return void(l.login.totp=i)}else if(l.type===s.CipherType.Card){if(o.isNullOrWhitespace(l.card.number)&&"ccnum"===r)return l.card.number=i,void(l.card.brand=o.getCardBrand(i));if(o.isNullOrWhitespace(l.card.code)&&"cvv"===r)return void(l.card.code=i);if(o.isNullOrWhitespace(l.card.cardholderName)&&"cardholder"===r)return void(l.card.cardholderName=i);if(o.isNullOrWhitespace(l.card.expiration)&&"expiry"===r&&6===i.length)return l.card.expMonth=i.substr(4,2),"0"===l.card.expMonth[0]&&(l.card.expMonth=l.card.expMonth.substr(1,1)),void(l.card.expYear=i.substr(0,4));if("type"===r)return}var a=o.isNullOrWhitespace(n[u])?"no_name":n[u];o.processKvp(l,a,i)}})},l}(o.BaseImporter);l.OnePassword1PifImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(53),a=e(101),s=e(91),d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){var t="Unassigned"!==l.getValueOrDefault(n[0],"Unassigned")?n[0]:null;l.processFolder(e,t);var u=l.initLoginCipher();if(u.name=l.getValueOrDefault(n[2],"--"),"Web Logins"===n[1])u.login.uris=l.makeUriArray(n[4]),u.login.username=l.getValueOrDefault(n[5]),u.login.password=l.getValueOrDefault(n[6]),u.notes=l.isNullOrWhitespace(n[3])?null:n[3].split("\\n").join("\n");else if(n.length>3){u.type=r.CipherType.SecureNote,u.secureNote=new s.SecureNoteView,u.secureNote.type=a.SecureNoteType.Generic;for(var o=3;o-1){var e=n.ccexp.split("-");e.length>1&&(l.expYear=e[0],l.expMonth=e[1],2===l.expMonth.length&&"0"===l.expMonth[0]&&(l.expMonth=l.expMonth[1]))}return l},l.prototype.parseIdentity=function(n){var l=new d.IdentityView;return l.title=this.getValueOrDefault(n.title),l.firstName=this.getValueOrDefault(n.firstname),l.middleName=this.getValueOrDefault(n.middlename),l.lastName=this.getValueOrDefault(n.lastname),l.username=this.getValueOrDefault(n.username),l.company=this.getValueOrDefault(n.company),l.ssn=this.getValueOrDefault(n.ssn),l.address1=this.getValueOrDefault(n.address1),l.address2=this.getValueOrDefault(n.address2),l.address3=this.getValueOrDefault(n.address3),l.city=this.getValueOrDefault(n.city),l.state=this.getValueOrDefault(n.state),l.postalCode=this.getValueOrDefault(n.zip),l.country=this.getValueOrDefault(n.country),l.email=this.getValueOrDefault(n.email),l.phone=this.getValueOrDefault(n.phone),this.isNullOrWhitespace(l.title)||(l.title=l.title.charAt(0).toUpperCase()+l.title.slice(1)),l},l.prototype.parseSecureNote=function(n,l){var e=this.splitNewLine(n.extra),t=!1;if(e.length){var u=e[0].split(":");if(u.length>1&&"NoteType"===u[0]&&("Credit Card"===u[1]||"Address"===u[1])){if("Credit Card"===u[1]){var o=this.parseSecureNoteMapping(e,{Number:"number","Name on Card":"cardholderName","Security Code":"code"});l.type=f.CipherType.Card,l.card=o[0],l.notes=o[1]}else if("Address"===u[1]){o=this.parseSecureNoteMapping(e,{Title:"title","First Name":"firstName","Last Name":"lastName","Middle Name":"middleName",Company:"company","Address 1":"address1","Address 2":"address2","Address 3":"address3","City / Town":"city",State:"state","Zip / Postal Code":"postalCode",Country:"country","Email Address":"email",Username:"username"});l.type=f.CipherType.Identity,l.identity=o[0],l.notes=o[1]}t=!0}}t||(l.secureNote=new p.SecureNoteView,l.secureNote.type=v.SecureNoteType.Generic,l.notes=this.getValueOrDefault(n.extra))},l.prototype.parseSecureNoteMapping=function(n,l){var e=this,t=null,u={};return n.forEach(function(n){var o=n.split(":");o.length<1||e.isNullOrWhitespace(o[0])||e.isNullOrWhitespace(o[1])||"NoteType"===o[0]||("Notes"===o[0]?e.isNullOrWhitespace(t)?t=o[1]:t+="\n"+o[1]:l.hasOwnProperty(o[0])?u[l[o[0]]]=o[1]:(e.isNullOrWhitespace(t)?t="":t+="\n",t+=o[0]+": "+o[1]))}),[u,t]},l}(o.BaseImporter);l.LastPassCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<6)){l.processFolder(e,n[0]);var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[5])+"\n",t.name=l.getValueOrDefault(n[1],"--"),t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),n.length>7)for(var u=7;u Root > Group");return null==e?(this.result.errorMessage="Missing `KeePassFile > Root > Group` node.",this.result.success=!1,this.result):(this.traverse(e,!0,""),this.organization&&this.moveFoldersToCollections(this.result),this.result.success=!0,this.result)},l.prototype.traverse=function(n,l,e){var t=this,u=this.result.folders.length,o=e;if(!l){""!==o&&(o+="/");var i=this.querySelectorDirectChild(n,"Name");o+=null==i?"-":i.textContent;var a=new r.FolderView;a.name=o,this.result.folders.push(a)}this.querySelectorAllDirectChild(n,"Entry").forEach(function(n){var e=t.result.ciphers.length,o=t.initLoginCipher();t.querySelectorAllDirectChild(n,"String").forEach(function(n){var l=t.querySelectorDirectChild(n,"Value"),e=null!=l?l.textContent:null;if(!t.isNullOrWhitespace(e)){var u=t.querySelectorDirectChild(n,"Key"),i=null!=u?u.textContent:null;"URL"===i?o.login.uris=t.makeUriArray(e):"UserName"===i?o.login.username=e:"Password"===i?o.login.password=e:"Title"===i?o.name=e:"Notes"===i?o.notes+=e+"\n":t.processKvp(o,i,e)}}),t.cleanupCipher(o),t.result.ciphers.push(o),l||t.result.folderRelationships.push([e,u])}),this.querySelectorAllDirectChild(n,"Group").forEach(function(n){t.traverse(n,!1,o)})},l}(o.BaseImporter);l.KeePass2XmlImporter=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=JSON.parse(n);if(null==t||0===Object.keys(t).length)return e.success=!1,e;var u=function(n){if(!t.hasOwnProperty(n)||o.isNullOrWhitespace(n)||0===t[n].length)return"continue";t[n].forEach(function(t){if(!l.isNullOrWhitespace(t.display_name)&&0===t.display_name.indexOf("http")){l.processFolder(e,n);var u=l.initLoginCipher();if(u.name=t.display_name.replace("http://","").replace("https://",""),u.name.length>30&&(u.name=u.name.substring(0,30)),u.login.password=l.getValueOrDefault(t.secret),u.login.uris=l.makeUriArray(t.display_name),null!=t.attributes)for(var o in u.login.username=null!=t.attributes?l.getValueOrDefault(t.attributes.username_value):null,t.attributes)t.attributes.hasOwnProperty(o)&&"username_value"!==o&&"xdg:schema"!==o&&l.processKvp(u,o,t.attributes[o]);l.convertToNoteIfNeeded(u),l.cleanupCipher(u),e.ciphers.push(u)}})},o=this;for(var r in t)u(r);return this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.GnomeJsonImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(l.nameFromUrl(n.hostname),"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.hostname),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.FirefoxCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(53),a=e(101),s=e(115),d=e(91),c=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=!0;return t.forEach(function(n){if(n.length<2||u&&"Title"===n[0])u=!1;else{var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),(2===n.length||n.indexOf("Username")<0&&n.indexOf("Password")<0&&n.indexOf("Email")&&n.indexOf("URL")<0)&&(t.type=r.CipherType.SecureNote,t.secureNote=new d.SecureNoteView,t.secureNote.type=a.SecureNoteType.Generic),n.indexOf("Cardholder")>-1&&n.indexOf("Number")>-1&&n.indexOf("Expiry date")>-1&&(t.type=r.CipherType.Card,t.card=new s.CardView),n.length>2&&n.length%2==0)for(var o=0;o-1?t.login.password=l.getValueOrDefault(o.value):null==t.login.username&&l.usernameFieldNames.indexOf(i)>-1?t.login.username=l.getValueOrDefault(o.value):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(i)>-1?t.login.uris=l.makeUriArray(o.value):l.processKvp(t,o.label,o.value)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.ClipperzHtmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.ChromeCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){"null"===n.label&&(n.label=null);var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.label,l.getValueOrDefault(l.nameFromUrl(n.domain),"--")),t.login.uris=l.makeUriArray(n.domain),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.email)&&!l.isNullOrWhitespace(n.username)?t.login.username=n.username:(t.login.username=l.getValueOrDefault(n.email),t.notes=l.getValueOrDefault(n.username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.BlurCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(157),a=e(177),s=e(179),d=e(156),c=e(91),p=e(53),f=e(219),v=e(101),h=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.organization&&!l.isNullOrWhitespace(n.collections)?n.collections.split(",").forEach(function(n){for(var l=!0,t=e.collections.length,u=0;ui+2&&(h.value=u[o].substr(i+2)),t.fields.push(h)}}switch(null!=n.type?n.type.toLowerCase():null){case"login":case null:t.type=p.CipherType.Login,t.login=new d.LoginView,t.login.totp=l.getValueOrDefault(n.login_totp||n.totp),t.login.username=l.getValueOrDefault(n.login_username||n.username),t.login.password=l.getValueOrDefault(n.login_password||n.password);var g=l.parseSingleRowCsv(n.login_uri||n.uri);t.login.uris=l.makeUriArray(g);break;case"note":t.type=p.CipherType.SecureNote,t.secureNote=new c.SecureNoteView,t.secureNote.type=v.SecureNoteType.Generic}e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.BitwardenCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,l.getValueOrDefault(l.nameFromUrl(n.website),"--")),t.login.uris=l.makeUriArray(n.website),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.username)&&!l.isNullOrWhitespace(n.secondary_username)?t.login.username=n.secondary_username:(t.login.username=l.getValueOrDefault(n.username),t.notes=l.getValueOrDefault(n.secondary_username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.AviraCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<2)){var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),n.length>2&&n.length%2==0)for(var u=0;u-1?t.login.password=l.getValueOrDefault(o):null==t.login.username&&l.usernameFieldNames.indexOf(r)>-1?t.login.username=l.getValueOrDefault(o):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(r)>-1?t.login.uris=l.makeUriArray(o):l.processKvp(t,i,o)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.AscendoCsvImporter=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.folders=[],this.folderRelationships=[]}}();l.ImportCiphersRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(40),r=e(37),a=e(2),s=e(7),d=e(18),c=e(17),p=e(214),f=e(3),v=e(9),h=e(26),g=e(50),m=e(4),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(7,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV file.\n ']))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click "Export CSV"\n for your "Accounts".\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the XML file.\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML (2.x)" option.\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save the CSV file.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my data" to save\n the CSV file.\n ']))],null,null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..." and save the XML\n file.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive (readable) in CSV format"\n and save the CSV file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the CSV file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings". Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" → "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2sMldAI"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the CSV\n file.\n ']))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,98,"app-callout",[["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,R)),t.ɵdid(4,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,V)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(34,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,D)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(52,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(55,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(58,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(64,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(67,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(70,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(73,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(76,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(79,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(85,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(88,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(91,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(94,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(97,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"pwsafexml"===e.format),n(l,58,0,"dashlanecsv"===e.format),n(l,61,0,"msecurecsv"===e.format),n(l,64,0,"stickypasswordxml"===e.format),n(l,67,0,"truekeycsv"===e.format),n(l,70,0,"clipperzhtml"===e.format),n(l,73,0,"roboformcsv"===e.format),n(l,76,0,"passboltcsv"===e.format),n(l,79,0,"ascendocsv"===e.format),n(l,82,0,"passwordbossjson"===e.format),n(l,85,0,"zohovaultcsv"===e.format),n(l,88,0,"splashidcsv"===e.format),n(l,91,0,"passkeepcsv"===e.format),n(l,94,0,"gnomejson"===e.format),n(l,97,0,"passwordagentcsv"===e.format)},null)}function tn(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(12,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(34,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(44,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"))),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"))),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"))),n(l,64,0,t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"))),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading),n(l,77,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"")),n(l,81,0,t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData")))})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-import",[],null,null,null,tn,C)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.CipherService,g.FolderService,m.ApiService,y.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=C,l.View_ImportComponent_0=tn,l.View_ImportComponent_Host_0=un;var on=t.ɵccf("app-import",p.ImportComponent,un,{},{},[]);l.ImportComponentNgFactory=on},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(10),r=e(5),a=e(261),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,65,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,62,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,53,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,32,"div",[["class","card mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,25,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","generator"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,32).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(32,671744,[[6,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(33,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,16,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,9,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,6,"a",[["class","list-group-item"],["routerLink","breach-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,50).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(50,671744,[[8,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(51,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(54,null,["\n ","\n "])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(63,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,"generator");n(l,17,0,"active");n(l,24,0,"import");n(l,25,0,"active");n(l,32,0,"export");n(l,33,0,"active");n(l,50,0,"breach-report");n(l,51,0,"active"),n(l,63,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"passwordGenerator"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"importData"))),n(l,31,0,t.ɵnov(l,32).target,t.ɵnov(l,32).href),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"exportVault"))),n(l,44,0,t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"reports"))),n(l,49,0,t.ɵnov(l,50).target,t.ɵnov(l,50).href),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"dataBreachReport")))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-tools",[],null,null,null,d,s)),t.ɵdid(1,49152,null,0,a.ToolsComponent,[],null,null)],null,null)}l.RenderType_ToolsComponent=s,l.View_ToolsComponent_0=d,l.View_ToolsComponent_Host_0=c;var p=t.ɵccf("app-tools",a.ToolsComponent,c,{},{},[]);l.ToolsComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationCreateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(5),a=e(269),s=e(127),d=e(2),c=e(8),p=e(7),f=e(262),v=e(4),h=e(3),g=e(9),m=e(20),y=e(10),C=e(66),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(10,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFileOrg"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"))),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_organization_license.json"))),n(l,25,0,t.ɵnov(l,6).loading),n(l,27,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,12,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.businessName=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,"BusinessName",l.component.businessName)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"businessName"))),n(l,8,0,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,29,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFree"],["name","PlanType"],["type","radio"],["value","free"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,18,"label",[["class","form-check-label"],["for","planFree"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","free");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFree"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFree","1"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"limitedUsers","2"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"limitedCollections","2"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"freeForever")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,47,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFamilies"],["name","PlanType"],["type","radio"],["value","families"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,36,"label",[["class","form-check-label"],["for","planFamilies"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["• ",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(30,null,["• ",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["• ",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["• ",""])),t.ɵppd(39,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(42,null,[""," /",", ",""])),t.ɵppd(43,2),t.ɵppd(44,1),t.ɵppd(45,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","families");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFamilies"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFamilies"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"addShareLimitedUsers","5"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"createUnlimitedCollections"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,0),"onPremHostingOptional"))),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l.parent.parent,0),"priorityCustomerSupport"))),n(l,38,0,t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent.parent,0),"xDayFreeTrial","7"))),n(l,42,0,t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,1),1,"$")),t.ɵunv(l,42,1,n(l,44,0,t.ɵnov(l.parent.parent,0),"month")),t.ɵunv(l,42,2,n(l,45,0,t.ɵnov(l.parent.parent,0),"includesXUsers",5)))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,23,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,20,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,9,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","1"],["name","AdditionalSeats"],["required",""],["type","number"]],[[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,15)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,15)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,15)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,16).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(15,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(16,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(17,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(20,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(22,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,17,0,"");n(l,20,0,"AdditionalSeats",e.additionalSeats)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"userSeats"))),n(l,14,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,14,0,n(l,23,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),""),t.ɵnov(l,17).required?"":null,t.ɵnov(l,22).ngClassUntouched,t.ɵnov(l,22).ngClassTouched,t.ɵnov(l,22).ngClassPristine,t.ɵnov(l,22).ngClassDirty,t.ɵnov(l,22).ngClassValid,t.ɵnov(l,22).ngClassInvalid,t.ɵnov(l,22).ngClassPending),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsHowManyDesc")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","0"],["name","AdditionalSeats"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,10).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(12,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(14,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,2),t.ɵppd(20,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,12,0,"AdditionalSeats",l.component.additionalSeats)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"additionalUserSeats"))),n(l,8,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),""),t.ɵnov(l,14).ngClassUntouched,t.ɵnov(l,14).ngClassTouched,t.ɵnov(l,14).ngClassPristine,t.ɵnov(l,14).ngClassDirty,t.ɵnov(l,14).ngClassValid,t.ɵnov(l,14).ngClassInvalid,t.ɵnov(l,14).ngClassPending),n(l,18,0,t.ɵunv(l,18,0,n(l,20,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsAdditionalDesc",e.plans[e.plan].baseSeats,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")))))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," ×12 "," = ","\n /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1),t.ɵppd(5,2),t.ɵppd(6,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"basePrice")),t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].basePrice,"$")),t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),t.ɵunv(l,1,3,n(l,5,0,t.ɵnov(l.parent.parent.parent,1),e.baseTotal(!0),"$")),t.ɵunv(l,1,4,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"year")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"additionalUsers")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"users")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," ×12 "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),t.ɵppd(10,2),t.ɵppd(11,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component;n(l,7,0,e.additionalSeats||0,t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")),t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent,1),e.seatTotal(!0),"$")),t.ɵunv(l,7,4,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"year")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"basePrice")),t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,1),e.baseTotal(!1),"$")),t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"month")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"additionalUsers")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"users")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,2),t.ɵppd(10,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component;n(l,7,0,e.additionalSeats||0,t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,1),e.plans[e.plan].monthlySeatPrice,"$")),t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,1),e.seatTotal(!1),"$")),t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent.parent,0),"month")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","intervalMonthly"],["name","BillingInterval"],["type","radio"],["value","month"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.interval=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,15,"label",[["class","form-check-label"],["for","intervalMonthly"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(14,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(17,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"small",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["\n ",": "," × "," = "," /","\n "])),t.ɵppd(21,1),t.ɵppd(22,2),t.ɵppd(23,2),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"BillingInterval","month");n(l,6,0,"BillingInterval",e.interval),n(l,14,0,e.plans[e.plan].monthlyBasePrice),n(l,17,0,!e.plans[e.plan].noAdditionalSeats)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"monthly"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,20,2,n(l,22,0,t.ɵnov(l.parent.parent.parent,1),e.storageGb.monthlyPrice,"$")),t.ɵunv(l,20,3,n(l,23,0,t.ɵnov(l.parent.parent.parent,1),e.additionalStorageTotal(!1),"$")),t.ɵunv(l,20,4,n(l,24,0,t.ɵnov(l.parent.parent.parent,0),"month")))})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,94,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,21)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,21).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,21)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,21)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,22).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(22,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(24,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(26,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,2),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,27,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,6,"input",[["class","form-check-input"],["id","intervalAnnually"],["name","BillingInterval"],["type","radio"],["value","year"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,43)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,43).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,43)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,43)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,44).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,44).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.interval=e)&&u);return u},null,null)),t.ɵdid(43,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(44,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(46,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(48,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,16,"label",[["class","form-check-label"],["for","intervalAnnually"]],null,null,null,null,null)),(n()(),t.ɵted(51,null,["\n ","\n "])),t.ɵppd(52,1),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(54,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(57,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["\n ",": "," × "," ×12 "," = "," /","\n "])),t.ɵppd(61,1),t.ɵppd(62,2),t.ɵppd(63,1),t.ɵppd(64,2),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",":"])),t.ɵppd(78,1),(n()(),t.ɵted(79,null,[" "," /","\n "])),t.ɵppd(80,2),t.ɵppd(81,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(83,0,null,null,3,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(84,null,["",""])),t.ɵppd(85,1),t.ɵppd(86,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(89,null,["",""])),t.ɵppd(90,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(92,0,null,null,1,"app-payment",[],null,null,null,a.View_PaymentComponent_0,a.RenderType_PaymentComponent)),t.ɵdid(93,245760,[[1,4]],0,s.PaymentComponent,[d.I18nService,c.PlatformUtilsService],{hidePaypal:[0,"hidePaypal"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.plans[e.plan].noAdditionalSeats&&!e.plans[e.plan].baseSeats),n(l,10,0,!e.plans[e.plan].noAdditionalSeats&&e.plans[e.plan].baseSeats);n(l,24,0,"AdditionalStorageGb",e.additionalStorage);n(l,44,0,"BillingInterval","year");n(l,46,0,"BillingInterval",e.interval),n(l,54,0,e.plans[e.plan].annualBasePrice),n(l,57,0,!e.plans[e.plan].noAdditionalSeats),n(l,70,0,e.plans[e.plan].monthlySeatPrice);n(l,93,0,!0)},function(n,l){var e=l.component;n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addons"))),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb"))),n(l,20,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"additionalStorageGbDesc")),""),t.ɵnov(l,26).ngClassUntouched,t.ɵnov(l,26).ngClassTouched,t.ɵnov(l,26).ngClassPristine,t.ɵnov(l,26).ngClassDirty,t.ɵnov(l,26).ngClassValid,t.ɵnov(l,26).ngClassInvalid,t.ɵnov(l,26).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"additionalStorageDesc","1 GB",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$"))))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"summary"))),n(l,42,0,t.ɵnov(l,48).ngClassUntouched,t.ɵnov(l,48).ngClassTouched,t.ɵnov(l,48).ngClassPristine,t.ɵnov(l,48).ngClassDirty,t.ɵnov(l,48).ngClassValid,t.ɵnov(l,48).ngClassInvalid,t.ɵnov(l,48).ngClassPending),n(l,51,0,t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent.parent,0),"annually"))),n(l,60,0,t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,60,2,n(l,62,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$")),t.ɵunv(l,60,3,n(l,63,0,t.ɵnov(l.parent.parent,0),"monthAbbr")),t.ɵunv(l,60,4,n(l,64,0,t.ɵnov(l.parent.parent,1),e.additionalStorageTotal(!0),"$")),t.ɵunv(l,60,5,n(l,65,0,t.ɵnov(l.parent.parent,0),"year"))),n(l,77,0,t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l.parent.parent,0),"total"))),n(l,79,0,t.ɵunv(l,79,0,n(l,80,0,t.ɵnov(l.parent.parent,1),e.total,"USD $")),t.ɵunv(l,79,1,n(l,81,0,t.ɵnov(l.parent.parent,0),e.interval))),n(l,84,0,t.ɵunv(l,84,0,n(l,86,0,t.ɵnov(l.parent.parent,0),"paymentChargedWithTrial",t.ɵunv(l,84,0,n(l,85,0,t.ɵnov(l.parent.parent,0),e.interval))))),n(l,89,0,t.ɵunv(l,89,0,n(l,90,0,t.ɵnov(l.parent.parent,0),"paymentInformation")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,198,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,33,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.name=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(23,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(25,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.billingEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(41,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,12,"div",[["class","form-group form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,5,"input",[["class","form-check-input"],["id","ownedBusiness"],["name","OwnedBusiness"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,48).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.ownedBusiness=e)&&u);"change"===l&&(u=!1!==o.changedOwnedBusiness()&&u);return u},null,null)),t.ɵdid(48,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(50,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(52,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"label",[["class","form-check-label"],["for","ownedBusiness"]],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(60,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(67,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,46,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,6,"input",[["class","form-check-input"],["id","planTeams"],["name","PlanType"],["type","radio"],["value","teams"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,75)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,75).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,75)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,75)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,76).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,76).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(75,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(76,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(78,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(80,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,35,"label",[["class","form-check-label"],["for","planTeams"]],null,null,null,null,null)),(n()(),t.ɵted(83,null,["\n ","\n "])),t.ɵppd(84,1),(n()(),t.ɵeld(85,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(86,null,["",""])),t.ɵppd(87,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(89,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(90,null,["• ",""])),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(94,null,["• ",""])),t.ɵppd(95,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(97,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(98,null,["• ",""])),t.ɵppd(99,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(102,null,["• ",""])),t.ɵppd(103,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(105,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(106,null,["• ",""])),t.ɵppd(107,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,7,"span",[],null,null,null,null,null)),(n()(),t.ɵted(110,null,[""," /",", ",", ","\n "," /",""])),t.ɵppd(111,2),t.ɵppd(112,1),t.ɵppd(113,2),t.ɵppd(114,1),t.ɵppd(115,2),t.ɵppd(116,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,59,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(122,0,null,null,6,"input",[["class","form-check-input"],["id","planEnterprise"],["name","PlanType"],["type","radio"],["value","enterprise"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,123)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,123).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,123)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,123)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,124).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,124).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(123,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(124,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(126,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(128,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(130,0,null,null,48,"label",[["class","form-check-label"],["for","planEnterprise"]],null,null,null,null,null)),(n()(),t.ɵted(131,null,["\n ","\n "])),t.ɵppd(132,1),(n()(),t.ɵeld(133,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(134,null,["",""])),t.ɵppd(135,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(137,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(138,null,["• ",""])),t.ɵppd(139,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(141,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(142,null,["• ",""])),t.ɵppd(143,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(146,null,["• ",""])),t.ɵppd(147,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(149,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(150,null,["• ",""])),t.ɵppd(151,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(153,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(154,null,["• ",""])),t.ɵppd(155,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(157,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(158,null,["• ",""])),t.ɵppd(159,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(161,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(162,null,["• ",""])),t.ɵppd(163,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(165,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(166,null,["• ",""])),t.ɵppd(167,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(169,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(170,null,["• ",""])),t.ɵppd(171,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(173,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(174,null,[""," /",""])),t.ɵppd(175,2),t.ɵppd(176,2),t.ɵppd(177,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(182,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(184,0,null,null,13,"div",[],null,null,null,null,null)),t.ɵdid(185,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(186,{"mt-4":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(188,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(190,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(191,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(193,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(194,null,["",""])),t.ɵppd(195,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,20,0,"");n(l,23,0,"Name",e.name);n(l,36,0,"");n(l,39,0,"BillingEmail",e.billingEmail);n(l,50,0,"OwnedBusiness",e.ownedBusiness),n(l,60,0,e.ownedBusiness),n(l,67,0,!e.ownedBusiness),n(l,70,0,!e.ownedBusiness);n(l,76,0,"PlanType","teams");n(l,78,0,"PlanType",e.plan);n(l,124,0,"PlanType","enterprise");n(l,126,0,"PlanType",e.plan),n(l,182,0,!e.plans[e.plan].noPayment),n(l,185,0,n(l,186,0,e.plans[e.plan].noPayment))},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"generalInformation"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organizationName"))),n(l,18,0,t.ɵnov(l,20).required?"":null,t.ɵnov(l,25).ngClassUntouched,t.ɵnov(l,25).ngClassTouched,t.ɵnov(l,25).ngClassPristine,t.ɵnov(l,25).ngClassDirty,t.ɵnov(l,25).ngClassValid,t.ɵnov(l,25).ngClassInvalid,t.ɵnov(l,25).ngClassPending),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"billingEmail"))),n(l,34,0,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,47,0,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending),n(l,55,0,t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent,0),"accountOwnedBusiness"))),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent,0),"chooseYourPlan"))),n(l,74,0,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending),n(l,83,0,t.ɵunv(l,83,0,n(l,84,0,t.ɵnov(l.parent,0),"planNameTeams"))),n(l,86,0,t.ɵunv(l,86,0,n(l,87,0,t.ɵnov(l.parent,0),"planDescTeams"))),n(l,90,0,t.ɵunv(l,90,0,n(l,91,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"))),n(l,94,0,t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"))),n(l,98,0,t.ɵunv(l,98,0,n(l,99,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,102,0,t.ɵunv(l,102,0,n(l,103,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"))),n(l,106,0,t.ɵunv(l,106,0,n(l,107,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"))),n(l,110,0,t.ɵunv(l,110,0,n(l,111,0,t.ɵnov(l.parent,1),5,"$")),t.ɵunv(l,110,1,n(l,112,0,t.ɵnov(l.parent,0),"month")),t.ɵunv(l,110,2,n(l,113,0,t.ɵnov(l.parent,0),"includesXUsers",5)),t.ɵunv(l,110,3,n(l,114,0,t.ɵnov(l.parent,0),"additionalUsers")).toLowerCase(),t.ɵunv(l,110,4,n(l,115,0,t.ɵnov(l.parent,1),2,"$")),t.ɵunv(l,110,5,n(l,116,0,t.ɵnov(l.parent,0),"month"))),n(l,122,0,t.ɵnov(l,128).ngClassUntouched,t.ɵnov(l,128).ngClassTouched,t.ɵnov(l,128).ngClassPristine,t.ɵnov(l,128).ngClassDirty,t.ɵnov(l,128).ngClassValid,t.ɵnov(l,128).ngClassInvalid,t.ɵnov(l,128).ngClassPending),n(l,131,0,t.ɵunv(l,131,0,n(l,132,0,t.ɵnov(l.parent,0),"planNameEnterprise"))),n(l,134,0,t.ɵunv(l,134,0,n(l,135,0,t.ɵnov(l.parent,0),"planDescEnterprise"))),n(l,138,0,t.ɵunv(l,138,0,n(l,139,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"))),n(l,142,0,t.ɵunv(l,142,0,n(l,143,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"))),n(l,146,0,t.ɵunv(l,146,0,n(l,147,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,150,0,t.ɵunv(l,150,0,n(l,151,0,t.ɵnov(l.parent,0),"controlAccessWithGroups"))),n(l,154,0,t.ɵunv(l,154,0,n(l,155,0,t.ɵnov(l.parent,0),"trackAuditLogs"))),n(l,158,0,t.ɵunv(l,158,0,n(l,159,0,t.ɵnov(l.parent,0),"syncUsersFromDirectory"))),n(l,162,0,t.ɵunv(l,162,0,n(l,163,0,t.ɵnov(l.parent,0),"onPremHostingOptional"))),n(l,166,0,t.ɵunv(l,166,0,n(l,167,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"))),n(l,170,0,t.ɵunv(l,170,0,n(l,171,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"))),n(l,174,0,t.ɵunv(l,174,0,n(l,176,0,t.ɵnov(l.parent,0),"costPerUser",t.ɵunv(l,174,0,n(l,175,0,t.ɵnov(l.parent,1),3,"$")))),t.ɵunv(l,174,1,n(l,177,0,t.ɵnov(l.parent,0),"month"))),n(l,188,0,t.ɵnov(l,0).loading),n(l,190,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,190,0,n(l,191,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,194,0,t.ɵunv(l,194,0,n(l,195,0,t.ɵnov(l.parent,0),"submit")))})}function F(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[d.I18nService]),t.ɵpid(0,r.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(15,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(18,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},function(n,l){n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"newOrganization"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"newOrganizationDesc")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-create-organization",[],null,null,null,F,b)),t.ɵdid(1,114688,null,0,f.CreateOrganizationComponent,[v.ApiService,d.I18nService,h.Angulartics2,g.ToasterService,c.PlatformUtilsService,m.CryptoService,y.Router,C.SyncService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CreateOrganizationComponent=b,l.View_CreateOrganizationComponent_0=F,l.View_CreateOrganizationComponent_Host_0=L;var G=t.ɵccf("app-create-organization",f.CreateOrganizationComponent,L,{},{},[]);l.CreateOrganizationComponentNgFactory=G},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PaymentRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StorageRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(18),a=e(17),s=e(5),d=e(544),c=e(267),p=e(4),f=e(3),v=e(9),h=e(543),g=e(266),m=e(542),y=e(265),C=e(7),b=e(263),S=e(35),w=e(8),R=e(10),_=t.ɵcrt({encapsulation:2,styles:[],data:{}});function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["",""])),t.ɵppd(4,1)],function(n,l){n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"canceled")),""))},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"subscriptionCanceled")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,[["reinstateBtn",1]],0,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reinstate()&&t);return t},null,null)),t.ɵdid(9,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"pendingCancellation")),"")),n(l,9,0,e.reinstatePromise)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"subscriptionPendingCanceled"))),n(l,8,0,t.ɵnov(l,8).loading),n(l,11,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"loading")),"")),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"reinstateSubscription")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,2)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,1),e.billing.expiration,"mediumDate")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"neverExpires")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(7,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(10,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,e.billing.expiration),n(l,10,0,!e.billing.expiration)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"expiration")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"pendingCancellation")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n "," "," @ ","\n "])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,l.context.$implicit.name,l.context.$implicit.quantity>1?"×"+l.context.$implicit.quantity:"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval)))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(11,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,26,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,23,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,7,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"span",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(16,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,3,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["","\n "])),t.ɵppd(25,2),t.ɵppd(26,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(31,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,16,0,e.subscriptionMarkedForCancel),n(l,31,0,e.subscription)},function(n,l){var e=l.component;n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"status"))),n(l,13,0,e.subscription&&e.subscription.status||"-"),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"nextCharge"))),n(l,24,0,e.nextInvoice?t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,1),e.nextInvoice.date,"mediumDate"))+", "+t.ɵunv(l,24,0,n(l,26,0,t.ɵnov(l.parent.parent,2),e.nextInvoice.amount,"$")):"-")})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},d.View_UpdateLicenseComponent_0,d.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,c.UpdateLicenseComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],null,{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/billing"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription")))})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription")))})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","ml-1 btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage")))})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},h.View_AdjustStorageComponent_0,h.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,g.AdjustStorageComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){n(l,1,0,4,l.component.adjustStorageAdd)},null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noPaymentMethod")))})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(3,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(4,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(5,null,["\n ","\n "]))],function(n,l){var e=l.component;n(l,3,0,"fa fa-fw",n(l,4,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal))},function(n,l){n(l,5,0,l.component.paymentSource.description)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod")))})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},m.View_AdjustPaymentComponent_0,m.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,y.AdjustPaymentComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{currentType:[0,"currentType"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null)},null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCharges")))})}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,1,"td",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(13,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(14,{"text-strike":0}),t.ɵppd(15,1),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,13,0,n(l,14,0,l.context.$implicit.refunded))},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.createdDate,"mediumDate"))),n(l,7,0,l.context.$implicit.paymentSource?l.context.$implicit.paymentSource.description:"-"),n(l,10,0,l.context.$implicit.status),n(l,12,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,15,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"")),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$")))})}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(5,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.charges)},null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,60,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(22,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(23,{width:0}),(n()(),t.ɵted(24,null,["",""])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(36,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(39,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(42,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(45,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(52,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(55,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["* ",""])),t.ɵppd(59,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.subscription||!e.subscription.cancelled),n(l,8,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,22,0,n(l,23,0,e.storageProgressWidth+"%")),n(l,29,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel&&e.paymentSource),n(l,36,0,!e.paymentSource),n(l,39,0,e.paymentSource),n(l,42,0,!e.showAdjustPayment),n(l,45,0,e.showAdjustPayment),n(l,52,0,!e.charges||!e.charges.length),n(l,55,0,e.charges&&e.charges.length)},function(n,l){var e=l.component;n(l,12,0,t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent,0),"storage"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.billing.maxStorageGb||0,e.billing.storageName||"0 MB"))),n(l,21,0,e.storagePercentage),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100))),n(l,32,0,t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent.parent,0),"paymentMethod"))),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l.parent.parent,0),"charges"))),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent.parent,0),"chargesStatement","BITWARDEN")))})}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(20,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(23,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(26,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,20,0,e.selfHosted),n(l,23,0,!e.selfHosted),n(l,26,0,e.selfHosted),n(l,29,0,!e.selfHosted)},function(n,l){n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent,0),"subscription"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"premiumMembership")))})}function X(n){return t.ɵvid(0,[t.ɵpid(0,C.I18nPipe,[i.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.billing)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"billingAndLicensing")))})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-billing",[],null,null,null,X,_)),t.ɵdid(1,114688,null,0,b.UserBillingComponent,[S.TokenService,p.ApiService,w.PlatformUtilsService,i.I18nService,f.Angulartics2,v.ToasterService,R.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserBillingComponent=_,l.View_UserBillingComponent_0=X,l.View_UserBillingComponent_Host_0=Q;var nn=t.ɵccf("app-user-billing",b.UserBillingComponent,Q,{},{},[]);l.UserBillingComponentNgFactory=nn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(269),a=e(127),s=e(2),d=e(8),c=e(7),p=e(5),f=e(40),v=e(37),h=e(268),g=e(4),m=e(3),y=e(9),C=e(35),b=e(10),S=e(27),w=e(66),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/premium"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"purchasePremium")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(10,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFilePremium"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"))),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_premium_license.json"))),n(l,25,0,t.ɵnov(l,6).loading),n(l,27,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,20).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(22,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(24,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,2),t.ɵppd(30,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(37,null,["\n ",": ","\n "])),t.ɵppd(38,1),t.ɵppd(39,2),(n()(),t.ɵeld(40,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(41,null,[" ",": "," GB × "," = ","\n "])),t.ɵppd(42,1),t.ɵppd(43,2),t.ɵppd(44,2),(n()(),t.ɵeld(45,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(50,null,["",":"])),t.ɵppd(51,1),(n()(),t.ɵted(52,null,[" "," /","\n "])),t.ɵppd(53,2),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,2,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(57,null,["",""])),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["",""])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,1,"app-payment",[],null,null,null,r.View_PaymentComponent_0,r.RenderType_PaymentComponent)),t.ɵdid(65,245760,[[1,4]],0,a.PaymentComponent,[s.I18nService,d.PlatformUtilsService],{hideBank:[0,"hideBank"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(73,null,["",""])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,22,0,"AdditionalStorageGb",e.additionalStorage);n(l,65,0,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"addons"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"additionalStorageGb"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,25,0,t.ɵnov(l.parent,0),"additionalStorageGbDesc")),""),t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,30,0,t.ɵnov(l.parent,0),"additionalStorageDesc","1 GB",t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$"))))),n(l,35,0,t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l.parent,0),"summary"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent,0),"premiumMembership")),t.ɵunv(l,37,1,n(l,39,0,t.ɵnov(l.parent,1),e.premiumPrice,"$"))),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,41,2,n(l,43,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,41,3,n(l,44,0,t.ɵnov(l.parent,1),e.additionalStorageTotal,"$"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l.parent,0),"total"))),n(l,52,0,t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l.parent,1),e.total,"USD $")),t.ɵunv(l,52,1,n(l,54,0,t.ɵnov(l.parent,0),"year"))),n(l,57,0,t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l.parent,0),"paymentChargedAnnually"))),n(l,61,0,t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l.parent,0),"paymentInformation"))),n(l,67,0,t.ɵnov(l,0).loading),n(l,69,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent,0),"submit")))})}function E(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[s.I18nService]),t.ɵpid(0,p.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,49,"app-callout",[["type","success"]],null,null,null,f.View_CalloutComponent_0,f.RenderType_CalloutComponent)),t.ɵdid(11,114688,null,0,v.CalloutComponent,[s.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(13,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(17,0,null,0,31,"ul",[["class","fa-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(34,null,["\n ","\n "])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(40,null,["\n ","\n "])),t.ɵppd(41,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(50,0,null,0,5,"p",[["class","text-lg"]],null,null,null,null,null)),t.ɵdid(51,278528,null,0,p.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(52,{"mb-0":0}),(n()(),t.ɵted(53,null,["",""])),t.ɵppd(54,2),t.ɵppd(55,2),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(58,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(62,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(65,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,11,0,"success");n(l,51,0,"text-lg",n(l,52,0,!e.selfHosted)),n(l,58,0,e.selfHosted),n(l,62,0,e.selfHosted),n(l,65,0,!e.selfHosted)},function(n,l){var e=l.component;n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"goPremium"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"premiumUpgradeUnlockFeatures"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"premiumSignUpStorage"))),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"premiumSignUpTwoStep"))),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"premiumSignUpTotp"))),n(l,40,0,t.ɵunv(l,40,0,n(l,41,0,t.ɵnov(l,0),"premiumSignUpSupport"))),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"premiumSignUpFuture"))),n(l,53,0,t.ɵunv(l,53,0,n(l,55,0,t.ɵnov(l,0),"premiumPrice",t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,1),e.premiumPrice,"$")))))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-premium",[],null,null,null,E,R)),t.ɵdid(1,114688,null,0,h.PremiumComponent,[g.ApiService,s.I18nService,m.Angulartics2,y.ToasterService,d.PlatformUtilsService,C.TokenService,b.Router,S.MessagingService,w.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PremiumComponent=R,l.View_PremiumComponent_0=E,l.View_PremiumComponent_Host_0=O;var N=t.ɵccf("app-premium",h.PremiumComponent,O,{},{},[]);l.PremiumComponentNgFactory=N},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorYubioOtpRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorU2fRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorEmailRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorDuoRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.TwoFactorProviderRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorAuthenticatorRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(60),a=e(5),s=e(7),d=e(215),c=e(4),p=e(35),f=e(27),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"))),n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode")))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){n(l,2,0,t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled),n(l,15,0,!e.premium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.premium&&l.context.$implicit.premium),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(35,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,w)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId),n(l,24,0,n(l,25,0,!e.organizationId)),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,O,v)),t.ɵdid(1,114688,null,0,d.TwoFactorSetupComponent,[c.ApiService,p.TokenService,t.ComponentFactoryResolver,f.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=v,l.View_TwoFactorSetupComponent_0=O,l.View_TwoFactorSetupComponent_Host_0=N;var T=t.ɵccf("app-two-factor-setup",d.TwoFactorSetupComponent,N,{},{},[]);l.TwoFactorSetupComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UpdateDomainsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(60),r=e(7),a=e(2),s=e(18),d=e(17),c=e(271),p=e(4),f=e(3),v=e(9),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,24,"div",[["class","form-group d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,15,"div",[["class","flex-fill"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["class","sr-only"]],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,8,"textarea",[["class","form-control"],["required",""]],[[8,"id",0],[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.custom[n.context.index]=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.remove(n.context.index)&&t);return t},null,null)),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,10,0,""),n(l,13,0,t.ɵinlineInterpolate(1,"CustomDomain[",l.context.index,"]"),e.custom[l.context.index])},function(n,l){n(l,4,0,t.ɵinlineInterpolate(1,"customDomain_",l.context.index,"")),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"customDomainX",l.context.index+1))),n(l,8,0,t.ɵinlineInterpolate(1,"customDomain_",l.context.index,""),t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,1,n(l,16,0,t.ɵnov(l.parent.parent,0),"ex"))," google.com, gmail.com"),t.ɵnov(l,10).required?"":null,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,19,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l.parent.parent,0),"remove")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(3,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"button",[["class","btn btn-outline-secondary btn-sm mb-2"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"small",[["class","text-muted d-block mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.custom,e.indexTrackBy)},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"newCustomDomain"))),n(l,12,0,t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent,0),"newCustomDomainDesc")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.toggleExcluded(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-close"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"exclude")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.toggleExcluded(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-plus"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"include")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,33,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"td",[],null,null,null,null,null)),t.ɵdid(3,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(4,{"table-list-strike":0}),(n()(),t.ɵted(5,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,25,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,22,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,14,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,25).onClick(e)&&u);"click"===l&&(u=!1!==o.customize(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-fw fa-scissors"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,n(l,4,0,l.context.$implicit.excluded)),n(l,19,0,!l.context.$implicit.excluded),n(l,22,0,l.context.$implicit.excluded)},function(n,l){n(l,5,0,l.context.$implicit.domains),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent,0),"customize")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.global)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(12,0,[["form",1]],null,45,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,13).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,13).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(13,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(15,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(16,540672,null,0,s.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"h2",[],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(23,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(26,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,e.formPromise),n(l,23,0,e.loading),n(l,26,0,!e.loading),n(l,43,0,e.loading),n(l,46,0,!e.loading&&e.global.length>0)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"domainRules"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"domainRulesDesc"))),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"customEqDomains"))),n(l,28,0,t.ɵnov(l,12).loading),n(l,30,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"loading")),"")),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"save"))),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"globalEqDomains"))),n(l,48,0,t.ɵnov(l,12).loading),n(l,50,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"loading")),"")),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"save")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-domain-rules",[],null,null,null,_,h)),t.ɵdid(1,114688,null,0,c.DomainRulesComponent,[p.ApiService,a.I18nService,f.Angulartics2,v.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_DomainRulesComponent=h,l.View_DomainRulesComponent_0=_,l.View_DomainRulesComponent_Host_0=I;var A=t.ɵccf("app-domain-rules",c.DomainRulesComponent,I,{},{},[]);l.DomainRulesComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(7),i=e(2),r=e(5),a=e(272),s=e(117),d=e(61),c=e(3),p=e(9),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function h(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(12,0,null,null,72,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,13).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,13).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(13,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(15,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,35,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,32,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,29,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"label",[["for","locale"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/localization/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,9,"select",[["class","form-control"],["id","locale"],["name","Locale"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,37).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,37).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.locale=e)&&u);return u},null,null)),t.ɵdid(37,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(39,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(41,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(44,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,25,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,18,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,5,"input",[["class","form-check-input"],["id","disableIcons"],["name","DisableIcons"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,59).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,59).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.disableIcons=e)&&u);return u},null,null)),t.ɵdid(59,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(61,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(63,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"label",[["class","form-check-label"],["for","disableIcons"]],null,null,null,null,null)),(n()(),t.ɵted(66,null,["\n ","\n "])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,4,"a",[["href","https://help.bitwarden.com/article/website-icons/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",""])),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,2,"button",[["class","btn btn-primary"],["type","submit"]],null,null,null,null,null)),(n()(),t.ɵted(82,null,["\n ","\n "])),t.ɵppd(83,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,39,0,"Locale",e.locale),n(l,44,0,e.localeOptions);n(l,61,0,"DisableIcons",e.disableIcons)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"options"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"optionsDesc"))),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"language"))),n(l,29,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"learnMore")),"")),n(l,36,0,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"languageDesc"))),n(l,58,0,t.ɵnov(l,63).ngClassUntouched,t.ɵnov(l,63).ngClassTouched,t.ɵnov(l,63).ngClassPristine,t.ɵnov(l,63).ngClassDirty,t.ɵnov(l,63).ngClassValid,t.ɵnov(l,63).ngClassInvalid,t.ɵnov(l,63).ngClassPending),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l,0),"disableIcons"))),n(l,69,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l,0),"learnMore")),"")),n(l,77,0,t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"disableIconsDesc"))),n(l,82,0,t.ɵunv(l,82,0,n(l,83,0,t.ɵnov(l,0),"save")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-options",[],null,null,null,h,f)),t.ɵdid(1,114688,null,0,a.OptionsComponent,[s.StorageService,d.StateService,c.Angulartics2,i.I18nService,p.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OptionsComponent=f,l.View_OptionsComponent_0=h,l.View_OptionsComponent_Host_0=g;var m=t.ɵccf("app-options",a.OptionsComponent,g,{},{},[]);l.OptionsComponentNgFactory=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.PasswordRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(40),r=e(37),a=e(13),s=e(18),d=e(17),c=e(46),p=e(553),f=e(4),v=e(3),h=e(9),g=e(20),m=e(27),y=e(21),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(2,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(3,0,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(6,0,[["form",1]],null,72,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,a.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,a.ControlContainer,null,[a.NgForm]),t.ɵdid(9,16384,null,0,a.NgControlStatusGroup,[a.ControlContainer],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,55,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,52,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","currentMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","currentMasterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.currentMasterPassword=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(27,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(29,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(30,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"label",[["for","newMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","newMasterPassword"],["name","NewMasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,40)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,40).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,40)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,40)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.newMasterPassword=e)&&u);return u},null,null)),t.ɵdid(40,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(41,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(44,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(46,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(47,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","confirmNewMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","confirmNewMasterPassword"],["name","ConfirmNewMasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,57)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,57).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,57)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,57)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.confirmNewMasterPassword=e)&&u);return u},null,null)),t.ɵdid(57,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(58,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(61,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(63,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(64,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(72,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(75,null,["",""])),t.ɵppd(76,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,"warning"),n(l,10,0,e.formPromise);n(l,24,0,"");n(l,27,0,"MasterPasswordHash",e.currentMasterPassword);n(l,30,0,"");n(l,41,0,"");n(l,44,0,"NewMasterPasswordHash",e.newMasterPassword);n(l,47,0,"");n(l,58,0,"");n(l,61,0,"ConfirmNewMasterPasswordHash",e.confirmNewMasterPassword);n(l,64,0,"")},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),"loggedOutWarning"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"currentMasterPass"))),n(l,22,0,t.ɵnov(l,24).required?"":null,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"newMasterPass"))),n(l,39,0,t.ɵnov(l,41).required?"":null,t.ɵnov(l,46).ngClassUntouched,t.ɵnov(l,46).ngClassTouched,t.ɵnov(l,46).ngClassPristine,t.ɵnov(l,46).ngClassDirty,t.ɵnov(l,46).ngClassValid,t.ɵnov(l,46).ngClassInvalid,t.ɵnov(l,46).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"confirmNewMasterPass"))),n(l,56,0,t.ɵnov(l,58).required?"":null,t.ɵnov(l,63).ngClassUntouched,t.ɵnov(l,63).ngClassTouched,t.ɵnov(l,63).ngClassPristine,t.ɵnov(l,63).ngClassDirty,t.ɵnov(l,63).ngClassValid,t.ɵnov(l,63).ngClassInvalid,t.ɵnov(l,63).ngClassPending),n(l,69,0,t.ɵnov(l,6).loading),n(l,71,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,71,0,n(l,72,0,t.ɵnov(l,0),"loading")),"")),n(l,75,0,t.ɵunv(l,75,0,n(l,76,0,t.ɵnov(l,0),"changeMasterPassword")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-change-password",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,p.ChangePasswordComponent,[f.ApiService,o.I18nService,v.Angulartics2,h.ToasterService,g.CryptoService,m.MessagingService,y.UserService],null,null)],null,null)}l.RenderType_ChangePasswordComponent=C,l.View_ChangePasswordComponent_0=b,l.View_ChangePasswordComponent_Host_0=S;var w=t.ɵccf("app-change-password",p.ChangePasswordComponent,S,{},{},[]);l.ChangePasswordComponentNgFactory=w},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(554).EmailTokenRequest);l.EmailRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(13),a=e(46),s=e(7),d=e(18),c=e(17),p=e(5),f=e(555),v=e(4),h=e(3),g=e(9),m=e(20),y=e(27),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(9,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(10,0,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,21,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,18,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"label",[["for","token"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","token"],["name","Token"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,24)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,24)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,24)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.token=e)&&u);return u},null,null)),t.ɵdid(24,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(25,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(28,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(30,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(31,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,"warning");n(l,25,0,"");n(l,28,0,"Token",e.token);n(l,31,0,"")},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"changeEmailDesc",e.newEmail))),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent,0),"loggedOutWarning"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent,0),"code"))),n(l,23,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"continue")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"changeEmail")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reset()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"cancel")))})}function _(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,63,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(4,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(5,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,38,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,35,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[8,"readOnly",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(24,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(25,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","newEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,8,"input",[["appInputVerbatim","false"],["class","form-control"],["id","newEmail"],["inputmode","email"],["name","NewEmail"],["required",""],["type","text"]],[[8,"readOnly",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.newEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(41,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(42,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(48,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,10,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(56,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(59,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(63,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"");n(l,22,0,"MasterPasswordHash",e.masterPassword);n(l,25,0,"");n(l,36,0,"");n(l,39,0,"NewEmail",e.newEmail);n(l,42,0,"false"),n(l,48,0,e.tokenSent),n(l,56,0,!e.tokenSent),n(l,59,0,e.tokenSent),n(l,63,0,e.tokenSent)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"masterPass"))),n(l,17,0,e.tokenSent,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"newEmail"))),n(l,34,0,e.tokenSent,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,50,0,t.ɵnov(l,1).loading),n(l,52,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"loading")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-change-email",[],null,null,null,_,C)),t.ɵdid(1,49152,null,0,f.ChangeEmailComponent,[v.ApiService,i.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.MessagingService],null,null)],null,null)}l.RenderType_ChangeEmailComponent=C,l.View_ChangeEmailComponent_0=_,l.View_ChangeEmailComponent_Host_0=I;var A=t.ɵccf("app-change-email",f.ChangeEmailComponent,I,{},{},[]);l.ChangeEmailComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.culture="en-US",this.name=n,this.masterPasswordHint=l||null}}();l.UpdateProfileRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(130),a=e(116),s=e(42),d=e(7),c=e(2),p=e(5),f=e(556),v=e(4),h=e(3),g=e(9),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","email"],["name","Email"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.email=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","masterPasswordHint"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","masterPasswordHint"],["name","MasterPasswordHint"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.masterPasswordHint=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["height","75"],["width","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],fontSize:[3,"fontSize"],dynamic:[4,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.profile.name);n(l,33,0,"Email",e.profile.email);n(l,47,0,"MasterPasswordHint",e.profile.masterPasswordHint);n(l,56,0,t.ɵinlineInterpolate(1,"",e.profile.name||e.profile.email,""),"75","75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"name"))),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"email"))),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"masterPassHintLabel"))),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading),n(l,62,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save")))})}function b(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[c.I18nService]),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(2,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(5,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,e.loading),n(l,5,0,e.profile&&!e.loading)},null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-profile",[],null,null,null,b,m)),t.ɵdid(1,114688,null,0,f.ProfileComponent,[v.ApiService,c.I18nService,h.Angulartics2,g.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ProfileComponent=m,l.View_ProfileComponent_0=b,l.View_ProfileComponent_Host_0=S;var w=t.ɵccf("app-profile",f.ProfileComponent,S,{},{},[]);l.ProfileComponentNgFactory=w},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(796),r=e(556),a=e(4),s=e(3),d=e(9),c=e(794),p=e(555),f=e(20),v=e(27),h=e(792),g=e(553),m=e(21),y=e(273),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{deauthModalRef:0}),t.ɵqud(402653184,2,{purgeModalRef:0}),t.ɵqud(402653184,3,{deleteModalRef:0}),(n()(),t.ɵeld(4,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(11,0,null,null,1,"app-profile",[],null,null,null,i.View_ProfileComponent_0,i.RenderType_ProfileComponent)),t.ɵdid(12,114688,null,0,r.ProfileComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,null,null,5,"div",[["class","secondary-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(21,0,null,null,1,"app-change-email",[],null,null,null,c.View_ChangeEmailComponent_0,c.RenderType_ChangeEmailComponent)),t.ɵdid(22,49152,null,0,p.ChangeEmailComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService,f.CryptoService,v.MessagingService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(24,0,null,null,5,"div",[["class","secondary-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(31,0,null,null,1,"app-change-password",[],null,null,null,h.View_ChangePasswordComponent_0,h.RenderType_ChangePasswordComponent)),t.ɵdid(32,49152,null,0,g.ChangePasswordComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService,f.CryptoService,v.MessagingService,m.UserService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(34,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(41,0,null,null,20,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,17,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(46,null,["",""])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deauthorizeSessions()&&t);return t},null,null)),(n()(),t.ɵted(50,null,["",""])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.purgeVault()&&t);return t},null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteAccount()&&t);return t},null,null)),(n()(),t.ɵted(58,null,["",""])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deauthorizeSessionsTemplate",2]],null,0,null,b)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["purgeVaultTemplate",2]],null,0,null,S)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["deleteAccountTemplate",2]],null,0,null,w)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,12,0)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"myAccount"))),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"changeEmail"))),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"changeMasterPassword"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"dangerZone"))),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"dangerZoneDesc"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"deauthorizeSessions"))),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"purgeVault"))),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"deleteAccount")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-account",[],null,null,null,R,C)),t.ɵdid(1,49152,null,0,y.AccountComponent,[t.ComponentFactoryResolver],null,null)],null,null)}l.RenderType_AccountComponent=C,l.View_AccountComponent_0=R,l.View_AccountComponent_Host_0=_;var I=t.ɵccf("app-account",y.AccountComponent,_,{},{},[]);l.AccountComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(274),s=e(35),d=e(160),c=t.ɵcrt({encapsulation:2,styles:[],data:{}});function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"billing");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"billingAndLicensing")))})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","premium"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[10,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,9,{links:1}),t.ɵqud(603979776,10,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"premium");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"goPremium")))})}function v(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,57,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,54,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,47,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","options"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"a",[["class","list-group-item"],["routerLink","organizations"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,32).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(32,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(33,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,46).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(46,671744,[[12,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(47,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,11,{links:1}),t.ɵqud(603979776,12,{linksWithHrefs:1}),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,6,"a",[["class","list-group-item"],["routerLink","domain-rules"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,54).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(54,671744,[[14,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(55,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,13,{links:1}),t.ɵqud(603979776,14,{linksWithHrefs:1}),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(67,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"options");n(l,25,0,"active");n(l,32,0,"organizations");n(l,33,0,"active"),n(l,40,0,e.premium),n(l,43,0,!e.premium);n(l,46,0,"two-factor");n(l,47,0,"active");n(l,54,0,"domain-rules");n(l,55,0,"active"),n(l,67,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myAccount"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"options"))),n(l,31,0,t.ɵnov(l,32).target,t.ɵnov(l,32).href),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"organizations"))),n(l,45,0,t.ɵnov(l,46).target,t.ɵnov(l,46).href),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,53,0,t.ɵnov(l,54).target,t.ɵnov(l,54).href),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"domainRules")))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-settings",[],null,null,null,v,c)),t.ɵdid(1,245760,null,0,a.SettingsComponent,[s.TokenService,d.BroadcasterService,t.NgZone],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=c,l.View_SettingsComponent_0=v,l.View_SettingsComponent_Host_0=h;var g=t.ɵccf("app-settings",a.SettingsComponent,h,{},{},[]);l.SettingsComponentNgFactory=g},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]104857600)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2];u.label=1;case 1:return u.trys.push([1,4,,5]),this.formPromise=this.saveCipherAttachment(l[0]),e=this,[4,this.formPromise];case 2:return e.cipherDomain=u.sent(),t=this,[4,this.cipherDomain.decrypt()];case 3:return t.cipher=u.sent(),this.analytics.eventTrack.next({action:"Added Attachment"}),this.toasterService.popAsync("success",null,this.i18nService.t("attachmentSaved")),this.onUploadedAttachment.emit(),[3,5];case 4:return u.sent(),[3,5];case 5:return n.type="",n.type="file",n.value="",[2]}})})},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null!=this.deletePromises[n.id]?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteAttachmentConfirmation"),this.i18nService.t("deleteAttachment"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromises[n.id]=this.deleteCipherAttachment(n.id),[4,this.deletePromises[n.id]];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Deleted Attachment"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedAttachment")),(l=this.cipher.attachments.indexOf(n))>-1&&this.cipher.attachments.splice(l,1),[3,5];case 4:return e.sent(),[3,5];case 5:return this.deletePromises[n.id]=null,this.onDeletedAttachment.emit(),[2]}})})},n.prototype.download=function(n){return t(this,void 0,void 0,function(){var l,e,t,o,i;return u(this,function(u){switch(u.label){case 0:return(l=n).downloading?[2]:this.canAccessAttachments?(l.downloading=!0,[4,fetch(new Request(n.url,{cache:"no-cache"}))]):(this.toasterService.popAsync("error",this.i18nService.t("premiumRequired"),this.i18nService.t("premiumRequiredDesc")),[2]);case 1:if(200!==(e=u.sent()).status)return this.toasterService.popAsync("error",null,this.i18nService.t("errorOccurred")),l.downloading=!1,[2];u.label=2;case 2:return u.trys.push([2,6,,7]),[4,e.arrayBuffer()];case 3:return t=u.sent(),[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 4:return o=u.sent(),[4,this.cryptoService.decryptFromBytes(t,o)];case 5:return i=u.sent(),this.platformUtilsService.saveFile(this.win,i,null,n.fileName),[3,7];case 6:return u.sent(),this.toasterService.popAsync("error",null,this.i18nService.t("errorOccurred")),[3,7];case 7:return l.downloading=!1,[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.saveCipherAttachment=function(n){return this.cipherService.saveAttachmentWithServer(this.cipherDomain,n)},n.prototype.deleteCipherAttachment=function(n){return this.cipherService.deleteAttachmentWithServer(this.cipher.id,n)},n}();l.AttachmentsComponent=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.cipher.login.uris.splice(l,1)}},n.prototype.addField=function(){null==this.cipher.fields&&(this.cipher.fields=[]);var n=new p.FieldView;n.type=this.addFieldType,this.cipher.fields.push(n)},n.prototype.removeField=function(n){var l=this.cipher.fields.indexOf(n);l>-1&&this.cipher.fields.splice(l,1)},n.prototype.cancel=function(){this.onCancelled.emit(this.cipher)},n.prototype.attachments=function(){this.onEditAttachments.emit(this.cipher)},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteItemConfirmation"),this.i18nService.t("deleteItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.deleteCipher(),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Cipher"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedItem")),this.onDeletedCipher.emit(this.cipher),[3,5];case 4:return n.sent(),[3,5];case 5:return[2,!0]}})})},n.prototype.generatePassword=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return null!=this.cipher.login&&null!=this.cipher.login.password&&this.cipher.login.password.length?[4,this.platformUtilsService.showDialog(this.i18nService.t("overwritePasswordConfirmation"),this.i18nService.t("overwritePassword"),this.i18nService.t("yes"),this.i18nService.t("no"))]:[3,2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return this.onGeneratePassword.emit(),[2,!0]}})})},n.prototype.togglePassword=function(){this.analytics.eventTrack.next({action:"Toggled Password on Edit"}),this.showPassword=!this.showPassword,document.getElementById("loginPassword").focus()},n.prototype.toggleCardCode=function(){this.analytics.eventTrack.next({action:"Toggled CardCode on Edit"}),this.showCardCode=!this.showCardCode,document.getElementById("cardCode").focus()},n.prototype.toggleFieldValue=function(n){var l=n;l.showValue=!l.showValue},n.prototype.toggleUriOptions=function(n){var l=n;l.showOptions=(null!=l.showOptions||null==n.match)&&!l.showOptions},n.prototype.loginUriMatchChanged=function(n){var l=n;l.showOptions=null==l.showOptions||l.showOptions},n.prototype.checkPassword=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return null!=this.checkPasswordPromise?[2]:null==this.cipher.login||null==this.cipher.login.password||""===this.cipher.login.password?[2]:(this.analytics.eventTrack.next({action:"Check Password"}),this.checkPasswordPromise=this.auditService.passwordLeaked(this.cipher.login.password),[4,this.checkPasswordPromise]);case 1:return n=l.sent(),this.checkPasswordPromise=null,n>0?this.toasterService.popAsync("warning",null,this.i18nService.t("passwordExposed",n.toString())):this.toasterService.popAsync("success",null,this.i18nService.t("passwordSafe")),[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.encryptCipher=function(){return this.cipherService.encrypt(this.cipher)},n.prototype.saveCipher=function(n){return this.cipherService.saveWithServer(n)},n.prototype.deleteCipher=function(){return this.cipherService.deleteWithServer(this.cipher.id)},n}();l.AddEditComponent=m},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.folders=[]}}();l.UpdateKeyRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(l){var e=n.call(this,l)||this;return e.id=l.id,e}return u(l,n),l}(e(278).FolderRequest);l.FolderWithIdRequest=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0),n(l,6,0,0===l.context.ngIf.length)},null)}function x(n){return t.ɵvid(0,[t.ɵpid(0,p.SearchCiphersPipe,[f.PlatformUtilsService]),t.ɵpid(0,v.I18nPipe,[h.I18nService]),(n()(),t.ɵand(16777216,null,null,2,null,M)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),e.ciphers,e.searchText)))},null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-ciphers",[],null,null,null,x,b)),t.ɵdid(1,49152,null,0,g.CiphersComponent,[m.CipherService,y.Angulartics2,C.ToasterService,h.I18nService,f.PlatformUtilsService],null,null)],null,null)}l.RenderType_CiphersComponent=b,l.View_CiphersComponent_0=x,l.View_CiphersComponent_Host_0=D;var U=t.ɵccf("app-vault-ciphers",g.CiphersComponent,D,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked"},[]);l.CiphersComponentNgFactory=U},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.u2f.init({appId:l[0].appId,challenge:l[0].challenge,keys:[{version:l[0].version,keyHandle:l[0].keyHandle}]}),[3,7]):[3,7];case 2:return this.platformUtilsService.getDevice()===o.DeviceType.SafariExtension?[3,7]:(setTimeout(function(){s.init({iframe:void 0,host:n.Host,sig_request:n.Signature,submit_callback:function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null==(l=n.querySelector('input[name="sig_response"]'))?[3,2]:(this.token=l.value,[4,this.submit()]);case 1:e.sent(),e.label=2;case 2:return[2]}})})}})},0),[3,7]);case 3:return this.twoFactorEmail=n.Email,this.authService.twoFactorProviders.size>1?[4,this.sendEmail(!1)]:[3,5];case 4:r.sent(),r.label=5;case 5:case 6:return[3,7];case 7:return[2]}})})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:if(null==this.token||""===this.token)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("verificationCodeRequired")),[2];if(this.selectedProviderType===i.TwoFactorProviderType.U2f){if(null==this.u2f)return[2];this.u2f.stop()}else this.selectedProviderType!==i.TwoFactorProviderType.Email&&this.selectedProviderType!==i.TwoFactorProviderType.Authenticator||(this.token=this.token.replace(" ","").trim());l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.authService.logInTwoFactor(this.selectedProviderType,this.token,this.remember),[4,this.formPromise];case 2:return l.sent(),null!=this.onSuccessfulLogin&&this.onSuccessfulLogin(),this.analytics.eventTrack.next({action:"Logged In From Two-step"}),null!=this.onSuccessfulLoginNavigate?this.onSuccessfulLoginNavigate():this.router.navigate([this.successRoute]),[3,4];case 3:if(n=l.sent(),this.selectedProviderType!==i.TwoFactorProviderType.U2f||null==this.u2f)throw n;return this.u2f.start(),[3,4];case 4:return[2]}})})},n.prototype.sendEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:if(this.selectedProviderType!==i.TwoFactorProviderType.Email)return[2];if(null!=this.emailPromise)return[2];e.label=1;case 1:return e.trys.push([1,3,,4]),l=new r.TwoFactorEmailRequest(this.authService.email,this.authService.masterPasswordHash),this.emailPromise=this.apiService.postTwoFactorEmail(l),[4,this.emailPromise];case 2:return e.sent(),n&&this.toasterService.popAsync("success",null,this.i18nService.t("verificationCodeEmailSent",this.twoFactorEmail)),[3,4];case 3:return e.sent(),[3,4];case 4:return this.emailPromise=null,[2]}})})},n.prototype.cleanupU2f=function(){null!=this.u2f&&(this.u2f.stop(),this.u2f.cleanup())},n}();l.TwoFactorComponent=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=function(){function n(n){this.componentFactoryResolver=n,this.onClose=new t.EventEmitter,this.onClosed=new t.EventEmitter,this.onShow=new t.EventEmitter,this.onShown=new t.EventEmitter,this.parentContainer=null,this.fade=!0}return n.prototype.ngOnDestroy=function(){document.body.classList.remove("modal-open"),document.body.removeChild(document.querySelector(".modal-backdrop"))},n.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.onShow.emit(),this.parentContainer=l,this.fade=e,document.body.classList.add("modal-open");var u=document.createElement("div");u.className="modal-backdrop"+(this.fade?" fade":""),document.body.appendChild(u);var o=this.componentFactoryResolver.resolveComponentFactory(n),i=this.container.createComponent(o);document.querySelector(".modal-dialog").addEventListener("click",function(n){n.stopPropagation()});for(var r=0,a=Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss="modal"]'));r0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1] string;\r\n translate: (id: string, p1?: string, p2?: string, p3?: string) => string;\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\r\nimport { EmailRequest } from '../models/request/emailRequest';\r\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { GroupRequest } from '../models/request/groupRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KeysRequest } from '../models/request/keysRequest';\r\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\r\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\r\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\r\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\r\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\r\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\r\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\r\nimport { PasswordRequest } from '../models/request/passwordRequest';\r\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\r\nimport { PaymentRequest } from '../models/request/paymentRequest';\r\nimport { RegisterRequest } from '../models/request/registerRequest';\r\nimport { SeatRequest } from '../models/request/seatRequest';\r\nimport { StorageRequest } from '../models/request/storageRequest';\r\nimport { TokenRequest } from '../models/request/tokenRequest';\r\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\r\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\r\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\r\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\r\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\r\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\r\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\r\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\r\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\r\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\r\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\r\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\r\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\r\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\r\n\r\nimport { BillingResponse } from '../models/response/billingResponse';\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport {\r\n CollectionGroupDetailsResponse,\r\n CollectionResponse,\r\n} from '../models/response/collectionResponse';\r\nimport { CollectionUserResponse } from '../models/response/collectionUserResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { EventResponse } from '../models/response/eventResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n GroupDetailsResponse,\r\n GroupResponse,\r\n} from '../models/response/groupResponse';\r\nimport { GroupUserResponse } from '../models/response/groupUserResponse';\r\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\r\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\r\nimport { ListResponse } from '../models/response/listResponse';\r\nimport { OrganizationBillingResponse } from '../models/response/organizationBillingResponse';\r\nimport { OrganizationResponse } from '../models/response/organizationResponse';\r\nimport {\r\n OrganizationUserDetailsResponse,\r\n OrganizationUserUserDetailsResponse,\r\n} from '../models/response/organizationUserResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\nimport { SyncResponse } from '../models/response/syncResponse';\r\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\r\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\r\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\r\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\r\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\r\nimport { TwoFactorU2fResponse } from '../models/response/twoFactorU2fResponse';\r\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\r\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\r\n\r\nexport abstract class ApiService {\r\n urlsSet: boolean;\r\n apiBaseUrl: string;\r\n identityBaseUrl: string;\r\n\r\n setUrls: (urls: EnvironmentUrls) => void;\r\n postIdentityToken: (request: TokenRequest) => Promise;\r\n refreshIdentityToken: () => Promise;\r\n\r\n getProfile: () => Promise;\r\n getUserBilling: () => Promise;\r\n putProfile: (request: UpdateProfileRequest) => Promise;\r\n postEmailToken: (request: EmailTokenRequest) => Promise;\r\n postEmail: (request: EmailRequest) => Promise;\r\n postPassword: (request: PasswordRequest) => Promise;\r\n postSecurityStamp: (request: PasswordVerificationRequest) => Promise;\r\n deleteAccount: (request: PasswordVerificationRequest) => Promise;\r\n getAccountRevisionDate: () => Promise;\r\n postPasswordHint: (request: PasswordHintRequest) => Promise;\r\n postRegister: (request: RegisterRequest) => Promise;\r\n postPremium: (data: FormData) => Promise;\r\n postReinstatePremium: () => Promise;\r\n postCancelPremium: () => Promise;\r\n postAccountStorage: (request: StorageRequest) => Promise;\r\n postAccountPayment: (request: PaymentRequest) => Promise;\r\n postAccountLicense: (data: FormData) => Promise;\r\n postAccountKey: (request: UpdateKeyRequest) => Promise;\r\n postAccountKeys: (request: KeysRequest) => Promise;\r\n postAccountVerifyEmail: () => Promise;\r\n postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise;\r\n postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise;\r\n postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise;\r\n\r\n postFolder: (request: FolderRequest) => Promise;\r\n putFolder: (id: string, request: FolderRequest) => Promise;\r\n deleteFolder: (id: string) => Promise;\r\n\r\n getCipher: (id: string) => Promise;\r\n getCipherAdmin: (id: string) => Promise;\r\n getCiphersOrganization: (organizationId: string) => Promise>;\r\n postCipher: (request: CipherRequest) => Promise;\r\n postCipherAdmin: (request: CipherRequest) => Promise;\r\n putCipher: (id: string, request: CipherRequest) => Promise;\r\n putCipherAdmin: (id: string, request: CipherRequest) => Promise;\r\n deleteCipher: (id: string) => Promise;\r\n deleteCipherAdmin: (id: string) => Promise;\r\n deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\r\n putMoveCiphers: (request: CipherBulkMoveRequest) => Promise;\r\n putShareCipher: (id: string, request: CipherShareRequest) => Promise;\r\n putShareCiphers: (request: CipherBulkShareRequest) => Promise;\r\n putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise;\r\n putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise;\r\n postPurgeCiphers: (request: PasswordVerificationRequest) => Promise;\r\n postImportCiphers: (request: ImportCiphersRequest) => Promise;\r\n postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise;\r\n\r\n postCipherAttachment: (id: string, data: FormData) => Promise;\r\n postCipherAttachmentAdmin: (id: string, data: FormData) => Promise;\r\n deleteCipherAttachment: (id: string, attachmentId: string) => Promise;\r\n deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise;\r\n postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,\r\n organizationId: string) => Promise;\r\n\r\n getCollectionDetails: (organizationId: string, id: string) => Promise;\r\n getCollections: (organizationId: string) => Promise>;\r\n getCollectionUsers: (organizationId: string, id: string) => Promise>;\r\n postCollection: (organizationId: string, request: CollectionRequest) => Promise;\r\n putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise;\r\n deleteCollection: (organizationId: string, id: string) => Promise;\r\n deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\r\n\r\n getGroupDetails: (organizationId: string, id: string) => Promise;\r\n getGroups: (organizationId: string) => Promise>;\r\n getGroupUsers: (organizationId: string, id: string) => Promise>;\r\n postGroup: (organizationId: string, request: GroupRequest) => Promise;\r\n putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise;\r\n deleteGroup: (organizationId: string, id: string) => Promise;\r\n deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\r\n\r\n getOrganizationUser: (organizationId: string, id: string) => Promise;\r\n getOrganizationUserGroups: (organizationId: string, id: string) => Promise;\r\n getOrganizationUsers: (organizationId: string) => Promise>;\r\n postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise;\r\n postOrganizationUserReinvite: (organizationId: string, id: string) => Promise;\r\n postOrganizationUserAccept: (organizationId: string, id: string,\r\n request: OrganizationUserAcceptRequest) => Promise;\r\n postOrganizationUserConfirm: (organizationId: string, id: string,\r\n request: OrganizationUserConfirmRequest) => Promise;\r\n putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise;\r\n putOrganizationUserGroups: (organizationId: string, id: string,\r\n request: OrganizationUserUpdateGroupsRequest) => Promise;\r\n deleteOrganizationUser: (organizationId: string, id: string) => Promise;\r\n\r\n getSync: () => Promise;\r\n postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise;\r\n\r\n getSettingsDomains: () => Promise;\r\n putSettingsDomains: (request: UpdateDomainsRequest) => Promise;\r\n\r\n getTwoFactorProviders: () => Promise>;\r\n getTwoFactorOrganizationProviders: (organizationId: string) => Promise>;\r\n getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorOrganizationDuo: (organizationId: string,\r\n request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise;\r\n putTwoFactorAuthenticator: (\r\n request: UpdateTwoFactorAuthenticatorRequest) => Promise;\r\n putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise;\r\n putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise;\r\n putTwoFactorOrganizationDuo: (organizationId: string,\r\n request: UpdateTwoFactorDuoRequest) => Promise;\r\n putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise;\r\n putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise;\r\n putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise;\r\n putTwoFactorOrganizationDisable: (organizationId: string,\r\n request: TwoFactorProviderRequest) => Promise;\r\n postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise;\r\n postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise;\r\n postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise;\r\n\r\n getOrganization: (id: string) => Promise;\r\n getOrganizationBilling: (id: string) => Promise;\r\n getOrganizationLicense: (id: string, installationId: string) => Promise;\r\n postOrganization: (request: OrganizationCreateRequest) => Promise;\r\n putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise;\r\n postLeaveOrganization: (id: string) => Promise;\r\n postOrganizationLicense: (data: FormData) => Promise;\r\n postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise;\r\n postOrganizationSeat: (id: string, request: SeatRequest) => Promise;\r\n postOrganizationStorage: (id: string, request: StorageRequest) => Promise;\r\n postOrganizationPayment: (id: string, request: PaymentRequest) => Promise;\r\n postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise;\r\n postOrganizationCancel: (id: string) => Promise;\r\n postOrganizationReinstate: (id: string) => Promise;\r\n deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise;\r\n\r\n getEvents: (start: string, end: string, token: string) => Promise>;\r\n getEventsCipher: (id: string, start: string, end: string, token: string) => Promise>;\r\n getEventsOrganization: (id: string, start: string, end: string,\r\n token: string) => Promise>;\r\n getEventsOrganizationUser: (organizationId: string, id: string,\r\n start: string, end: string, token: string) => Promise>;\r\n\r\n getUserPublicKey: (id: string) => Promise;\r\n\r\n fetch: (request: Request) => Promise;\r\n}\r\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\r\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\r\n@Pipe({\n name: 'i18n',\n})\r\nexport class I18nPipe implements PipeTransform {\n constructor(private i18nService: I18nService) { }\n\r\n transform(id: string, p1?: string, p2?: string, p3?: string): string {\r\n return this.i18nService.t(id, p1, p2, p3);\r\n }\r\n}\n","import { DeviceType } from '../enums/deviceType';\n\nexport abstract class PlatformUtilsService {\n identityClientId: string;\n getDevice: () => DeviceType;\n getDeviceString: () => string;\n isFirefox: () => boolean;\n isChrome: () => boolean;\n isEdge: () => boolean;\n isOpera: () => boolean;\n isVivaldi: () => boolean;\n isSafari: () => boolean;\n isIE: () => boolean;\n isMacAppStore: () => boolean;\n analyticsId: () => string;\n getDomain: (uriString: string) => string;\n isViewOpen: () => boolean;\n lockTimeout: () => number;\n launchUri: (uri: string, options?: any) => void;\n saveFile: (win: Window, blobData: any, blobOptions: any, fileName: string) => void;\n getApplicationVersion: () => string;\n supportsU2f: (win: Window) => boolean;\n supportsDuo: () => boolean;\n showToast: (type: 'error' | 'success' | 'warning' | 'info', title: string, text: string) => void;\n showDialog: (text: string, title?: string, confirmText?: string, cancelText?: string,\n type?: string) => Promise;\n isDev: () => boolean;\n isSelfHost: () => boolean;\n copyToClipboard: (text: string, options?: any) => void;\n}\n","import { Injectable } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Injectable()\nexport class ValidationService {\n constructor(private toasterService: ToasterService, private i18nService: I18nService) { }\n\n showError(data: any): string[] {\n const defaultErrorMessage = this.i18nService.t('unexpectedError');\n const errors: string[] = [];\n\n if (data != null && typeof data === 'string') {\n errors.push(data);\n } else if (data == null || typeof data !== 'object') {\n errors.push(defaultErrorMessage);\n } else if (data.validationErrors == null) {\n errors.push(data.message ? data.message : defaultErrorMessage);\n } else {\n for (const key in data.validationErrors) {\n if (!data.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n\n data.validationErrors[key].forEach((item: string) => {\n errors.push(item);\n });\n }\n }\n\n if (errors.length > 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), errors[0]);\n }\n\n return errors;\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { ValidationService } from '../services/validation.service';\r\n\r\n@Directive({\r\n selector: '[appApiAction]',\r\n})\r\nexport class ApiActionDirective implements OnChanges {\r\n @Input() appApiAction: Promise;\n\n constructor(private el: ElementRef, private validationService: ValidationService) { }\n\n ngOnChanges(changes: any) {\n if (this.appApiAction == null || this.appApiAction.then == null) {\r\n return;\r\n }\n\n this.el.nativeElement.loading = true;\n\r\n this.appApiAction.then((response: any) => {\n this.el.nativeElement.loading = false;\n }, (e: any) => {\n this.el.nativeElement.loading = false;\n this.validationService.showError(e);\n });\r\n }\r\n}\n","import { CipherString } from '../models/domain/cipherString';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\r\n\r\nexport abstract class CryptoService {\r\n setKey: (key: SymmetricCryptoKey) => Promise;\r\n setKeyHash: (keyHash: string) => Promise<{}>;\r\n setEncKey: (encKey: string) => Promise<{}>;\r\n setEncPrivateKey: (encPrivateKey: string) => Promise<{}>;\r\n setOrgKeys: (orgs: ProfileOrganizationResponse[]) => Promise<{}>;\r\n getKey: () => Promise;\r\n getKeyHash: () => Promise;\r\n getEncKey: () => Promise;\r\n getPublicKey: () => Promise;\r\n getPrivateKey: () => Promise;\r\n getOrgKeys: () => Promise>;\r\n getOrgKey: (orgId: string) => Promise;\r\n hasKey: () => Promise;\r\n hasEncKey: () => Promise;\r\n clearKey: () => Promise;\r\n clearKeyHash: () => Promise;\r\n clearEncKey: (memoryOnly?: boolean) => Promise;\r\n clearKeyPair: (memoryOnly?: boolean) => Promise;\r\n clearOrgKeys: (memoryOnly?: boolean) => Promise;\r\n clearKeys: () => Promise;\r\n toggleKey: () => Promise;\r\n makeKey: (password: string, salt: string) => Promise;\r\n makeShareKey: () => Promise<[CipherString, SymmetricCryptoKey]>;\r\n makeKeyPair: (key?: SymmetricCryptoKey) => Promise<[string, CipherString]>;\r\n hashPassword: (password: string, key: SymmetricCryptoKey) => Promise;\r\n makeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\r\n encrypt: (plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n encryptToBytes: (plainValue: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n rsaEncrypt: (data: ArrayBuffer, publicKey?: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n decryptToUtf8: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\r\n decryptFromBytes: (encBuf: ArrayBuffer, key: SymmetricCryptoKey) => Promise;\r\n randomNumber: (min: number, max: number) => Promise;\r\n}\r\n","import { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nexport abstract class UserService {\n userId: string;\n email: string;\n stamp: string;\n\n setUserIdAndEmail: (userId: string, email: string) => Promise;\n setSecurityStamp: (stamp: string) => Promise;\n getUserId: () => Promise;\n getEmail: () => Promise;\n getSecurityStamp: () => Promise;\n clear: () => Promise;\n isAuthenticated: () => Promise;\n getOrganization: (id: string) => Promise;\n getAllOrganizations: () => Promise;\n replaceOrganizations: (organizations: { [id: string]: OrganizationData; }) => Promise;\n clearOrganizations: (userId: string) => Promise;\n}\n","import { CipherType } from '../enums/cipherType';\n\nimport { CipherData } from '../models/data/cipherData';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Field } from '../models/domain/field';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { AttachmentView } from '../models/view/attachmentView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FieldView } from '../models/view/fieldView';\n\nexport abstract class CipherService {\n decryptedCipherCache: CipherView[];\n\n clearCache: () => void;\n encrypt: (model: CipherView, key?: SymmetricCryptoKey) => Promise;\n encryptFields: (fieldsModel: FieldView[], key: SymmetricCryptoKey) => Promise;\n encryptField: (fieldModel: FieldView, key: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n getAllDecryptedForGrouping: (groupingId: string, folder?: boolean) => Promise;\n getAllDecryptedForUrl: (url: string, includeOtherTypes?: CipherType[]) => Promise;\n getLastUsedForUrl: (url: string) => Promise;\n updateLastUsedDate: (id: string) => Promise;\n saveNeverDomain: (domain: string) => Promise;\n saveWithServer: (cipher: Cipher) => Promise;\n shareWithServer: (cipher: CipherView, organizationId: string, collectionIds: string[]) => Promise;\n shareManyWithServer: (ciphers: CipherView[], organizationId: string, collectionIds: string[]) => Promise;\n shareAttachmentWithServer: (attachmentView: AttachmentView, cipherId: string,\n organizationId: string) => Promise;\n saveAttachmentWithServer: (cipher: Cipher, unencryptedFile: any, admin?: boolean) => Promise;\n saveAttachmentRawWithServer: (cipher: Cipher, filename: string, data: ArrayBuffer,\n admin?: boolean) => Promise;\n saveCollectionsWithServer: (cipher: Cipher) => Promise;\n upsert: (cipher: CipherData | CipherData[]) => Promise;\n replace: (ciphers: { [id: string]: CipherData; }) => Promise;\n clear: (userId: string) => Promise;\n moveManyWithServer: (ids: string[], folderId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n deleteManyWithServer: (ids: string[]) => Promise;\n deleteAttachment: (id: string, attachmentId: string) => Promise;\n deleteAttachmentWithServer: (id: string, attachmentId: string) => Promise;\n sortCiphersByLastUsed: (a: any, b: any) => number;\n sortCiphersByLastUsedThenName: (a: any, b: any) => number;\n getLocaleSortingFunction: () => (a: CipherView, b: CipherView) => number;\n}\n","export abstract class MessagingService {\r\n send: (subscriber: string, arg?: any) => void;\r\n}\r\n","import { CipherView } from '../view/cipherView';\nimport { CollectionView } from '../view/collectionView';\nimport { FolderView } from '../view/folderView';\n\nexport class ImportResult {\n success = false;\n errorMessage: string;\n ciphers: CipherView[] = [];\n folders: FolderView[] = [];\n folderRelationships: Array<[number, number]> = [];\n collections: CollectionView[] = [];\n collectionRelationships: Array<[number, number]> = [];\n}\n","import * as papa from 'papaparse';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { LoginUriView } from '../models/view/loginUriView';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport abstract class BaseImporter {\r\n organization = false;\r\n\r\n protected newLineRegex = /(?:\\r\\n|\\r|\\n)/;\r\n\r\n protected passwordFieldNames = [\r\n 'password', 'pass word', 'passphrase', 'pass phrase',\r\n 'pass', 'code', 'code word', 'codeword',\r\n 'secret', 'secret word', 'personpwd',\r\n 'key', 'keyword', 'key word', 'keyphrase', 'key phrase',\r\n 'form_pw', 'wppassword', 'pin', 'pwd', 'pw', 'pword', 'passwd',\r\n 'p', 'serial', 'serial#', 'license key', 'reg #',\r\n\r\n // Non-English names\r\n 'passwort',\r\n ];\r\n\r\n protected usernameFieldNames = [\r\n 'user', 'name', 'user name', 'username', 'login name',\r\n 'email', 'e-mail', 'id', 'userid', 'user id',\r\n 'login', 'form_loginname', 'wpname', 'mail',\r\n 'loginid', 'login id', 'log', 'personlogin',\r\n 'first name', 'last name', 'card#', 'account #',\r\n 'member', 'member #',\r\n\r\n // Non-English names\r\n 'nom', 'benutzername',\r\n ];\r\n\r\n protected notesFieldNames = [\r\n 'note', 'notes', 'comment', 'comments', 'memo',\r\n 'description', 'free form', 'freeform',\r\n 'free text', 'freetext', 'free',\r\n\r\n // Non-English names\r\n 'kommentar',\r\n ];\r\n\r\n protected uriFieldNames: string[] = [\r\n 'url', 'hyper link', 'hyperlink', 'link',\r\n 'host', 'hostname', 'host name', 'server', 'address',\r\n 'hyper ref', 'href', 'web', 'website', 'web site', 'site',\r\n 'web-site', 'uri',\r\n\r\n // Non-English names\r\n 'ort', 'adresse',\r\n ];\r\n\r\n protected parseXml(data: string): Document {\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(data, 'application/xml');\r\n return doc != null && doc.querySelector('parsererror') == null ? doc : null;\r\n }\r\n\r\n protected parseCsv(data: string, header: boolean): any[] {\r\n data = this.splitNewLine(data).join('\\n').trim();\r\n const result = papa.parse(data, {\r\n header: header,\r\n encoding: 'UTF-8',\r\n skipEmptyLines: false,\r\n });\r\n if (result.errors != null && result.errors.length > 0) {\r\n result.errors.forEach((e) => {\r\n // tslint:disable-next-line\r\n console.warn('Error parsing row ' + e.row + ': ' + e.message);\r\n });\r\n }\r\n return result.data && result.data.length > 0 ? result.data : null;\r\n }\r\n\r\n protected parseSingleRowCsv(rowData: string) {\r\n if (this.isNullOrWhitespace(rowData)) {\r\n return null;\r\n }\r\n const parsedRow = this.parseCsv(rowData, false);\r\n if (parsedRow != null && parsedRow.length > 0 && parsedRow[0].length > 0) {\r\n return parsedRow[0];\r\n }\r\n return null;\r\n }\r\n\r\n protected makeUriArray(uri: string | string[]): LoginUriView[] {\r\n if (uri == null) {\r\n return null;\r\n }\r\n\r\n if (typeof uri === 'string') {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(uri);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return null;\r\n }\r\n loginUri.match = null;\r\n return [loginUri];\r\n }\r\n\r\n if (uri.length > 0) {\r\n const returnArr: LoginUriView[] = [];\r\n uri.forEach((u) => {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(u);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return;\r\n }\r\n loginUri.match = null;\r\n returnArr.push(loginUri);\r\n });\r\n return returnArr.length === 0 ? null : returnArr;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected fixUri(uri: string) {\r\n if (uri == null) {\r\n return null;\r\n }\r\n uri = uri.toLowerCase().trim();\r\n if (uri.indexOf('://') === -1 && uri.indexOf('.') >= 0) {\r\n uri = 'http://' + uri;\r\n }\r\n if (uri.length > 1000) {\r\n return uri.substring(0, 1000);\r\n }\r\n return uri;\r\n }\r\n\r\n protected nameFromUrl(url: string) {\r\n const hostname = Utils.getHostname(url);\r\n if (this.isNullOrWhitespace(hostname)) {\r\n return null;\r\n }\r\n return hostname.startsWith('www.') ? hostname.replace('www.', '') : hostname;\r\n }\r\n\r\n protected isNullOrWhitespace(str: string): boolean {\r\n return str == null || str.trim() === '';\r\n }\r\n\r\n protected getValueOrDefault(str: string, defaultValue: string = null): string {\r\n if (this.isNullOrWhitespace(str)) {\r\n return defaultValue;\r\n }\r\n return str;\r\n }\r\n\r\n protected splitNewLine(str: string): string[] {\r\n return str.split(this.newLineRegex);\r\n }\r\n\r\n // ref https://stackoverflow.com/a/5911300\r\n protected getCardBrand(cardNum: string) {\r\n if (this.isNullOrWhitespace(cardNum)) {\r\n return null;\r\n }\r\n\r\n // Visa\r\n let re = new RegExp('^4');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n // Mastercard\r\n // Updated for Mastercard 2017 BINs expansion\r\n if (/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/\r\n .test(cardNum)) {\r\n return 'Mastercard';\r\n }\r\n\r\n // AMEX\r\n re = new RegExp('^3[47]');\r\n if (cardNum.match(re) != null) {\r\n return 'Amex';\r\n }\r\n\r\n // Discover\r\n re = new RegExp('^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)');\r\n if (cardNum.match(re) != null) {\r\n return 'Discover';\r\n }\r\n\r\n // Diners\r\n re = new RegExp('^36');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // Diners - Carte Blanche\r\n re = new RegExp('^30[0-5]');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // JCB\r\n re = new RegExp('^35(2[89]|[3-8][0-9])');\r\n if (cardNum.match(re) != null) {\r\n return 'JCB';\r\n }\r\n\r\n // Visa Electron\r\n re = new RegExp('^(4026|417500|4508|4844|491(3|7))');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected moveFoldersToCollections(result: ImportResult) {\r\n result.folderRelationships.forEach((r) => result.collectionRelationships.push(r));\r\n result.collections = result.folders.map((f) => {\r\n const collection = new CollectionView();\r\n collection.name = f.name;\r\n return collection;\r\n });\r\n result.folderRelationships = [];\r\n result.folders = [];\r\n }\r\n\r\n protected querySelectorDirectChild(parentEl: Element, query: string) {\r\n const els = this.querySelectorAllDirectChild(parentEl, query);\r\n return els.length === 0 ? null : els[0];\r\n }\r\n\r\n protected querySelectorAllDirectChild(parentEl: Element, query: string) {\r\n return Array.from(parentEl.querySelectorAll(query)).filter((el) => el.parentNode === parentEl);\r\n }\r\n\r\n protected initLoginCipher() {\r\n const cipher = new CipherView();\r\n cipher.favorite = false;\r\n cipher.notes = '';\r\n cipher.fields = [];\r\n cipher.login = new LoginView();\r\n cipher.type = CipherType.Login;\r\n return cipher;\r\n }\r\n\r\n protected cleanupCipher(cipher: CipherView) {\r\n if (cipher == null) {\r\n return;\r\n }\r\n if (cipher.type !== CipherType.Login) {\r\n cipher.login = null;\r\n }\r\n if (this.isNullOrWhitespace(cipher.name)) {\r\n cipher.name = '--';\r\n }\r\n if (this.isNullOrWhitespace(cipher.notes)) {\r\n cipher.notes = null;\r\n } else {\r\n cipher.notes = cipher.notes.trim();\r\n }\r\n if (cipher.fields != null && cipher.fields.length === 0) {\r\n cipher.fields = null;\r\n }\r\n }\r\n\r\n protected processKvp(cipher: CipherView, key: string, value: string) {\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n if (this.isNullOrWhitespace(key)) {\r\n key = '';\r\n }\r\n if (value.length > 200 || value.trim().search(this.newLineRegex) > -1) {\r\n if (cipher.notes == null) {\r\n cipher.notes = '';\r\n }\r\n cipher.notes += (key + ': ' + this.splitNewLine(value).join('\\n') + '\\n');\r\n } else {\r\n if (cipher.fields == null) {\r\n cipher.fields = [];\r\n }\r\n const field = new FieldView();\r\n field.type = FieldType.Text;\r\n field.name = key;\r\n field.value = value;\r\n cipher.fields.push(field);\r\n }\r\n }\r\n\r\n protected processFolder(result: ImportResult, folderName: string) {\r\n let folderIndex = result.folders.length;\r\n const hasFolder = !this.isNullOrWhitespace(folderName);\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === folderName) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = folderName;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([result.ciphers.length, folderIndex]);\r\n }\r\n }\r\n\r\n protected convertToNoteIfNeeded(cipher: CipherView) {\r\n if (cipher.type === CipherType.Login && this.isNullOrWhitespace(cipher.login.username) &&\r\n this.isNullOrWhitespace(cipher.login.password) &&\r\n (cipher.login.uris == null || cipher.login.uris.length === 0)) {\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n }\r\n }\r\n}\r\n","export abstract class TokenService {\n token: string;\n decodedToken: any;\n refreshToken: string;\n setTokens: (accessToken: string, refreshToken: string) => Promise;\n setToken: (token: string) => Promise;\n getToken: () => Promise;\n setRefreshToken: (refreshToken: string) => Promise;\n getRefreshToken: () => Promise;\n setTwoFactorToken: (token: string, email: string) => Promise;\n getTwoFactorToken: (email: string) => Promise;\n clearTwoFactorToken: (email: string) => Promise;\n clearToken: () => Promise;\n decodeToken: () => any;\n getTokenExpirationDate: () => Date;\n tokenSecondsRemaining: (offsetSeconds?: number) => number;\n tokenNeedsRefresh: (minutes?: number) => boolean;\n getUserId: () => string;\n getEmail: () => string;\n getEmailVerified: () => boolean;\n getName: () => string;\n getPremium: () => boolean;\n getIssuer: () => string;\n}\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-callout',\r\n templateUrl: 'callout.component.html',\r\n})\r\nexport class CalloutComponent implements OnInit {\r\n @Input() type = 'info';\r\n @Input() icon: string;\r\n @Input() title: string;\r\n\r\n calloutStyle: string;\r\n\r\n constructor(private i18nService: I18nService) { }\r\n\r\n ngOnInit() {\r\n this.calloutStyle = this.type;\r\n\r\n if (this.type === 'warning' || this.type === 'danger') {\r\n if (this.type === 'danger') {\r\n this.calloutStyle = 'danger';\r\n }\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('warning');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-warning';\r\n }\r\n } else if (this.type === 'error') {\r\n this.calloutStyle = 'danger';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('error');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-bolt';\r\n }\r\n } else if (this.type === 'tip') {\r\n this.calloutStyle = 'success';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('tip');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-lightbulb-o';\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n

\r\n \r\n {{title}}\r\n

\r\n \r\n
\r\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nexport abstract class CollectionService {\n decryptedCollectionCache: CollectionView[];\n\n clearCache: () => void;\n encrypt: (model: CollectionView) => Promise;\n decryptMany: (collections: Collection[]) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n upsert: (collection: CollectionData | CollectionData[]) => Promise;\n replace: (collections: { [id: string]: CollectionData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appInputVerbatim]',\n})\nexport class InputVerbatimDirective {\n @Input() set appInputVerbatim(condition: boolean | string) {\n this.disableComplete = condition === '' || condition === true;\n }\n\n private disableComplete: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (this.disableComplete && !this.el.nativeElement.hasAttribute('autocomplete')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocomplete', 'off');\n }\n if (!this.el.nativeElement.hasAttribute('autocapitalize')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocapitalize', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('autocorrect')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocorrect', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('spellcheck')) {\n this.renderer.setAttribute(this.el.nativeElement, 'spellcheck', 'false');\n }\n if (!this.el.nativeElement.hasAttribute('inputmode')) {\n this.renderer.setAttribute(this.el.nativeElement, 'inputmode', 'verbatim');\n }\n }\n}\n","import { I18nService } from '../abstractions/i18n.service';\n\n// tslint:disable-next-line\nconst nodeURL = typeof window === 'undefined' ? require('url').URL : null;\n\nexport class Utils {\n static inited = false;\n static isNode = false;\n static isBrowser = true;\n static global: NodeJS.Global | Window = null;\n\n static init() {\n if (Utils.inited) {\n return;\n }\n\n Utils.inited = true;\n Utils.isNode = typeof process !== 'undefined' && (process as any).release != null &&\n (process as any).release.name === 'node';\n Utils.isBrowser = typeof window !== 'undefined';\n Utils.global = Utils.isNode && !Utils.isBrowser ? global : window;\n }\n\n static fromB64ToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'base64'));\n } else {\n const binaryString = window.atob(str);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n }\n }\n\n static fromHexToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'hex'));\n } else {\n const bytes = new Uint8Array(str.length / 2);\n for (let i = 0; i < str.length; i += 2) {\n bytes[i / 2] = parseInt(str.substr(i, 2), 16);\n }\n return bytes;\n }\n }\n\n static fromUtf8ToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'utf8'));\n } else {\n const strUtf8 = unescape(encodeURIComponent(str));\n const arr = new Uint8Array(strUtf8.length);\n for (let i = 0; i < strUtf8.length; i++) {\n arr[i] = strUtf8.charCodeAt(i);\n }\n return arr;\n }\n }\n\n static fromByteStringToArray(str: string): Uint8Array {\n const arr = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n arr[i] = str.charCodeAt(i);\n }\n return arr;\n }\n\n static fromBufferToB64(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('base64');\n } else {\n let binary = '';\n const bytes = new Uint8Array(buffer);\n for (let i = 0; i < bytes.byteLength; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n }\n }\n\n static fromBufferToUtf8(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('utf8');\n } else {\n const bytes = new Uint8Array(buffer);\n const encodedString = String.fromCharCode.apply(null, bytes);\n return decodeURIComponent(escape(encodedString));\n }\n }\n\n static fromBufferToByteString(buffer: ArrayBuffer): string {\n return String.fromCharCode.apply(null, new Uint8Array(buffer));\n }\n\n // ref: https://stackoverflow.com/a/40031979/1090359\n static fromBufferToHex(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('hex');\n } else {\n const bytes = new Uint8Array(buffer);\n return Array.prototype.map.call(bytes, (x: number) => ('00' + x.toString(16)).slice(-2)).join('');\n }\n }\n\n static fromUrlB64ToUtf8(b64Str: string): string {\n let output = b64Str.replace(/-/g, '+').replace(/_/g, '/');\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += '==';\n break;\n case 3:\n output += '=';\n break;\n default:\n throw new Error('Illegal base64url string!');\n }\n\n return Utils.fromB64ToUtf8(output);\n }\n\n static fromB64ToUtf8(b64Str: string): string {\n if (Utils.isNode) {\n return new Buffer(b64Str, 'base64').toString('utf8');\n } else {\n return decodeURIComponent(escape(window.atob(b64Str)));\n }\n }\n\n // ref: http://stackoverflow.com/a/2117523/1090359\n static newGuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n // tslint:disable-next-line\n const r = Math.random() * 16 | 0;\n // tslint:disable-next-line\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n static getHostname(uriString: string): string {\n const url = Utils.getUrl(uriString);\n return url != null ? url.hostname : null;\n }\n\n static getHost(uriString: string): string {\n const url = Utils.getUrl(uriString);\n return url != null ? url.host : null;\n }\n\n static getSortFunction(i18nService: I18nService, prop: string) {\n return (a: any, b: any) => {\n if (a[prop] == null && b[prop] != null) {\n return -1;\n }\n if (a[prop] != null && b[prop] == null) {\n return 1;\n }\n if (a[prop] == null && b[prop] == null) {\n return 0;\n }\n\n return i18nService.collator ? i18nService.collator.compare(a[prop], b[prop]) :\n a[prop].localeCompare(b[prop]);\n };\n }\n\n private static getUrl(uriString: string): URL {\n if (uriString == null) {\n return null;\n }\n\n uriString = uriString.trim();\n if (uriString === '') {\n return null;\n }\n\n if (uriString.indexOf('://') === -1 && uriString.indexOf('.') > -1) {\n uriString = 'http://' + uriString;\n }\n\n if (uriString.startsWith('http://') || uriString.startsWith('https://')) {\n try {\n if (nodeURL != null) {\n return new nodeURL(uriString);\n } else if (typeof URL === 'function') {\n return new URL(uriString);\n } else if (window != null) {\n const anchor = window.document.createElement('a');\n anchor.href = uriString;\n return anchor as any;\n }\n } catch (e) { }\n }\n\n return null;\n }\n}\n\nUtils.init();\n","import { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport abstract class FolderService {\n decryptedFolderCache: FolderView[];\n\n clearCache: () => void;\n encrypt: (model: FolderView, key?: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n saveWithServer: (folder: Folder) => Promise;\n upsert: (folder: FolderData | FolderData[]) => Promise;\n replace: (folders: { [id: string]: FolderData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n}\n","export enum CipherType {\r\n Login = 1,\r\n SecureNote = 2,\r\n Card = 3,\r\n Identity = 4,\r\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopClick]',\r\n})\r\nexport class StopClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.preventDefault();\r\n }\r\n}\n","export abstract class StateService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n purge: () => Promise;\r\n}\r\n","export abstract class SyncService {\r\n syncInProgress: boolean;\n\r\n getLastSync: () => Promise;\r\n setLastSync: (date: Date) => Promise;\r\n syncStarted: () => void;\r\n syncCompleted: (successfully: boolean) => void;\r\n fullSync: (forceSync: boolean) => Promise;\r\n}\r\n","export class PasswordVerificationRequest {\n masterPasswordHash: string;\n}\n","export enum TwoFactorProviderType {\r\n Authenticator = 0,\r\n Email = 1,\r\n Duo = 2,\r\n Yubikey = 3,\n U2f = 4,\r\n Remember = 5,\r\n OrganizationDuo = 6,\r\n}\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\n\n@Directive({\n selector: '[appAutofocus]',\n})\nexport class AutofocusDirective {\n @Input() set appAutofocus(condition: boolean | string) {\n this.autofocus = condition === '' || condition === true;\n }\n\n private autofocus: boolean;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n if (this.autofocus) {\n this.el.nativeElement.focus();\n }\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { SecureNote } from '../domain/secureNote';\r\n\r\nexport class SecureNoteView implements View {\r\n type: SecureNoteType;\r\n\r\n constructor(n?: SecureNote) {\r\n if (!n) {\r\n return;\r\n }\r\n\r\n this.type = n.type;\r\n }\r\n\r\n get subTitle(): string {\r\n return null;\r\n }\r\n}\r\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopProp]',\r\n})\r\nexport class StopPropDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.stopPropagation();\r\n }\r\n}\n","import * as jq from 'jquery';\r\n\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent extends BaseModalComponent {\r\n el: any = null;\r\n\r\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\r\n super(componentFactoryResolver);\r\n }\r\n\r\n ngOnDestroy() { /* Nothing */ }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal'));\r\n if (modals.length > 0) {\r\n this.el = jq(modals[0]);\r\n this.el.modal('show');\r\n\r\n this.el.on('show.bs.modal', () => {\r\n this.onShow.emit();\r\n });\r\n this.el.on('shown.bs.modal', () => {\r\n this.onShown.emit();\r\n this.el.find('*[appAutoFocus]').focus();\r\n });\r\n this.el.on('hide.bs.modal', () => {\r\n this.onClose.emit();\r\n });\r\n this.el.on('hidden.bs.modal', () => {\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n });\r\n }\r\n\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n if (this.el != null) {\r\n this.el.modal('hide');\r\n }\r\n }\r\n}\r\n","import { PasswordHistory } from '../models/domain/passwordHistory';\r\n\r\nexport abstract class PasswordGenerationService {\r\n generatePassword: (options: any) => Promise;\r\n getOptions: () => any;\r\n saveOptions: (options: any) => Promise;\r\n getHistory: () => Promise;\r\n addHistory: (password: string) => Promise;\r\n clear: () => Promise;\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\n\nexport abstract class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType;\n\n logIn: (email: string, masterPassword: string) => Promise;\n logInTwoFactor: (twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean) => Promise;\n logInComplete: (email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean) => Promise;\n logOut: (callback: Function) => void;\n getSupportedTwoFactorProviders: (win: Window) => any[];\n getDefaultTwoFactorProvider: (u2fSupported: boolean) => TwoFactorProviderType;\n}\n","import { CipherString } from './cipherString';\n\nimport { View } from '../view/view';\n\nexport default abstract class Domain {\n protected buildDomainModel(domain: D, dataObj: any, map: any,\n alreadyEncrypted: boolean, notEncList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = dataObj[(map[prop] || prop)];\n if (alreadyEncrypted === true || notEncList.indexOf(prop) > -1) {\n (domain as any)[prop] = objProp ? objProp : null;\n } else {\n (domain as any)[prop] = objProp ? new CipherString(objProp) : null;\n }\n }\n }\n protected buildDataModel(domain: D, dataObj: any, map: any, notCipherStringList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = (domain as any)[(map[prop] || prop)];\n if (notCipherStringList.indexOf(prop) > -1) {\n (dataObj as any)[prop] = objProp != null ? objProp : null;\n } else {\n (dataObj as any)[prop] = objProp != null ? (objProp as CipherString).encryptedString : null;\n }\n }\n }\n\n protected async decryptObj(viewModel: T, map: any, orgId: string): Promise {\n const promises = [];\n const self: any = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp) {\n const p = Promise.resolve().then(() => {\n const mapProp = map[theProp] || theProp;\n if (self[mapProp]) {\n return self[mapProp].decrypt(orgId);\n }\n return null;\n }).then((val: any) => {\n (viewModel as any)[theProp] = val;\n });\n promises.push(p);\n })(prop);\n }\n\n await Promise.all(promises);\n return viewModel;\n }\n}\n","export enum SecureNoteType {\r\n Generic = 0,\r\n}\r\n","export class ConstantsService {\r\n static readonly environmentUrlsKey: string = 'environmentUrls';\r\n static readonly disableGaKey: string = 'disableGa';\r\n static readonly disableAddLoginNotificationKey: string = 'disableAddLoginNotification';\r\n static readonly disableContextMenuItemKey: string = 'disableContextMenuItem';\r\n static readonly disableFaviconKey: string = 'disableFavicon';\r\n static readonly disableAutoTotpCopyKey: string = 'disableAutoTotpCopy';\r\n static readonly enableAutoFillOnPageLoadKey: string = 'enableAutoFillOnPageLoad';\r\n static readonly lockOptionKey: string = 'lockOption';\r\n static readonly lastActiveKey: string = 'lastActive';\r\n static readonly neverDomainsKey: string = 'neverDomains';\r\n static readonly installedVersionKey: string = 'installedVersion';\r\n static readonly localeKey: string = 'locale';\r\n static readonly themeKey: string = 'theme';\r\n\r\n readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey;\r\n readonly disableGaKey: string = ConstantsService.disableGaKey;\r\n readonly disableAddLoginNotificationKey: string = ConstantsService.disableAddLoginNotificationKey;\r\n readonly disableContextMenuItemKey: string = ConstantsService.disableContextMenuItemKey;\r\n readonly disableFaviconKey: string = ConstantsService.disableFaviconKey;\r\n readonly disableAutoTotpCopyKey: string = ConstantsService.disableAutoTotpCopyKey;\r\n readonly enableAutoFillOnPageLoadKey: string = ConstantsService.enableAutoFillOnPageLoadKey;\r\n readonly lockOptionKey: string = ConstantsService.lockOptionKey;\r\n readonly lastActiveKey: string = ConstantsService.lastActiveKey;\r\n readonly neverDomainsKey: string = ConstantsService.neverDomainsKey;\r\n readonly installedVersionKey: string = ConstantsService.installedVersionKey;\r\n readonly localeKey: string = ConstantsService.localeKey;\r\n readonly themeKey: string = ConstantsService.themeKey;\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\n\nimport { AttachmentData } from './attachmentData';\nimport { CardData } from './cardData';\nimport { FieldData } from './fieldData';\nimport { IdentityData } from './identityData';\nimport { LoginData } from './loginData';\nimport { SecureNoteData } from './secureNoteData';\n\nimport { CipherResponse } from '../response/cipherResponse';\n\nexport class CipherData {\n id: string;\n organizationId: string;\n folderId: string;\n userId: string;\n edit: boolean;\n organizationUseTotp: boolean;\n favorite: boolean;\n revisionDate: Date;\n type: CipherType;\n sizeName: string;\n name: string;\n notes: string;\n login?: LoginData;\n secureNote?: SecureNoteData;\n card?: CardData;\n identity?: IdentityData;\n fields?: FieldData[];\n attachments?: AttachmentData[];\n collectionIds?: string[];\n\n constructor(response?: CipherResponse, userId?: string, collectionIds?: string[]) {\n if (response == null) {\n return;\n }\n\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.folderId = response.folderId;\n this.userId = userId;\n this.edit = response.edit;\n this.organizationUseTotp = response.organizationUseTotp;\n this.favorite = response.favorite;\n this.revisionDate = response.revisionDate;\n this.type = response.type;\n this.name = response.name;\n this.notes = response.notes;\n\n if (collectionIds != null) {\n this.collectionIds = collectionIds;\n } else {\n this.collectionIds = response.collectionIds;\n }\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new LoginData(response.login);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNoteData(response.secureNote);\n break;\n case CipherType.Card:\n this.card = new CardData(response.card);\n break;\n case CipherType.Identity:\n this.identity = new IdentityData(response.identity);\n break;\n default:\n break;\n }\n\n if (response.fields != null) {\n this.fields = [];\n response.fields.forEach((field) => {\n this.fields.push(new FieldData(field));\n });\n }\n\n if (response.attachments != null) {\n this.attachments = [];\n response.attachments.forEach((attachment) => {\n this.attachments.push(new AttachmentData(attachment));\n });\n }\n }\n}\n","import { View } from './view';\r\n\r\nimport { Card } from '../domain/card';\r\n\r\nexport class CardView implements View {\r\n cardholderName: string;\r\n expMonth: string = null;\r\n expYear: string;\r\n code: string;\r\n\r\n // tslint:disable\r\n private _brand: string = null;\r\n private _number: string;\r\n private _subTitle: string;\r\n // tslint:enable\r\n\r\n constructor(c?: Card) {\r\n // ctor\r\n }\r\n\r\n get maskedCode(): string {\r\n return this.code != null ? '•'.repeat(this.code.length) : null;\r\n }\r\n\r\n get brand(): string {\r\n return this._brand;\r\n }\r\n set brand(value: string) {\r\n this._brand = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get number(): string {\r\n return this._number;\r\n }\r\n set number(value: string) {\r\n this._number = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null) {\r\n this._subTitle = this.brand;\r\n if (this.number != null && this.number.length >= 4) {\r\n if (this._subTitle != null && this._subTitle !== '') {\r\n this._subTitle += ', ';\r\n } else {\r\n this._subTitle = '';\r\n }\r\n this._subTitle += ('*' + this.number.substr(this.number.length - 4));\r\n }\r\n }\r\n return this._subTitle;\r\n }\r\n\r\n get expiration(): string {\r\n if (!this.expMonth && !this.expYear) {\r\n return null;\r\n }\r\n\r\n let exp = this.expMonth != null ? ('0' + this.expMonth).slice(-2) : '__';\r\n exp += (' / ' + (this.expYear != null ? this.formatYear(this.expYear) : '____'));\r\n return exp;\r\n }\r\n\r\n private formatYear(year: string): string {\r\n return year.length === 2 ? '20' + year : year;\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-avatar',\r\n template: '',\r\n})\r\nexport class AvatarComponent implements OnChanges, OnInit {\r\n @Input() data: string;\r\n @Input() width = 45;\r\n @Input() height = 45;\r\n @Input() charCount = 2;\r\n @Input() textColor = '#ffffff';\r\n @Input() fontSize = 20;\r\n @Input() fontWeight = 300;\r\n @Input() dynamic = false;\r\n @Input() circle = false;\r\n\r\n src: string;\r\n\r\n constructor(public sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit() {\r\n if (!this.dynamic) {\r\n this.generate();\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.dynamic) {\r\n this.generate();\r\n }\r\n }\r\n\r\n private generate() {\r\n let chars: string = null;\r\n const upperData = this.data.toUpperCase();\r\n\r\n if (this.charCount > 1) {\r\n chars = this.getFirstLetters(upperData, this.charCount);\r\n }\r\n if (chars == null) {\r\n chars = upperData.substr(0, this.charCount);\r\n }\r\n\r\n const charObj = this.getCharText(chars);\r\n const color = this.stringToColor(upperData);\r\n const svg = this.getSvg(this.width, this.height, color);\r\n svg.appendChild(charObj);\r\n const html = window.document.createElement('div').appendChild(svg).outerHTML;\r\n const svgHtml = window.btoa(unescape(encodeURIComponent(html)));\r\n this.src = 'data:image/svg+xml;base64,' + svgHtml;\r\n }\r\n\r\n private stringToColor(str: string): string {\r\n let hash = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n // tslint:disable-next-line\r\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\r\n }\r\n let color = '#';\r\n for (let i = 0; i < 3; i++) {\r\n // tslint:disable-next-line\r\n const value = (hash >> (i * 8)) & 0xFF;\r\n color += ('00' + value.toString(16)).substr(-2);\r\n }\r\n return color;\r\n }\r\n\r\n private getFirstLetters(data: string, count: number): string {\r\n const parts = data.split(' ');\r\n if (parts.length > 1) {\r\n let text = '';\r\n for (let i = 0; i < count; i++) {\r\n text += parts[i].substr(0, 1);\r\n }\r\n return text;\r\n }\r\n return null;\r\n }\r\n\r\n private getSvg(width: number, height: number, color: string): HTMLElement {\r\n const svgTag = window.document.createElement('svg');\r\n svgTag.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\r\n svgTag.setAttribute('pointer-events', 'none');\r\n svgTag.setAttribute('width', width.toString());\r\n svgTag.setAttribute('height', height.toString());\r\n svgTag.style.backgroundColor = color;\r\n svgTag.style.width = width + 'px';\r\n svgTag.style.height = height + 'px';\r\n return svgTag;\r\n }\r\n\r\n private getCharText(character: string): HTMLElement {\r\n const textTag = window.document.createElement('text');\r\n textTag.setAttribute('text-anchor', 'middle');\r\n textTag.setAttribute('y', '50%');\r\n textTag.setAttribute('x', '50%');\r\n textTag.setAttribute('dy', '0.35em');\r\n textTag.setAttribute('pointer-events', 'auto');\r\n textTag.setAttribute('fill', this.textColor);\r\n textTag.setAttribute('font-family', '\"Open Sans\",\"Helvetica Neue\",Helvetica,Arial,' +\r\n 'sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"');\r\n textTag.textContent = character;\r\n textTag.style.fontWeight = this.fontWeight.toString();\r\n textTag.style.fontSize = this.fontSize + 'px';\r\n return textTag;\r\n }\r\n}\r\n","export abstract class StorageService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-two-factor-verify',\n templateUrl: 'two-factor-verify.component.html',\n})\nexport class TwoFactorVerifyComponent {\n @Input() type: TwoFactorProviderType;\n @Input() organizationId: string;\n @Output() onAuthed = new EventEmitter();\n\n masterPassword: string;\n formPromise: Promise;\n\n private masterPasswordHash: string;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private toasterService: ToasterService, private cryptoService: CryptoService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash =\n await this.cryptoService.hashPassword(this.masterPassword, null);\n\n try {\n switch (this.type) {\n case -1:\n this.formPromise = this.apiService.getTwoFactorRecover(request);\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n if (this.organizationId != null) {\n this.formPromise = this.apiService.getTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.getTwoFactorDuo(request);\n }\n break;\n case TwoFactorProviderType.Email:\n this.formPromise = this.apiService.getTwoFactorEmail(request);\n break;\n case TwoFactorProviderType.U2f:\n this.formPromise = this.apiService.getTwoFactorU2f(request);\n break;\n case TwoFactorProviderType.Authenticator:\n this.formPromise = this.apiService.getTwoFactorAuthenticator(request);\n break;\n case TwoFactorProviderType.Yubikey:\n this.formPromise = this.apiService.getTwoFactorYubiKey(request);\n break;\n }\n\n const response = await this.formPromise;\n this.onAuthed.emit({\n response: response,\n masterPasswordHash: this.masterPasswordHash,\n });\n } catch { }\n }\n}\n","import { CollectionDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionData {\n id: string;\n organizationId: string;\n name: string;\n readOnly: boolean;\n\n constructor(response: CollectionDetailsResponse) {\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.name = response.name;\n this.readOnly = response.readOnly;\n }\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nconst Keys = {\n stripeTest: 'pk_test_KPoCfZXu7mznb9uSCPZ2JpTD',\n stripeLive: 'pk_live_bpN0P37nMxrMQkcaHXtAybJk',\n btSandbox: 'sandbox_r72q8jq6_9pnxkwm75f87sdc2',\n btProduction: 'production_qfbsv8kc_njj2zjtyngtjmbjd',\n};\n\n@Component({\n selector: 'app-payment',\n templateUrl: 'payment.component.html',\n})\nexport class PaymentComponent implements OnInit {\n @Input() showOptions = true;\n @Input() method: 'card' | 'paypal' | 'bank' = 'card';\n @Input() hideBank = false;\n @Input() hidePaypal = false;\n\n card: any = {\n number: null,\n exp_month: null,\n exp_year: null,\n address_country: '',\n address_zip: null,\n };\n bank: any = {\n routing_number: null,\n account_number: null,\n account_holder_name: null,\n account_holder_type: '',\n currency: 'USD',\n country: 'US',\n };\n cardExpMonthOptions: any[];\n cardExpYearOptions: any[];\n\n private stripeScript: HTMLScriptElement;\n private btScript: HTMLScriptElement;\n private btInstance: any = null;\n\n constructor(i18nService: I18nService, private platformUtilsService: PlatformUtilsService) {\n this.stripeScript = window.document.createElement('script');\n this.stripeScript.src = 'https://js.stripe.com/v2/';\n this.stripeScript.async = true;\n this.stripeScript.onload = () => {\n (window as any).Stripe.setPublishableKey(\n this.platformUtilsService.isDev() ? Keys.stripeTest : Keys.stripeLive);\n };\n this.btScript = window.document.createElement('script');\n this.btScript.src = 'https://js.braintreegateway.com/web/dropin/1.4.0/js/dropin.min.js';\n this.btScript.async = true;\n\n this.cardExpMonthOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: '01 - ' + i18nService.t('january'), value: '01' },\n { name: '02 - ' + i18nService.t('february'), value: '02' },\n { name: '03 - ' + i18nService.t('march'), value: '03' },\n { name: '04 - ' + i18nService.t('april'), value: '04' },\n { name: '05 - ' + i18nService.t('may'), value: '05' },\n { name: '06 - ' + i18nService.t('june'), value: '06' },\n { name: '07 - ' + i18nService.t('july'), value: '07' },\n { name: '08 - ' + i18nService.t('august'), value: '08' },\n { name: '09 - ' + i18nService.t('september'), value: '09' },\n { name: '10 - ' + i18nService.t('october'), value: '10' },\n { name: '11 - ' + i18nService.t('november'), value: '11' },\n { name: '12 - ' + i18nService.t('december'), value: '12' },\n ];\n\n this.cardExpYearOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n ];\n const year = (new Date()).getFullYear();\n for (let i = year; i < (year + 15); i++) {\n this.cardExpYearOptions.push({ name: i.toString(), value: i.toString().slice(-2) });\n }\n }\n\n ngOnInit() {\n if (!this.showOptions) {\n this.hidePaypal = this.method !== 'paypal';\n this.hideBank = this.method !== 'bank';\n }\n window.document.head.appendChild(this.stripeScript);\n if (!this.hidePaypal) {\n window.document.head.appendChild(this.btScript);\n }\n }\n\n ngOnDestroy() {\n window.document.head.removeChild(this.stripeScript);\n Array.from(window.document.querySelectorAll('iframe')).forEach((el) => {\n if (el.src != null && el.src.indexOf('stripe') > -1) {\n window.document.body.removeChild(el);\n }\n });\n if (!this.hidePaypal) {\n window.document.head.removeChild(this.btScript);\n const btStylesheet = window.document.head.querySelector('#braintree-dropin-stylesheet');\n if (btStylesheet != null) {\n window.document.head.removeChild(btStylesheet);\n }\n }\n }\n\n changeMethod() {\n if (this.method !== 'paypal') {\n this.btInstance = null;\n return;\n }\n\n window.setTimeout(() => {\n (window as any).braintree.dropin.create({\n authorization: this.platformUtilsService.isDev() ? Keys.btSandbox : Keys.btProduction,\n container: '#bt-dropin-container',\n paymentOptionPriority: ['paypal'],\n paypal: {\n flow: 'vault',\n buttonStyle: {\n label: 'pay',\n size: 'medium',\n shape: 'pill',\n color: 'blue',\n },\n },\n }, (createErr: any, instance: any) => {\n if (createErr != null) {\n // tslint:disable-next-line\n console.error(createErr);\n return;\n }\n this.btInstance = instance;\n });\n }, 250);\n }\n\n createPaymentToken(): Promise {\n return new Promise((resolve, reject) => {\n if (this.method === 'paypal') {\n this.btInstance.requestPaymentMethod().then((payload: any) => {\n resolve(payload.nonce);\n }).catch((err: any) => {\n reject(err.message);\n });\n } else if (this.method === 'card' || this.method === 'bank') {\n const createObj: any = this.method === 'card' ? (window as any).Stripe.card :\n (window as any).Stripe.bankAccount;\n const sourceObj = this.method === 'card' ? this.card : this.bank;\n createObj.createToken(sourceObj, (status: number, response: any) => {\n if (status === 200 && response.id != null) {\n resolve(response.id);\n } else if (response.error != null) {\n reject(response.error.message);\n } else {\n reject();\n }\n });\n }\n });\n }\n\n getCountry(): string {\n return this.card.address_country;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Folder } from '../domain/folder';\r\n\r\nexport class FolderView implements View {\r\n id: string = null;\r\n name: string;\r\n\r\n constructor(f?: Folder) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.id = f.id;\r\n }\r\n}\r\n","import { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nexport abstract class AuditService {\n passwordLeaked: (password: string) => Promise;\n breachedAccounts: (username: string) => Promise;\n}\n","","export abstract class EnvironmentService {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n\n getWebVaultUrl: () => string;\n setUrlsFromStorage: () => Promise;\n setUrls: (urls: any) => Promise;\n}\n","
\n
\n

{{'twoStepLoginAuthDesc' | i18n}}

\n \n \n
\n
\n \n \n
\n
\n","import { CipherType } from '../../enums/cipherType';\n\nimport { CipherData } from '../data/cipherData';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Attachment } from './attachment';\nimport { Card } from './card';\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { SecureNote } from './secureNote';\n\nexport class Cipher extends Domain {\n id: string;\n organizationId: string;\n folderId: string;\n name: CipherString;\n notes: CipherString;\n type: CipherType;\n favorite: boolean;\n organizationUseTotp: boolean;\n edit: boolean;\n revisionDate: Date;\n localData: any;\n login: Login;\n identity: Identity;\n card: Card;\n secureNote: SecureNote;\n attachments: Attachment[];\n fields: Field[];\n collectionIds: string[];\n\n constructor(obj?: CipherData, alreadyEncrypted: boolean = false, localData: any = null) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n userId: null,\n organizationId: null,\n folderId: null,\n name: null,\n notes: null,\n }, alreadyEncrypted, ['id', 'userId', 'organizationId', 'folderId']);\n\n this.type = obj.type;\n this.favorite = obj.favorite;\n this.organizationUseTotp = obj.organizationUseTotp;\n this.edit = obj.edit;\n this.revisionDate = obj.revisionDate;\n this.collectionIds = obj.collectionIds;\n this.localData = localData;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new Login(obj.login, alreadyEncrypted);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNote(obj.secureNote, alreadyEncrypted);\n break;\n case CipherType.Card:\n this.card = new Card(obj.card, alreadyEncrypted);\n break;\n case CipherType.Identity:\n this.identity = new Identity(obj.identity, alreadyEncrypted);\n break;\n default:\n break;\n }\n\n if (obj.attachments != null) {\n this.attachments = [];\n obj.attachments.forEach((attachment) => {\n this.attachments.push(new Attachment(attachment, alreadyEncrypted));\n });\n } else {\n this.attachments = null;\n }\n\n if (obj.fields != null) {\n this.fields = [];\n obj.fields.forEach((field) => {\n this.fields.push(new Field(field, alreadyEncrypted));\n });\n } else {\n this.fields = null;\n }\n }\n\n async decrypt(): Promise {\n const model = new CipherView(this);\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, this.organizationId);\n\n switch (this.type) {\n case CipherType.Login:\n model.login = await this.login.decrypt(this.organizationId);\n break;\n case CipherType.SecureNote:\n model.secureNote = await this.secureNote.decrypt(this.organizationId);\n break;\n case CipherType.Card:\n model.card = await this.card.decrypt(this.organizationId);\n break;\n case CipherType.Identity:\n model.identity = await this.identity.decrypt(this.organizationId);\n break;\n default:\n break;\n }\n\n const orgId = this.organizationId;\n\n if (this.attachments != null && this.attachments.length > 0) {\n const attachments: any[] = [];\n await this.attachments.reduce((promise, attachment) => {\n return promise.then(() => {\n return attachment.decrypt(orgId);\n }).then((decAttachment) => {\n attachments.push(decAttachment);\n });\n }, Promise.resolve());\n model.attachments = attachments;\n }\n\n if (this.fields != null && this.fields.length > 0) {\n const fields: any[] = [];\n await this.fields.reduce((promise, field) => {\n return promise.then(() => {\n return field.decrypt(orgId);\n }).then((decField) => {\n fields.push(decField);\n });\n }, Promise.resolve());\n model.fields = fields;\n }\n\n return model;\n }\n\n toCipherData(userId: string): CipherData {\n const c = new CipherData();\n c.id = this.id;\n c.organizationId = this.organizationId;\n c.folderId = this.folderId;\n c.userId = this.organizationId != null ? userId : null;\n c.edit = this.edit;\n c.organizationUseTotp = this.organizationUseTotp;\n c.favorite = this.favorite;\n c.revisionDate = this.revisionDate;\n c.type = this.type;\n c.collectionIds = this.collectionIds;\n\n this.buildDataModel(this, c, {\n name: null,\n notes: null,\n });\n\n switch (c.type) {\n case CipherType.Login:\n c.login = this.login.toLoginData();\n break;\n case CipherType.SecureNote:\n c.secureNote = this.secureNote.toSecureNoteData();\n break;\n case CipherType.Card:\n c.card = this.card.toCardData();\n break;\n case CipherType.Identity:\n c.identity = this.identity.toIdentityData();\n break;\n default:\n break;\n }\n\n if (this.fields != null) {\n c.fields = [];\n this.fields.forEach((field) => {\n c.fields.push(field.toFieldData());\n });\n }\n\n if (this.attachments != null) {\n c.attachments = [];\n this.attachments.forEach((attachment) => {\n c.attachments.push(attachment.toAttachmentData());\n });\n }\n return c;\n }\n}\n","import { CollectionData } from '../data/collectionData';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class Collection extends Domain {\n id: string;\n organizationId: string;\n name: CipherString;\n readOnly: boolean;\n\n constructor(obj?: CollectionData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n organizationId: null,\n name: null,\n readOnly: null,\n }, alreadyEncrypted, ['id', 'organizationId', 'readOnly']);\n }\n\n decrypt(): Promise {\n return this.decryptObj(new CollectionView(this), {\n name: null,\n }, this.organizationId);\n }\n}\n","import { LoginUriView } from './loginUriView';\r\nimport { View } from './view';\r\n\r\nimport { Login } from '../domain/login';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class LoginView implements View {\r\n username: string;\r\n password: string;\r\n totp: string;\r\n uris: LoginUriView[];\r\n\r\n constructor(l?: Login) {\r\n // ctor\r\n }\r\n\r\n get uri(): string {\r\n return this.hasUris ? this.uris[0].uri : null;\r\n }\r\n\r\n get maskedPassword(): string {\r\n return this.password != null ? '••••••••' : null;\r\n }\r\n\r\n get subTitle(): string {\r\n return this.username;\r\n }\r\n\r\n get canLaunch(): boolean {\r\n return this.hasUris && this.uris[0].canLaunch;\r\n }\r\n\r\n get hasUris(): boolean {\r\n return this.uris != null && this.uris.length > 0;\r\n }\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\n\nimport { Cipher } from '../domain/cipher';\n\nimport { AttachmentView } from './attachmentView';\nimport { CardView } from './cardView';\nimport { FieldView } from './fieldView';\nimport { IdentityView } from './identityView';\nimport { LoginView } from './loginView';\nimport { SecureNoteView } from './secureNoteView';\nimport { View } from './view';\n\nexport class CipherView implements View {\n id: string;\n organizationId: string;\n folderId: string;\n name: string;\n notes: string;\n type: CipherType;\n favorite = false;\n organizationUseTotp = false;\n edit = false;\n localData: any;\n login: LoginView;\n identity: IdentityView;\n card: CardView;\n secureNote: SecureNoteView;\n attachments: AttachmentView[];\n fields: FieldView[];\n collectionIds: string[];\n\n constructor(c?: Cipher) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.folderId = c.folderId;\n this.favorite = c.favorite;\n this.organizationUseTotp = c.organizationUseTotp;\n this.edit = c.edit;\n this.type = c.type;\n this.localData = c.localData;\n this.collectionIds = c.collectionIds;\n }\n\n get subTitle(): string {\n switch (this.type) {\n case CipherType.Login:\n return this.login.subTitle;\n case CipherType.SecureNote:\n return this.secureNote.subTitle;\n case CipherType.Card:\n return this.card.subTitle;\n case CipherType.Identity:\n return this.identity.subTitle;\n default:\n break;\n }\n\n return null;\n }\n\n get hasAttachments(): boolean {\n return this.attachments && this.attachments.length > 0;\n }\n\n get hasFields(): boolean {\n return this.fields && this.fields.length > 0;\n }\n\n get login_username(): string {\n return this.login != null ? this.login.username : null;\n }\n}\n","import { CipherType } from '../../enums/cipherType';\n\nimport { Cipher } from '../domain/cipher';\n\nimport { CardApi } from '../api/cardApi';\nimport { FieldApi } from '../api/fieldApi';\nimport { IdentityApi } from '../api/identityApi';\nimport { LoginApi } from '../api/loginApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class CipherRequest {\n type: CipherType;\n folderId: string;\n organizationId: string;\n name: string;\n notes: string;\n favorite: boolean;\n login: LoginApi;\n secureNote: SecureNoteApi;\n card: CardApi;\n identity: IdentityApi;\n fields: FieldApi[];\n attachments: { [id: string]: string; };\n\n constructor(cipher: Cipher) {\n this.type = cipher.type;\n this.folderId = cipher.folderId;\n this.organizationId = cipher.organizationId;\n this.name = cipher.name ? cipher.name.encryptedString : null;\n this.notes = cipher.notes ? cipher.notes.encryptedString : null;\n this.favorite = cipher.favorite;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = {\n uris: null,\n username: cipher.login.username ? cipher.login.username.encryptedString : null,\n password: cipher.login.password ? cipher.login.password.encryptedString : null,\n totp: cipher.login.totp ? cipher.login.totp.encryptedString : null,\n };\n\n if (cipher.login.uris) {\n this.login.uris = [];\n cipher.login.uris.forEach((u) => {\n this.login.uris.push({\n uri: u.uri ? u.uri.encryptedString : null,\n match: u.match != null ? u.match : null,\n });\n });\n }\n break;\n case CipherType.SecureNote:\n this.secureNote = {\n type: cipher.secureNote.type,\n };\n break;\n case CipherType.Card:\n this.card = {\n cardholderName: cipher.card.cardholderName ? cipher.card.cardholderName.encryptedString : null,\n brand: cipher.card.brand ? cipher.card.brand.encryptedString : null,\n number: cipher.card.number ? cipher.card.number.encryptedString : null,\n expMonth: cipher.card.expMonth ? cipher.card.expMonth.encryptedString : null,\n expYear: cipher.card.expYear ? cipher.card.expYear.encryptedString : null,\n code: cipher.card.code ? cipher.card.code.encryptedString : null,\n };\n break;\n case CipherType.Identity:\n this.identity = {\n title: cipher.identity.title ? cipher.identity.title.encryptedString : null,\n firstName: cipher.identity.firstName ? cipher.identity.firstName.encryptedString : null,\n middleName: cipher.identity.middleName ? cipher.identity.middleName.encryptedString : null,\n lastName: cipher.identity.lastName ? cipher.identity.lastName.encryptedString : null,\n address1: cipher.identity.address1 ? cipher.identity.address1.encryptedString : null,\n address2: cipher.identity.address2 ? cipher.identity.address2.encryptedString : null,\n address3: cipher.identity.address3 ? cipher.identity.address3.encryptedString : null,\n city: cipher.identity.city ? cipher.identity.city.encryptedString : null,\n state: cipher.identity.state ? cipher.identity.state.encryptedString : null,\n postalCode: cipher.identity.postalCode ? cipher.identity.postalCode.encryptedString : null,\n country: cipher.identity.country ? cipher.identity.country.encryptedString : null,\n company: cipher.identity.company ? cipher.identity.company.encryptedString : null,\n email: cipher.identity.email ? cipher.identity.email.encryptedString : null,\n phone: cipher.identity.phone ? cipher.identity.phone.encryptedString : null,\n ssn: cipher.identity.ssn ? cipher.identity.ssn.encryptedString : null,\n username: cipher.identity.username ? cipher.identity.username.encryptedString : null,\n passportNumber: cipher.identity.passportNumber ?\n cipher.identity.passportNumber.encryptedString : null,\n licenseNumber: cipher.identity.licenseNumber ? cipher.identity.licenseNumber.encryptedString : null,\n };\n break;\n default:\n break;\n }\n\n if (cipher.fields) {\n this.fields = [];\n cipher.fields.forEach((field) => {\n this.fields.push({\n type: field.type,\n name: field.name ? field.name.encryptedString : null,\n value: field.value ? field.value.encryptedString : null,\n });\n });\n }\n\n if (cipher.attachments) {\n this.attachments = {};\n cipher.attachments.forEach((attachment) => {\n this.attachments[attachment.id] = attachment.fileName ? attachment.fileName.encryptedString : null;\n });\n }\n }\n}\n","export enum DeviceType {\n Android = 0,\n iOS = 1,\n ChromeExtension = 2,\n FirefoxExtension = 3,\n OperaExtension = 4,\n EdgeExtension = 5,\n WindowsDesktop = 6,\n MacOsDesktop = 7,\n LinuxDesktop = 8,\n ChromeBrowser = 9,\n FirefoxBrowser = 10,\n OperaBrowser = 11,\n EdgeBrowser = 12,\n IEBrowser = 13,\n UnknownBrowser = 14,\n AndroidAmazon = 15,\n UWP = 16,\n SafariBrowser = 17,\n VivaldiBrowser = 18,\n VivaldiExtension = 19,\n SafariExtension = 20,\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class BroadcasterService {\n subscribers: Map any> = new Map any>();\n\n send(message: any, id?: string) {\n if (id != null) {\n if (this.subscribers.has(id)) {\n this.subscribers.get(id)(message);\r\n }\n return;\r\n }\n\n this.subscribers.forEach((value) => {\n value(message);\n });\r\n }\n\n subscribe(id: string, messageCallback: (message: any) => any) {\n if (this.subscribers.has(id)) {\n return;\r\n }\n\n this.subscribers.set(id, messageCallback);\r\n }\n\n unsubscribe(id: string) {\n if (this.subscribers.has(id)) {\n this.subscribers.delete(id);\r\n }\r\n }\n}\r\n","export enum OrganizationUserType {\n Owner = 0,\n Admin = 1,\n User = 2,\n}\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\n\n@Injectable()\nexport class EventService {\n constructor(private i18nService: I18nService) { }\n\n getDefaultDateFilters() {\n const d = new Date();\n const end = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59);\n d.setDate(d.getDate() - 30);\n const start = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0);\n return [this.toDateTimeLocalString(start), this.toDateTimeLocalString(end)];\n }\n\n formatDateFilters(filterStart: string, filterEnd: string) {\n const start: Date = new Date(filterStart);\n const end: Date = new Date(filterEnd + ':59.999');\n if (isNaN(start.getTime()) || isNaN(end.getTime()) || end < start) {\n throw new Error('Invalid date range.');\n }\n return [start.toISOString(), end.toISOString()];\n }\n\n getEventInfo(ev: EventResponse, options = new EventOptions()): EventInfo {\n const appInfo = this.getAppInfo(ev.deviceType);\n return {\n message: this.getEventMessage(ev, options),\n appIcon: appInfo[0],\n appName: appInfo[1],\n };\n }\n\n private getEventMessage(ev: EventResponse, options: EventOptions) {\n let msg = '';\n switch (ev.type) {\n // User\n case EventType.User_LoggedIn:\n msg = this.i18nService.t('loggedIn');\n break;\n case EventType.User_ChangedPassword:\n msg = this.i18nService.t('changedPassword');\n break;\n case EventType.User_Enabled2fa:\n msg = this.i18nService.t('enabled2fa');\n break;\n case EventType.User_Disabled2fa:\n msg = this.i18nService.t('disabled2fa');\n break;\n case EventType.User_Recovered2fa:\n msg = this.i18nService.t('recovered2fa');\n break;\n case EventType.User_FailedLogIn:\n msg = this.i18nService.t('failedLogin');\n break;\n case EventType.User_FailedLogIn2fa:\n msg = this.i18nService.t('failedLogin2fa');\n break;\n // Cipher\n case EventType.Cipher_Created:\n msg = this.i18nService.t('createdItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Updated:\n msg = this.i18nService.t('editedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Deleted:\n msg = this.i18nService.t('deletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentCreated:\n msg = this.i18nService.t('createdAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentDeleted:\n msg = this.i18nService.t('deletedAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Shared:\n msg = this.i18nService.t('sharedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_UpdatedCollections:\n msg = this.i18nService.t('editedCollectionsForItem', this.formatCipherId(ev, options));\n break;\n // Collection\n case EventType.Collection_Created:\n msg = this.i18nService.t('createdCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Updated:\n msg = this.i18nService.t('editedCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Deleted:\n msg = this.i18nService.t('deletedCollectionId', this.formatCollectionId(ev));\n break;\n // Group\n case EventType.Group_Created:\n msg = this.i18nService.t('createdGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Updated:\n msg = this.i18nService.t('editedGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Deleted:\n msg = this.i18nService.t('deletedGroupId', this.formatGroupId(ev));\n break;\n // Org user\n case EventType.OrganizationUser_Invited:\n msg = this.i18nService.t('invitedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Confirmed:\n msg = this.i18nService.t('confirmedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Updated:\n msg = this.i18nService.t('editedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Removed:\n msg = this.i18nService.t('removedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_UpdatedGroups:\n msg = this.i18nService.t('editedGroupsForUser', this.formatOrgUserId(ev));\n break;\n // Org\n case EventType.Organization_Updated:\n msg = this.i18nService.t('editedOrgSettings');\n break;\n default:\n break;\n }\n return msg === '' ? null : msg;\n }\n\n private getAppInfo(deviceType: DeviceType): [string, string] {\n switch (deviceType) {\n case DeviceType.Android:\n return ['fa-android', this.i18nService.t('mobile') + ' - Android'];\n case DeviceType.iOS:\n return ['fa-apple', this.i18nService.t('mobile') + ' - iOS'];\n case DeviceType.UWP:\n return ['fa-windows', this.i18nService.t('mobile') + ' - Windows'];\n case DeviceType.ChromeExtension:\n return ['fa-chrome', this.i18nService.t('extension') + ' - Chrome'];\n case DeviceType.FirefoxExtension:\n return ['fa-firefox', this.i18nService.t('extension') + ' - Firefox'];\n case DeviceType.OperaExtension:\n return ['fa-opera', this.i18nService.t('extension') + ' - Opera'];\n case DeviceType.EdgeExtension:\n return ['fa-edge', this.i18nService.t('extension') + ' - Edge'];\n case DeviceType.VivaldiExtension:\n return ['fa-puzzle-piece', this.i18nService.t('extension') + ' - Vivaldi'];\n case DeviceType.SafariExtension:\n return ['fa-safari', this.i18nService.t('extension') + ' - Safari'];\n case DeviceType.WindowsDesktop:\n return ['fa-windows', this.i18nService.t('desktop') + ' - Windows'];\n case DeviceType.MacOsDesktop:\n return ['fa-apple', this.i18nService.t('desktop') + ' - macOS'];\n case DeviceType.LinuxDesktop:\n return ['fa-linux', this.i18nService.t('desktop') + ' - Linux'];\n case DeviceType.ChromeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Chrome'];\n case DeviceType.FirefoxBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Firefox'];\n case DeviceType.OperaBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Opera'];\n case DeviceType.SafariBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Safari'];\n case DeviceType.VivaldiBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Vivaldi'];\n case DeviceType.EdgeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Edge'];\n case DeviceType.IEBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - IE'];\n case DeviceType.UnknownBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - ' + this.i18nService.t('unknown')];\n default:\n return ['fa-globe', this.i18nService.t('unknown')];\n }\n }\n\n private formatCipherId(ev: EventResponse, options: EventOptions) {\n const shortId = this.getShortId(ev.cipherId);\n if (ev.organizationId == null || !options.cipherInfo) {\n return '' + shortId + '';\n }\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/vault?search=' + shortId +\n '&viewEvents=' + ev.cipherId);\n return a.outerHTML;\n }\n\n private formatGroupId(ev: EventResponse) {\n const shortId = this.getShortId(ev.groupId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/groups?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatCollectionId(ev: EventResponse) {\n const shortId = this.getShortId(ev.collectionId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/collections?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatOrgUserId(ev: EventResponse) {\n const shortId = this.getShortId(ev.organizationUserId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/people?search=' + shortId +\n '&viewEvents=' + ev.organizationUserId);\n return a.outerHTML;\n }\n\n private makeAnchor(shortId: string) {\n const a = document.createElement('a');\n a.title = this.i18nService.t('view');\n a.innerHTML = '' + shortId + '';\n return a;\n }\n\n private getShortId(id: string) {\n return id.substring(0, 8);\n }\n\n private toDateTimeLocalString(date: Date) {\n return date.getFullYear() +\n '-' + this.pad(date.getMonth() + 1) +\n '-' + this.pad(date.getDate()) +\n 'T' + this.pad(date.getHours()) +\n ':' + this.pad(date.getMinutes());\n }\n\n private pad(num: number) {\n const norm = Math.floor(Math.abs(num));\n return (norm < 10 ? '0' : '') + norm;\n }\n}\n\nexport class EventInfo {\n message: string;\n appIcon: string;\n appName: string;\n}\n\nexport class EventOptions {\n cipherInfo = true;\n}\n","export abstract class ExportService {\n getExport: (format?: 'csv' | 'json') => Promise;\n getOrganizationExport: (organizationId: string, format?: 'csv' | 'json') => Promise;\n getFileName: (prefix?: string) => string;\n}\n","import { View } from './view';\n\nimport { Collection } from '../domain/collection';\n\nexport class CollectionView implements View {\n id: string;\n organizationId: string;\n name: string;\n readOnly: boolean;\n\n constructor(c?: Collection) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.readOnly = c.readOnly;\n }\n}\n","import {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { TwoFactorProviderRequest } from 'jslib/models/request/twoFactorProviderRequest';\n\nexport abstract class TwoFactorBaseComponent {\n @Output() onUpdated = new EventEmitter();\n\n type: TwoFactorProviderType;\n organizationId: string;\n twoFactorProviderType = TwoFactorProviderType;\n enabled = false;\n authed = false;\n\n protected masterPasswordHash: string;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n protected auth(authResponse: any) {\n this.masterPasswordHash = authResponse.masterPasswordHash;\n this.authed = true;\n }\n\n protected async enable(enableFunction: () => Promise) {\n try {\n await enableFunction();\n this.analytics.eventTrack.next({\n action: 'Enabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.onUpdated.emit(true);\n } catch { }\n }\n\n protected async disable(promise: Promise) {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('twoStepDisableDesc'),\n this.i18nService.t('disable'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n const request = new TwoFactorProviderRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.type = this.type;\n if (this.organizationId != null) {\n promise = this.apiService.putTwoFactorOrganizationDisable(this.organizationId, request);\n } else {\n promise = this.apiService.putTwoFactorDisable(request);\n }\n await promise;\n this.enabled = false;\n this.analytics.eventTrack.next({\n action: 'Disabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepDisabled'));\n this.onUpdated.emit(false);\n } catch { }\n }\n}\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { Field } from '../domain/field';\r\n\r\nexport class FieldView implements View {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(f?: Field) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.type = f.type;\r\n }\r\n\r\n get maskedValue(): string {\r\n return this.value != null ? '••••••••' : null;\r\n }\r\n}\r\n","export abstract class TotpService {\r\n getCode: (keyb32: string) => Promise;\r\n isAutoCopyEnabled: () => Promise;\r\n}\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-organizations',\n templateUrl: 'organizations.component.html',\n})\nexport class OrganizationsComponent implements OnInit {\n @Input() vault = false;\n\n organizations: Organization[];\n loaded: boolean = false;\n actionPromise: Promise;\n\n constructor(private userService: UserService, private platformUtilsService: PlatformUtilsService,\n private i18nService: I18nService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private syncService: SyncService) { }\n\n async ngOnInit() {\n if (!this.vault) {\n await this.load();\n }\n }\n\n async load() {\n const orgs = await this.userService.getAllOrganizations();\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.organizations = orgs;\n this.loaded = true;\n }\n\n async leave(org: Organization) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('leaveOrganizationConfirmation'), org.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.apiService.postLeaveOrganization(org.id).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Left Organization' });\n this.toasterService.popAsync('success', null, this.i18nService.t('leftOrganization'));\n await this.load();\n } catch { }\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport {\r\n ActivatedRoute,\r\n NavigationEnd,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Injectable()\r\nexport class RouterService {\r\n private previousUrl: string = undefined;\r\n private currentUrl: string = undefined;\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute,\r\n private titleService: Title, private i18nService: I18nService) {\r\n this.currentUrl = this.router.url;\r\n router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = event.url;\r\n\r\n let title = i18nService.t('pageTitle', 'Bitwarden');\r\n let titleId: string = null;\r\n let rawTitle: string = null;\r\n let child = this.activatedRoute.firstChild;\r\n while (child != null) {\r\n if (child.firstChild != null) {\r\n child = child.firstChild;\r\n } else if (child.snapshot.data != null && child.snapshot.data.title != null) {\r\n rawTitle = child.snapshot.data.title;\r\n break;\r\n } else if (child.snapshot.data != null && child.snapshot.data.titleId != null) {\r\n titleId = child.snapshot.data.titleId;\r\n break;\r\n } else {\r\n titleId = null;\r\n rawTitle = null;\r\n break;\r\n }\r\n }\r\n\r\n if (titleId != null || rawTitle != null) {\r\n const newTitle = rawTitle != null ? rawTitle : i18nService.t(titleId);\r\n if (newTitle != null && newTitle !== '') {\r\n title = (newTitle + ' | ' + title);\r\n }\r\n }\r\n this.titleService.setTitle(title);\r\n }\r\n });\r\n }\r\n\r\n getPreviousUrl() {\r\n return this.previousUrl;\r\n }\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class CipherString {\r\n encryptedString?: string;\r\n encryptionType?: EncryptionType;\r\n decryptedValue?: string;\r\n data?: string;\r\n iv?: string;\r\n mac?: string;\r\n\r\n constructor(encryptedStringOrType: string | EncryptionType, data?: string, iv?: string, mac?: string) {\r\n if (data != null) {\r\n // data and header\r\n const encType = encryptedStringOrType as EncryptionType;\r\n this.encryptedString = encType + '.' + data;\r\n\r\n // iv\r\n if (iv != null) {\r\n this.encryptedString += ('|' + iv);\r\n }\r\n\r\n // mac\r\n if (mac != null) {\r\n this.encryptedString += ('|' + mac);\r\n }\r\n\r\n this.encryptionType = encType;\r\n this.data = data;\r\n this.iv = iv;\r\n this.mac = mac;\r\n\r\n return;\r\n }\r\n\r\n this.encryptedString = encryptedStringOrType as string;\r\n if (!this.encryptedString) {\r\n return;\r\n }\r\n\r\n const headerPieces = this.encryptedString.split('.');\r\n let encPieces: string[] = null;\r\n\r\n if (headerPieces.length === 2) {\r\n try {\r\n this.encryptionType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) {\r\n return;\r\n }\r\n } else {\r\n encPieces = this.encryptedString.split('|');\r\n this.encryptionType = encPieces.length === 3 ? EncryptionType.AesCbc128_HmacSha256_B64 :\r\n EncryptionType.AesCbc256_B64;\r\n }\r\n\r\n switch (this.encryptionType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encPieces.length !== 3) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n this.mac = encPieces[2];\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encPieces.length !== 2) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n if (encPieces.length !== 1) {\r\n return;\r\n }\r\n\r\n this.data = encPieces[0];\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n if (this.decryptedValue) {\r\n return Promise.resolve(this.decryptedValue);\r\n }\r\n\r\n let cryptoService: CryptoService;\r\n const containerService = (Utils.global as any).bitwardenContainerService;\r\n if (containerService) {\r\n cryptoService = containerService.getCryptoService();\r\n } else {\r\n throw new Error('global bitwardenContainerService not initialized.');\r\n }\r\n\r\n try {\r\n const orgKey = await cryptoService.getOrgKey(orgId);\r\n this.decryptedValue = await cryptoService.decryptToUtf8(this, orgKey);\r\n } catch (e) {\r\n this.decryptedValue = '[error: cannot decrypt]';\r\n }\r\n return this.decryptedValue;\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component';\r\n\r\n@Component({\r\n selector: 'app-export',\r\n templateUrl: 'export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n constructor(analytics: Angulartics2, toasterService: ToasterService,\r\n cryptoService: CryptoService, userService: UserService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n exportService: ExportService) {\r\n super(analytics, toasterService, cryptoService, userService, i18nService, platformUtilsService,\r\n exportService, window);\r\n }\r\n\r\n protected saved() {\r\n super.saved();\r\n this.masterPassword = null;\r\n this.toasterService.popAsync('success', null, this.i18nService.t('exportSuccess'));\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { ImportResult } from 'jslib/models/domain/importResult';\n\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\nimport { FolderRequest } from 'jslib/models/request/folderRequest';\nimport { ImportCiphersRequest } from 'jslib/models/request/importCiphersRequest';\nimport { KvpRequest } from 'jslib/models/request/kvpRequest';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { AscendoCsvImporter } from 'jslib/importers/ascendoCsvImporter';\nimport { AviraCsvImporter } from 'jslib/importers/aviraCsvImporter';\nimport { BitwardenCsvImporter } from 'jslib/importers/bitwardenCsvImporter';\nimport { BlurCsvImporter } from 'jslib/importers/blurCsvImporter';\nimport { ChromeCsvImporter } from 'jslib/importers/chromeCsvImporter';\nimport { ClipperzHtmlImporter } from 'jslib/importers/clipperzHtmlImporter';\nimport { DashlaneCsvImporter } from 'jslib/importers/dashlaneCsvImporter';\nimport { EnpassCsvImporter } from 'jslib/importers/enpassCsvImporter';\nimport { FirefoxCsvImporter } from 'jslib/importers/firefoxCsvImporter';\nimport { GnomeJsonImporter } from 'jslib/importers/gnomeJsonImporter';\nimport { Importer } from 'jslib/importers/importer';\nimport { KeePass2XmlImporter } from 'jslib/importers/keepass2XmlImporter';\nimport { KeePassXCsvImporter } from 'jslib/importers/keepassxCsvImporter';\nimport { KeeperCsvImporter } from 'jslib/importers/keeperCsvImporter';\nimport { LastPassCsvImporter } from 'jslib/importers/lastpassCsvImporter';\nimport { MeldiumCsvImporter } from 'jslib/importers/meldiumCsvImporter';\nimport { MSecureCsvImporter } from 'jslib/importers/msecureCsvImporter';\nimport { OnePassword1PifImporter } from 'jslib/importers/onepassword1PifImporter';\nimport { OnePasswordWinCsvImporter } from 'jslib/importers/onepasswordWinCsvImporter';\nimport { PadlockCsvImporter } from 'jslib/importers/padlockCsvImporter';\nimport { PassKeepCsvImporter } from 'jslib/importers/passkeepCsvImporter';\nimport { PasswordAgentCsvImporter } from 'jslib/importers/passwordAgentCsvImporter';\nimport { PasswordBossJsonImporter } from 'jslib/importers/passwordBossJsonImporter';\nimport { PasswordDragonXmlImporter } from 'jslib/importers/passwordDragonXmlImporter';\nimport { PasswordSafeXmlImporter } from 'jslib/importers/passwordSafeXmlImporter';\nimport { RoboFormCsvImporter } from 'jslib/importers/roboformCsvImporter';\nimport { SafeInCloudXmlImporter } from 'jslib/importers/safeInCloudXmlImporter';\nimport { SaferPassCsvImporter } from 'jslib/importers/saferpassCsvImport';\nimport { SplashIdCsvImporter } from 'jslib/importers/splashIdCsvImporter';\nimport { StickyPasswordXmlImporter } from 'jslib/importers/stickyPasswordXmlImporter';\nimport { TrueKeyCsvImporter } from 'jslib/importers/truekeyCsvImporter';\nimport { UpmCsvImporter } from 'jslib/importers/upmCsvImporter';\nimport { ZohoVaultCsvImporter } from 'jslib/importers/zohoVaultCsvImporter';\n\n@Component({\n selector: 'app-import',\n templateUrl: 'import.component.html',\n})\nexport class ImportComponent implements OnInit {\n featuredImportOptions: any[];\n importOptions: any[];\n format: string = null;\n fileContents: string;\n formPromise: Promise;\n\n protected successNavigate: any[] = ['vault'];\n\n constructor(protected i18nService: I18nService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected cipherService: CipherService,\n protected folderService: FolderService, protected apiService: ApiService,\n protected router: Router) {\n }\n\n ngOnInit() {\n this.setImportOptions();\n this.importOptions.sort((a, b) => {\n if (a.name == null && b.name != null) {\n return -1;\n }\n if (a.name != null && b.name == null) {\n return 1;\n }\n if (a.name == null && b.name == null) {\n return 0;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(a.name, b.name) :\n a.name.localeCompare(b.name);\n });\n }\n\n async submit() {\n const importer = this.getImporter();\n if (importer === null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFormat'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if ((files == null || files.length === 0) && (this.fileContents == null || this.fileContents === '')) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n let fileContents = this.fileContents;\n if (files != null && files.length > 0) {\n try {\n const content = await this.getFileContents(files[0]);\n if (content != null) {\n fileContents = content;\n }\n } catch { }\n }\n\n if (fileContents == null || fileContents === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n const importResult = await importer.parse(fileContents);\n if (importResult.success) {\n if (importResult.folders.length === 0 && importResult.ciphers.length === 0) {\n this.error(this.i18nService.t('importNothingError'));\n return;\n } else if (importResult.ciphers.length > 0) {\n const halfway = Math.floor(importResult.ciphers.length / 2);\n const last = importResult.ciphers.length - 1;\n if (this.badData(importResult.ciphers[0]) && this.badData(importResult.ciphers[halfway]) &&\n this.badData(importResult.ciphers[last])) {\n this.error(this.i18nService.t('importFormatError'));\n return;\n }\n }\n\n try {\n this.formPromise = this.postImport(importResult);\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: 'Imported Data',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('importSuccess'));\n this.router.navigate(this.successNavigate);\n } catch { }\n } else {\n this.error(this.i18nService.t('importFormatError'));\n }\n }\n\n getFormatInstructionTitle() {\n if (this.format == null) {\n return null;\n }\n\n const results = this.featuredImportOptions.concat(this.importOptions).filter((o) => o.id === this.format);\n if (results.length > 0) {\n return this.i18nService.t('instructionsFor', results[0].name);\n }\n return null;\n }\n\n protected async postImport(importResult: ImportResult) {\n const request = new ImportCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.folders != null) {\n for (let i = 0; i < importResult.folders.length; i++) {\n const f = await this.folderService.encrypt(importResult.folders[i]);\n request.folders.push(new FolderRequest(f));\n }\n }\n if (importResult.folderRelationships != null) {\n importResult.folderRelationships.forEach((r) =>\n request.folderRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportCiphers(request);\n }\n\n protected setImportOptions() {\n this.featuredImportOptions = [\n { id: null, name: '-- ' + this.i18nService.t('select') + ' --' },\n { id: 'bitwardencsv', name: 'Bitwarden (csv)' },\n { id: 'lastpasscsv', name: 'LastPass (csv)' },\n { id: 'chromecsv', name: 'Chrome (csv)' },\n { id: 'firefoxcsv', name: 'Firefox (csv)' },\n { id: 'keepass2xml', name: 'KeePass 2 (xml)' },\n { id: '1password1pif', name: '1Password (1pif)' },\n { id: 'dashlanecsv', name: 'Dashlane (csv)' },\n ];\n\n this.importOptions = [\n { id: 'keepassxcsv', name: 'KeePassX (csv)' },\n { id: '1passwordwincsv', name: '1Password 6 and 7 Windows (csv)' },\n { id: 'roboformcsv', name: 'RoboForm (csv)' },\n { id: 'keepercsv', name: 'Keeper (csv)' },\n { id: 'enpasscsv', name: 'Enpass (csv)' },\n { id: 'safeincloudxml', name: 'SafeInCloud (xml)' },\n { id: 'pwsafexml', name: 'Password Safe (xml)' },\n { id: 'stickypasswordxml', name: 'Sticky Password (xml)' },\n { id: 'msecurecsv', name: 'mSecure (csv)' },\n { id: 'truekeycsv', name: 'True Key (csv)' },\n { id: 'passwordbossjson', name: 'Password Boss (json)' },\n { id: 'zohovaultcsv', name: 'Zoho Vault (csv)' },\n { id: 'splashidcsv', name: 'SplashID (csv)' },\n { id: 'passworddragonxml', name: 'Password Dragon (xml)' },\n { id: 'padlockcsv', name: 'Padlock (csv)' },\n { id: 'passboltcsv', name: 'Passbolt (csv)' },\n { id: 'clipperzhtml', name: 'Clipperz (html)' },\n { id: 'aviracsv', name: 'Avira (csv)' },\n { id: 'saferpasscsv', name: 'SaferPass (csv)' },\n { id: 'upmcsv', name: 'Universal Password Manager (csv)' },\n { id: 'ascendocsv', name: 'Ascendo DataVault (csv)' },\n { id: 'meldiumcsv', name: 'Meldium (csv)' },\n { id: 'passkeepcsv', name: 'PassKeep (csv)' },\n { id: 'operacsv', name: 'Opera (csv)' },\n { id: 'vivaldicsv', name: 'Vivaldi (csv)' },\n { id: 'gnomejson', name: 'GNOME Passwords and Keys/Seahorse (json)' },\n { id: 'blurcsv', name: 'Blur (csv)' },\n { id: 'passwordagentcsv', name: 'Password Agent (csv)' },\n ];\n }\n\n protected getImporter(): Importer {\n if (this.format == null || this.format === '') {\n return null;\n }\n\n switch (this.format) {\n case 'bitwardencsv':\n return new BitwardenCsvImporter();\n case 'lastpasscsv':\n case 'passboltcsv':\n return new LastPassCsvImporter();\n case 'keepassxcsv':\n return new KeePassXCsvImporter();\n case 'aviracsv':\n return new AviraCsvImporter();\n case 'blurcsv':\n return new BlurCsvImporter();\n case 'safeincloudxml':\n return new SafeInCloudXmlImporter();\n case 'padlockcsv':\n return new PadlockCsvImporter();\n case 'keepass2xml':\n return new KeePass2XmlImporter();\n case 'chromecsv':\n case 'operacsv':\n case 'vivaldicsv':\n return new ChromeCsvImporter();\n case 'firefoxcsv':\n return new FirefoxCsvImporter();\n case 'upmcsv':\n return new UpmCsvImporter();\n case 'saferpasscsv':\n return new SaferPassCsvImporter();\n case 'meldiumcsv':\n return new MeldiumCsvImporter();\n case '1password1pif':\n return new OnePassword1PifImporter();\n case '1passwordwincsv':\n return new OnePasswordWinCsvImporter();\n case 'keepercsv':\n return new KeeperCsvImporter();\n case 'passworddragonxml':\n return new PasswordDragonXmlImporter();\n case 'enpasscsv':\n return new EnpassCsvImporter();\n case 'pwsafexml':\n return new PasswordSafeXmlImporter();\n case 'dashlanecsv':\n return new DashlaneCsvImporter();\n case 'msecurecsv':\n return new MSecureCsvImporter();\n case 'stickypasswordxml':\n return new StickyPasswordXmlImporter();\n case 'truekeycsv':\n return new TrueKeyCsvImporter();\n case 'clipperzhtml':\n return new ClipperzHtmlImporter();\n case 'roboformcsv':\n return new RoboFormCsvImporter();\n case 'ascendocsv':\n return new AscendoCsvImporter();\n case 'passwordbossjson':\n return new PasswordBossJsonImporter();\n case 'zohovaultcsv':\n return new ZohoVaultCsvImporter();\n case 'splashidcsv':\n return new SplashIdCsvImporter();\n case 'passkeepcsv':\n return new PassKeepCsvImporter();\n case 'gnomejson':\n return new GnomeJsonImporter();\n case 'passwordagentcsv':\n return new PasswordAgentCsvImporter();\n default:\n return null;\n }\n }\n\n private error(errorMessage: string) {\n this.analytics.eventTrack.next({\n action: 'Import Data Failed',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), errorMessage);\n }\n\n private getFileContents(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = (evt) => {\n if (this.format === 'lastpasscsv' && file.type === 'text/html') {\n const parser = new DOMParser();\n const doc = parser.parseFromString(evt.target.result, 'text/html');\n const pre = doc.querySelector('pre');\n if (pre != null) {\n resolve(pre.textContent);\n return;\n }\n reject();\n return;\n }\n\n resolve(evt.target.result);\n };\n reader.onerror = () => {\n reject();\n };\n });\n }\n\n private badData(c: CipherView) {\n return (c.name == null || c.name === '--') &&\n (c.login != null && (c.login.password == null || c.login.password === ''));\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { TwoFactorProviders } from 'jslib/services/auth.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorAuthenticatorComponent } from './two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './two-factor-recovery.component';\nimport { TwoFactorU2fComponent } from './two-factor-u2f.component';\nimport { TwoFactorYubiKeyComponent } from './two-factor-yubikey.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: 'two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent implements OnInit {\n @ViewChild('recoveryTemplate', { read: ViewContainerRef }) recoveryModalRef: ViewContainerRef;\n @ViewChild('authenticatorTemplate', { read: ViewContainerRef }) authenticatorModalRef: ViewContainerRef;\n @ViewChild('yubikeyTemplate', { read: ViewContainerRef }) yubikeyModalRef: ViewContainerRef;\n @ViewChild('u2fTemplate', { read: ViewContainerRef }) u2fModalRef: ViewContainerRef;\n @ViewChild('duoTemplate', { read: ViewContainerRef }) duoModalRef: ViewContainerRef;\n @ViewChild('emailTemplate', { read: ViewContainerRef }) emailModalRef: ViewContainerRef;\n\n organizationId: string;\n providers: any[] = [];\n premium: boolean;\n loading = true;\n\n private modal: ModalComponent = null;\n\n constructor(protected apiService: ApiService, protected tokenService: TokenService,\n protected componentFactoryResolver: ComponentFactoryResolver, protected messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.premium = this.tokenService.getPremium();\n\n for (const key in TwoFactorProviders) {\n if (!TwoFactorProviders.hasOwnProperty(key)) {\n continue;\n }\n\n const p = (TwoFactorProviders as any)[key];\n if (this.filterProvider(p.type)) {\n continue;\n }\n\n this.providers.push({\n type: p.type,\n name: p.name,\n description: p.description,\n enabled: false,\n premium: p.premium,\n sort: p.sort,\n });\n }\n\n this.providers.sort((a: any, b: any) => a.sort - b.sort);\n await this.load();\n }\n\n async load() {\n this.loading = true;\n const providerList = await this.getTwoFactorProviders();\n providerList.data.forEach((p) => {\n this.providers.forEach((p2) => {\n if (p.type === p2.type) {\n p2.enabled = p.enabled;\n }\n });\n });\n this.loading = false;\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.Authenticator:\n const authComp = this.openModal(this.authenticatorModalRef, TwoFactorAuthenticatorComponent);\n authComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Authenticator);\n });\n break;\n case TwoFactorProviderType.Yubikey:\n const yubiComp = this.openModal(this.yubikeyModalRef, TwoFactorYubiKeyComponent);\n yubiComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Yubikey);\n });\n break;\n case TwoFactorProviderType.Duo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Duo);\n });\n break;\n case TwoFactorProviderType.Email:\n const emailComp = this.openModal(this.emailModalRef, TwoFactorEmailComponent);\n emailComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Email);\n });\n break;\n case TwoFactorProviderType.U2f:\n const u2fComp = this.openModal(this.u2fModalRef, TwoFactorU2fComponent);\n u2fComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.U2f);\n });\n break;\n default:\n break;\n }\n }\n\n recoveryCode() {\n this.openModal(this.recoveryModalRef, TwoFactorRecoveryComponent);\n }\n\n async premiumRequired() {\n const premium = await this.tokenService.getPremium();\n if (!premium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorProviders();\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type === TwoFactorProviderType.OrganizationDuo;\n }\n\n protected openModal(ref: ViewContainerRef, type: Type): T {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = ref.createComponent(factory).instance;\n const childComponent = this.modal.show(type, ref);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return childComponent;\n }\n\n protected updateStatus(enabled: boolean, type: TwoFactorProviderType) {\n if (!enabled && this.modal != null) {\n this.modal.close();\n }\n this.providers.forEach((p) => {\n if (p.type === type) {\n p.enabled = enabled;\n }\n });\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { View } from './view';\n\nimport { LoginUri } from '../domain/loginUri';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { Utils } from '../../misc/utils';\n\nexport class LoginUriView implements View {\n match: UriMatchType = null;\n\n // tslint:disable\n private _uri: string;\n private _domain: string;\n private _hostname: string;\n // tslint:enable\n\n constructor(u?: LoginUri) {\n if (!u) {\n return;\n }\n\n this.match = u.match;\n }\n\n get uri(): string {\n return this._uri;\n }\n set uri(value: string) {\n this._uri = value;\n this._domain = null;\n }\n\n get domain(): string {\n if (this._domain == null && this.uri != null) {\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n const platformUtilsService: PlatformUtilsService = containerService.getPlatformUtilsService();\n this._domain = platformUtilsService.getDomain(this.uri);\n if (this._domain === '') {\n this._domain = null;\n }\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n }\n\n return this._domain;\n }\n\n get hostname(): string {\n if (this._hostname == null && this.uri != null) {\n this._hostname = Utils.getHostname(this.uri);\n if (this._hostname === '') {\n this._hostname = null;\n }\n }\n\n return this._hostname;\n }\n\n get hostnameOrUri(): string {\n return this.hostname != null ? this.hostname : this.uri;\n }\n\n get isWebsite(): boolean {\n return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0);\n }\n\n get canLaunch(): boolean {\n return this.uri != null && this.uri.indexOf('://') > -1;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Identity } from '../domain/identity';\r\n\r\nexport class IdentityView implements View {\r\n title: string = null;\r\n middleName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n // tslint:disable\r\n private _firstName: string;\r\n private _lastName: string;\r\n private _subTitle: string;\r\n // tslint:enable\r\n\r\n constructor(i?: Identity) {\r\n // ctor\r\n }\r\n\r\n get firstName(): string {\r\n return this._firstName;\r\n }\r\n set firstName(value: string) {\r\n this._firstName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get lastName(): string {\r\n return this._lastName;\r\n }\r\n set lastName(value: string) {\r\n this._lastName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {\r\n this._subTitle = '';\r\n if (this.firstName != null) {\r\n this._subTitle = this.firstName;\r\n }\r\n if (this.lastName != null) {\r\n if (this._subTitle !== '') {\r\n this._subTitle += ' ';\r\n }\r\n this._subTitle += this.lastName;\r\n }\r\n }\r\n\r\n return this._subTitle;\r\n }\r\n\r\n get fullName(): string {\r\n if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {\r\n let name = '';\r\n if (this.title != null) {\r\n name += (this.title + ' ');\r\n }\r\n if (this.firstName != null) {\r\n name += (this.firstName + ' ');\r\n }\r\n if (this.middleName != null) {\r\n name += (this.middleName + ' ');\r\n }\r\n if (this.lastName != null) {\r\n name += this.lastName;\r\n }\r\n return name.trim();\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nconst MaxCheckedCount = 500;\r\n\r\n@Component({\r\n selector: 'app-vault-ciphers',\r\n templateUrl: 'ciphers.component.html',\r\n})\r\nexport class CiphersComponent extends BaseCiphersComponent {\r\n @Input() showAddNew = true;\r\n @Output() onAttachmentsClicked = new EventEmitter();\r\n @Output() onShareClicked = new EventEmitter();\r\n @Output() onCollectionsClicked = new EventEmitter();\r\n\r\n cipherType = CipherType;\r\n\r\n constructor(cipherService: CipherService, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService) {\r\n super(cipherService);\r\n }\r\n\r\n checkCipher(c: CipherView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n selectAll(select: boolean) {\r\n if (select) {\r\n this.selectAll(false);\r\n }\r\n const selectCount = select && this.ciphers.length > MaxCheckedCount ? MaxCheckedCount : this.ciphers.length;\r\n for (let i = 0; i < selectCount; i++) {\r\n this.checkCipher(this.ciphers[i], select);\r\n }\r\n }\r\n\r\n getSelected(): CipherView[] {\r\n if (this.ciphers == null) {\r\n return [];\r\n }\r\n return this.ciphers.filter((c) => !!(c as any).checked);\r\n }\r\n\r\n getSelectedIds(): string[] {\r\n return this.getSelected().map((c) => c.id);\r\n }\r\n\r\n attachments(c: CipherView) {\r\n this.onAttachmentsClicked.emit(c);\r\n }\r\n\r\n share(c: CipherView) {\r\n this.onShareClicked.emit(c);\r\n }\r\n\r\n collections(c: CipherView) {\r\n this.onCollectionsClicked.emit(c);\r\n }\r\n\r\n async delete(c: CipherView): Promise {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n await this.cipherService.deleteWithServer(c.id);\r\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\r\n this.refresh();\r\n }\r\n\r\n copy(value: string, typeI18nKey: string, aType: string) {\r\n if (value == null) {\r\n return;\r\n }\r\n\r\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\r\n this.platformUtilsService.copyToClipboard(value, { doc: window.document });\r\n this.toasterService.popAsync('info', null,\r\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\r\n }\r\n}\r\n","export enum FieldType {\r\n Text = 0,\r\n Hidden = 1,\r\n Boolean = 2,\r\n}\r\n","export enum EncryptionType {\r\n AesCbc256_B64 = 0,\r\n AesCbc128_HmacSha256_B64 = 1,\r\n AesCbc256_HmacSha256_B64 = 2,\r\n Rsa2048_OaepSha256_B64 = 3,\r\n Rsa2048_OaepSha1_B64 = 4,\r\n Rsa2048_OaepSha256_HmacSha256_B64 = 5,\r\n Rsa2048_OaepSha1_HmacSha256_B64 = 6,\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/components/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-vault-groupings',\r\n templateUrl: 'groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n @Output() onSearchTextChanged = new EventEmitter();\r\n\r\n searchText: string = '';\r\n searchPlaceholder: string = null;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService) {\r\n super(collectionService, folderService);\r\n }\r\n\r\n searchTextChanged() {\r\n this.onSearchTextChanged.emit(this.searchText);\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { DeviceRequest } from '../models/request/deviceRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\n\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { AppIdService } from '../abstractions/appId.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService } from '../abstractions/user.service';\n\nexport const TwoFactorProviders = {\n [TwoFactorProviderType.Authenticator]: {\n type: TwoFactorProviderType.Authenticator,\n name: null as string,\n description: null as string,\n priority: 1,\n sort: 1,\n premium: false,\n },\n [TwoFactorProviderType.Yubikey]: {\n type: TwoFactorProviderType.Yubikey,\n name: null as string,\n description: null as string,\n priority: 3,\n sort: 2,\n premium: true,\n },\n [TwoFactorProviderType.Duo]: {\n type: TwoFactorProviderType.Duo,\n name: 'Duo',\n description: null as string,\n priority: 2,\n sort: 3,\n premium: true,\n },\n [TwoFactorProviderType.OrganizationDuo]: {\n type: TwoFactorProviderType.OrganizationDuo,\n name: 'Duo (Organization)',\n description: null as string,\n priority: 10,\n sort: 4,\n premium: false,\n },\n [TwoFactorProviderType.U2f]: {\n type: TwoFactorProviderType.U2f,\n name: null as string,\n description: null as string,\n priority: 4,\n sort: 5,\n premium: true,\n },\n [TwoFactorProviderType.Email]: {\n type: TwoFactorProviderType.Email,\n name: null as string,\n description: null as string,\n priority: 0,\n sort: 6,\n premium: false,\n },\n};\n\nexport class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType = null;\n\n private key: SymmetricCryptoKey;\n\n constructor(private cryptoService: CryptoService, private apiService: ApiService,\n private userService: UserService, private tokenService: TokenService,\n private appIdService: AppIdService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService,\n private setCryptoKeys = true) { }\n\n init() {\n TwoFactorProviders[TwoFactorProviderType.Email].name = this.i18nService.t('emailTitle');\n TwoFactorProviders[TwoFactorProviderType.Email].description = this.i18nService.t('emailDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Authenticator].name = this.i18nService.t('authenticatorAppTitle');\n TwoFactorProviders[TwoFactorProviderType.Authenticator].description =\n this.i18nService.t('authenticatorAppDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Duo].description = this.i18nService.t('duoDesc');\n\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].name =\n 'Duo (' + this.i18nService.t('organization') + ')';\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].description =\n this.i18nService.t('duoOrganizationDesc');\n\n TwoFactorProviders[TwoFactorProviderType.U2f].name = this.i18nService.t('u2fTitle');\n TwoFactorProviders[TwoFactorProviderType.U2f].description = this.i18nService.t('u2fDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Yubikey].name = this.i18nService.t('yubiKeyTitle');\n TwoFactorProviders[TwoFactorProviderType.Yubikey].description = this.i18nService.t('yubiKeyDesc');\n }\n\n async logIn(email: string, masterPassword: string): Promise {\n this.selectedTwoFactorProviderType = null;\n email = email.toLowerCase();\n const key = await this.cryptoService.makeKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key);\n }\n\n async logInTwoFactor(twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean): Promise {\n return await this.logInHelper(this.email, this.masterPasswordHash, this.key, twoFactorProvider,\n twoFactorToken, remember);\n }\n\n async logInComplete(email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n email = email.toLowerCase();\n const key = await this.cryptoService.makeKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key, twoFactorProvider, twoFactorToken, remember);\n }\n\n logOut(callback: Function) {\n callback();\n this.messagingService.send('loggedOut');\n }\n\n getSupportedTwoFactorProviders(win: Window): any[] {\n const providers: any[] = [];\n if (this.twoFactorProviders == null) {\n return providers;\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.OrganizationDuo) &&\n this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Authenticator)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Yubikey)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Yubikey]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Duo) && this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Duo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.U2f) && this.platformUtilsService.supportsU2f(win)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.U2f]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Email)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Email]);\n }\n\n return providers;\n }\n\n getDefaultTwoFactorProvider(u2fSupported: boolean): TwoFactorProviderType {\n if (this.twoFactorProviders == null) {\n return null;\n }\n\n if (this.selectedTwoFactorProviderType != null &&\n this.twoFactorProviders.has(this.selectedTwoFactorProviderType)) {\n return this.selectedTwoFactorProviderType;\n }\n\n let providerType: TwoFactorProviderType = null;\n let providerPriority = -1;\n this.twoFactorProviders.forEach((value, type) => {\n const provider = (TwoFactorProviders as any)[type];\n if (provider != null && provider.priority > providerPriority) {\n if (type === TwoFactorProviderType.U2f && !u2fSupported) {\n return;\n }\n\n providerType = type;\n providerPriority = provider.priority;\n }\n });\n\n return providerType;\n }\n\n private async logInHelper(email: string, hashedPassword: string, key: SymmetricCryptoKey,\n twoFactorProvider?: TwoFactorProviderType, twoFactorToken?: string, remember?: boolean): Promise {\n const storedTwoFactorToken = await this.tokenService.getTwoFactorToken(email);\n const appId = await this.appIdService.getAppId();\n const deviceRequest = new DeviceRequest(appId, this.platformUtilsService);\n\n let request: TokenRequest;\n if (twoFactorToken != null && twoFactorProvider != null) {\n request = new TokenRequest(email, hashedPassword, twoFactorProvider, twoFactorToken, remember,\n deviceRequest);\n } else if (storedTwoFactorToken != null) {\n request = new TokenRequest(email, hashedPassword, TwoFactorProviderType.Remember,\n storedTwoFactorToken, false, deviceRequest);\n } else {\n request = new TokenRequest(email, hashedPassword, null, null, false, deviceRequest);\n }\n\n const response = await this.apiService.postIdentityToken(request);\n\n this.clearState();\n const result = new AuthResult();\n result.twoFactor = !(response as any).accessToken;\n\n if (result.twoFactor) {\n // two factor required\n const twoFactorResponse = response as IdentityTwoFactorResponse;\n this.email = email;\n this.masterPasswordHash = hashedPassword;\n this.key = this.setCryptoKeys ? key : null;\n this.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n result.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n return result;\n }\n\n const tokenResponse = response as IdentityTokenResponse;\n if (tokenResponse.twoFactorToken != null) {\n this.tokenService.setTwoFactorToken(tokenResponse.twoFactorToken, email);\n }\n\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n await this.userService.setUserIdAndEmail(this.tokenService.getUserId(), this.tokenService.getEmail());\n if (this.setCryptoKeys) {\n await this.cryptoService.setKey(key);\n await this.cryptoService.setKeyHash(hashedPassword);\n await this.cryptoService.setEncKey(tokenResponse.key);\n\n // User doesn't have a key pair yet (old account), let's generate one for them\n if (tokenResponse.privateKey == null) {\n try {\n const keyPair = await this.cryptoService.makeKeyPair();\n await this.apiService.postAccountKeys(new KeysRequest(keyPair[0], keyPair[1].encryptedString));\n tokenResponse.privateKey = keyPair[1].encryptedString;\n } catch (e) {\n // tslint:disable-next-line\n console.error(e);\n }\n }\n\n await this.cryptoService.setEncPrivateKey(tokenResponse.privateKey);\n }\n\n this.messagingService.send('loggedIn');\n return result;\n }\n\n private clearState(): void {\n this.email = null;\n this.masterPasswordHash = null;\n this.twoFactorProviders = null;\n this.selectedTwoFactorProviderType = null;\n }\n}\n","export class SelectionReadOnlyResponse {\n id: string;\n readOnly: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.readOnly = response.ReadOnly;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { VerifyBankRequest } from 'jslib/models/request/verifyBankRequest';\n\nimport { BillingChargeResponse } from 'jslib/models/response/billingResponse';\nimport { OrganizationBillingResponse } from 'jslib/models/response/organizationBillingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\nimport { PlanType } from 'jslib/enums/planType';\n\n@Component({\n selector: 'app-org-billing',\n templateUrl: 'organization-billing.component.html',\n})\nexport class OrganizationBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n organizationId: string;\n adjustSeatsAdd = true;\n showAdjustSeats = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showAdjustPayment = false;\n showUpdateLicense = false;\n billing: OrganizationBillingResponse;\n paymentMethodType = PaymentMethodType;\n selfHosted = false;\n verifyAmount1: number;\n verifyAmount2: number;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n licensePromise: Promise;\n verifyBankPromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.firstLoaded = true;\n });\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n this.loading = true;\n this.billing = await this.apiService.getOrganizationBilling(this.organizationId);\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postOrganizationReinstate(this.organizationId);\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postOrganizationCancel(this.organizationId);\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n async changePlan() {\n const contactSupport = await this.platformUtilsService.showDialog(this.i18nService.t('changeBillingPlanDesc'),\n this.i18nService.t('changeBillingPlan'), this.i18nService.t('contactSupport'), this.i18nService.t('close'));\n if (contactSupport) {\n this.platformUtilsService.launchUri('https://bitwarden.com/contact');\n }\n }\n\n async downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const installationId = window.prompt(this.i18nService.t('enterInstallationId'));\n if (installationId == null || installationId === '') {\n return;\n }\n\n try {\n this.licensePromise = this.apiService.getOrganizationLicense(this.organizationId, installationId);\n const license = await this.licensePromise;\n const licenseString = JSON.stringify(license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_organization_license.json');\n } catch { }\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n async verifyBank() {\n if (this.loading) {\n return;\n }\n\n try {\n const request = new VerifyBankRequest();\n request.amount1 = this.verifyAmount1;\n request.amount2 = this.verifyAmount2;\n this.verifyBankPromise = this.apiService.postOrganizationVerifyBank(this.organizationId, request);\n await this.verifyBankPromise;\n this.analytics.eventTrack.next({ action: 'Verified Bank Account' });\n this.toasterService.popAsync('success', null, this.i18nService.t('verifiedBankAccount'));\n this.load();\n } catch { }\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustSeats(add: boolean) {\n this.adjustSeatsAdd = add;\n this.showAdjustSeats = true;\n }\n\n closeSeats(load: boolean) {\n this.showAdjustSeats = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n async viewInvoice(charge: BillingChargeResponse) {\n const token = await this.tokenService.getToken();\n const url = this.apiService.apiBaseUrl + '/organizations/' + this.organizationId +\n '/billing-invoice/' + charge.invoiceId + '?access_token=' + token;\n this.platformUtilsService.launchUri(url);\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.billing != null ? this.billing.subscription : null;\n }\n\n get nextInvoice() {\n return this.billing != null ? this.billing.upcomingInvoice : null;\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get charges() {\n return this.billing != null ? this.billing.charges : null;\n }\n\n get storagePercentage() {\n return this.billing != null && this.billing.maxStorageGb ?\n +(100 * (this.billing.storageGb / this.billing.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n\n get billingInterval() {\n const monthly = this.billing.planType === PlanType.EnterpriseMonthly ||\n this.billing.planType === PlanType.TeamsMonthly;\n return monthly ? 'month' : 'year';\n }\n\n get storageGbPrice() {\n return this.billingInterval === 'month' ? 0.5 : 4;\n }\n\n get seatPrice() {\n switch (this.billing.planType) {\n case PlanType.EnterpriseMonthly:\n return 4;\n case PlanType.EnterpriseAnnually:\n return 3;\n case PlanType.TeamsMonthly:\n return 2.5;\n case PlanType.TeamsAnnually:\n return 2;\n default:\n return 0;\n }\n }\n\n get canAdjustSeats() {\n return this.billing.planType === PlanType.EnterpriseMonthly ||\n this.billing.planType === PlanType.EnterpriseAnnually ||\n this.billing.planType === PlanType.TeamsMonthly || this.billing.planType === PlanType.TeamsAnnually;\n }\n\n get canDownloadLicense() {\n return (this.billing.planType !== PlanType.Free && this.subscription == null) ||\n (this.subscription != null && !this.subscription.cancelled);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorDuoComponent } from '../../settings/two-factor-duo.component';\nimport { TwoFactorSetupComponent as BaseTwoFactorSetupComponent } from '../../settings/two-factor-setup.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: '../../settings/two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent extends BaseTwoFactorSetupComponent {\n constructor(apiService: ApiService, tokenService: TokenService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n private route: ActivatedRoute) {\n super(apiService, tokenService, componentFactoryResolver, messagingService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await super.ngOnInit();\n });\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.OrganizationDuo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.type = TwoFactorProviderType.OrganizationDuo;\n duoComp.organizationId = this.organizationId;\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.OrganizationDuo);\n });\n break;\n default:\n break;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorOrganizationProviders(this.organizationId);\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type !== TwoFactorProviderType.OrganizationDuo;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { OrganizationUpdateRequest } from 'jslib/models/request/organizationUpdateRequest';\nimport { OrganizationResponse } from 'jslib/models/response/organizationResponse';\n\nimport { ModalComponent } from '../../modal.component';\nimport { DeleteOrganizationComponent } from './delete-organization.component';\n\n@Component({\n selector: 'app-org-account',\n templateUrl: 'account.component.html',\n})\nexport class AccountComponent {\n @ViewChild('deleteOrganizationTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\n\n loading = true;\n org: OrganizationResponse;\n formPromise: Promise;\n\n private organizationId: string;\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\n private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute, private syncService: SyncService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n try {\n this.org = await this.apiService.getOrganization(this.organizationId);\n } catch { }\n });\n this.loading = false;\n }\n\n async submit() {\n try {\n const request = new OrganizationUpdateRequest();\n request.name = this.org.name;\n request.businessName = this.org.businessName;\n request.billingEmail = this.org.billingEmail;\n this.formPromise = this.apiService.putOrganization(this.organizationId, request).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Organization Settings' });\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpdated'));\n } catch { }\n }\n\n deleteOrganization() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n DeleteOrganizationComponent, this.deleteModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent {\n access2fa = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n const organization = await this.userService.getOrganization(params.organizationId);\n this.access2fa = organization.use2fa;\n });\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityEventsComponent } from './entity-events.component';\nimport { UserAddEditComponent } from './user-add-edit.component';\nimport { UserGroupsComponent } from './user-groups.component';\n\n@Component({\n selector: 'app-org-people',\n templateUrl: 'people.component.html',\n})\nexport class PeopleComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('groupsTemplate', { read: ViewContainerRef }) groupsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n users: OrganizationUserUserDetailsResponse[];\n searchText: string;\n status: OrganizationUserStatusType = null;\n statusMap = new Map();\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n actionPromise: Promise;\n accessEvents = false;\n accessGroups = false;\n\n private modal: ModalComponent = null;\n private allUsers: OrganizationUserUserDetailsResponse[];\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private analytics: Angulartics2,\n private toasterService: ToasterService, private cryptoService: CryptoService,\n private userService: UserService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n this.accessEvents = organization.useEvents;\n this.accessGroups = organization.useGroups;\n await this.load();\n\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const user = this.users.filter((u) => u.id === qParams.viewEvents);\n if (user.length > 0 && user[0].status === OrganizationUserStatusType.Confirmed) {\n this.events(user[0]);\n }\n }\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n this.statusMap.clear();\n this.allUsers = response.data != null && response.data.length > 0 ? response.data : [];\n this.allUsers.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.allUsers.forEach((u) => {\n if (!this.statusMap.has(u.status)) {\n this.statusMap.set(u.status, [u]);\n } else {\n this.statusMap.get(u.status).push(u);\n }\n });\n this.filter(this.status);\n this.loading = false;\n }\n\n filter(status: OrganizationUserStatusType) {\n this.status = status;\n if (this.status != null) {\n this.users = this.statusMap.get(this.status);\n } else {\n this.users = this.allUsers;\n }\n }\n\n get invitedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Invited) ?\n this.statusMap.get(OrganizationUserStatusType.Invited).length : 0;\n }\n\n get acceptedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Accepted) ?\n this.statusMap.get(OrganizationUserStatusType.Accepted).length : 0;\n }\n\n edit(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserAddEditComponent, this.addEditModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedUser.subscribe(() => {\n this.modal.close();\n this.removeUser(user);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n invite() {\n this.edit(null);\n }\n\n groups(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.groupsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserGroupsComponent, this.groupsModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async remove(user: OrganizationUserUserDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.name || user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteOrganizationUser(this.organizationId, user.id);\n this.analytics.eventTrack.next({ action: 'Deleted User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.name || user.email));\n this.removeUser(user);\n } catch { }\n }\n\n async reinvite(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.apiService.postOrganizationUserReinvite(this.organizationId, user.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Reinvited User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', user.name || user.email));\n this.actionPromise = null;\n }\n\n async confirm(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.doConfirmation(user);\n await this.actionPromise;\n user.status = OrganizationUserStatusType.Confirmed;\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', user.name || user.email));\n this.actionPromise = null;\n }\n\n async events(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = user.name || user.email;\n childComponent.organizationId = this.organizationId;\n childComponent.entityId = user.id;\n childComponent.showUser = false;\n childComponent.entity = 'user';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private async doConfirmation(user: OrganizationUserUserDetailsResponse) {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const publicKeyResponse = await this.apiService.getUserPublicKey(user.userId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, user.id, request);\n }\n\n private removeUser(user: OrganizationUserUserDetailsResponse) {\n const index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityUsersComponent } from './entity-users.component';\nimport { GroupAddEditComponent } from './group-add-edit.component';\n\n@Component({\n selector: 'app-org-groups',\n templateUrl: 'groups.component.html',\n})\nexport class GroupsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n groups: GroupResponse[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\n private router: Router) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (organization == null || !organization.useGroups) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n await this.load();\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getGroups(this.organizationId);\n const groups = response.data != null && response.data.length > 0 ? response.data : [];\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n this.loading = false;\n }\n\n edit(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n GroupAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.groupId = group != null ? group.id : null;\n childComponent.onSavedGroup.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedGroup.subscribe(() => {\n this.modal.close();\n this.removeGroup(group);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(group: GroupResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteGroupConfirmation'), group.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteGroup(this.organizationId, group.id);\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', group.name));\n this.removeGroup(group);\n } catch { }\n }\n\n users(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'group';\n childComponent.entityId = group.id;\n childComponent.entityName = group.name;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeGroup(group: GroupResponse) {\n const index = this.groups.indexOf(group);\n if (index > -1) {\n this.groups.splice(index, 1);\n }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { EventService } from '../../services/event.service';\r\n\r\nimport { EventResponse } from 'jslib/models/response/eventResponse';\r\nimport { ListResponse } from 'jslib/models/response/listResponse';\r\n\r\n@Component({\r\n selector: 'app-org-events',\r\n templateUrl: 'events.component.html',\r\n})\r\nexport class EventsComponent implements OnInit {\r\n loading = true;\r\n loaded = false;\r\n organizationId: string;\r\n events: any[];\r\n start: string;\r\n end: string;\r\n continuationToken: string;\r\n refreshPromise: Promise;\r\n morePromise: Promise;\r\n\r\n private orgUsersUserIdMap = new Map();\r\n private orgUsersIdMap = new Map();\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute,\r\n private eventService: EventService, private i18nService: I18nService,\r\n private toasterService: ToasterService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n if (organization == null || !organization.useEvents) {\r\n this.router.navigate(['/organizations', this.organizationId]);\r\n return;\r\n }\r\n const defaultDates = this.eventService.getDefaultDateFilters();\r\n this.start = defaultDates[0];\r\n this.end = defaultDates[1];\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\r\n response.data.forEach((u) => {\r\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\r\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\r\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\r\n });\r\n await this.loadEvents(true);\r\n this.loaded = true;\r\n }\r\n\r\n async loadEvents(clearExisting: boolean) {\r\n if (this.refreshPromise != null || this.morePromise != null) {\r\n return;\r\n }\r\n\r\n let dates: string[] = null;\r\n try {\r\n dates = this.eventService.formatDateFilters(this.start, this.end);\r\n } catch (e) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidDateRange'));\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n let response: ListResponse;\r\n try {\r\n const promise = this.apiService.getEventsOrganization(this.organizationId, dates[0], dates[1],\r\n clearExisting ? null : this.continuationToken);\r\n if (clearExisting) {\r\n this.refreshPromise = promise;\r\n } else {\r\n this.morePromise = promise;\r\n }\r\n response = await promise;\r\n } catch { }\r\n\r\n this.continuationToken = response.continuationToken;\r\n const events = response.data.map((r) => {\r\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\r\n const eventInfo = this.eventService.getEventInfo(r);\r\n const user = userId != null && this.orgUsersUserIdMap.has(userId) ?\r\n this.orgUsersUserIdMap.get(userId) : null;\r\n return {\r\n message: eventInfo.message,\r\n appIcon: eventInfo.appIcon,\r\n appName: eventInfo.appName,\r\n userId: userId,\r\n userName: user != null ? user.name : this.i18nService.t('unknown'),\r\n userEmail: user != null ? user.email : '',\r\n date: r.date,\r\n ip: r.ipAddress,\r\n type: r.type,\r\n };\r\n });\r\n\r\n if (!clearExisting && this.events != null && this.events.length > 0) {\r\n this.events = this.events.concat(events);\r\n } else {\r\n this.events = events;\r\n }\r\n\r\n this.loading = false;\r\n this.morePromise = null;\r\n this.refreshPromise = null;\r\n }\r\n}\r\n","export enum OrganizationUserStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-entity-users',\n templateUrl: 'entity-users.component.html',\n})\nexport class EntityUsersComponent implements OnInit {\n @Input() entity: 'group' | 'collection';\n @Input() entityId: string;\n @Input() entityName: string;\n @Input() organizationId: string;\n @Output() onRemovedUser = new EventEmitter();\n\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n\n loading = true;\n users: any[] = [];\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n await this.loadUsers();\n this.loading = false;\n }\n\n async loadUsers() {\n let users: any[] = [];\n if (this.entity === 'group') {\n const response = await this.apiService.getGroupUsers(this.organizationId, this.entityId);\n users = response.data.map((r) => r);\n } else if (this.entity === 'collection') {\n const response = await this.apiService.getCollectionUsers(this.organizationId, this.entityId);\n users = response.data.map((r) => r);\n }\n users.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.users = users;\n }\n\n async remove(user: any) {\n if (this.actionPromise != null || (this.entity === 'collection' && user.accessAll)) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n if (this.entity === 'group') {\n this.actionPromise = this.apiService.deleteGroupUser(this.organizationId, this.entityId,\n user.organizationUserId);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Removed User From Group' });\n } else if (this.entity === 'collection') {\n this.actionPromise = this.apiService.deleteCollectionUser(this.organizationId, this.entityId,\n user.organizationUserId);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Removed User From Collection' });\n }\n\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.email));\n this.onRemovedUser.emit();\n const index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n } catch { }\n }\n}\n","export class SelectionReadOnlyRequest {\n id: string;\n readOnly: boolean;\n\n constructor(id: string, readOnly: boolean) {\n this.id = id;\n this.readOnly = readOnly;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ModalComponent } from '../../modal.component';\nimport { CollectionAddEditComponent } from './collection-add-edit.component';\nimport { EntityUsersComponent } from './entity-users.component';\n\n@Component({\n selector: 'app-org-manage-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n collections: CollectionView[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private collectionService: CollectionService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getCollections(this.organizationId);\n const collections = response.data.map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n this.loading = false;\n }\n\n edit(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n CollectionAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.collectionId = collection != null ? collection.id : null;\n childComponent.onSavedCollection.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedCollection.subscribe(() => {\n this.modal.close();\n this.removeCollection(collection);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(collection: CollectionView) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), collection.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteCollection(this.organizationId, collection.id);\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', collection.name));\n this.removeCollection(collection);\n } catch { }\n }\n\n users(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'collection';\n childComponent.entityId = collection.id;\n childComponent.entityName = collection.name;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeCollection(collection: CollectionView) {\n const index = this.collections.indexOf(collection);\n if (index > -1) {\n this.collections.splice(index, 1);\n }\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\n@Pipe({\n name: 'search',\n})\nexport class SearchPipe implements PipeTransform {\n transform(items: any[], searchText: string, prop1?: string, prop2?: string, prop3?: string): any[] {\n if (items == null || items.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return items;\n }\n\n searchText = searchText.trim().toLowerCase();\n return items.filter((i) => {\n if (prop1 != null && i[prop1] != null && i[prop1].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop2 != null && i[prop2] != null && i[prop2].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop3 != null && i[prop3] != null && i[prop3].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n return false;\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Component({\r\n selector: 'app-org-manage',\r\n templateUrl: 'manage.component.html',\r\n})\r\nexport class ManageComponent implements OnInit {\r\n accessGroups = false;\r\n accessEvents = false;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n this.route.parent.params.subscribe(async (params) => {\r\n const organization = await this.userService.getOrganization(params.organizationId);\r\n this.accessEvents = organization.useEvents;\r\n this.accessGroups = organization.useGroups;\r\n });\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from '../../tools/export.component';\r\n\r\n@Component({\r\n selector: 'app-org-export',\r\n templateUrl: '../../tools/export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n organizationId: string;\r\n\r\n constructor(analytics: Angulartics2, toasterService: ToasterService,\r\n cryptoService: CryptoService, userService: UserService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n exportService: ExportService, private route: ActivatedRoute) {\r\n super(analytics, toasterService, cryptoService, userService, i18nService, platformUtilsService,\r\n exportService);\r\n }\r\n\r\n ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n });\r\n }\r\n\r\n getExportData() {\r\n return this.exportService.getOrganizationExport(this.organizationId, 'csv');\r\n }\r\n\r\n getFileName() {\r\n return super.getFileName('org');\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { Importer } from 'jslib/importers/importer';\n\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { ImportOrganizationCiphersRequest } from 'jslib/models/request/importOrganizationCiphersRequest';\nimport { KvpRequest } from 'jslib/models/request/kvpRequest';\n\nimport { ImportResult } from 'jslib/models/domain/importResult';\n\nimport { ImportComponent as BaseImportComponent } from '../../tools/import.component';\n\n@Component({\n selector: 'app-org-import',\n templateUrl: '../../tools/import.component.html',\n})\nexport class ImportComponent extends BaseImportComponent {\n organizationId: string;\n\n constructor(i18nService: I18nService, analytics: Angulartics2,\n toasterService: ToasterService, cipherService: CipherService,\n folderService: FolderService, apiService: ApiService,\n router: Router, private collectionService: CollectionService,\n private route: ActivatedRoute) {\n super(i18nService, analytics, toasterService, cipherService, folderService, apiService, router);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n this.successNavigate = ['organizations', this.organizationId, 'vault'];\n super.ngOnInit();\n });\n }\n\n protected async postImport(importResult: ImportResult) {\n const request = new ImportOrganizationCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n importResult.ciphers[i].organizationId = this.organizationId;\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.collections != null) {\n for (let i = 0; i < importResult.collections.length; i++) {\n importResult.collections[i].organizationId = this.organizationId;\n const c = await this.collectionService.encrypt(importResult.collections[i]);\n request.collections.push(new CollectionRequest(c));\n }\n }\n if (importResult.collectionRelationships != null) {\n importResult.collectionRelationships.forEach((r) =>\n request.collectionRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportOrganizationCiphers(this.organizationId, request);\n }\n\n protected getImporter(): Importer {\n const importer = super.getImporter();\n if (importer != null) {\n importer.organization = true;\n }\n return importer;\n }\n}\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-org-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent { }\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { EventService } from '../../services/event.service';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\n\n@Component({\n selector: 'app-entity-events',\n templateUrl: 'entity-events.component.html',\n})\nexport class EntityEventsComponent implements OnInit {\n @Input() name: string;\n @Input() entity: 'user' | 'cipher';\n @Input() entityId: string;\n @Input() organizationId: string;\n @Input() showUser = false;\n\n loading = true;\n loaded = false;\n events: any[];\n start: string;\n end: string;\n continuationToken: string;\n refreshPromise: Promise;\n morePromise: Promise;\n\n private orgUsersUserIdMap = new Map();\n private orgUsersIdMap = new Map();\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private eventService: EventService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const defaultDates = this.eventService.getDefaultDateFilters();\n this.start = defaultDates[0];\n this.end = defaultDates[1];\n await this.load();\n }\n\n async load() {\n if (this.showUser) {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n response.data.forEach((u) => {\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\n });\n }\n await this.loadEvents(true);\n this.loaded = true;\n }\n\n async loadEvents(clearExisting: boolean) {\n if (this.refreshPromise != null || this.morePromise != null) {\n return;\n }\n\n let dates: string[] = null;\n try {\n dates = this.eventService.formatDateFilters(this.start, this.end);\n } catch (e) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidDateRange'));\n return;\n }\n\n this.loading = true;\n let response: ListResponse;\n try {\n let promise: Promise;\n if (this.entity === 'user') {\n promise = this.apiService.getEventsOrganizationUser(this.organizationId, this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n } else {\n promise = this.apiService.getEventsCipher(this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n }\n if (clearExisting) {\n this.refreshPromise = promise;\n } else {\n this.morePromise = promise;\n }\n response = await promise;\n } catch { }\n\n this.continuationToken = response.continuationToken;\n const events = response.data.map((r) => {\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\n const eventInfo = this.eventService.getEventInfo(r);\n const user = this.showUser && userId != null && this.orgUsersUserIdMap.has(userId) ?\n this.orgUsersUserIdMap.get(userId) : null;\n return {\n message: eventInfo.message,\n appIcon: eventInfo.appIcon,\n appName: eventInfo.appName,\n userId: userId,\n userName: user != null ? user.name : this.showUser ? this.i18nService.t('unknown') : null,\n userEmail: user != null ? user.email : this.showUser ? '' : null,\n date: r.date,\n ip: r.ipAddress,\n type: r.type,\n };\n });\n\n if (!clearExisting && this.events != null && this.events.length > 0) {\n this.events = this.events.concat(events);\n } else {\n this.events = events;\n }\n\n this.loading = false;\n this.morePromise = null;\n this.refreshPromise = null;\n }\n}\n","import { Location } from '@angular/common';\nimport {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { ModalComponent } from '../../modal.component';\n\nimport { EntityEventsComponent } from '../manage/entity-events.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { GroupingsComponent } from './groupings.component';\n\n@Component({\n selector: 'app-org-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n organization: Organization;\n collectionId: string;\n type: CipherType;\n\n private modal: ModalComponent = null;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private location: Location, private router: Router,\n private syncService: SyncService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver, private messagingService: MessagingService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.groupingsComponent.organization = this.organization;\n this.ciphersComponent.organization = this.organization;\n\n this.route.queryParams.subscribe(async (qParams) => {\n if (!this.organization.isAdmin) {\n await this.syncService.fullSync(false);\n }\n await this.groupingsComponent.load();\n\n if (qParams == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n } else {\n if (qParams.type) {\n const t = parseInt(qParams.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t, true);\n } else if (qParams.collectionId) {\n this.groupingsComponent.selectedCollectionId = qParams.collectionId;\n await this.filterCollection(qParams.collectionId, true);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n }\n\n this.ciphersComponent.searchText = this.groupingsComponent.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const cipher = this.ciphersComponent.ciphers.filter((c) => c.id === qParams.viewEvents);\n if (cipher.length > 0) {\n this.viewEvents(cipher[0]);\n }\n }\n });\n });\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.applyFilter();\n this.clearFilters();\n this.go();\n }\n\n async filterCipherType(type: CipherType, load = false) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n const filter = (c: CipherView) => c.type === type;\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterCollection(collectionId: string, load = false) {\n this.ciphersComponent.showAddNew = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n const filter = (c: CipherView) => {\n if (collectionId === 'unassigned') {\n return c.collectionIds == null || c.collectionIds.length === 0;\n } else {\n return c.collectionIds.indexOf(collectionId) > -1;\n }\n };\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n }\n\n editCipherAttachments(cipher: CipherView) {\n if (this.organization.maxStorageGb == null || this.organization.maxStorageGb === 0) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n if (this.organization.isAdmin) {\n childComponent.collectionIds = cipher.collectionIds;\n childComponent.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async viewEvents(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = cipher.name;\n childComponent.organizationId = this.organization.id;\n childComponent.entityId = cipher.id;\n childComponent.showUser = true;\n childComponent.entity = 'cipher';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.collectionId = null;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n type: this.type,\n collectionId: this.collectionId,\n };\n }\n\n const url = this.router.createUrlTree(['organizations', this.organization.id, 'vault'],\n { queryParams: queryParams }).toString();\n this.location.go(url);\n }\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CiphersComponent as BaseCiphersComponent } from '../../vault/ciphers.component';\n\n@Component({\n selector: 'app-org-vault-ciphers',\n templateUrl: '../../vault/ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent {\n @Output() onEventsClicked = new EventEmitter();\n\n organization: Organization;\n accessEvents = false;\n\n constructor(cipherService: CipherService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n super(cipherService, analytics, toasterService, i18nService, platformUtilsService);\n }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n if (!this.organization.isAdmin) {\n await super.load();\n return;\n }\n this.accessEvents = this.organization.useEvents;\n const ciphers = await this.apiService.getCiphersOrganization(this.organization.id);\n if (ciphers != null && ciphers.data != null && ciphers.data.length) {\n const decCiphers: CipherView[] = [];\n const promises: any[] = [];\n ciphers.data.forEach((r) => {\n const data = new CipherData(r);\n const cipher = new Cipher(data);\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n await Promise.all(promises);\n decCiphers.sort(this.cipherService.getLocaleSortingFunction());\n this.allCiphers = decCiphers;\n } else {\n this.allCiphers = [];\n }\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n applyFilter(filter: (cipher: CipherView) => boolean = null) {\n if (this.organization.isAdmin) {\n super.applyFilter(filter);\n } else {\n const f = (c: CipherView) => c.organizationId === this.organization.id && (filter == null || filter(c));\n super.applyFilter(f);\n }\n }\n\n checkCipher(c: CipherView) {\n // do nothing\n }\n\n events(c: CipherView) {\n this.onEventsClicked.emit(c);\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from '../../vault/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-groupings',\r\n templateUrl: '../../vault/groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n organization: Organization;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService,\r\n private apiService: ApiService, private i18nService: I18nService) {\r\n super(collectionService, folderService);\r\n }\r\n\r\n async loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n await super.loadCollections(this.organization.id);\r\n return;\r\n }\r\n const collections = await this.apiService.getCollections(this.organization.id);\r\n if (collections != null && collections.data != null && collections.data.length) {\r\n const collectionDomains = collections.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collectionDomains);\r\n } else {\r\n this.collections = [];\r\n }\r\n\r\n const unassignedCollection = new CollectionView();\r\n unassignedCollection.name = this.i18nService.t('unassigned');\r\n unassignedCollection.id = 'unassigned';\r\n unassignedCollection.organizationId = this.organization.id;\r\n unassignedCollection.readOnly = true;\r\n this.collections.push(unassignedCollection);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\n@Component({\r\n selector: 'app-organization-layout',\r\n templateUrl: 'organization-layout.component.html',\r\n})\r\nexport class OrganizationLayoutComponent implements OnInit {\r\n organization: Organization;\r\n\r\n private organizationId: string;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n this.route.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n this.organization = await this.userService.getOrganization(this.organizationId);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { AuditService } from 'jslib/abstractions/audit.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\nimport { BreachAccountResponse } from 'jslib/models/response/breachAccountResponse';\r\n\r\n@Component({\r\n selector: 'app-breach-report',\r\n templateUrl: 'breach-report.component.html',\r\n})\r\nexport class BreachReportComponent implements OnInit {\r\n error = false;\r\n username: string;\r\n checkedUsername: string;\r\n breachedAccounts: BreachAccountResponse[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private auditService: AuditService, private userService: UserService) { }\r\n\r\n async ngOnInit() {\r\n this.username = await this.userService.getEmail();\r\n }\r\n\r\n async submit() {\r\n this.error = false;\r\n this.username = this.username.toLowerCase();\r\n try {\r\n this.formPromise = this.auditService.breachedAccounts(this.username);\r\n this.breachedAccounts = await this.formPromise;\r\n } catch {\r\n this.error = true;\r\n }\r\n this.checkedUsername = this.username;\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorComponent as BasePasswordGeneratorComponent,\r\n} from 'jslib/angular/components/password-generator.component';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { PasswordGeneratorHistoryComponent } from './password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator',\r\n templateUrl: 'password-generator.component.html',\r\n})\r\nexport class PasswordGeneratorComponent extends BasePasswordGeneratorComponent {\r\n @ViewChild('historyTemplate', { read: ViewContainerRef }) historyModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2,\r\n platformUtilsService: PlatformUtilsService, i18nService: I18nService,\r\n toasterService: ToasterService, private componentFactoryResolver: ComponentFactoryResolver) {\r\n super(passwordGenerationService, analytics, platformUtilsService, i18nService, toasterService, window);\r\n }\r\n\r\n history() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.historyModalRef.createComponent(factory).instance;\r\n this.modal.show(PasswordGeneratorHistoryComponent, this.historyModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent { }\r\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { PaymentComponent } from './payment.component';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { OrganizationCreateRequest } from 'jslib/models/request/organizationCreateRequest';\n\n@Component({\n selector: 'app-create-organization',\n templateUrl: 'create-organization.component.html',\n})\nexport class CreateOrganizationComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n ownedBusiness = false;\n storageGbPriceMonthly = 0.33;\n additionalStorage = 0;\n additionalSeats = 0;\n plan = 'free';\n interval = 'year';\n name: string;\n billingEmail: string;\n businessName: string;\n\n storageGb: any = {\n price: 0.33,\n monthlyPrice: 0.50,\n yearlyPrice: 4,\n };\n\n plans: any = {\n free: {\n basePrice: 0,\n noAdditionalSeats: true,\n noPayment: true,\n },\n families: {\n basePrice: 1,\n annualBasePrice: 12,\n baseSeats: 5,\n noAdditionalSeats: true,\n annualPlanType: PlanType.FamiliesAnnually,\n },\n teams: {\n basePrice: 5,\n annualBasePrice: 60,\n monthlyBasePrice: 8,\n baseSeats: 5,\n seatPrice: 2,\n annualSeatPrice: 24,\n monthlySeatPrice: 2.5,\n monthPlanType: PlanType.TeamsMonthly,\n annualPlanType: PlanType.TeamsAnnually,\n },\n enterprise: {\n seatPrice: 3,\n annualSeatPrice: 36,\n monthlySeatPrice: 4,\n monthPlanType: PlanType.EnterpriseMonthly,\n annualPlanType: PlanType.EnterpriseAnnually,\n },\n };\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private router: Router, private syncService: SyncService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.plan === 'families' || qParams.plan === 'teams' || qParams.plan === 'enterprise') {\n this.plan = qParams.plan;\n }\n });\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n let key: string = null;\n let collectionCt: string = null;\n\n try {\n this.formPromise = this.cryptoService.makeShareKey().then((shareKey) => {\n key = shareKey[0].encryptedString;\n return this.cryptoService.encrypt(this.i18nService.t('defaultCollection'), shareKey[1]);\n }).then((collection) => {\n collectionCt = collection.encryptedString;\n if (this.selfHosted || this.plan === 'free') {\n return null;\n } else {\n return this.paymentComponent.createPaymentToken();\n }\n }).then((token: string) => {\n if (this.selfHosted) {\n const fd = new FormData();\n fd.append('license', files[0]);\n fd.append('key', key);\n fd.append('collectionName', collectionCt);\n return this.apiService.postOrganizationLicense(fd);\n } else {\n const request = new OrganizationCreateRequest();\n request.key = key;\n request.collectionName = collectionCt;\n request.name = this.name;\n request.billingEmail = this.billingEmail;\n\n if (this.plan === 'free') {\n request.planType = PlanType.Free;\n } else {\n request.paymentToken = token;\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.country = this.paymentComponent.getCountry();\n if (this.interval === 'month') {\n request.planType = this.plans[this.plan].monthPlanType;\n } else {\n request.planType = this.plans[this.plan].annualPlanType;\n }\n }\n return this.apiService.postOrganization(request);\n }\n }).then((response) => {\n return this.finalize(response.id);\n });\n await this.formPromise;\n } catch { }\n }\n\n async finalize(orgId: string) {\n await Promise.all([\n this.apiService.refreshIdentityToken(),\n this.syncService.fullSync(true),\n ]);\n this.analytics.eventTrack.next({ action: 'Created Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationCreated'),\n this.i18nService.t('organizationReadyToGo'));\n this.router.navigate(['/organizations/' + orgId]);\n }\n\n changedPlan() {\n if (this.plans[this.plan].monthPlanType == null) {\n this.interval = 'year';\n }\n\n if (this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 0;\n } else if (!this.additionalSeats && !this.plans[this.plan].baseSeats &&\n !this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 1;\n }\n }\n\n changedOwnedBusiness() {\n if (!this.ownedBusiness || this.plan === 'teams' || this.plan === 'enterprise') {\n return;\n }\n this.plan = 'teams';\n }\n\n additionalStorageTotal(annual: boolean): number {\n if (annual) {\n return (this.additionalStorage || 0) * this.storageGb.yearlyPrice;\n } else {\n return (this.additionalStorage || 0) * this.storageGb.monthlyPrice;\n }\n }\n\n seatTotal(annual: boolean): number {\n if (this.plans[this.plan].noAdditionalSeats) {\n return 0;\n }\n\n if (annual) {\n return this.plans[this.plan].annualSeatPrice * (this.additionalSeats || 0);\n } else {\n return this.plans[this.plan].monthlySeatPrice * (this.additionalSeats || 0);\n }\n }\n\n baseTotal(annual: boolean): number {\n if (annual) {\n return (this.plans[this.plan].annualBasePrice || 0);\n } else {\n return (this.plans[this.plan].monthlyBasePrice || 0);\n }\n }\n\n get total(): number {\n const annual = this.interval === 'year';\n return this.baseTotal(annual) + this.seatTotal(annual) + this.additionalStorageTotal(annual);\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { BillingResponse } from 'jslib/models/response/billingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\n@Component({\n selector: 'app-user-billing',\n templateUrl: 'user-billing.component.html',\n})\nexport class UserBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showAdjustPayment = false;\n showUpdateLicense = false;\n billing: BillingResponse;\n paymentMethodType = PaymentMethodType;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n await this.load();\n this.firstLoaded = true;\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n\n const premium = this.tokenService.getPremium();\n if (premium) {\n this.loading = true;\n this.billing = await this.apiService.getUserBilling();\n } else {\n this.router.navigate(['/settings/premium']);\n return;\n }\n\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postReinstatePremium();\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postCancelPremium();\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const licenseString = JSON.stringify(this.billing.license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_premium_license.json');\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.billing != null ? this.billing.subscription : null;\n }\n\n get nextInvoice() {\n return this.billing != null ? this.billing.upcomingInvoice : null;\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get charges() {\n return this.billing != null ? this.billing.charges : null;\n }\n\n get storagePercentage() {\n return this.billing != null && this.billing.maxStorageGb ?\n +(100 * (this.billing.storageGb / this.billing.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n}\n","export enum PaymentMethodType {\n Card = 0,\n BankAccount = 1,\n PayPal = 2,\n Bitcoin = 3,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PaymentRequest } from 'jslib/models/request/paymentRequest';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-adjust-payment',\n templateUrl: 'adjust-payment.component.html',\n})\nexport class AdjustPaymentComponent {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n @Input() currentType?: PaymentMethodType;\n @Input() organizationId: string;\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n paymentMethodType = PaymentMethodType;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new PaymentRequest();\n this.formPromise = this.paymentComponent.createPaymentToken().then((token) => {\n request.paymentToken = token;\n if (this.organizationId == null) {\n return this.apiService.postAccountPayment(request);\n } else {\n return this.apiService.postOrganizationPayment(this.organizationId, request);\n }\n });\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.currentType == null ? 'Added Payment Method' : 'Changed Payment Method',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedPaymentMethod'));\n this.onAdjusted.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get canChange() {\n return this.currentType == null || this.currentType === PaymentMethodType.Card || this.organizationId != null;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { StorageRequest } from 'jslib/models/request/storageRequest';\n\n@Component({\n selector: 'app-adjust-storage',\n templateUrl: 'adjust-storage.component.html',\n})\nexport class AdjustStorageComponent {\n @Input() storageGbPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n storageAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new StorageRequest();\n request.storageGbAdjustment = this.storageAdjustment;\n if (!this.add) {\n request.storageGbAdjustment *= -1;\n }\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountStorage(request);\n } else {\n this.formPromise = this.apiService.postOrganizationStorage(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Storage' : 'Removed Storage' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedStorage', request.storageGbAdjustment.toString()));\n this.onAdjusted.emit(this.storageAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedStorageTotal(): number {\n return this.storageGbPrice * this.storageAdjustment;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-update-license',\n templateUrl: 'update-license.component.html',\n})\nexport class UpdateLicenseComponent {\n @Input() organizationId: string;\n @Output() onUpdated = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n try {\n const fd = new FormData();\n fd.append('license', files[0]);\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountLicense(fd);\n } else {\n this.formPromise = this.apiService.postOrganizationLicenseUpdate(this.organizationId, fd);\n }\n\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated License' });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedLicense'));\n this.onUpdated.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-premium',\n templateUrl: 'premium.component.html',\n})\nexport class PremiumComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n premiumPrice = 10;\n storageGbPrice = 4;\n additionalStorage = 0;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private tokenService: TokenService,\n private router: Router, private messagingService: MessagingService,\n private syncService: SyncService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n const premium = await this.tokenService.getPremium();\n if (premium) {\n this.router.navigate(['/settings/billing']);\n return;\n }\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n try {\n if (this.selfHosted) {\n if (!this.tokenService.getEmailVerified()) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verifyEmailFirst'));\n return;\n }\n\n const fd = new FormData();\n fd.append('license', files[0]);\n this.formPromise = this.apiService.postAccountLicense(fd).then(() => {\n return this.finalizePremium();\n });\n } else {\n this.formPromise = this.paymentComponent.createPaymentToken().then((token) => {\n const fd = new FormData();\n fd.append('paymentToken', token);\n fd.append('additionalStorageGb', (this.additionalStorage || 0).toString());\n return this.apiService.postPremium(fd);\n }).then(() => {\n return this.finalizePremium();\n });\n }\n await this.formPromise;\n } catch { }\n }\n\n async finalizePremium() {\n await Promise.all([\n this.apiService.refreshIdentityToken(),\n this.syncService.fullSync(true),\n ]);\n this.analytics.eventTrack.next({ action: 'Signed Up Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('premiumUpdated'));\n this.messagingService.send('purchasedPremium');\n this.router.navigate(['/settings/billing']);\n }\n\n get additionalStorageTotal(): number {\n return this.storageGbPrice * this.additionalStorage;\n }\n\n get total(): number {\n return this.additionalStorageTotal + this.premiumPrice;\n }\n}\n","
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \"Visa,\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n {{'paypalClickSubmit' | i18n}}\n
\n
\n\n \n {{'verifyBankAccountInitialDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorDuoRequest } from 'jslib/models/request/updateTwoFactorDuoRequest';\nimport { TwoFactorDuoResponse } from 'jslib/models/response/twoFactorDuoResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-duo',\n templateUrl: 'two-factor-duo.component.html',\n})\nexport class TwoFactorDuoComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Duo;\n ikey: string;\n skey: string;\n host: string;\n formPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorDuoRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.integrationKey = this.ikey;\n request.secretKey = this.skey;\n request.host = this.host;\n\n return super.enable(async () => {\n if (this.organizationId != null) {\n this.formPromise = this.apiService.putTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.putTwoFactorDuo(request);\n }\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private processResponse(response: TwoFactorDuoResponse) {\n this.ikey = response.integrationKey;\n this.skey = response.secretKey;\n this.host = response.host;\n this.enabled = response.enabled;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { UpdateDomainsRequest } from 'jslib/models/request/updateDomainsRequest';\n\n@Component({\n selector: 'app-domain-rules',\n templateUrl: 'domain-rules.component.html',\n})\nexport class DomainRulesComponent implements OnInit {\n loading = true;\n custom: string[] = [];\n global: any[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const response = await this.apiService.getSettingsDomains();\n this.loading = false;\n if (response.equivalentDomains != null) {\n this.custom = response.equivalentDomains.map((d) => d.join(', '));\n }\n if (response.globalEquivalentDomains != null) {\n this.global = response.globalEquivalentDomains.map((d) => {\n return {\n domains: d.domains.join(', '),\n excluded: d.excluded,\n key: d.type,\n };\n });\n }\n }\n\n toggleExcluded(globalDomain: any) {\n globalDomain.excluded = !globalDomain.excluded;\n }\n\n customize(globalDomain: any) {\n globalDomain.excluded = true;\n this.custom.push(globalDomain.domains);\n }\n\n remove(index: number) {\n this.custom.splice(index, 1);\n }\n\n add() {\n this.custom.push('');\n }\n\n async submit() {\n const request = new UpdateDomainsRequest();\n request.excludedGlobalEquivalentDomains = this.global.filter((d) => d.excluded)\n .map((d) => d.key);\n if (request.excludedGlobalEquivalentDomains.length === 0) {\n request.excludedGlobalEquivalentDomains = null;\n }\n request.equivalentDomains = this.custom.filter((d) => d != null && d.trim() !== '')\n .map((d) => d.split(',').map((d2) => d2.trim()));\n if (request.equivalentDomains.length === 0) {\n request.equivalentDomains = null;\n }\n\n try {\n this.formPromise = this.apiService.putSettingsDomains(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Saved Equivalent Domains' });\n this.toasterService.popAsync('success', null, this.i18nService.t('domainsUpdated'));\n } catch { }\n }\n\n indexTrackBy(index: number, obj: any): any {\n return index;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-options',\n templateUrl: 'options.component.html',\n})\nexport class OptionsComponent implements OnInit {\n disableIcons: boolean;\n locale: string;\n localeOptions: any[];\n\n private startingLocale: string;\n\n constructor(private storageService: StorageService, private stateService: StateService,\n private analytics: Angulartics2, private i18nService: I18nService,\n private toasterService: ToasterService) {\n const localeOptions: any[] = [];\n i18nService.supportedTranslationLocales.forEach((locale) => {\n localeOptions.push({ name: locale, value: locale });\n });\n localeOptions.sort(Utils.getSortFunction(i18nService, 'name'));\n localeOptions.splice(0, 0, { name: i18nService.t('default'), value: null });\n this.localeOptions = localeOptions;\n }\n\n async ngOnInit() {\n this.disableIcons = await this.storageService.get(ConstantsService.disableFaviconKey);\n this.locale = this.startingLocale = await this.storageService.get(ConstantsService.localeKey);\n }\n\n async submit() {\n await this.storageService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.stateService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.storageService.save(ConstantsService.localeKey, this.locale);\n this.analytics.eventTrack.next({ action: 'Saved Options' });\n if (this.locale !== this.startingLocale) {\n window.location.reload();\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('optionsUpdated'));\n }\n }\n}\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { DeauthorizeSessionsComponent } from './deauthorize-sessions.component';\r\nimport { DeleteAccountComponent } from './delete-account.component';\r\nimport { PurgeVaultComponent } from './purge-vault.component';\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: 'account.component.html',\r\n})\r\nexport class AccountComponent {\r\n @ViewChild('deauthorizeSessionsTemplate', { read: ViewContainerRef }) deauthModalRef: ViewContainerRef;\r\n @ViewChild('purgeVaultTemplate', { read: ViewContainerRef }) purgeModalRef: ViewContainerRef;\r\n @ViewChild('deleteAccountTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n deauthorizeSessions() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deauthModalRef.createComponent(factory).instance;\r\n this.modal.show(DeauthorizeSessionsComponent, this.deauthModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n purgeVault() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.purgeModalRef.createComponent(factory).instance;\r\n this.modal.show(PurgeVaultComponent, this.purgeModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n deleteAccount() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deleteModalRef.createComponent(factory).instance;\r\n this.modal.show(DeleteAccountComponent, this.deleteModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nconst BroadcasterSubscriptionId = 'SettingsComponent';\r\n\r\n@Component({\r\n selector: 'app-settings',\r\n templateUrl: 'settings.component.html',\r\n})\r\nexport class SettingsComponent implements OnInit, OnDestroy {\r\n premium: boolean;\r\n\r\n constructor(private tokenService: TokenService, private broadcasterService: BroadcasterService,\r\n private ngZone: NgZone) { }\r\n\r\n async ngOnInit() {\r\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\r\n this.ngZone.run(async () => {\r\n switch (message.command) {\r\n case 'purchasedPremium':\r\n await this.load();\r\n break;\r\n default:\r\n }\r\n });\r\n });\r\n\r\n await this.load();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\r\n }\r\n\r\n async load() {\r\n this.premium = await this.tokenService.getPremium();\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\n\r\n@Component({\r\n selector: 'app-vault-collections',\r\n templateUrl: 'collections.component.html',\r\n})\r\nexport class CollectionsComponent implements OnInit, OnDestroy {\r\n @Input() cipherId: string;\r\n @Output() onSavedCollections = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n cipher: CipherView;\r\n collectionIds: string[];\r\n collections: CollectionView[] = [];\r\n\r\n protected cipherDomain: Cipher;\r\n\r\n constructor(protected collectionService: CollectionService, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected cipherService: CipherService) { }\r\n\r\n async ngOnInit() {\r\n this.cipherDomain = await this.loadCipher();\r\n this.collectionIds = this.loadCipherCollections();\r\n this.cipher = await this.cipherDomain.decrypt();\r\n this.collections = await this.loadCollections();\r\n\r\n this.selectAll(false);\r\n if (this.collectionIds != null) {\r\n this.collections.forEach((c) => {\r\n (c as any).checked = this.collectionIds.indexOf(c.id) > -1;\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.selectAll(false);\r\n }\r\n\r\n async submit() {\r\n this.cipherDomain.collectionIds = this.collections\r\n .filter((c) => !!(c as any).checked)\r\n .map((c) => c.id);\r\n this.formPromise = this.saveCollections();\r\n await this.formPromise;\r\n this.onSavedCollections.emit();\r\n this.analytics.eventTrack.next({ action: 'Edited Cipher Collections' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('editedItem'));\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n protected loadCipher() {\r\n return this.cipherService.get(this.cipherId);\r\n }\r\n\r\n protected loadCipherCollections() {\r\n return this.cipherDomain.collectionIds;\r\n }\r\n\r\n protected async loadCollections() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n return allCollections.filter((c) => !c.readOnly && c.organizationId === this.cipher.organizationId);\r\n }\r\n\r\n protected saveCollections() {\r\n return this.cipherService.saveCollectionsWithServer(this.cipherDomain);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-vault-attachments',\r\n templateUrl: 'attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n constructor(cipherService: CipherService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cryptoService: CryptoService, tokenService: TokenService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(cipherService, analytics, toasterService, i18nService, cryptoService, tokenService,\r\n platformUtilsService, window);\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\n\nimport { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/add-edit.component';\nimport { LoginUriView } from 'jslib/models/view/loginUriView';\n\n@Component({\n selector: 'app-vault-add-edit',\n templateUrl: 'add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent implements OnInit {\n isPremium: boolean;\n totpCode: string;\n totpCodeFormatted: string;\n totpDash: number;\n totpSec: number;\n totpLow: boolean;\n\n protected totpInterval: number;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n analytics: Angulartics2, toasterService: ToasterService,\n auditService: AuditService, stateService: StateService,\n protected tokenService: TokenService, protected totpService: TotpService,\n protected passwordGenerationService: PasswordGenerationService, protected messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, analytics,\n toasterService, auditService, stateService);\n }\n\n async ngOnInit() {\n await super.load();\n this.cleanUp();\n\n this.isPremium = this.tokenService.getPremium();\n if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&\n (this.cipher.organizationUseTotp || this.isPremium)) {\n await this.totpUpdateCode();\n await this.totpTick();\n\n this.totpInterval = window.setInterval(async () => {\n await this.totpTick();\n }, 1000);\n }\n }\n\n toggleFavorite() {\n this.cipher.favorite = !this.cipher.favorite;\n }\n\n launch(uri: LoginUriView) {\n if (!uri.canLaunch) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Launched Login URI' });\n this.platformUtilsService.launchUri(uri.uri);\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType });\n this.platformUtilsService.copyToClipboard(value, { doc: window.document });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n }\n\n async generatePassword(): Promise {\n const confirmed = await super.generatePassword();\n if (confirmed) {\n const options = await this.passwordGenerationService.getOptions();\n this.cipher.login.password = await this.passwordGenerationService.generatePassword(options);\n }\n return confirmed;\n }\n\n async premiumRequired() {\n const premium = await this.tokenService.getPremium();\n if (!premium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n async upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.cipher.organizationId });\n }\n\n protected cleanUp() {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n\n protected async totpUpdateCode() {\n if (this.cipher == null || this.cipher.type !== CipherType.Login || this.cipher.login.totp == null) {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n return;\n }\n\n this.totpCode = await this.totpService.getCode(this.cipher.login.totp);\n if (this.totpCode != null) {\n this.totpCodeFormatted = this.totpCode.substring(0, 3) + ' ' + this.totpCode.substring(3);\n } else {\n this.totpCodeFormatted = null;\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n }\n\n protected async totpTick() {\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const mod = epoch % 30;\n\n this.totpSec = 30 - mod;\n this.totpDash = +(Math.round(((2.62 * mod) + 'e+2') as any) + 'e-2');\n this.totpLow = this.totpSec <= 7;\n if (mod === 0) {\n await this.totpUpdateCode();\n }\n }\n}\n","import { Folder } from '../domain/folder';\r\n\r\nexport class FolderRequest {\r\n name: string;\r\n\r\n constructor(folder: Folder) {\r\n this.name = folder.name ? folder.name.encryptedString : null;\r\n }\r\n}\r\n","import { Location } from '@angular/common';\nimport {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { OrganizationsComponent } from '../settings/organizations.component';\nimport { UpdateKeyComponent } from '../settings/update-key.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { BulkDeleteComponent } from './bulk-delete.component';\nimport { BulkMoveComponent } from './bulk-move.component';\nimport { BulkShareComponent } from './bulk-share.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { FolderAddEditComponent } from './folder-add-edit.component';\nimport { GroupingsComponent } from './groupings.component';\nimport { ShareComponent } from './share.component';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild(OrganizationsComponent) organizationsComponent: OrganizationsComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('folderAddEdit', { read: ViewContainerRef }) folderAddEditModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('share', { read: ViewContainerRef }) shareModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('bulkDeleteTemplate', { read: ViewContainerRef }) bulkDeleteModalRef: ViewContainerRef;\n @ViewChild('bulkMoveTemplate', { read: ViewContainerRef }) bulkMoveModalRef: ViewContainerRef;\n @ViewChild('bulkShareTemplate', { read: ViewContainerRef }) bulkShareModalRef: ViewContainerRef;\n @ViewChild('updateKeyTemplate', { read: ViewContainerRef }) updateKeyModalRef: ViewContainerRef;\n\n favorites: boolean = false;\n type: CipherType = null;\n folderId: string = null;\n collectionId: string = null;\n showVerifyEmail = false;\n showBrowserOutdated = false;\n showUpdateKey = false;\n showPremiumCallout = false;\n\n private modal: ModalComponent = null;\n\n constructor(private syncService: SyncService, private route: ActivatedRoute,\n private router: Router, private location: Location,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private tokenService: TokenService, private cryptoService: CryptoService,\n private messagingService: MessagingService, private userService: UserService,\n private platformUtilsService: PlatformUtilsService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n this.showVerifyEmail = !(await this.tokenService.getEmailVerified());\n this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;\n const hasEncKey = await this.cryptoService.hasEncKey();\n this.showUpdateKey = !hasEncKey;\n const isPremium = await this.tokenService.getPremium();\n\n this.route.queryParams.subscribe(async (params) => {\n await this.syncService.fullSync(false);\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n ]);\n\n this.showPremiumCallout = !this.showVerifyEmail && !isPremium &&\n !this.platformUtilsService.isSelfHost() && !(await this.inOrgWithPremium());\n\n if (params == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n return;\n }\n\n if (params.favorites) {\n this.groupingsComponent.selectedFavorites = true;\n await this.filterFavorites();\n } else if (params.type) {\n const t = parseInt(params.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t);\n } else if (params.folderId) {\n this.groupingsComponent.selectedFolder = true;\n this.groupingsComponent.selectedFolderId = params.folderId;\n await this.filterFolder(params.folderId);\n } else if (params.collectionId) {\n this.groupingsComponent.selectedCollectionId = params.collectionId;\n await this.filterCollection(params.collectionId);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n });\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.load();\n this.clearFilters();\n this.go();\n }\n\n async filterFavorites() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFavorites');\n await this.ciphersComponent.load((c) => c.favorite);\n this.clearFilters();\n this.favorites = true;\n this.go();\n }\n\n async filterCipherType(type: CipherType) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n await this.ciphersComponent.load((c) => c.type === type);\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterFolder(folderId: string) {\n this.ciphersComponent.showAddNew = true;\n folderId = folderId === 'none' ? null : folderId;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFolder');\n await this.ciphersComponent.load((c) => c.folderId === folderId);\n this.clearFilters();\n this.folderId = folderId == null ? 'none' : folderId;\n this.go();\n }\n\n async filterCollection(collectionId: string) {\n this.ciphersComponent.showAddNew = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n await this.ciphersComponent.load((c) => c.collectionIds.indexOf(collectionId) > -1);\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n }\n\n async editCipherAttachments(cipher: CipherView) {\n const premium = await this.tokenService.getPremium();\n if (cipher.organizationId == null && !premium) {\n this.messagingService.send('premiumRequired');\n return;\n } else if (cipher.organizationId != null) {\n const org = await this.userService.getOrganization(cipher.organizationId);\n if (org != null && (org.maxStorageGb == null || org.maxStorageGb === 0)) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n shareCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.shareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ShareComponent, this.shareModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSharedCipher.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async addFolder() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = null;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async editFolder(folderId: string) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = folderId;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n childComponent.onDeletedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n await this.filterFolder('none');\n this.groupingsComponent.selectedFolderId = null;\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n component.folderId = this.folderId === 'none' ? null : this.folderId;\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n bulkDelete() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkDeleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkDeleteComponent, this.bulkDeleteModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onDeleted.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n bulkShare() {\n const selectedCiphers = this.ciphersComponent.getSelected();\n if (selectedCiphers.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkShareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkShareComponent, this.bulkShareModalRef);\n\n childComponent.ciphers = selectedCiphers;\n childComponent.onShared.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n bulkMove() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkMoveModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkMoveComponent, this.bulkMoveModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onMoved.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n selectAll(select: boolean) {\n this.ciphersComponent.selectAll(select);\n }\n\n updateKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.updateKeyModalRef.createComponent(factory).instance;\n this.modal.show(UpdateKeyComponent, this.updateKeyModalRef);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.folderId = null;\n this.collectionId = null;\n this.favorites = false;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n favorites: this.favorites ? true : null,\n type: this.type,\n folderId: this.folderId,\n collectionId: this.collectionId,\n };\n }\n\n const url = this.router.createUrlTree(['vault'], { queryParams: queryParams }).toString();\n this.location.go(url);\n }\n\n private async inOrgWithPremium() {\n const orgs = await this.userService.getAllOrganizations();\n for (let i = 0; i < orgs.length; i++) {\n if (orgs[i].usersGetPremium) {\n return true;\n }\n }\n return false;\n }\n}\n","export enum UriMatchType {\r\n Domain = 0,\r\n Host = 1,\r\n StartsWith = 2,\r\n Exact = 3,\r\n RegularExpression = 4,\r\n Never = 5,\r\n}\r\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\n@Component({\n selector: 'app-vault-icon',\n templateUrl: 'icon.component.html',\n})\nexport class IconComponent implements OnChanges {\n @Input() cipher: any;\n icon: string;\n image: string;\n fallbackImage: string;\n imageEnabled: boolean;\n\n private iconsUrl: string;\n\n constructor(private environmentService: EnvironmentService, private stateService: StateService) {\n this.iconsUrl = environmentService.iconsUrl;\n if (!this.iconsUrl) {\n if (environmentService.baseUrl) {\n this.iconsUrl = environmentService.baseUrl + '/icons';\n } else {\n this.iconsUrl = 'https://icons.bitwarden.net';\n }\n }\n }\n\n async ngOnChanges() {\n this.imageEnabled = !(await this.stateService.get(ConstantsService.disableFaviconKey));\n\n switch (this.cipher.type) {\n case CipherType.Login:\n this.icon = 'fa-globe';\n this.setLoginIcon();\n break;\n case CipherType.SecureNote:\n this.icon = 'fa-sticky-note-o';\n break;\n case CipherType.Card:\n this.icon = 'fa-credit-card';\n break;\n case CipherType.Identity:\n this.icon = 'fa-id-card-o';\n break;\n default:\n break;\n }\n }\n\n private setLoginIcon() {\n if (this.cipher.login.uri) {\n let hostnameUri = this.cipher.login.uri;\n let isWebsite = false;\n\n if (hostnameUri.indexOf('androidapp://') === 0) {\n this.icon = 'fa-android';\n this.image = null;\n } else if (hostnameUri.indexOf('iosapp://') === 0) {\n this.icon = 'fa-apple';\n this.image = null;\n } else if (this.imageEnabled && hostnameUri.indexOf('://') === -1 && hostnameUri.indexOf('.') > -1) {\n hostnameUri = 'http://' + hostnameUri;\n isWebsite = true;\n } else if (this.imageEnabled) {\n isWebsite = hostnameUri.indexOf('http') === 0 && hostnameUri.indexOf('.') > -1;\n }\n\n if (this.imageEnabled && isWebsite) {\n try {\n this.image = this.iconsUrl + '/' + Utils.getHostname(hostnameUri) + '/icon.png';\n this.fallbackImage = 'images/fa-globe.png';\n } catch (e) { }\n }\n } else {\n this.image = null;\n }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user-layout',\r\n templateUrl: 'user-layout.component.html',\r\n})\r\nexport class UserLayoutComponent implements OnInit {\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: 'footer.component.html',\n})\nexport class FooterComponent implements OnInit {\n version: string;\n year: string = '2015';\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.year = new Date().getFullYear().toString();\n this.version = this.platformUtilsService.getApplicationVersion();\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: 'navbar.component.html',\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n selfHosted = false;\r\n name: string;\r\n\r\n constructor(private messagingService: MessagingService, private platformUtilsService: PlatformUtilsService,\r\n private tokenService: TokenService) {\r\n this.selfHosted = this.platformUtilsService.isSelfHost();\r\n }\r\n\r\n async ngOnInit() {\r\n this.name = await this.tokenService.getName();\r\n if (this.name == null || this.name.trim() === '') {\r\n this.name = await this.tokenService.getEmail();\r\n }\r\n }\r\n\r\n lock() {\r\n this.messagingService.send('lockVault');\r\n }\r\n\r\n logOut() {\r\n this.messagingService.send('logout');\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { VerifyDeleteRecoverRequest } from 'jslib/models/request/verifyDeleteRecoverRequest';\n\n@Component({\n selector: 'app-verify-recover-delete',\n templateUrl: 'verify-recover-delete.component.html',\n})\nexport class VerifyRecoverDeleteComponent implements OnInit {\n email: string;\n formPromise: Promise;\n\n private userId: string;\n private token: string;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute) {\n }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null && qParams.email != null) {\n this.userId = qParams.userId;\n this.token = qParams.token;\n this.email = qParams.email;\n } else {\n this.router.navigate(['/']);\n }\n });\n }\n\n async submit() {\n try {\n const request = new VerifyDeleteRecoverRequest(this.userId, this.token);\n this.formPromise = this.apiService.postAccountRecoverDeleteToken(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered Delete' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeleteRecoverRequest } from 'jslib/models/request/deleteRecoverRequest';\n\n@Component({\n selector: 'app-recover-delete',\n templateUrl: 'recover-delete.component.html',\n})\nexport class RecoverDeleteComponent {\n email: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService) {\n }\n\n async submit() {\n try {\n const request = new DeleteRecoverRequest();\n request.email = this.email.toLowerCase();\n this.formPromise = this.apiService.postAccountRecoverDelete(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Started Delete Recovery' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deleteRecoverEmailSent'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoveryRequest } from 'jslib/models/request/twoFactorRecoveryRequest';\n\n@Component({\n selector: 'app-recover-two-factor',\n templateUrl: 'recover-two-factor.component.html',\n})\nexport class RecoverTwoFactorComponent {\n email: string;\n masterPassword: string;\n recoveryCode: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private cryptoService: CryptoService) {\n }\n\n async submit() {\n try {\n const request = new TwoFactorRecoveryRequest();\n request.recoveryCode = this.recoveryCode.replace(/\\s/g, '').toLowerCase();\n request.email = this.email.toLowerCase();\n const key = await this.cryptoService.makeKey(this.masterPassword, request.email);\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n this.formPromise = this.apiService.postTwoFactorRecover(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered 2FA' });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepRecoverDisabled'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserAcceptRequest } from 'jslib/models/request/organizationUserAcceptRequest';\n\n@Component({\n selector: 'app-accept-organization',\n templateUrl: 'accept-organization.component.html',\n})\nexport class AcceptOrganizationComponent implements OnInit {\n loading = true;\n authed = false;\n orgName: string;\n email: string;\n actionPromise: Promise;\n\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService,\n private stateService: StateService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n await this.stateService.remove('orgInvitation');\n let error = qParams.organizationId == null || qParams.organizationUserId == null || qParams.token == null;\n if (!error) {\n this.authed = await this.userService.isAuthenticated();\n if (this.authed) {\n const request = new OrganizationUserAcceptRequest();\n request.token = qParams.token;\n try {\n this.actionPromise = this.apiService.postOrganizationUserAccept(qParams.organizationId,\n qParams.organizationUserId, request);\n await this.actionPromise;\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('inviteAccepted'),\n body: this.i18nService.t('inviteAcceptedDesc'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/vault']);\n } catch {\n error = true;\n }\n } else {\n await this.stateService.save('orgInvitation', qParams);\n this.email = qParams.email;\n this.orgName = qParams.organizationName;\n if (this.orgName != null) {\n // Fix URL encoding of space issue with Angular\n this.orgName = this.orgName.replace(/\\+/g, ' ');\n }\n }\n }\n\n if (error) {\n this.toasterService.popAsync('error', null, this.i18nService.t('inviteAcceptFailed'));\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { VerifyEmailRequest } from 'jslib/models/request/verifyEmailRequest';\n\n@Component({\n selector: 'app-verify-email-token',\n templateUrl: 'verify-email-token.component.html',\n})\nexport class VerifyEmailTokenComponent implements OnInit {\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null) {\n try {\n await this.apiService.postAccountVerifyEmailToken(\n new VerifyEmailRequest(qParams.userId, qParams.token));\n const authed = await this.userService.isAuthenticated();\n if (authed) {\n await this.apiService.refreshIdentityToken();\n }\n this.toasterService.popAsync('success', null, this.i18nService.t('emailVerified'));\n this.router.navigate(['/']);\n return;\n } catch { }\n }\n this.toasterService.popAsync('error', null, this.i18nService.t('emailVerifiedFailed'));\n this.router.navigate(['/']);\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { RouterService } from '../services/router.service';\r\n\r\nimport { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component';\r\n\r\n@Component({\r\n selector: 'app-lock',\r\n templateUrl: 'lock.component.html',\r\n})\r\nexport class LockComponent extends BaseLockComponent implements OnInit {\r\n constructor(router: Router, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n platformUtilsService: PlatformUtilsService, messagingService: MessagingService,\r\n userService: UserService, cryptoService: CryptoService,\r\n private routerService: RouterService) {\r\n super(router, analytics, toasterService, i18nService, platformUtilsService,\r\n messagingService, userService, cryptoService);\r\n }\r\n\r\n async ngOnInit() {\r\n const authed = await this.userService.isAuthenticated();\r\n if (!authed) {\r\n this.router.navigate(['/']);\r\n } else if (await this.cryptoService.hasKey()) {\r\n this.router.navigate(['vault']);\r\n }\r\n\r\n const previousUrl = this.routerService.getPreviousUrl();\r\n if (previousUrl !== '/' && previousUrl.indexOf('lock') === -1) {\r\n this.successRoute = previousUrl;\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { HintComponent as BaseHintComponent } from 'jslib/angular/components/hint.component';\r\n\r\n@Component({\r\n selector: 'app-hint',\r\n templateUrl: 'hint.component.html',\r\n})\r\nexport class HintComponent extends BaseHintComponent {\r\n constructor(router: Router, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n apiService: ApiService) {\r\n super(router, analytics, toasterService, i18nService, apiService);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component';\n\n@Component({\n selector: 'app-register',\n templateUrl: 'register.component.html',\n})\nexport class RegisterComponent extends BaseRegisterComponent {\n showCreateOrgMessage = false;\n showTerms = true;\n\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, cryptoService: CryptoService,\n apiService: ApiService, private route: ActivatedRoute,\n stateService: StateService, platformUtilsService: PlatformUtilsService) {\n super(authService, router, analytics, toasterService, i18nService, cryptoService, apiService, stateService);\n this.showTerms = !platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n this.route.queryParams.subscribe((qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.showCreateOrgMessage = true;\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n });\n }\n}\n","/**\r\n * Duo Web SDK v2\r\n * Copyright 2017, Duo Security\r\n */\r\n(function (root, factory) {\r\n /*eslint-disable */\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define([], factory);\r\n /*eslint-enable */\r\n }\r\n else if (typeof module === 'object' && module.exports) {\r\n // Node. Does not work with strict CommonJS, but\r\n // only CommonJS-like environments that support module.exports,\r\n // like Node.\r\n module.exports = factory();\r\n }\r\n else {\r\n // Browser globals (root is window)\r\n var Duo = factory();\r\n // If the Javascript was loaded via a script tag, attempt to autoload\r\n // the frame.\r\n Duo._onReady(Duo.init);\r\n // Attach Duo to the `window` object\r\n root.Duo = Duo;\r\n }\r\n}(this, function () {\r\n var DUO_MESSAGE_FORMAT = /^(?:AUTH|ENROLL)+\\|[A-Za-z0-9\\+\\/=]+\\|[A-Za-z0-9\\+\\/=]+$/;\r\n var DUO_ERROR_FORMAT = /^ERR\\|[\\w\\s\\.\\(\\)]+$/;\r\n var DUO_OPEN_WINDOW_FORMAT = /^DUO_OPEN_WINDOW\\|/;\r\n var VALID_OPEN_WINDOW_DOMAINS = [\r\n 'duo.com',\r\n 'duosecurity.com',\r\n 'duomobile.s3-us-west-1.amazonaws.com'\r\n ];\r\n var iframeId = 'duo_iframe', postAction = '', postArgument = 'sig_response', host, sigRequest, duoSig, appSig, iframe, submitCallback;\r\n function throwError(message, url) {\r\n throw new Error('Duo Web SDK error: ' + message +\r\n (url ? ('\\n' + 'See ' + url + ' for more information') : ''));\r\n }\r\n function hyphenize(str) {\r\n return str.replace(/([a-z])([A-Z])/, '$1-$2').toLowerCase();\r\n }\r\n // cross-browser data attributes\r\n function getDataAttribute(element, name) {\r\n if ('dataset' in element) {\r\n return element.dataset[name];\r\n }\r\n else {\r\n return element.getAttribute('data-' + hyphenize(name));\r\n }\r\n }\r\n // cross-browser event binding/unbinding\r\n function on(context, event, fallbackEvent, callback) {\r\n if ('addEventListener' in window) {\r\n context.addEventListener(event, callback, false);\r\n }\r\n else {\r\n context.attachEvent(fallbackEvent, callback);\r\n }\r\n }\r\n function off(context, event, fallbackEvent, callback) {\r\n if ('removeEventListener' in window) {\r\n context.removeEventListener(event, callback, false);\r\n }\r\n else {\r\n context.detachEvent(fallbackEvent, callback);\r\n }\r\n }\r\n function onReady(callback) {\r\n on(document, 'DOMContentLoaded', 'onreadystatechange', callback);\r\n }\r\n function offReady(callback) {\r\n off(document, 'DOMContentLoaded', 'onreadystatechange', callback);\r\n }\r\n function onMessage(callback) {\r\n on(window, 'message', 'onmessage', callback);\r\n }\r\n function offMessage(callback) {\r\n off(window, 'message', 'onmessage', callback);\r\n }\r\n /**\r\n * Parse the sig_request parameter, throwing errors if the token contains\r\n * a server error or if the token is invalid.\r\n *\r\n * @param {String} sig Request token\r\n */\r\n function parseSigRequest(sig) {\r\n if (!sig) {\r\n // nothing to do\r\n return;\r\n }\r\n // see if the token contains an error, throwing it if it does\r\n if (sig.indexOf('ERR|') === 0) {\r\n throwError(sig.split('|')[1]);\r\n }\r\n // validate the token\r\n if (sig.indexOf(':') === -1 || sig.split(':').length !== 2) {\r\n throwError('Duo was given a bad token. This might indicate a configuration ' +\r\n 'problem with one of Duo\\'s client libraries.', 'https://www.duosecurity.com/docs/duoweb#first-steps');\r\n }\r\n var sigParts = sig.split(':');\r\n // hang on to the token, and the parsed duo and app sigs\r\n sigRequest = sig;\r\n duoSig = sigParts[0];\r\n appSig = sigParts[1];\r\n return {\r\n sigRequest: sig,\r\n duoSig: sigParts[0],\r\n appSig: sigParts[1]\r\n };\r\n }\r\n /**\r\n * This function is set up to run when the DOM is ready, if the iframe was\r\n * not available during `init`.\r\n */\r\n function onDOMReady() {\r\n iframe = document.getElementById(iframeId);\r\n if (!iframe) {\r\n throw new Error('This page does not contain an iframe for Duo to use.' +\r\n 'Add an element like ' +\r\n 'to this page. ' +\r\n 'See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe ' +\r\n 'for more information.');\r\n }\r\n // we've got an iframe, away we go!\r\n ready();\r\n // always clean up after yourself\r\n offReady(onDOMReady);\r\n }\r\n /**\r\n * Validate that a MessageEvent came from the Duo service, and that it\r\n * is a properly formatted payload.\r\n *\r\n * The Google Chrome sign-in page injects some JS into pages that also\r\n * make use of postMessage, so we need to do additional validation above\r\n * and beyond the origin.\r\n *\r\n * @param {MessageEvent} event Message received via postMessage\r\n */\r\n function isDuoMessage(event) {\r\n return Boolean(event.origin === ('https://' + host) &&\r\n typeof event.data === 'string' &&\r\n (event.data.match(DUO_MESSAGE_FORMAT) ||\r\n event.data.match(DUO_ERROR_FORMAT) ||\r\n event.data.match(DUO_OPEN_WINDOW_FORMAT)));\r\n }\r\n /**\r\n * Validate the request token and prepare for the iframe to become ready.\r\n *\r\n * All options below can be passed into an options hash to `Duo.init`, or\r\n * specified on the iframe using `data-` attributes.\r\n *\r\n * Options specified using the options hash will take precedence over\r\n * `data-` attributes.\r\n *\r\n * Example using options hash:\r\n * ```javascript\r\n * Duo.init({\r\n * iframe: \"some_other_id\",\r\n * host: \"api-main.duo.test\",\r\n * sig_request: \"...\",\r\n * post_action: \"/auth\",\r\n * post_argument: \"resp\"\r\n * });\r\n * ```\r\n *\r\n * Example using `data-` attributes:\r\n * ```\r\n * \r\n * ```\r\n *\r\n * @param {Object} options\r\n * @param {String} options.iframe The iframe, or id of an iframe to set up\r\n * @param {String} options.host Hostname\r\n * @param {String} options.sig_request Request token\r\n * @param {String} [options.post_action=''] URL to POST back to after successful auth\r\n * @param {String} [options.post_argument='sig_response'] Parameter name to use for response token\r\n * @param {Function} [options.submit_callback] If provided, duo will not submit the form instead execute\r\n * the callback function with reference to the \"duo_form\" form object\r\n * submit_callback can be used to prevent the webpage from reloading.\r\n */\r\n function init(options) {\r\n if (options) {\r\n if (options.host) {\r\n host = options.host;\r\n }\r\n if (options.sig_request) {\r\n parseSigRequest(options.sig_request);\r\n }\r\n if (options.post_action) {\r\n postAction = options.post_action;\r\n }\r\n if (options.post_argument) {\r\n postArgument = options.post_argument;\r\n }\r\n if (options.iframe) {\r\n if (options.iframe.tagName) {\r\n iframe = options.iframe;\r\n }\r\n else if (typeof options.iframe === 'string') {\r\n iframeId = options.iframe;\r\n }\r\n }\r\n if (typeof options.submit_callback === 'function') {\r\n submitCallback = options.submit_callback;\r\n }\r\n }\r\n // if we were given an iframe, no need to wait for the rest of the DOM\r\n if (false && iframe) {\r\n ready();\r\n }\r\n else {\r\n // try to find the iframe in the DOM\r\n iframe = document.getElementById(iframeId);\r\n // iframe is in the DOM, away we go!\r\n if (iframe) {\r\n ready();\r\n }\r\n else {\r\n // wait until the DOM is ready, then try again\r\n onReady(onDOMReady);\r\n }\r\n }\r\n // always clean up after yourself!\r\n offReady(init);\r\n }\r\n /**\r\n * This function is called when a message was received from another domain\r\n * using the `postMessage` API. Check that the event came from the Duo\r\n * service domain, and that the message is a properly formatted payload,\r\n * then perform the post back to the primary service.\r\n *\r\n * @param event Event object (contains origin and data)\r\n */\r\n function onReceivedMessage(event) {\r\n if (isDuoMessage(event)) {\r\n if (event.data.match(DUO_OPEN_WINDOW_FORMAT)) {\r\n var url = event.data.substring(\"DUO_OPEN_WINDOW|\".length);\r\n if (isValidUrlToOpen(url)) {\r\n // Open the URL that comes after the DUO_WINDOW_OPEN token.\r\n window.open(url, \"_self\");\r\n }\r\n }\r\n else {\r\n // the event came from duo, do the post back\r\n doPostBack(event.data);\r\n // always clean up after yourself!\r\n offMessage(onReceivedMessage);\r\n }\r\n }\r\n }\r\n /**\r\n * Validate that this passed in URL is one that we will actually allow to\r\n * be opened.\r\n * @param url String URL that the message poster wants to open\r\n * @returns {boolean} true if we allow this url to be opened in the window\r\n */\r\n function isValidUrlToOpen(url) {\r\n if (!url) {\r\n return false;\r\n }\r\n var parser = document.createElement('a');\r\n parser.href = url;\r\n if (parser.protocol === \"duotrustedendpoints:\") {\r\n return true;\r\n }\r\n else if (parser.protocol !== \"https:\") {\r\n return false;\r\n }\r\n for (var i = 0; i < VALID_OPEN_WINDOW_DOMAINS.length; i++) {\r\n if (parser.hostname.endsWith(\".\" + VALID_OPEN_WINDOW_DOMAINS[i]) ||\r\n parser.hostname === VALID_OPEN_WINDOW_DOMAINS[i]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n /**\r\n * Point the iframe at Duo, then wait for it to postMessage back to us.\r\n */\r\n function ready() {\r\n if (!host) {\r\n host = getDataAttribute(iframe, 'host');\r\n if (!host) {\r\n throwError('No API hostname is given for Duo to use. Be sure to pass ' +\r\n 'a `host` parameter to Duo.init, or through the `data-host` ' +\r\n 'attribute on the iframe element.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\r\n }\r\n }\r\n if (!duoSig || !appSig) {\r\n parseSigRequest(getDataAttribute(iframe, 'sigRequest'));\r\n if (!duoSig || !appSig) {\r\n throwError('No valid signed request is given. Be sure to give the ' +\r\n '`sig_request` parameter to Duo.init, or use the ' +\r\n '`data-sig-request` attribute on the iframe element.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\r\n }\r\n }\r\n // if postAction/Argument are defaults, see if they are specified\r\n // as data attributes on the iframe\r\n if (postAction === '') {\r\n postAction = getDataAttribute(iframe, 'postAction') || postAction;\r\n }\r\n if (postArgument === 'sig_response') {\r\n postArgument = getDataAttribute(iframe, 'postArgument') || postArgument;\r\n }\r\n // point the iframe at Duo\r\n iframe.src = [\r\n 'https://', host, '/frame/web/v1/auth?tx=', duoSig,\r\n '&parent=', encodeURIComponent(document.location.href),\r\n '&v=2.6'\r\n ].join('');\r\n // listen for the 'message' event\r\n onMessage(onReceivedMessage);\r\n }\r\n /**\r\n * We received a postMessage from Duo. POST back to the primary service\r\n * with the response token, and any additional user-supplied parameters\r\n * given in form#duo_form.\r\n */\r\n function doPostBack(response) {\r\n // create a hidden input to contain the response token\r\n var input = document.createElement('input');\r\n input.type = 'hidden';\r\n input.name = postArgument;\r\n input.value = response + ':' + appSig;\r\n // user may supply their own form with additional inputs\r\n var form = document.getElementById('duo_form');\r\n // if the form doesn't exist, create one\r\n if (!form) {\r\n form = document.createElement('form');\r\n // insert the new form after the iframe\r\n iframe.parentElement.insertBefore(form, iframe.nextSibling);\r\n }\r\n // make sure we are actually posting to the right place\r\n form.method = 'POST';\r\n form.action = postAction;\r\n // add the response token input to the form\r\n form.appendChild(input);\r\n // away we go!\r\n if (typeof submitCallback === \"function\") {\r\n submitCallback.call(null, form);\r\n }\r\n else {\r\n form.submit();\r\n }\r\n }\r\n return {\r\n init: init,\r\n _onReady: onReady,\r\n _parseSigRequest: parseSigRequest,\r\n _isDuoMessage: isDuoMessage,\r\n _doPostBack: doPostBack\r\n };\r\n}));\r\n//# sourceMappingURL=duo.js.map","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { TwoFactorOptionsComponent } from './two-factor-options.component';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { TwoFactorComponent as BaseTwoFactorComponent } from 'jslib/angular/components/two-factor.component';\n\n@Component({\n selector: 'app-two-factor',\n templateUrl: 'two-factor.component.html',\n})\nexport class TwoFactorComponent extends BaseTwoFactorComponent {\n @ViewChild('twoFactorOptions', { read: ViewContainerRef }) twoFactorOptionsModal: ViewContainerRef;\n\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, apiService: ApiService,\n platformUtilsService: PlatformUtilsService, private stateService: StateService,\n environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(authService, router, analytics, toasterService, i18nService, apiService,\n platformUtilsService, window, environmentService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n anotherMethod() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n const modal = this.twoFactorOptionsModal.createComponent(factory).instance;\n const childComponent = modal.show(TwoFactorOptionsComponent,\n this.twoFactorOptionsModal);\n\n childComponent.onProviderSelected.subscribe(async (provider: TwoFactorProviderType) => {\n modal.close();\n this.selectedProviderType = provider;\n await this.init();\n });\n childComponent.onRecoverSelected.subscribe(() => {\n modal.close();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/login.component';\n\n@Component({\n selector: 'app-login',\n templateUrl: 'login.component.html',\n})\nexport class LoginComponent extends BaseLoginComponent {\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, private route: ActivatedRoute,\n storageService: StorageService, private stateService: StateService) {\n super(authService, router, analytics, toasterService, i18nService, storageService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n async ngOnInit() {\n this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n await super.ngOnInit();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import {\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\n@Component({\r\n selector: 'app-frontend-layout',\r\n templateUrl: 'frontend-layout.component.html',\r\n})\r\nexport class FrontendLayoutComponent implements OnInit, OnDestroy {\r\n version: string;\r\n\r\n constructor(private platformUtilsService: PlatformUtilsService) { }\r\n\r\n ngOnInit() {\r\n this.version = this.platformUtilsService.getApplicationVersion();\r\n document.body.classList.add('layout_frontend');\r\n }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","export abstract class SettingsService {\r\n clearCache: () => void;\r\n getEquivalentDomains: () => Promise;\r\n setEquivalentDomains: (equivalentDomains: string[][]) => Promise;\r\n clear: (userId: string) => Promise;\r\n}\r\n","export abstract class LockService {\r\n checkLock: () => Promise;\r\n lock: () => Promise;\r\n setLockOption: (lockOption: number) => Promise;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Injectable()\r\nexport class UnauthGuardService implements CanActivate {\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async canActivate() {\r\n const isAuthed = await this.userService.isAuthenticated();\r\n if (isAuthed) {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n this.router.navigate(['lock']);\r\n } else {\r\n this.router.navigate(['vault']);\r\n }\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Injectable()\r\nexport class OrganizationTypeGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.parent.params.organizationId);\r\n const allowedTypes = route.data == null ? null : route.data.allowedTypes as OrganizationUserType[];\r\n if (allowedTypes == null || allowedTypes.indexOf(org.type) === -1) {\r\n this.router.navigate(['/organizations', org.id]);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Injectable()\r\nexport class OrganizationGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.params.organizationId);\r\n if (org == null) {\r\n this.router.navigate(['/']);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { UserService } from '../../abstractions/user.service';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n constructor(private cryptoService: CryptoService, private userService: UserService, private router: Router,\n private messagingService: MessagingService) { }\n\n async canActivate() {\n const isAuthed = await this.userService.isAuthenticated();\n if (!isAuthed) {\n this.messagingService.send('logout');\n return false;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n this.router.navigate(['lock']);\n return false;\n }\n\n return true;\n }\n}\n","import { StorageService } from '../abstractions/storage.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService as UserServiceAbstraction } from '../abstractions/user.service';\n\nimport { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nconst Keys = {\n userId: 'userId',\n userEmail: 'userEmail',\n stamp: 'securityStamp',\n organizationsPrefix: 'organizations_',\n};\n\nexport class UserService implements UserServiceAbstraction {\n userId: string;\n email: string;\n stamp: string;\n\n constructor(private tokenService: TokenService, private storageService: StorageService) {\n }\n\n setUserIdAndEmail(userId: string, email: string): Promise {\n this.email = email;\n this.userId = userId;\n\n return Promise.all([\n this.storageService.save(Keys.userEmail, email),\n this.storageService.save(Keys.userId, userId),\n ]);\n }\n\n setSecurityStamp(stamp: string): Promise {\n this.stamp = stamp;\n return this.storageService.save(Keys.stamp, stamp);\n }\n\n async getUserId(): Promise {\n if (this.userId != null) {\n return this.userId;\n }\n\n this.userId = await this.storageService.get(Keys.userId);\n return this.userId;\n }\n\n async getEmail(): Promise {\n if (this.email != null) {\n return this.email;\n }\n\n this.email = await this.storageService.get(Keys.userEmail);\n return this.email;\n }\n\n async getSecurityStamp(): Promise {\n if (this.stamp != null) {\n return this.stamp;\n }\n\n this.stamp = await this.storageService.get(Keys.stamp);\n return this.stamp;\n }\n\n async clear(): Promise {\n const userId = await this.getUserId();\n\n await Promise.all([\n this.storageService.remove(Keys.userId),\n this.storageService.remove(Keys.userEmail),\n this.storageService.remove(Keys.stamp),\n this.clearOrganizations(userId),\n ]);\n\n this.userId = this.email = this.stamp = null;\n }\n\n async isAuthenticated(): Promise {\n const token = await this.tokenService.getToken();\n if (token == null) {\n return false;\n }\n\n const userId = await this.getUserId();\n return userId != null;\n }\n\n async getOrganization(id: string): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n if (organizations == null || !organizations.hasOwnProperty(id)) {\n return null;\n }\n\n return new Organization(organizations[id]);\n }\n\n async getAllOrganizations(): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n const response: Organization[] = [];\n for (const id in organizations) {\n if (organizations.hasOwnProperty(id)) {\n response.push(new Organization(organizations[id]));\n }\n }\n return response;\n }\n\n async replaceOrganizations(organizations: { [id: string]: OrganizationData; }): Promise {\n const userId = await this.getUserId();\n await this.storageService.save(Keys.organizationsPrefix + userId, organizations);\n }\n\n async clearOrganizations(userId: string): Promise {\n await this.storageService.remove(Keys.organizationsPrefix + userId);\n }\n}\n","import { ConstantsService } from './constants.service';\r\n\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst b32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';\r\n\r\nexport class TotpService implements TotpServiceAbstraction {\r\n constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService) {}\r\n\r\n async getCode(keyb32: string): Promise {\r\n const epoch = Math.round(new Date().getTime() / 1000.0);\r\n const timeHex = this.leftpad(this.dec2hex(Math.floor(epoch / 30)), 16, '0');\r\n const timeBytes = Utils.fromHexToArray(timeHex);\r\n const keyBytes = this.b32tobytes(keyb32);\r\n\r\n if (!keyBytes.length || !timeBytes.length) {\r\n return null;\r\n }\r\n\r\n const hashHex = await this.sign(keyBytes, timeBytes);\r\n if (!hashHex) {\r\n return null;\r\n }\r\n\r\n const offset = this.hex2dec(hashHex.substring(hashHex.length - 1));\r\n // tslint:disable-next-line\r\n let otp = (this.hex2dec(hashHex.substr(offset * 2, 8)) & this.hex2dec('7fffffff')) + '';\r\n otp = (otp).substr(otp.length - 6, 6);\r\n return otp;\r\n }\r\n\r\n async isAutoCopyEnabled(): Promise {\r\n return !(await this.storageService.get(ConstantsService.disableAutoTotpCopyKey));\r\n }\r\n\r\n // Helpers\r\n\r\n private leftpad(s: string, l: number, p: string): string {\r\n if (l + 1 >= s.length) {\r\n s = Array(l + 1 - s.length).join(p) + s;\r\n }\r\n return s;\r\n }\r\n\r\n private dec2hex(d: number): string {\r\n return (d < 15.5 ? '0' : '') + Math.round(d).toString(16);\r\n }\r\n\r\n private hex2dec(s: string): number {\r\n return parseInt(s, 16);\r\n }\r\n\r\n private b32tohex(s: string): string {\r\n s = s.toUpperCase();\r\n let cleanedInput = '';\r\n\r\n for (let i = 0; i < s.length; i++) {\r\n if (b32Chars.indexOf(s[i]) < 0) {\r\n continue;\r\n }\r\n\r\n cleanedInput += s[i];\r\n }\r\n s = cleanedInput;\r\n\r\n let bits = '';\r\n let hex = '';\r\n for (let i = 0; i < s.length; i++) {\r\n const byteIndex = b32Chars.indexOf(s.charAt(i));\r\n if (byteIndex < 0) {\r\n continue;\r\n }\r\n bits += this.leftpad(byteIndex.toString(2), 5, '0');\r\n }\r\n for (let i = 0; i + 4 <= bits.length; i += 4) {\r\n const chunk = bits.substr(i, 4);\r\n hex = hex + parseInt(chunk, 2).toString(16);\r\n }\r\n return hex;\r\n }\r\n\r\n private b32tobytes(s: string): Uint8Array {\r\n return Utils.fromHexToArray(this.b32tohex(s));\r\n }\r\n\r\n private async sign(keyBytes: Uint8Array, timeBytes: Uint8Array) {\r\n const signature = await this.cryptoFunctionService.hmac(timeBytes.buffer, keyBytes.buffer, 'sha1');\r\n return Utils.fromBufferToHex(signature);\r\n }\r\n}\r\n","import { ConstantsService } from './constants.service';\n\nimport { StorageService } from '../abstractions/storage.service';\nimport { TokenService as TokenServiceAbstraction } from '../abstractions/token.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n accessToken: 'accessToken',\n refreshToken: 'refreshToken',\n twoFactorTokenPrefix: 'twoFactorToken_',\n};\n\nexport class TokenService implements TokenServiceAbstraction {\n token: string;\n decodedToken: any;\n refreshToken: string;\n\n constructor(private storageService: StorageService) {\n }\n\n setTokens(accessToken: string, refreshToken: string): Promise {\n return Promise.all([\n this.setToken(accessToken),\n this.setRefreshToken(refreshToken),\n ]);\n }\n\n setToken(token: string): Promise {\n this.token = token;\n this.decodedToken = null;\n return this.storageService.save(Keys.accessToken, token);\n }\n\n async getToken(): Promise {\n if (this.token != null) {\n return this.token;\n }\n\n this.token = await this.storageService.get(Keys.accessToken);\n return this.token;\n }\n\n setRefreshToken(refreshToken: string): Promise {\n this.refreshToken = refreshToken;\n return this.storageService.save(Keys.refreshToken, refreshToken);\n }\n\n async getRefreshToken(): Promise {\n if (this.refreshToken != null) {\n return this.refreshToken;\n }\n\n this.refreshToken = await this.storageService.get(Keys.refreshToken);\n return this.refreshToken;\n }\n\n setTwoFactorToken(token: string, email: string): Promise {\n return this.storageService.save(Keys.twoFactorTokenPrefix + email, token);\n }\n\n getTwoFactorToken(email: string): Promise {\n return this.storageService.get(Keys.twoFactorTokenPrefix + email);\n }\n\n clearTwoFactorToken(email: string): Promise {\n return this.storageService.remove(Keys.twoFactorTokenPrefix + email);\n }\n\n clearToken(): Promise {\n this.token = null;\n this.decodedToken = null;\n this.refreshToken = null;\n\n return Promise.all([\n this.storageService.remove(Keys.accessToken),\n this.storageService.remove(Keys.refreshToken),\n ]);\n }\n\n // jwthelper methods\n // ref https://github.com/auth0/angular-jwt/blob/master/src/angularJwt/services/jwt.js\n\n decodeToken(): any {\n if (this.decodedToken) {\n return this.decodedToken;\n }\n\n if (this.token == null) {\n throw new Error('Token not found.');\n }\n\n const parts = this.token.split('.');\n if (parts.length !== 3) {\n throw new Error('JWT must have 3 parts');\n }\n\n const decoded = Utils.fromUrlB64ToUtf8(parts[1]);\n if (decoded == null) {\n throw new Error('Cannot decode the token');\n }\n\n this.decodedToken = JSON.parse(decoded);\n return this.decodedToken;\n }\n\n getTokenExpirationDate(): Date {\n const decoded = this.decodeToken();\n if (typeof decoded.exp === 'undefined') {\n return null;\n }\n\n const d = new Date(0); // The 0 here is the key, which sets the date to the epoch\n d.setUTCSeconds(decoded.exp);\n return d;\n }\n\n tokenSecondsRemaining(offsetSeconds: number = 0): number {\n const d = this.getTokenExpirationDate();\n if (d == null) {\n return 0;\n }\n\n const msRemaining = d.valueOf() - (new Date().valueOf() + (offsetSeconds * 1000));\n return Math.round(msRemaining / 1000);\n }\n\n tokenNeedsRefresh(minutes: number = 5): boolean {\n const sRemaining = this.tokenSecondsRemaining();\n return sRemaining < (60 * minutes);\n }\n\n getUserId(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.sub === 'undefined') {\n throw new Error('No user id found');\n }\n\n return decoded.sub as string;\n }\n\n getEmail(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.email === 'undefined') {\n throw new Error('No email found');\n }\n\n return decoded.email as string;\n }\n\n getEmailVerified(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.email_verified === 'undefined') {\n throw new Error('No email verification found');\n }\n\n return decoded.email_verified as boolean;\n }\n\n getName(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.name === 'undefined') {\n return null;\n }\n\n return decoded.name as string;\n }\n\n getPremium(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.premium === 'undefined') {\n return false;\n }\n\n return decoded.premium as boolean;\n }\n\n getIssuer(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.iss === 'undefined') {\n throw new Error('No issuer found');\n }\n\n return decoded.iss as string;\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from '../abstractions/sync.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { FolderData } from '../models/data/folderData';\nimport { OrganizationData } from '../models/data/organizationData';\n\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\n\nconst Keys = {\n lastSyncPrefix: 'lastSync_',\n};\n\nexport class SyncService implements SyncServiceAbstraction {\n syncInProgress: boolean = false;\n\n constructor(private userService: UserService, private apiService: ApiService,\n private settingsService: SettingsService, private folderService: FolderService,\n private cipherService: CipherService, private cryptoService: CryptoService,\n private collectionService: CollectionService, private storageService: StorageService,\n private messagingService: MessagingService, private logoutCallback: (expired: boolean) => Promise) {\n }\n\n async getLastSync(): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return null;\n }\n\n const lastSync = await this.storageService.get(Keys.lastSyncPrefix + userId);\n if (lastSync) {\n return new Date(lastSync);\n }\n\n return null;\n }\n\n async setLastSync(date: Date): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return;\n }\n\n await this.storageService.save(Keys.lastSyncPrefix + userId, date.toJSON());\n }\n\n syncStarted() {\n this.syncInProgress = true;\n this.messagingService.send('syncStarted');\n }\n\n syncCompleted(successfully: boolean) {\n this.syncInProgress = false;\n this.messagingService.send('syncCompleted', { successfully: successfully });\n }\n\n async fullSync(forceSync: boolean): Promise {\n this.syncStarted();\n const isAuthenticated = await this.userService.isAuthenticated();\n if (!isAuthenticated) {\n this.syncCompleted(false);\n return false;\n }\n\n const now = new Date();\n const needsSyncResult = await this.needsSyncing(forceSync);\n const needsSync = needsSyncResult[0];\n const skipped = needsSyncResult[1];\n\n if (skipped) {\n this.syncCompleted(false);\n return false;\n }\n\n if (!needsSync) {\n await this.setLastSync(now);\n this.syncCompleted(false);\n return false;\n }\n\n const userId = await this.userService.getUserId();\n try {\n const response = await this.apiService.getSync();\n\n await this.syncProfile(response.profile);\n await this.syncFolders(userId, response.folders);\n await this.syncCollections(response.collections);\n await this.syncCiphers(userId, response.ciphers);\n await this.syncSettings(userId, response.domains);\n\n await this.setLastSync(now);\n this.syncCompleted(true);\n return true;\n } catch (e) {\n this.syncCompleted(false);\n return false;\n }\n }\n\n // Helpers\n\n private async needsSyncing(forceSync: boolean) {\n if (forceSync) {\n return [true, false];\n }\n\n try {\n const response = await this.apiService.getAccountRevisionDate();\n const accountRevisionDate = new Date(response);\n const lastSync = await this.getLastSync();\n if (lastSync != null && accountRevisionDate <= lastSync) {\n return [false, false];\n }\n\n return [true, false];\n } catch (e) {\n return [false, true];\n }\n }\n\n private async syncProfile(response: ProfileResponse) {\n const stamp = await this.userService.getSecurityStamp();\n if (stamp != null && stamp !== response.securityStamp) {\n if (this.logoutCallback != null) {\n await this.logoutCallback(true);\n }\n\n throw new Error('Stamp has changed');\n }\n\n await this.cryptoService.setEncKey(response.key);\n await this.cryptoService.setEncPrivateKey(response.privateKey);\n await this.cryptoService.setOrgKeys(response.organizations);\n await this.userService.setSecurityStamp(response.securityStamp);\n await this.userService.setSecurityStamp(response.securityStamp);\n\n const organizations: { [id: string]: OrganizationData; } = {};\n response.organizations.forEach((o) => {\n organizations[o.id] = new OrganizationData(o);\n });\n return await this.userService.replaceOrganizations(organizations);\n }\n\n private async syncFolders(userId: string, response: FolderResponse[]) {\n const folders: { [id: string]: FolderData; } = {};\n response.forEach((f) => {\n folders[f.id] = new FolderData(f, userId);\n });\n return await this.folderService.replace(folders);\n }\n\n private async syncCollections(response: CollectionDetailsResponse[]) {\n const collections: { [id: string]: CollectionData; } = {};\n response.forEach((c) => {\n collections[c.id] = new CollectionData(c);\n });\n return await this.collectionService.replace(collections);\n }\n\n private async syncCiphers(userId: string, response: CipherResponse[]) {\n const ciphers: { [id: string]: CipherData; } = {};\n response.forEach((c) => {\n ciphers[c.id] = new CipherData(c, userId);\n });\n return await this.cipherService.replace(ciphers);\n }\n\n private async syncSettings(userId: string, response: DomainsResponse) {\n let eqDomains: string[][] = [];\n if (response != null && response.equivalentDomains != null) {\n eqDomains = eqDomains.concat(response.equivalentDomains);\n }\n\n if (response != null && response.globalEquivalentDomains != null) {\n response.globalEquivalentDomains.forEach((global) => {\n if (global.domains.length > 0) {\n eqDomains.push(global.domains);\n }\n });\n }\n\n return this.settingsService.setEquivalentDomains(eqDomains);\n }\n}\n","import { StateService as StateServiceAbstraction } from '../abstractions/state.service';\r\n\r\nexport class StateService implements StateServiceAbstraction {\r\n private state: any = {};\r\n\r\n get(key: string): Promise {\r\n if (this.state.hasOwnProperty(key)) {\r\n return Promise.resolve(this.state[key]);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n this.state[key] = obj;\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n delete this.state[key];\r\n return Promise.resolve();\r\n }\r\n\r\n purge(): Promise {\r\n this.state = {};\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { SettingsService as SettingsServiceAbstraction } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nconst Keys = {\r\n settingsPrefix: 'settings_',\r\n equivalentDomains: 'equivalentDomains',\r\n};\r\n\r\nexport class SettingsService implements SettingsServiceAbstraction {\r\n private settingsCache: any;\r\n\r\n constructor(private userService: UserService, private storageService: StorageService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.settingsCache = null;\r\n }\r\n\r\n getEquivalentDomains(): Promise {\r\n return this.getSettingsKey(Keys.equivalentDomains);\r\n }\r\n\r\n async setEquivalentDomains(equivalentDomains: string[][]): Promise {\r\n await this.setSettingsKey(Keys.equivalentDomains, equivalentDomains);\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.settingsPrefix + userId);\r\n this.settingsCache = null;\r\n }\r\n\r\n // Helpers\r\n\r\n private async getSettings(): Promise {\r\n if (this.settingsCache == null) {\r\n const userId = await this.userService.getUserId();\r\n this.settingsCache = this.storageService.get(Keys.settingsPrefix + userId);\r\n }\r\n return this.settingsCache;\r\n }\r\n\r\n private async getSettingsKey(key: string): Promise {\r\n const settings = await this.getSettings();\r\n if (settings != null && settings[key]) {\r\n return settings[key];\r\n }\r\n return null;\r\n }\r\n\r\n private async setSettingsKey(key: string, value: any): Promise {\r\n const userId = await this.userService.getUserId();\r\n let settings = await this.getSettings();\r\n if (!settings) {\r\n settings = {};\r\n }\r\n\r\n settings[key] = value;\r\n await this.storageService.save(Keys.settingsPrefix + userId, settings);\r\n this.settingsCache = settings;\r\n }\r\n}\r\n","import { CipherString } from '../models/domain/cipherString';\nimport { PasswordHistory } from '../models/domain/passwordHistory';\n\nimport { CryptoService } from '../abstractions/crypto.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from '../abstractions/passwordGeneration.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nconst DefaultOptions = {\n length: 14,\n ambiguous: false,\n number: true,\n minNumber: 1,\n uppercase: true,\n minUppercase: 0,\n lowercase: true,\n minLowercase: 0,\n special: false,\n minSpecial: 1,\n};\n\nconst Keys = {\n options: 'passwordGenerationOptions',\n history: 'generatedPasswordHistory',\n};\n\nconst MaxPasswordsInHistory = 100;\n\nexport class PasswordGenerationService implements PasswordGenerationServiceAbstraction {\n private optionsCache: any;\n private history: PasswordHistory[];\n\n constructor(private cryptoService: CryptoService, private storageService: StorageService) { }\n\n async generatePassword(options: any): Promise {\n // overload defaults with given options\n const o = Object.assign({}, DefaultOptions, options);\n\n // sanitize\n if (o.uppercase && o.minUppercase <= 0) {\n o.minUppercase = 1;\n }\n if (o.lowercase && o.minLowercase <= 0) {\n o.minLowercase = 1;\n }\n if (o.number && o.minNumber <= 0) {\n o.minNumber = 1;\n }\n if (o.special && o.minSpecial <= 0) {\n o.minSpecial = 1;\n }\n\n if (!o.length || o.length < 1) {\n o.length = 10;\n }\n\n const minLength: number = o.minUppercase + o.minLowercase + o.minNumber + o.minSpecial;\n if (o.length < minLength) {\n o.length = minLength;\n }\n\n const positions: string[] = [];\n if (o.lowercase && o.minLowercase > 0) {\n for (let i = 0; i < o.minLowercase; i++) {\n positions.push('l');\n }\n }\n if (o.uppercase && o.minUppercase > 0) {\n for (let i = 0; i < o.minUppercase; i++) {\n positions.push('u');\n }\n }\n if (o.number && o.minNumber > 0) {\n for (let i = 0; i < o.minNumber; i++) {\n positions.push('n');\n }\n }\n if (o.special && o.minSpecial > 0) {\n for (let i = 0; i < o.minSpecial; i++) {\n positions.push('s');\n }\n }\n while (positions.length < o.length) {\n positions.push('a');\n }\n\n // shuffle\n await this.shuffleArray(positions);\n\n // build out the char sets\n let allCharSet = '';\n\n let lowercaseCharSet = 'abcdefghijkmnopqrstuvwxyz';\n if (o.ambiguous) {\n lowercaseCharSet += 'l';\n }\n if (o.lowercase) {\n allCharSet += lowercaseCharSet;\n }\n\n let uppercaseCharSet = 'ABCDEFGHIJKLMNPQRSTUVWXYZ';\n if (o.ambiguous) {\n uppercaseCharSet += 'O';\n }\n if (o.uppercase) {\n allCharSet += uppercaseCharSet;\n }\n\n let numberCharSet = '23456789';\n if (o.ambiguous) {\n numberCharSet += '01';\n }\n if (o.number) {\n allCharSet += numberCharSet;\n }\n\n const specialCharSet = '!@#$%^&*';\n if (o.special) {\n allCharSet += specialCharSet;\n }\n\n let password = '';\n for (let i = 0; i < o.length; i++) {\n let positionChars: string;\n switch (positions[i]) {\n case 'l':\n positionChars = lowercaseCharSet;\n break;\n case 'u':\n positionChars = uppercaseCharSet;\n break;\n case 'n':\n positionChars = numberCharSet;\n break;\n case 's':\n positionChars = specialCharSet;\n break;\n case 'a':\n positionChars = allCharSet;\n break;\n default:\n break;\n }\n\n const randomCharIndex = await this.cryptoService.randomNumber(0, positionChars.length - 1);\n password += positionChars.charAt(randomCharIndex);\n }\n\n return password;\n }\n\n async getOptions() {\n if (this.optionsCache == null) {\n const options = await this.storageService.get(Keys.options);\n if (options == null) {\n this.optionsCache = DefaultOptions;\n } else {\n this.optionsCache = options;\n }\n }\n\n return this.optionsCache;\n }\n\n async saveOptions(options: any) {\n await this.storageService.save(Keys.options, options);\n this.optionsCache = options;\n }\n\n async getHistory(): Promise {\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n return new Array();\n }\n\n if (!this.history) {\n const encrypted = await this.storageService.get(Keys.history);\n this.history = await this.decryptHistory(encrypted);\n }\n\n return this.history || new Array();\n }\n\n async addHistory(password: string): Promise {\n // Cannot add new history if no key is available\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n return;\n }\n\n const currentHistory = await this.getHistory();\n\n // Prevent duplicates\n if (this.matchesPrevious(password, currentHistory)) {\n return;\n }\n\n currentHistory.unshift(new PasswordHistory(password, Date.now()));\n\n // Remove old items.\n if (currentHistory.length > MaxPasswordsInHistory) {\n currentHistory.pop();\n }\n\n const newHistory = await this.encryptHistory(currentHistory);\n return await this.storageService.save(Keys.history, newHistory);\n }\n\n async clear(): Promise {\n this.history = [];\n return await this.storageService.remove(Keys.history);\n }\n\n private async encryptHistory(history: PasswordHistory[]): Promise {\n if (history == null || history.length === 0) {\n return Promise.resolve([]);\n }\n\n const promises = history.map(async (item) => {\n const encrypted = await this.cryptoService.encrypt(item.password);\n return new PasswordHistory(encrypted.encryptedString, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private async decryptHistory(history: PasswordHistory[]): Promise {\n if (history == null || history.length === 0) {\n return Promise.resolve([]);\n }\n\n const promises = history.map(async (item) => {\n const decrypted = await this.cryptoService.decryptToUtf8(new CipherString(item.password));\n return new PasswordHistory(decrypted, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private matchesPrevious(password: string, history: PasswordHistory[]): boolean {\n if (history == null || history.length === 0) {\n return false;\n }\n\n return history[history.length - 1].password === password;\n }\n\n // ref: https://stackoverflow.com/a/12646864/1090359\n private async shuffleArray(array: string[]) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = await this.cryptoService.randomNumber(0, i);\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { LockService as LockServiceAbstraction } from '../abstractions/lock.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class LockService implements LockServiceAbstraction {\n private inited = false;\n\n constructor(private cipherService: CipherService, private folderService: FolderService,\n private collectionService: CollectionService, private cryptoService: CryptoService,\n private platformUtilsService: PlatformUtilsService, private storageService: StorageService,\n private messagingService: MessagingService, private lockedCallback: () => Promise) {\n }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.checkLock();\n setInterval(() => this.checkLock(), 10 * 1000); // check every 10 seconds\n }\n }\n\n async checkLock(): Promise {\n if (this.platformUtilsService.isViewOpen()) {\n // Do not lock\n return;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n // no key so no need to lock\n return;\n }\n\n let lockOption = this.platformUtilsService.lockTimeout();\n if (lockOption == null) {\n lockOption = await this.storageService.get(ConstantsService.lockOptionKey);\n }\n if (lockOption == null || lockOption < 0) {\n return;\n }\n\n const lastActive = await this.storageService.get(ConstantsService.lastActiveKey);\n if (lastActive == null) {\n return;\n }\n\n const lockOptionSeconds = lockOption * 60;\n const diffSeconds = ((new Date()).getTime() - lastActive) / 1000;\n if (diffSeconds >= lockOptionSeconds) {\n // need to lock now\n await this.lock();\n }\n }\n\n async lock(): Promise {\n await Promise.all([\n this.cryptoService.clearKey(),\n this.cryptoService.clearOrgKeys(true),\n this.cryptoService.clearKeyPair(true),\n this.cryptoService.clearEncKey(true),\n ]);\n\n this.folderService.clearCache();\n this.cipherService.clearCache();\n this.collectionService.clearCache();\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n }\n\n async setLockOption(lockOption: number): Promise {\n await this.storageService.save(ConstantsService.lockOptionKey, lockOption);\n await this.cryptoService.toggleKey();\n }\n}\n","import { I18nService as I18nServiceAbstraction } from '../abstractions/i18n.service';\n\nexport class I18nService implements I18nServiceAbstraction {\n locale: string;\n // First locale is the default (English)\n supportedTranslationLocales: string[] = ['en'];\n translationLocale: string;\n collator: Intl.Collator;\n\n protected inited: boolean;\n protected defaultMessages: any = {};\n protected localeMessages: any = {};\n\n constructor(protected systemLanguage: string, protected localesDirectory: string,\n protected getLocalesJson: (formattedLocale: string) => Promise) {\n this.systemLanguage = systemLanguage.replace('_', '-');\n }\n\n async init(locale?: string) {\n if (this.inited) {\n throw new Error('i18n already initialized.');\n }\n if (this.supportedTranslationLocales == null || this.supportedTranslationLocales.length === 0) {\n throw new Error('supportedTranslationLocales not set.');\n }\n\n this.inited = true;\n this.locale = this.translationLocale = locale != null ? locale : this.systemLanguage;\n\n try {\n this.collator = new Intl.Collator(this.locale, { numeric: true, sensitivity: 'base' });\n } catch {\n this.collator = null;\n }\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.translationLocale.slice(0, 2);\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.supportedTranslationLocales[0];\n }\n }\n\n if (this.localesDirectory != null) {\n await this.loadMessages(this.translationLocale, this.localeMessages);\n if (this.translationLocale !== this.supportedTranslationLocales[0]) {\n await this.loadMessages(this.supportedTranslationLocales[0], this.defaultMessages);\n }\n }\n }\n\n t(id: string, p1?: string, p2?: string, p3?: string): string {\n return this.translate(id, p1, p2, p3);\n }\n\n translate(id: string, p1?: string, p2?: string, p3?: string): string {\n let result: string;\n if (this.localeMessages.hasOwnProperty(id) && this.localeMessages[id]) {\n result = this.localeMessages[id];\n } else if (this.defaultMessages.hasOwnProperty(id) && this.defaultMessages[id]) {\n result = this.defaultMessages[id];\n } else {\n result = '';\n }\n\n if (result !== '') {\n if (p1 != null) {\n result = result.split('__$1__').join(p1);\n }\n if (p2 != null) {\n result = result.split('__$2__').join(p2);\n }\n if (p3 != null) {\n result = result.split('__$3__').join(p3);\n }\n }\n\n return result;\n }\n\n private async loadMessages(locale: string, messagesObj: any): Promise {\n const formattedLocale = locale.replace('-', '_');\n const locales = await this.getLocalesJson(formattedLocale);\n for (const prop in locales) {\n if (!locales.hasOwnProperty(prop)) {\n continue;\n }\n messagesObj[prop] = locales[prop].message;\n\n if (locales[prop].placeholders) {\n for (const placeProp in locales[prop].placeholders) {\n if (!locales[prop].placeholders.hasOwnProperty(placeProp) ||\n !locales[prop].placeholders[placeProp].content) {\n continue;\n }\n\n const replaceToken = '\\\\$' + placeProp.toUpperCase() + '\\\\$';\n let replaceContent = locales[prop].placeholders[placeProp].content;\n if (replaceContent === '$1' || replaceContent === '$2' || replaceContent === '$3') {\n replaceContent = '__' + replaceContent + '__';\n }\n messagesObj[prop] = messagesObj[prop].replace(new RegExp(replaceToken, 'g'), replaceContent);\n }\n }\n }\n }\n\n}\n","import { FolderResponse } from '../response/folderResponse';\r\n\r\nexport class FolderData {\r\n id: string;\r\n userId: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: FolderResponse, userId: string) {\r\n this.userId = userId;\r\n this.name = response.name;\r\n this.id = response.id;\r\n this.revisionDate = response.revisionDate;\r\n }\r\n}\r\n","import { FolderData } from '../models/data/folderData';\r\n\r\nimport { Folder } from '../models/domain/folder';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\n\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n foldersPrefix: 'folders_',\r\n ciphersPrefix: 'ciphers_',\r\n};\r\n\r\nexport class FolderService implements FolderServiceAbstraction {\r\n decryptedFolderCache: FolderView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private apiService: ApiService, private storageService: StorageService,\r\n private i18nService: I18nService, private cipherService: CipherService) { }\r\n\r\n clearCache(): void {\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise {\r\n const folder = new Folder();\r\n folder.id = model.id;\r\n folder.name = await this.cryptoService.encrypt(model.name, key);\r\n return folder;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null || !folders.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Folder(folders[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n const response: Folder[] = [];\r\n for (const id in folders) {\r\n if (folders.hasOwnProperty(id)) {\r\n response.push(new Folder(folders[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedFolderCache != null) {\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const decFolders: FolderView[] = [];\r\n const promises: Array> = [];\r\n const folders = await this.getAll();\r\n folders.forEach((folder) => {\r\n promises.push(folder.decrypt().then((f) => decFolders.push(f)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decFolders.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n\r\n const noneFolder = new FolderView();\r\n noneFolder.name = this.i18nService.t('noneFolder');\r\n decFolders.push(noneFolder);\r\n\r\n this.decryptedFolderCache = decFolders;\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n async saveWithServer(folder: Folder): Promise {\r\n const request = new FolderRequest(folder);\r\n\r\n let response: FolderResponse;\r\n if (folder.id == null) {\r\n response = await this.apiService.postFolder(request);\r\n folder.id = response.id;\r\n } else {\r\n response = await this.apiService.putFolder(folder.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new FolderData(response, userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(folder: FolderData | FolderData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n folders = {};\r\n }\r\n\r\n if (folder instanceof FolderData) {\r\n const f = folder as FolderData;\r\n folders[f.id] = f;\r\n } else {\r\n (folder as FolderData[]).forEach((f) => {\r\n folders[f.id] = f;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async replace(folders: { [id: string]: FolderData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.foldersPrefix + userId);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete folders[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete folders[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n\r\n // Items in a deleted folder are re-assigned to \"No Folder\"\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(Keys.ciphersPrefix + userId);\r\n if (ciphers != null) {\r\n const updates: CipherData[] = [];\r\n for (const cId in ciphers) {\r\n if (ciphers[cId].folderId === id) {\r\n ciphers[cId].folderId = null;\r\n updates.push(ciphers[cId]);\r\n }\r\n }\r\n if (updates.length > 0) {\r\n this.cipherService.upsert(updates);\r\n }\r\n }\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteFolder(id);\r\n await this.delete(id);\r\n }\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { ConstantsService } from './constants.service';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from '../abstractions/environment.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class EnvironmentService implements EnvironmentServiceAbstraction {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n\n constructor(private apiService: ApiService, private storageService: StorageService) {}\n\n getWebVaultUrl(): string {\n if (this.webVaultUrl != null) {\n return this.webVaultUrl;\n } else if (this.baseUrl) {\n return this.baseUrl;\n }\n return null;\n }\n\n async setUrlsFromStorage(): Promise {\n const urlsObj: any = await this.storageService.get(ConstantsService.environmentUrlsKey);\n const urls = urlsObj || {\n base: null,\n api: null,\n identity: null,\n icons: null,\n webVault: null,\n };\n\n const envUrls = new EnvironmentUrls();\n\n if (urls.base) {\n this.baseUrl = envUrls.base = urls.base;\n await this.apiService.setUrls(envUrls);\n return;\n }\n\n this.webVaultUrl = urls.webVault;\n this.apiUrl = envUrls.api = urls.api;\n this.identityUrl = envUrls.identity = urls.identity;\n this.iconsUrl = urls.icons;\n await this.apiService.setUrls(envUrls);\n }\n\n async setUrls(urls: any): Promise {\n urls.base = this.formatUrl(urls.base);\n urls.webVault = this.formatUrl(urls.webVault);\n urls.api = this.formatUrl(urls.api);\n urls.identity = this.formatUrl(urls.identity);\n urls.icons = this.formatUrl(urls.icons);\n\n await this.storageService.save(ConstantsService.environmentUrlsKey, {\n base: urls.base,\n api: urls.api,\n identity: urls.identity,\n webVault: urls.webVault,\n icons: urls.icons,\n });\n\n this.baseUrl = urls.base;\n this.webVaultUrl = urls.webVault;\n this.apiUrl = urls.api;\n this.identityUrl = urls.identity;\n this.iconsUrl = urls.icons;\n\n const envUrls = new EnvironmentUrls();\n if (this.baseUrl) {\n envUrls.base = this.baseUrl;\n } else {\n envUrls.api = this.apiUrl;\n envUrls.identity = this.identityUrl;\n }\n\n await this.apiService.setUrls(envUrls);\n return urls;\n }\n\n private formatUrl(url: string): string {\n if (url == null || url === '') {\n return null;\n }\n\n url = url.replace(/\\/+$/g, '');\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\n url = 'https://' + url;\n }\n\n return url;\n }\n}\n","import { EncryptionType } from '../enums/encryptionType';\r\n\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport { EncryptedObject } from '../models/domain/encryptedObject';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\r\n\r\nimport { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service';\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nimport { ConstantsService } from './constants.service';\r\n\r\nimport { sequentialize } from '../misc/sequentialize';\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n key: 'key',\r\n encOrgKeys: 'encOrgKeys',\r\n encPrivateKey: 'encPrivateKey',\r\n encKey: 'encKey',\r\n keyHash: 'keyHash',\r\n};\r\n\r\nexport class CryptoService implements CryptoServiceAbstraction {\r\n private key: SymmetricCryptoKey;\r\n private encKey: SymmetricCryptoKey;\r\n private legacyEtmKey: SymmetricCryptoKey;\r\n private keyHash: string;\r\n private publicKey: ArrayBuffer;\r\n private privateKey: ArrayBuffer;\r\n private orgKeys: Map;\r\n\r\n constructor(private storageService: StorageService, private secureStorageService: StorageService,\r\n private cryptoFunctionService: CryptoFunctionService) { }\r\n\r\n async setKey(key: SymmetricCryptoKey): Promise {\r\n this.key = key;\r\n\r\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\r\n if (option != null) {\r\n // if we have a lock option set, we do not store the key\r\n return;\r\n }\r\n\r\n return this.secureStorageService.save(Keys.key, key.keyB64);\r\n }\r\n\r\n setKeyHash(keyHash: string): Promise<{}> {\r\n this.keyHash = keyHash;\r\n return this.storageService.save(Keys.keyHash, keyHash);\r\n }\r\n\r\n async setEncKey(encKey: string): Promise<{}> {\r\n if (encKey == null) {\r\n return;\r\n }\r\n\r\n await this.storageService.save(Keys.encKey, encKey);\r\n this.encKey = null;\r\n }\r\n\r\n async setEncPrivateKey(encPrivateKey: string): Promise<{}> {\r\n if (encPrivateKey == null) {\r\n return;\r\n }\r\n\r\n await this.storageService.save(Keys.encPrivateKey, encPrivateKey);\r\n this.privateKey = null;\r\n }\r\n\r\n setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}> {\r\n const orgKeys: any = {};\r\n orgs.forEach((org) => {\r\n orgKeys[org.id] = org.key;\r\n });\r\n\r\n return this.storageService.save(Keys.encOrgKeys, orgKeys);\r\n }\r\n\r\n async getKey(): Promise {\r\n if (this.key != null) {\r\n return this.key;\r\n }\r\n\r\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\r\n if (option != null) {\r\n return null;\r\n }\r\n\r\n const key = await this.secureStorageService.get(Keys.key);\r\n if (key != null) {\r\n this.key = new SymmetricCryptoKey(Utils.fromB64ToArray(key).buffer);\r\n }\r\n\r\n return key == null ? null : this.key;\r\n }\r\n\r\n getKeyHash(): Promise {\r\n if (this.keyHash != null) {\r\n return Promise.resolve(this.keyHash);\r\n }\r\n\r\n return this.storageService.get(Keys.keyHash);\r\n }\r\n\r\n @sequentialize(() => 'getEncKey')\r\n async getEncKey(): Promise {\r\n if (this.encKey != null) {\r\n return this.encKey;\r\n }\r\n\r\n const encKey = await this.storageService.get(Keys.encKey);\r\n if (encKey == null) {\r\n return null;\r\n }\r\n\r\n const key = await this.getKey();\r\n if (key == null) {\r\n return null;\r\n }\r\n\r\n let decEncKey: ArrayBuffer;\r\n const encKeyCipher = new CipherString(encKey);\r\n if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_B64) {\r\n decEncKey = await this.decrypt(encKeyCipher, key);\r\n } else if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_HmacSha256_B64) {\r\n const newKey = await this.stretchKey(key);\r\n decEncKey = await this.decrypt(encKeyCipher, newKey);\r\n } else {\r\n throw new Error('Unsupported encKey type.');\r\n }\r\n\r\n if (decEncKey == null) {\r\n return null;\r\n }\r\n this.encKey = new SymmetricCryptoKey(decEncKey);\r\n return this.encKey;\r\n }\r\n\r\n async getPublicKey(): Promise {\r\n if (this.publicKey != null) {\r\n return this.publicKey;\r\n }\r\n\r\n const privateKey = await this.getPrivateKey();\r\n if (privateKey == null) {\r\n return null;\r\n }\r\n\r\n this.publicKey = await this.cryptoFunctionService.rsaExtractPublicKey(privateKey);\r\n return this.publicKey;\r\n }\r\n\r\n async getPrivateKey(): Promise {\r\n if (this.privateKey != null) {\r\n return this.privateKey;\r\n }\r\n\r\n const encPrivateKey = await this.storageService.get(Keys.encPrivateKey);\r\n if (encPrivateKey == null) {\r\n return null;\r\n }\r\n\r\n this.privateKey = await this.decrypt(new CipherString(encPrivateKey), null);\r\n return this.privateKey;\r\n }\r\n\r\n @sequentialize(() => 'getOrgKeys')\r\n async getOrgKeys(): Promise> {\r\n if (this.orgKeys != null && this.orgKeys.size > 0) {\r\n return this.orgKeys;\r\n }\r\n\r\n const encOrgKeys = await this.storageService.get(Keys.encOrgKeys);\r\n if (encOrgKeys == null) {\r\n return null;\r\n }\r\n\r\n const orgKeys: Map = new Map();\r\n let setKey = false;\r\n\r\n for (const orgId in encOrgKeys) {\r\n if (!encOrgKeys.hasOwnProperty(orgId)) {\r\n continue;\r\n }\r\n\r\n const decValue = await this.rsaDecrypt(encOrgKeys[orgId]);\r\n orgKeys.set(orgId, new SymmetricCryptoKey(decValue));\r\n setKey = true;\r\n }\r\n\r\n if (setKey) {\r\n this.orgKeys = orgKeys;\r\n }\r\n\r\n return this.orgKeys;\r\n }\r\n\r\n async getOrgKey(orgId: string): Promise {\r\n if (orgId == null) {\r\n return null;\r\n }\r\n\r\n const orgKeys = await this.getOrgKeys();\r\n if (orgKeys == null || !orgKeys.has(orgId)) {\r\n return null;\r\n }\r\n\r\n return orgKeys.get(orgId);\r\n }\r\n\r\n async hasKey(): Promise {\r\n return (await this.getKey()) != null;\r\n }\r\n\r\n async hasEncKey(): Promise {\r\n const encKey = await this.storageService.get(Keys.encKey);\r\n return encKey != null;\r\n }\r\n\r\n clearKey(): Promise {\r\n this.key = this.legacyEtmKey = null;\r\n return this.secureStorageService.remove(Keys.key);\r\n }\r\n\r\n clearKeyHash(): Promise {\r\n this.keyHash = null;\r\n return this.storageService.remove(Keys.keyHash);\r\n }\r\n\r\n clearEncKey(memoryOnly?: boolean): Promise {\r\n this.encKey = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encKey);\r\n }\r\n\r\n clearKeyPair(memoryOnly?: boolean): Promise {\r\n this.privateKey = null;\r\n this.publicKey = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encPrivateKey);\r\n }\r\n\r\n clearOrgKeys(memoryOnly?: boolean): Promise {\r\n this.orgKeys = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encOrgKeys);\r\n }\r\n\r\n clearKeys(): Promise {\r\n return Promise.all([\r\n this.clearKey(),\r\n this.clearKeyHash(),\r\n this.clearOrgKeys(),\r\n this.clearEncKey(),\r\n this.clearKeyPair(),\r\n ]);\r\n }\r\n\r\n async toggleKey(): Promise {\r\n const key = await this.getKey();\r\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\r\n if (option != null || option === 0) {\r\n // if we have a lock option set, clear the key\r\n await this.clearKey();\r\n this.key = key;\r\n return;\r\n }\r\n\r\n await this.setKey(key);\r\n }\r\n\r\n async makeKey(password: string, salt: string): Promise {\r\n const key = await this.cryptoFunctionService.pbkdf2(password, salt, 'sha256', 5000);\r\n return new SymmetricCryptoKey(key);\r\n }\r\n\r\n async makeShareKey(): Promise<[CipherString, SymmetricCryptoKey]> {\r\n const shareKey = await this.cryptoFunctionService.randomBytes(64);\r\n const publicKey = await this.getPublicKey();\r\n const encKey = await this.getEncKey();\r\n const encShareKey = await this.rsaEncrypt(shareKey, publicKey, encKey);\r\n return [encShareKey, new SymmetricCryptoKey(shareKey)];\r\n }\r\n\r\n async makeKeyPair(key?: SymmetricCryptoKey): Promise<[string, CipherString]> {\r\n const keyPair = await this.cryptoFunctionService.rsaGenerateKeyPair(2048);\r\n const publicB64 = Utils.fromBufferToB64(keyPair[0]);\r\n const privateEnc = await this.encrypt(keyPair[1], key);\r\n return [publicB64, privateEnc];\r\n }\r\n\r\n async hashPassword(password: string, key: SymmetricCryptoKey): Promise {\r\n if (key == null) {\r\n key = await this.getKey();\r\n }\r\n if (password == null || key == null) {\r\n throw new Error('Invalid parameters.');\r\n }\r\n\r\n const hash = await this.cryptoFunctionService.pbkdf2(key.key, password, 'sha256', 1);\r\n return Utils.fromBufferToB64(hash);\r\n }\r\n\r\n async makeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\r\n const encKey = await this.cryptoFunctionService.randomBytes(64);\r\n let encKeyEnc: CipherString = null;\r\n // TODO: Uncomment when we're ready to enable key stretching\r\n encKeyEnc = await this.encrypt(encKey, key);\r\n /*\r\n if (key.key.byteLength === 32) {\r\n const newKey = await this.stretchKey(key);\r\n encKeyEnc = await this.encrypt(encKey, newKey);\r\n } else if (key.key.byteLength === 64) {\r\n encKeyEnc = await this.encrypt(encKey, key);\r\n } else {\r\n throw new Error('Invalid key size.');\r\n }\r\n */\r\n return [new SymmetricCryptoKey(encKey), encKeyEnc];\r\n }\r\n\r\n async encrypt(plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n if (plainValue == null) {\r\n return Promise.resolve(null);\r\n }\r\n\r\n let plainBuf: ArrayBuffer;\r\n if (typeof (plainValue) === 'string') {\r\n plainBuf = Utils.fromUtf8ToArray(plainValue).buffer;\r\n } else {\r\n plainBuf = plainValue;\r\n }\r\n\r\n const encObj = await this.aesEncrypt(plainBuf, key);\r\n const iv = Utils.fromBufferToB64(encObj.iv);\r\n const data = Utils.fromBufferToB64(encObj.data);\r\n const mac = encObj.mac != null ? Utils.fromBufferToB64(encObj.mac) : null;\r\n return new CipherString(encObj.key.encType, iv, data, mac);\r\n }\r\n\r\n async encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n const encValue = await this.aesEncrypt(plainValue, key);\r\n let macLen = 0;\r\n if (encValue.mac != null) {\r\n macLen = encValue.mac.byteLength;\r\n }\r\n\r\n const encBytes = new Uint8Array(1 + encValue.iv.byteLength + macLen + encValue.data.byteLength);\r\n encBytes.set([encValue.key.encType]);\r\n encBytes.set(new Uint8Array(encValue.iv), 1);\r\n if (encValue.mac != null) {\r\n encBytes.set(new Uint8Array(encValue.mac), 1 + encValue.iv.byteLength);\r\n }\r\n\r\n encBytes.set(new Uint8Array(encValue.data), 1 + encValue.iv.byteLength + macLen);\r\n return encBytes.buffer;\r\n }\r\n\r\n async rsaEncrypt(data: ArrayBuffer, publicKey?: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n if (publicKey == null) {\r\n publicKey = await this.getPublicKey();\r\n }\r\n if (publicKey == null) {\r\n throw new Error('Public key unavailable.');\r\n }\r\n\r\n let type = EncryptionType.Rsa2048_OaepSha1_B64;\r\n const encBytes = await this.cryptoFunctionService.rsaEncrypt(data, publicKey, 'sha1');\r\n let mac: string = null;\r\n if (key != null && key.macKey != null) {\r\n type = EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64;\r\n const macBytes = await this.cryptoFunctionService.hmac(encBytes, key.macKey, 'sha256');\r\n mac = Utils.fromBufferToB64(macBytes);\r\n }\r\n return new CipherString(type, Utils.fromBufferToB64(encBytes), null, mac);\r\n }\r\n\r\n async decrypt(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\r\n const iv = Utils.fromB64ToArray(cipherString.iv).buffer;\r\n const data = Utils.fromB64ToArray(cipherString.data).buffer;\r\n const mac = cipherString.mac ? Utils.fromB64ToArray(cipherString.mac).buffer : null;\r\n const decipher = await this.aesDecryptToBytes(cipherString.encryptionType, data, iv, mac, key);\r\n if (decipher == null) {\r\n return null;\r\n }\r\n\r\n return decipher;\r\n }\r\n\r\n async decryptToUtf8(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\r\n return await this.aesDecryptToUtf8(cipherString.encryptionType, cipherString.data,\r\n cipherString.iv, cipherString.mac, key);\r\n }\r\n\r\n async decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n if (encBuf == null) {\r\n throw new Error('no encBuf.');\r\n }\r\n\r\n const encBytes = new Uint8Array(encBuf);\r\n const encType = encBytes[0];\r\n let ctBytes: Uint8Array = null;\r\n let ivBytes: Uint8Array = null;\r\n let macBytes: Uint8Array = null;\r\n\r\n switch (encType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encBytes.length <= 49) { // 1 + 16 + 32 + ctLength\r\n return null;\r\n }\r\n\r\n ivBytes = encBytes.slice(1, 17);\r\n macBytes = encBytes.slice(17, 49);\r\n ctBytes = encBytes.slice(49);\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encBytes.length <= 17) { // 1 + 16 + ctLength\r\n return null;\r\n }\r\n\r\n ivBytes = encBytes.slice(1, 17);\r\n ctBytes = encBytes.slice(17);\r\n break;\r\n default:\r\n return null;\r\n }\r\n\r\n return await this.aesDecryptToBytes(encType, ctBytes.buffer, ivBytes.buffer,\r\n macBytes != null ? macBytes.buffer : null, key);\r\n }\r\n\r\n // EFForg/OpenWireless\r\n // ref https://github.com/EFForg/OpenWireless/blob/master/app/js/diceware.js\r\n async randomNumber(min: number, max: number): Promise {\r\n let rval = 0;\r\n const range = max - min + 1;\r\n const bitsNeeded = Math.ceil(Math.log2(range));\r\n if (bitsNeeded > 53) {\r\n throw new Error('We cannot generate numbers larger than 53 bits.');\r\n }\r\n\r\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\r\n const mask = Math.pow(2, bitsNeeded) - 1;\r\n // 7776 -> (2^13 = 8192) -1 == 8191 or 0x00001111 11111111\r\n\r\n // Fill a byte array with N random numbers\r\n const byteArray = new Uint8Array(await this.cryptoFunctionService.randomBytes(bytesNeeded));\r\n\r\n let p = (bytesNeeded - 1) * 8;\r\n for (let i = 0; i < bytesNeeded; i++) {\r\n rval += byteArray[i] * Math.pow(2, p);\r\n p -= 8;\r\n }\r\n\r\n // Use & to apply the mask and reduce the number of recursive lookups\r\n // tslint:disable-next-line\r\n rval = rval & mask;\r\n\r\n if (rval >= range) {\r\n // Integer out of acceptable range\r\n return this.randomNumber(min, max);\r\n }\r\n\r\n // Return an integer that falls within the range\r\n return min + rval;\r\n }\r\n\r\n // Helpers\r\n\r\n private async aesEncrypt(data: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n const obj = new EncryptedObject();\r\n obj.key = await this.getKeyForEncryption(key);\r\n obj.iv = await this.cryptoFunctionService.randomBytes(16);\r\n obj.data = await this.cryptoFunctionService.aesEncrypt(data, obj.iv, obj.key.encKey);\r\n\r\n if (obj.key.macKey != null) {\r\n const macData = new Uint8Array(obj.iv.byteLength + obj.data.byteLength);\r\n macData.set(new Uint8Array(obj.iv), 0);\r\n macData.set(new Uint8Array(obj.data), obj.iv.byteLength);\r\n obj.mac = await this.cryptoFunctionService.hmac(macData.buffer, obj.key.macKey, 'sha256');\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n private async aesDecryptToUtf8(encType: EncryptionType, data: string, iv: string, mac: string,\r\n key: SymmetricCryptoKey): Promise {\r\n const keyForEnc = await this.getKeyForEncryption(key);\r\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\r\n\r\n if (theKey.macKey != null && mac == null) {\r\n // tslint:disable-next-line\r\n console.error('mac required.');\r\n return null;\r\n }\r\n\r\n if (theKey.encType !== encType) {\r\n // tslint:disable-next-line\r\n console.error('encType unavailable.');\r\n return null;\r\n }\r\n\r\n const fastParams = this.cryptoFunctionService.aesDecryptFastParameters(data, iv, mac, theKey);\r\n if (fastParams.macKey != null && fastParams.mac != null) {\r\n const computedMac = await this.cryptoFunctionService.hmacFast(fastParams.macData,\r\n fastParams.macKey, 'sha256');\r\n const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac);\r\n if (!macsEqual) {\r\n // tslint:disable-next-line\r\n console.error('mac failed.');\r\n return null;\r\n }\r\n }\r\n\r\n return this.cryptoFunctionService.aesDecryptFast(fastParams);\r\n }\r\n\r\n private async aesDecryptToBytes(encType: EncryptionType, data: ArrayBuffer, iv: ArrayBuffer,\r\n mac: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n const keyForEnc = await this.getKeyForEncryption(key);\r\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\r\n\r\n if (theKey.macKey != null && mac == null) {\r\n return null;\r\n }\r\n\r\n if (theKey.encType !== encType) {\r\n return null;\r\n }\r\n\r\n if (theKey.macKey != null && mac != null) {\r\n const macData = new Uint8Array(iv.byteLength + data.byteLength);\r\n macData.set(new Uint8Array(iv), 0);\r\n macData.set(new Uint8Array(data), iv.byteLength);\r\n const computedMac = await this.cryptoFunctionService.hmac(macData.buffer, theKey.macKey, 'sha256');\r\n if (computedMac === null) {\r\n return null;\r\n }\r\n\r\n const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac);\r\n if (!macsMatch) {\r\n // tslint:disable-next-line\r\n console.error('mac failed.');\r\n return null;\r\n }\r\n }\r\n\r\n return await this.cryptoFunctionService.aesDecrypt(data, iv, theKey.encKey);\r\n }\r\n\r\n private async rsaDecrypt(encValue: string): Promise {\r\n const headerPieces = encValue.split('.');\r\n let encType: EncryptionType = null;\r\n let encPieces: string[];\r\n\r\n if (headerPieces.length === 1) {\r\n encType = EncryptionType.Rsa2048_OaepSha256_B64;\r\n encPieces = [headerPieces[0]];\r\n } else if (headerPieces.length === 2) {\r\n try {\r\n encType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) { }\r\n }\r\n\r\n switch (encType) {\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n if (encPieces.length !== 1) {\r\n throw new Error('Invalid cipher format.');\r\n }\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\r\n if (encPieces.length !== 2) {\r\n throw new Error('Invalid cipher format.');\r\n }\r\n break;\r\n default:\r\n throw new Error('encType unavailable.');\r\n }\r\n\r\n if (encPieces == null || encPieces.length <= 0) {\r\n throw new Error('encPieces unavailable.');\r\n }\r\n\r\n const data = Utils.fromB64ToArray(encPieces[0]).buffer;\r\n const key = await this.getEncKey();\r\n if (key != null && key.macKey != null && encPieces.length > 1) {\r\n const mac = Utils.fromB64ToArray(encPieces[1]).buffer;\r\n const computedMac = await this.cryptoFunctionService.hmac(data, key.macKey, 'sha256');\r\n const macsEqual = await this.cryptoFunctionService.compare(mac, computedMac);\r\n if (!macsEqual) {\r\n throw new Error('MAC failed.');\r\n }\r\n }\r\n\r\n const privateKey = await this.getPrivateKey();\r\n if (privateKey == null) {\r\n throw new Error('No private key.');\r\n }\r\n\r\n let alg: 'sha1' | 'sha256' = 'sha1';\r\n switch (encType) {\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\r\n alg = 'sha256';\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\r\n break;\r\n default:\r\n throw new Error('encType unavailable.');\r\n }\r\n\r\n return this.cryptoFunctionService.rsaDecrypt(data, privateKey, alg);\r\n }\r\n\r\n private async getKeyForEncryption(key?: SymmetricCryptoKey): Promise {\r\n if (key != null) {\r\n return key;\r\n }\r\n\r\n const encKey = await this.getEncKey();\r\n if (encKey != null) {\r\n return encKey;\r\n }\r\n\r\n return await this.getKey();\r\n }\r\n\r\n private resolveLegacyKey(encType: EncryptionType, key: SymmetricCryptoKey): SymmetricCryptoKey {\r\n if (encType === EncryptionType.AesCbc128_HmacSha256_B64 &&\r\n key.encType === EncryptionType.AesCbc256_B64) {\r\n // Old encrypt-then-mac scheme, make a new key\r\n if (this.legacyEtmKey == null) {\r\n this.legacyEtmKey = new SymmetricCryptoKey(key.key, EncryptionType.AesCbc128_HmacSha256_B64);\r\n }\r\n return this.legacyEtmKey;\r\n }\r\n\r\n return key;\r\n }\r\n\r\n private async stretchKey(key: SymmetricCryptoKey): Promise {\r\n const newKey = new Uint8Array(64);\r\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('enc'), 32));\r\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('mac'), 32), 32);\r\n return new SymmetricCryptoKey(newKey.buffer);\r\n }\r\n\r\n // ref: https://tools.ietf.org/html/rfc5869\r\n private async hkdfExpand(prk: ArrayBuffer, info: Uint8Array, size: number) {\r\n const hashLen = 32; // sha256\r\n const okm = new Uint8Array(size);\r\n let previousT = new Uint8Array(0);\r\n const n = Math.ceil(size / hashLen);\r\n for (let i = 0; i < n; i++) {\r\n const t = new Uint8Array(previousT.length + info.length + 1);\r\n t.set(previousT);\r\n t.set(info, previousT.length);\r\n t.set([i + 1], t.length - 1);\r\n previousT = new Uint8Array(await this.cryptoFunctionService.hmac(t.buffer, prk, 'sha256'));\r\n okm.set(previousT, i * hashLen);\r\n }\r\n return okm;\r\n }\r\n}\r\n","import { CryptoService } from '../abstractions/crypto.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nexport class ContainerService {\n constructor(private cryptoService: CryptoService,\n private platformUtilsService: PlatformUtilsService) {\n }\n\n // deprecated, use attachToGlobal instead\n attachToWindow(win: any) {\n this.attachToGlobal(win);\n }\n\n attachToGlobal(global: any) {\n if (!global.bitwardenContainerService) {\n global.bitwardenContainerService = this;\n }\n }\n\n getCryptoService(): CryptoService {\n return this.cryptoService;\n }\n\n getPlatformUtilsService(): PlatformUtilsService {\n return this.platformUtilsService;\n }\n}\n","import { CollectionData } from '../models/data/collectionData';\r\n\r\nimport { Collection } from '../models/domain/collection';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nimport { CollectionService as CollectionServiceAbstraction } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n collectionsPrefix: 'collections_',\r\n};\r\n\r\nexport class CollectionService implements CollectionServiceAbstraction {\r\n decryptedCollectionCache: CollectionView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private storageService: StorageService, private i18nService: I18nService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async encrypt(model: CollectionView): Promise {\r\n if (model.organizationId == null) {\r\n throw new Error('Collection has no organization id.');\r\n }\r\n const key = await this.cryptoService.getOrgKey(model.organizationId);\r\n if (key == null) {\r\n throw new Error('No key for this collection\\'s organization.');\r\n }\r\n const collection = new Collection();\r\n collection.id = model.id;\r\n collection.organizationId = model.organizationId;\r\n collection.readOnly = model.readOnly;\r\n collection.name = await this.cryptoService.encrypt(model.name, key);\r\n return collection;\r\n }\r\n\r\n async decryptMany(collections: Collection[]): Promise {\r\n if (collections == null) {\r\n return [];\r\n }\r\n const decCollections: CollectionView[] = [];\r\n const promises: Array> = [];\r\n collections.forEach((collection) => {\r\n promises.push(collection.decrypt().then((c) => decCollections.push(c)));\r\n });\r\n await Promise.all(promises);\r\n return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null || !collections.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Collection(collections[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n const response: Collection[] = [];\r\n for (const id in collections) {\r\n if (collections.hasOwnProperty(id)) {\r\n response.push(new Collection(collections[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCollectionCache != null) {\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const collections = await this.getAll();\r\n this.decryptedCollectionCache = await this.decryptMany(collections);\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n async upsert(collection: CollectionData | CollectionData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n collections = {};\r\n }\r\n\r\n if (collection instanceof CollectionData) {\r\n const c = collection as CollectionData;\r\n collections[c.id] = c;\r\n } else {\r\n (collection as CollectionData[]).forEach((c) => {\r\n collections[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async replace(collections: { [id: string]: CollectionData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.collectionsPrefix + userId);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete collections[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete collections[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n}\r\n","import { CipherType } from '../enums/cipherType';\r\nimport { UriMatchType } from '../enums/uriMatchType';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Attachment } from '../models/domain/attachment';\r\nimport { Card } from '../models/domain/card';\r\nimport { Cipher } from '../models/domain/cipher';\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport Domain from '../models/domain/domain';\r\nimport { Field } from '../models/domain/field';\r\nimport { Identity } from '../models/domain/identity';\r\nimport { Login } from '../models/domain/login';\r\nimport { LoginUri } from '../models/domain/loginUri';\r\nimport { SecureNote } from '../models/domain/secureNote';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\n\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\n\r\nimport { AttachmentView } from '../models/view/attachmentView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { View } from '../models/view/view';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService as CipherServiceAbstraction } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { SettingsService } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n ciphersPrefix: 'ciphers_',\r\n localData: 'sitesLocalData',\r\n neverDomains: 'neverDomains',\r\n};\r\n\r\nexport class CipherService implements CipherServiceAbstraction {\r\n decryptedCipherCache: CipherView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private settingsService: SettingsService, private apiService: ApiService,\r\n private storageService: StorageService, private i18nService: I18nService,\r\n private platformUtilsService: PlatformUtilsService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async encrypt(model: CipherView, key?: SymmetricCryptoKey): Promise {\r\n const cipher = new Cipher();\r\n cipher.id = model.id;\r\n cipher.folderId = model.folderId;\r\n cipher.favorite = model.favorite;\r\n cipher.organizationId = model.organizationId;\r\n cipher.type = model.type;\r\n cipher.collectionIds = model.collectionIds;\r\n\r\n if (key == null && cipher.organizationId != null) {\r\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\r\n }\r\n await Promise.all([\r\n this.encryptObjProperty(model, cipher, {\r\n name: null,\r\n notes: null,\r\n }, key),\r\n this.encryptCipherData(cipher, model, key),\r\n this.encryptFields(model.fields, key).then((fields) => {\r\n cipher.fields = fields;\r\n }),\r\n this.encryptAttachments(model.attachments, key).then((attachments) => {\r\n cipher.attachments = attachments;\r\n }),\r\n ]);\r\n\r\n return cipher;\r\n }\r\n\r\n async encryptAttachments(attachmentsModel: AttachmentView[], key: SymmetricCryptoKey): Promise {\r\n if (attachmentsModel == null || attachmentsModel.length === 0) {\r\n return null;\r\n }\r\n\r\n const promises: Array> = [];\r\n const encAttachments: Attachment[] = [];\r\n attachmentsModel.forEach(async (model) => {\r\n const attachment = new Attachment();\r\n attachment.id = model.id;\r\n attachment.size = model.size;\r\n attachment.sizeName = model.sizeName;\r\n attachment.url = model.url;\r\n const promise = this.encryptObjProperty(model, attachment, {\r\n fileName: null,\r\n }, key).then(() => {\r\n encAttachments.push(attachment);\r\n });\r\n promises.push(promise);\r\n });\r\n\r\n await Promise.all(promises);\r\n return encAttachments;\r\n }\r\n\r\n async encryptFields(fieldsModel: FieldView[], key: SymmetricCryptoKey): Promise {\r\n if (!fieldsModel || !fieldsModel.length) {\r\n return null;\r\n }\r\n\r\n const self = this;\r\n const encFields: Field[] = [];\r\n await fieldsModel.reduce((promise, field) => {\r\n return promise.then(() => {\r\n return self.encryptField(field, key);\r\n }).then((encField: Field) => {\r\n encFields.push(encField);\r\n });\r\n }, Promise.resolve());\r\n\r\n return encFields;\r\n }\r\n\r\n async encryptField(fieldModel: FieldView, key: SymmetricCryptoKey): Promise {\r\n const field = new Field();\r\n field.type = fieldModel.type;\r\n\r\n await this.encryptObjProperty(fieldModel, field, {\r\n name: null,\r\n value: null,\r\n }, key);\r\n\r\n return field;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const localData = await this.storageService.get(Keys.localData);\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null || !ciphers.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Cipher(ciphers[id], false, localData ? localData[id] : null);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const localData = await this.storageService.get(Keys.localData);\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n const response: Cipher[] = [];\r\n for (const id in ciphers) {\r\n if (ciphers.hasOwnProperty(id)) {\r\n response.push(new Cipher(ciphers[id], false, localData ? localData[id] : null));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCipherCache != null) {\r\n return this.decryptedCipherCache;\r\n }\r\n\r\n const decCiphers: CipherView[] = [];\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const promises: any[] = [];\r\n const ciphers = await this.getAll();\r\n ciphers.forEach((cipher) => {\r\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decCiphers.sort(this.getLocaleSortingFunction());\r\n this.decryptedCipherCache = decCiphers;\r\n return this.decryptedCipherCache;\r\n }\r\n\r\n async getAllDecryptedForGrouping(groupingId: string, folder: boolean = true): Promise {\r\n const ciphers = await this.getAllDecrypted();\r\n\r\n return ciphers.filter((cipher) => {\r\n if (folder && cipher.folderId === groupingId) {\r\n return true;\r\n } else if (!folder && cipher.collectionIds != null && cipher.collectionIds.indexOf(groupingId) > -1) {\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n async getAllDecryptedForUrl(url: string, includeOtherTypes?: CipherType[]): Promise {\r\n if (url == null && !includeOtherTypes) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const domain = this.platformUtilsService.getDomain(url);\r\n const eqDomainsPromise = domain == null ? Promise.resolve([]) :\r\n this.settingsService.getEquivalentDomains().then((eqDomains: any[][]) => {\r\n let matches: any[] = [];\r\n eqDomains.forEach((eqDomain) => {\r\n if (eqDomain.length && eqDomain.indexOf(domain) >= 0) {\r\n matches = matches.concat(eqDomain);\r\n }\r\n });\r\n\r\n if (!matches.length) {\r\n matches.push(domain);\r\n }\r\n\r\n return matches;\r\n });\r\n\r\n const result = await Promise.all([eqDomainsPromise, this.getAllDecrypted()]);\r\n const matchingDomains = result[0];\r\n const ciphers = result[1];\r\n\r\n return ciphers.filter((cipher) => {\r\n if (includeOtherTypes && includeOtherTypes.indexOf(cipher.type) > -1) {\r\n return true;\r\n }\r\n\r\n if (url != null && cipher.type === CipherType.Login && cipher.login.uris != null) {\r\n for (let i = 0; i < cipher.login.uris.length; i++) {\r\n const u = cipher.login.uris[i];\r\n if (u.uri == null) {\r\n continue;\r\n }\r\n\r\n switch (u.match) {\r\n case null:\r\n case undefined:\r\n case UriMatchType.Domain:\r\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.Host:\r\n const urlHost = Utils.getHost(url);\r\n if (urlHost != null && urlHost === Utils.getHost(u.uri)) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.Exact:\r\n if (url === u.uri) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.StartsWith:\r\n if (url.startsWith(u.uri)) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.RegularExpression:\r\n try {\r\n const regex = new RegExp(u.uri, 'i');\r\n if (regex.test(url)) {\r\n return true;\r\n }\r\n } catch { }\r\n break;\r\n case UriMatchType.Never:\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n async getLastUsedForUrl(url: string): Promise {\r\n const ciphers = await this.getAllDecryptedForUrl(url);\r\n if (ciphers.length === 0) {\r\n return null;\r\n }\r\n\r\n const sortedCiphers = ciphers.sort(this.sortCiphersByLastUsed);\r\n return sortedCiphers[0];\r\n }\r\n\r\n async updateLastUsedDate(id: string): Promise {\r\n let ciphersLocalData = await this.storageService.get(Keys.localData);\r\n if (!ciphersLocalData) {\r\n ciphersLocalData = {};\r\n }\r\n\r\n if (ciphersLocalData[id]) {\r\n ciphersLocalData[id].lastUsedDate = new Date().getTime();\r\n } else {\r\n ciphersLocalData[id] = {\r\n lastUsedDate: new Date().getTime(),\r\n };\r\n }\r\n\r\n await this.storageService.save(Keys.localData, ciphersLocalData);\r\n\r\n if (this.decryptedCipherCache == null) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\r\n const cached = this.decryptedCipherCache[i];\r\n if (cached.id === id) {\r\n cached.localData = ciphersLocalData[id];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n async saveNeverDomain(domain: string): Promise {\r\n if (domain == null) {\r\n return;\r\n }\r\n\r\n let domains = await this.storageService.get<{ [id: string]: any; }>(Keys.neverDomains);\r\n if (!domains) {\r\n domains = {};\r\n }\r\n domains[domain] = null;\r\n await this.storageService.save(Keys.neverDomains, domains);\r\n }\r\n\r\n async saveWithServer(cipher: Cipher): Promise {\r\n const request = new CipherRequest(cipher);\r\n\r\n let response: CipherResponse;\r\n if (cipher.id == null) {\r\n response = await this.apiService.postCipher(request);\r\n cipher.id = response.id;\r\n } else {\r\n response = await this.apiService.putCipher(cipher.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new CipherData(response, userId, cipher.collectionIds);\r\n await this.upsert(data);\r\n }\r\n\r\n async shareWithServer(cipher: CipherView, organizationId: string, collectionIds: string[]): Promise {\r\n cipher.organizationId = organizationId;\r\n cipher.collectionIds = collectionIds;\r\n const encCipher = await this.encrypt(cipher);\r\n const request = new CipherShareRequest(encCipher);\r\n await this.apiService.putShareCipher(cipher.id, request);\r\n const userId = await this.userService.getUserId();\r\n await this.upsert(encCipher.toCipherData(userId));\r\n }\r\n\r\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\r\n const promises: Array> = [];\r\n const encCiphers: Cipher[] = [];\r\n for (const cipher of ciphers) {\r\n cipher.organizationId = organizationId;\r\n cipher.collectionIds = collectionIds;\r\n promises.push(this.encrypt(cipher).then((c) => {\r\n encCiphers.push(c);\r\n }));\r\n }\r\n await Promise.all(promises);\r\n const request = new CipherBulkShareRequest(encCiphers, collectionIds);\r\n await this.apiService.putShareCiphers(request);\r\n const userId = await this.userService.getUserId();\r\n await this.upsert(encCiphers.map((c) => c.toCipherData(userId)));\r\n }\r\n\r\n async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\r\n organizationId: string): Promise {\r\n const attachmentResponse = await fetch(new Request(attachmentView.url, { cache: 'no-cache' }));\r\n if (attachmentResponse.status !== 200) {\r\n throw Error('Failed to download attachment: ' + attachmentResponse.status.toString());\r\n }\r\n\r\n const buf = await attachmentResponse.arrayBuffer();\r\n const decBuf = await this.cryptoService.decryptFromBytes(buf, null);\r\n const key = await this.cryptoService.getOrgKey(organizationId);\r\n const encData = await this.cryptoService.encryptToBytes(decBuf, key);\r\n const encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\r\n\r\n const fd = new FormData();\r\n try {\r\n const blob = new Blob([encData], { type: 'application/octet-stream' });\r\n fd.append('data', blob, encFileName.encryptedString);\r\n } catch (e) {\r\n if (Utils.isNode && !Utils.isBrowser) {\r\n fd.append('data', new Buffer(encData) as any, {\r\n filepath: encFileName.encryptedString,\r\n contentType: 'application/octet-stream',\r\n } as any);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n let response: CipherResponse;\r\n try {\r\n response = await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd,\r\n organizationId);\r\n } catch (e) {\r\n throw new Error((e as ErrorResponse).getSingleMessage());\r\n }\r\n }\r\n\r\n saveAttachmentWithServer(cipher: Cipher, unencryptedFile: any, admin = false): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(unencryptedFile);\r\n reader.onload = async (evt: any) => {\r\n try {\r\n const cData = await this.saveAttachmentRawWithServer(cipher,\r\n unencryptedFile.name, evt.target.result, admin);\r\n resolve(cData);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n };\r\n reader.onerror = (evt) => {\r\n reject('Error reading file.');\r\n };\r\n });\r\n }\r\n\r\n async saveAttachmentRawWithServer(cipher: Cipher, filename: string,\r\n data: ArrayBuffer, admin = false): Promise {\r\n const key = await this.cryptoService.getOrgKey(cipher.organizationId);\r\n const encFileName = await this.cryptoService.encrypt(filename, key);\r\n const encData = await this.cryptoService.encryptToBytes(data, key);\r\n\r\n const fd = new FormData();\r\n try {\r\n const blob = new Blob([encData], { type: 'application/octet-stream' });\r\n fd.append('data', blob, encFileName.encryptedString);\r\n } catch (e) {\r\n if (Utils.isNode && !Utils.isBrowser) {\r\n fd.append('data', new Buffer(encData) as any, {\r\n filepath: encFileName.encryptedString,\r\n contentType: 'application/octet-stream',\r\n } as any);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n let response: CipherResponse;\r\n try {\r\n if (admin) {\r\n response = await this.apiService.postCipherAttachmentAdmin(cipher.id, fd);\r\n } else {\r\n response = await this.apiService.postCipherAttachment(cipher.id, fd);\r\n }\r\n } catch (e) {\r\n throw new Error((e as ErrorResponse).getSingleMessage());\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const cData = new CipherData(response, userId, cipher.collectionIds);\r\n if (!admin) {\r\n this.upsert(cData);\r\n }\r\n return new Cipher(cData);\r\n }\r\n\r\n async saveCollectionsWithServer(cipher: Cipher): Promise {\r\n const request = new CipherCollectionsRequest(cipher.collectionIds);\r\n await this.apiService.putCipherCollections(cipher.id, request);\r\n const userId = await this.userService.getUserId();\r\n const data = cipher.toCipherData(userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(cipher: CipherData | CipherData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n ciphers = {};\r\n }\r\n\r\n if (cipher instanceof CipherData) {\r\n const c = cipher as CipherData;\r\n ciphers[c.id] = c;\r\n } else {\r\n (cipher as CipherData[]).forEach((c) => {\r\n ciphers[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async replace(ciphers: { [id: string]: CipherData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.ciphersPrefix + userId);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async moveManyWithServer(ids: string[], folderId: string): Promise {\r\n await this.apiService.putMoveCiphers(new CipherBulkMoveRequest(ids, folderId));\r\n\r\n const userId = await this.userService.getUserId();\r\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n ciphers = {};\r\n }\r\n\r\n ids.forEach((id) => {\r\n if (ciphers.hasOwnProperty(id)) {\r\n ciphers[id].folderId = folderId;\r\n }\r\n });\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete ciphers[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete ciphers[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteCipher(id);\r\n await this.delete(id);\r\n }\r\n\r\n async deleteManyWithServer(ids: string[]): Promise {\r\n await this.apiService.deleteManyCiphers(new CipherBulkDeleteRequest(ids));\r\n await this.delete(ids);\r\n }\r\n\r\n async deleteAttachment(id: string, attachmentId: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n\r\n if (ciphers == null || !ciphers.hasOwnProperty(id) || ciphers[id].attachments == null) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < ciphers[id].attachments.length; i++) {\r\n if (ciphers[id].attachments[i].id === attachmentId) {\r\n ciphers[id].attachments.splice(i, 1);\r\n }\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async deleteAttachmentWithServer(id: string, attachmentId: string): Promise {\r\n try {\r\n await this.apiService.deleteCipherAttachment(id, attachmentId);\r\n } catch (e) {\r\n return Promise.reject((e as ErrorResponse).getSingleMessage());\r\n }\r\n await this.deleteAttachment(id, attachmentId);\r\n }\r\n\r\n sortCiphersByLastUsed(a: CipherView, b: CipherView): number {\r\n const aLastUsed = a.localData && a.localData.lastUsedDate ? a.localData.lastUsedDate as number : null;\r\n const bLastUsed = b.localData && b.localData.lastUsedDate ? b.localData.lastUsedDate as number : null;\r\n\r\n if (aLastUsed != null && bLastUsed != null && aLastUsed < bLastUsed) {\r\n return 1;\r\n }\r\n if (aLastUsed != null && bLastUsed == null) {\r\n return -1;\r\n }\r\n\r\n if (bLastUsed != null && aLastUsed != null && aLastUsed > bLastUsed) {\r\n return -1;\r\n }\r\n if (bLastUsed != null && aLastUsed == null) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n sortCiphersByLastUsedThenName(a: CipherView, b: CipherView): number {\r\n const result = this.sortCiphersByLastUsed(a, b);\r\n if (result !== 0) {\r\n return result;\r\n }\r\n\r\n return this.getLocaleSortingFunction()(a, b);\r\n }\r\n\r\n getLocaleSortingFunction(): (a: CipherView, b: CipherView) => number {\r\n return (a, b) => {\r\n let aName = a.name;\r\n let bName = b.name;\r\n\r\n if (aName == null && bName != null) {\r\n return -1;\r\n }\r\n if (aName != null && bName == null) {\r\n return 1;\r\n }\r\n if (aName == null && bName == null) {\r\n return 0;\r\n }\r\n\r\n const result = this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\r\n aName.localeCompare(bName);\r\n\r\n if (result !== 0 || a.type !== CipherType.Login || b.type !== CipherType.Login) {\r\n return result;\r\n }\r\n\r\n if (a.login.username != null) {\r\n aName += a.login.username;\r\n }\r\n\r\n if (b.login.username != null) {\r\n bName += b.login.username;\r\n }\r\n\r\n return this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\r\n aName.localeCompare(bName);\r\n };\r\n }\r\n\r\n // Helpers\r\n\r\n private async encryptObjProperty(model: V, obj: D,\r\n map: any, key: SymmetricCryptoKey): Promise {\r\n const promises = [];\r\n const self = this;\r\n\r\n for (const prop in map) {\r\n if (!map.hasOwnProperty(prop)) {\r\n continue;\r\n }\r\n\r\n // tslint:disable-next-line\r\n (function (theProp, theObj) {\r\n const p = Promise.resolve().then(() => {\r\n const modelProp = (model as any)[(map[theProp] || theProp)];\r\n if (modelProp && modelProp !== '') {\r\n return self.cryptoService.encrypt(modelProp, key);\r\n }\r\n return null;\r\n }).then((val: CipherString) => {\r\n (theObj as any)[theProp] = val;\r\n });\r\n promises.push(p);\r\n })(prop, obj);\r\n }\r\n\r\n await Promise.all(promises);\r\n }\r\n\r\n private async encryptCipherData(cipher: Cipher, model: CipherView, key: SymmetricCryptoKey) {\r\n switch (cipher.type) {\r\n case CipherType.Login:\r\n cipher.login = new Login();\r\n await this.encryptObjProperty(model.login, cipher.login, {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n }, key);\r\n\r\n if (model.login.uris != null) {\r\n cipher.login.uris = [];\r\n for (let i = 0; i < model.login.uris.length; i++) {\r\n const loginUri = new LoginUri();\r\n loginUri.match = model.login.uris[i].match;\r\n await this.encryptObjProperty(model.login.uris[i], loginUri, {\r\n uri: null,\r\n }, key);\r\n cipher.login.uris.push(loginUri);\r\n }\r\n }\r\n return;\r\n case CipherType.SecureNote:\r\n cipher.secureNote = new SecureNote();\r\n cipher.secureNote.type = model.secureNote.type;\r\n return;\r\n case CipherType.Card:\r\n cipher.card = new Card();\r\n await this.encryptObjProperty(model.card, cipher.card, {\r\n cardholderName: null,\r\n brand: null,\r\n number: null,\r\n expMonth: null,\r\n expYear: null,\r\n code: null,\r\n }, key);\r\n return;\r\n case CipherType.Identity:\r\n cipher.identity = new Identity();\r\n await this.encryptObjProperty(model.identity, cipher.identity, {\r\n title: null,\r\n firstName: null,\r\n middleName: null,\r\n lastName: null,\r\n address1: null,\r\n address2: null,\r\n address3: null,\r\n city: null,\r\n state: null,\r\n postalCode: null,\r\n country: null,\r\n company: null,\r\n email: null,\r\n phone: null,\r\n ssn: null,\r\n username: null,\r\n passportNumber: null,\r\n licenseNumber: null,\r\n }, key);\r\n return;\r\n default:\r\n throw new Error('Unknown cipher type.');\r\n }\r\n }\r\n}\r\n","import { ApiService } from '../abstractions/api.service';\r\nimport { AuditService as AuditServiceAbstraction } from '../abstractions/audit.service';\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\r\n\r\nconst PwnedPasswordsApi = 'https://api.pwnedpasswords.com/range/';\r\nconst HibpBreachApi = 'https://haveibeenpwned.com/api/v2/breachedaccount/';\r\n\r\nexport class AuditService implements AuditServiceAbstraction {\r\n constructor(private cryptoFunctionService: CryptoFunctionService, private apiService: ApiService) { }\r\n\r\n async passwordLeaked(password: string): Promise {\r\n const hashBytes = await this.cryptoFunctionService.hash(password, 'sha1');\r\n const hash = Utils.fromBufferToHex(hashBytes).toUpperCase();\r\n const hashStart = hash.substr(0, 5);\r\n const hashEnding = hash.substr(5);\r\n\r\n const response = await fetch(new Request(PwnedPasswordsApi + hashStart));\r\n const leakedHashes = await response.text();\r\n const match = leakedHashes.split(/\\r?\\n/).find((v) => {\r\n return v.split(':')[0] === hashEnding;\r\n });\r\n\r\n return match != null ? parseInt(match.split(':')[1], 10) : 0;\r\n }\r\n\r\n async breachedAccounts(username: string): Promise {\r\n const response = await this.apiService.fetch(new Request(HibpBreachApi + username));\r\n if (response.status === 404) {\r\n return [];\r\n } else if (response.status !== 200) {\r\n throw new Error();\r\n }\r\n const responseJson = await response.json();\r\n return responseJson.map((a: any) => new BreachAccountResponse(a));\r\n }\r\n}\r\n","import { Utils } from '../misc/utils';\r\n\r\nimport { AppIdService as AppIdServiceAbstraction } from '../abstractions/appId.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class AppIdService implements AppIdServiceAbstraction {\r\n constructor(private storageService: StorageService) {\r\n }\r\n\r\n getAppId(): Promise {\r\n return this.makeAndGetAppId('appId');\r\n }\r\n\r\n getAnonymousAppId(): Promise {\r\n return this.makeAndGetAppId('anonymousAppId');\r\n }\r\n\r\n private async makeAndGetAppId(key: string) {\r\n const existingId = await this.storageService.get(key);\r\n if (existingId != null) {\r\n return existingId;\r\n }\r\n\r\n const guid = Utils.newGuid();\r\n await this.storageService.save(key, guid);\r\n return guid;\r\n }\r\n}\r\n","import { ProfileOrganizationResponse } from './profileOrganizationResponse';\r\n\r\nexport class ProfileResponse {\r\n id: string;\r\n name: string;\r\n email: string;\r\n emailVerified: boolean;\r\n masterPasswordHint: string;\r\n premium: boolean;\r\n culture: string;\r\n twoFactorEnabled: boolean;\r\n key: string;\r\n privateKey: string;\r\n securityStamp: string;\r\n organizations: ProfileOrganizationResponse[] = [];\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.name = response.Name;\r\n this.email = response.Email;\r\n this.emailVerified = response.EmailVerified;\r\n this.masterPasswordHint = response.MasterPasswordHint;\r\n this.premium = response.Premium;\r\n this.culture = response.Culture;\r\n this.twoFactorEnabled = response.TwoFactorEnabled;\r\n this.key = response.Key;\r\n this.privateKey = response.PrivateKey;\r\n this.securityStamp = response.SecurityStamp;\r\n\r\n if (response.Organizations) {\r\n response.Organizations.forEach((org: any) => {\r\n this.organizations.push(new ProfileOrganizationResponse(org));\r\n });\r\n }\r\n }\r\n}\r\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationResponse {\n id: string;\n name: string;\n businessName: string;\n businessAddress1: string;\n businessAddress2: string;\n businessAddress3: string;\n businessCountry: string;\n businessTaxNumber: string;\n billingEmail: string;\n plan: string;\n planType: PlanType;\n seats: number;\n maxCollections: number;\n maxStorageGb: number;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.name = response.Name;\n this.businessName = response.BusinessName;\n this.businessAddress1 = response.BusinessAddress1;\n this.businessAddress2 = response.BusinessAddress2;\n this.businessAddress3 = response.BusinessAddress3;\n this.businessCountry = response.BusinessCountry;\n this.businessTaxNumber = response.BusinessTaxNumber;\n this.billingEmail = response.BillingEmail;\n this.plan = response.Plan;\n this.planType = response.PlanType;\n this.seats = response.Seats;\n this.maxCollections = response.MaxCollections;\n this.maxStorageGb = response.MaxStorageGb;\n this.useGroups = response.UseGroups;\n this.useDirectory = response.UseDirectory;\n this.useEvents = response.UseEvents;\n this.useTotp = response.UseTotp;\n this.use2fa = response.Use2fa;\n }\n}\n","export class FolderResponse {\r\n id: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.name = response.Name;\r\n this.revisionDate = response.RevisionDate;\r\n }\r\n}\r\n","import { GlobalDomainResponse } from './globalDomainResponse';\r\n\r\nexport class DomainsResponse {\r\n equivalentDomains: string[][];\r\n globalEquivalentDomains: GlobalDomainResponse[] = [];\r\n\r\n constructor(response: any) {\r\n this.equivalentDomains = response.EquivalentDomains;\r\n\r\n this.globalEquivalentDomains = [];\r\n if (response.GlobalEquivalentDomains) {\r\n response.GlobalEquivalentDomains.forEach((domain: any) => {\r\n this.globalEquivalentDomains.push(new GlobalDomainResponse(domain));\r\n });\r\n }\r\n }\r\n}\r\n","import { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class CollectionResponse {\n id: string;\n organizationId: string;\n name: string;\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.name = response.Name;\n }\n}\n\nexport class CollectionDetailsResponse extends CollectionResponse {\n readOnly: boolean;\n\n constructor(response: any) {\n super(response);\n this.readOnly = response.ReadOnly || false;\n }\n}\n\nexport class CollectionGroupDetailsResponse extends CollectionResponse {\n groups: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Groups != null) {\n this.groups = response.Groups.map((g: any) => new SelectionReadOnlyResponse(g));\n }\n }\n}\n","import { AttachmentResponse } from './attachmentResponse';\n\nimport { CardApi } from '../api/cardApi';\nimport { FieldApi } from '../api/fieldApi';\nimport { IdentityApi } from '../api/identityApi';\nimport { LoginApi } from '../api/loginApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class CipherResponse {\n id: string;\n organizationId: string;\n folderId: string;\n type: number;\n name: string;\n notes: string;\n fields: FieldApi[];\n login: LoginApi;\n card: CardApi;\n identity: IdentityApi;\n secureNote: SecureNoteApi;\n favorite: boolean;\n edit: boolean;\n organizationUseTotp: boolean;\n revisionDate: Date;\n attachments: AttachmentResponse[];\n collectionIds: string[];\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.folderId = response.FolderId || null;\n this.type = response.Type;\n this.name = response.Name;\n this.notes = response.Notes;\n this.favorite = response.Favorite || false;\n this.edit = response.Edit || true;\n this.organizationUseTotp = response.OrganizationUseTotp;\n this.revisionDate = new Date(response.RevisionDate);\n\n if (response.Login != null) {\n this.login = new LoginApi(response.Login);\n }\n\n if (response.Card != null) {\n this.card = new CardApi(response.Card);\n }\n\n if (response.Identity != null) {\n this.identity = new IdentityApi(response.Identity);\n }\n\n if (response.SecureNote != null) {\n this.secureNote = new SecureNoteApi(response.SecureNote);\n }\n\n if (response.Fields != null) {\n this.fields = [];\n response.Fields.forEach((field: any) => {\n this.fields.push(new FieldApi(field));\n });\n }\n\n if (response.Attachments != null) {\n this.attachments = [];\n response.Attachments.forEach((attachment: any) => {\n this.attachments.push(new AttachmentResponse(attachment));\n });\n }\n\n if (response.CollectionIds) {\n this.collectionIds = [];\n response.CollectionIds.forEach((id: string) => {\n this.collectionIds.push(id);\n });\n }\n }\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\n\nexport class BillingResponse {\n storageName: string;\n storageGb: number;\n maxStorageGb: number;\n paymentSource: BillingSourceResponse;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingInvoiceResponse;\n charges: BillingChargeResponse[] = [];\n license: any;\n expiration: Date;\n\n constructor(response: any) {\n this.storageName = response.StorageName;\n this.storageGb = response.StorageGb;\n this.maxStorageGb = response.MaxStorageGb;\n this.paymentSource = response.PaymentSource == null ? null : new BillingSourceResponse(response.PaymentSource);\n this.subscription = response.Subscription == null ?\n null : new BillingSubscriptionResponse(response.Subscription);\n this.upcomingInvoice = response.UpcomingInvoice == null ?\n null : new BillingInvoiceResponse(response.UpcomingInvoice);\n if (response.Charges != null) {\n this.charges = response.Charges.map((c: any) => new BillingChargeResponse(c));\n }\n this.license = response.License;\n this.expiration = response.Expiration;\n }\n}\n\nexport class BillingSourceResponse {\n type: PaymentMethodType;\n cardBrand: string;\n description: string;\n needsVerification: boolean;\n\n constructor(response: any) {\n this.type = response.Type;\n this.cardBrand = response.CardBrand;\n this.description = response.Description;\n this.needsVerification = response.NeedsVerification;\n }\n}\n\nexport class BillingSubscriptionResponse {\n trialStartDate: Date;\n trialEndDate: Date;\n periodStartDate: Date;\n periodEndDate: Date;\n cancelledDate: Date;\n cancelAtEndDate: boolean;\n status: string;\n cancelled: boolean;\n items: BillingSubscriptionItemResponse[] = [];\n\n constructor(response: any) {\n this.trialEndDate = response.TrialStartDate;\n this.trialEndDate = response.TrialEndDate;\n this.periodStartDate = response.PeriodStartDate;\n this.periodEndDate = response.PeriodEndDate;\n this.cancelledDate = response.CancelledDate;\n this.cancelAtEndDate = response.CancelAtEndDate;\n this.status = response.Status;\n this.cancelled = response.Cancelled;\n if (response.Items != null) {\n this.items = response.Items.map((i: any) => new BillingSubscriptionItemResponse(i));\n }\n }\n}\n\nexport class BillingSubscriptionItemResponse {\n name: string;\n amount: number;\n quantity: number;\n interval: string;\n\n constructor(response: any) {\n this.name = response.Name;\n this.amount = response.Amount;\n this.quantity = response.Quantity;\n this.interval = response.Interval;\n }\n}\n\nexport class BillingInvoiceResponse {\n date: Date;\n amount: number;\n\n constructor(response: any) {\n this.date = response.Date;\n this.amount = response.Amount;\n }\n}\n\nexport class BillingChargeResponse {\n createdDate: Date;\n amount: number;\n paymentSource: BillingSourceResponse;\n status: string;\n failureMessage: string;\n refunded: boolean;\n partiallyRefunded: boolean;\n refundedAmount: number;\n invoiceId: string;\n\n constructor(response: any) {\n this.createdDate = response.CreatedDate;\n this.amount = response.Amount;\n this.paymentSource = response.PaymentSource != null ? new BillingSourceResponse(response.PaymentSource) : null;\n this.status = response.Status;\n this.failureMessage = response.FailureMessage;\n this.refunded = response.Refunded;\n this.partiallyRefunded = response.PartiallyRefunded;\n this.refundedAmount = response.RefundedAmount;\n this.invoiceId = response.InvoiceId;\n }\n}\n","import { DeviceType } from '../enums/deviceType';\r\n\r\nimport { ApiService as ApiServiceAbstraction } from '../abstractions/api.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { TokenService } from '../abstractions/token.service';\r\n\r\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\r\nimport { EmailRequest } from '../models/request/emailRequest';\r\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { GroupRequest } from '../models/request/groupRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KeysRequest } from '../models/request/keysRequest';\r\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\r\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\r\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\r\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\r\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\r\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\r\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\r\nimport { PasswordRequest } from '../models/request/passwordRequest';\r\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\r\nimport { PaymentRequest } from '../models/request/paymentRequest';\r\nimport { RegisterRequest } from '../models/request/registerRequest';\r\nimport { SeatRequest } from '../models/request/seatRequest';\r\nimport { StorageRequest } from '../models/request/storageRequest';\r\nimport { TokenRequest } from '../models/request/tokenRequest';\r\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\r\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\r\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\r\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\r\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\r\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\r\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\r\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\r\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\r\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\r\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\r\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\r\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\r\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\r\n\r\nimport { BillingResponse } from '../models/response/billingResponse';\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport {\r\n CollectionGroupDetailsResponse,\r\n CollectionResponse,\r\n} from '../models/response/collectionResponse';\r\nimport { CollectionUserResponse } from '../models/response/collectionUserResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\nimport { EventResponse } from '../models/response/eventResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n GroupDetailsResponse,\r\n GroupResponse,\r\n} from '../models/response/groupResponse';\r\nimport { GroupUserResponse } from '../models/response/groupUserResponse';\r\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\r\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\r\nimport { ListResponse } from '../models/response/listResponse';\r\nimport { OrganizationBillingResponse } from '../models/response/organizationBillingResponse';\r\nimport { OrganizationResponse } from '../models/response/organizationResponse';\r\nimport {\r\n OrganizationUserDetailsResponse,\r\n OrganizationUserUserDetailsResponse,\r\n} from '../models/response/organizationUserResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\nimport { SyncResponse } from '../models/response/syncResponse';\r\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\r\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\r\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\r\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\r\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\r\nimport { TwoFactorU2fResponse } from '../models/response/twoFactorU2fResponse';\r\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\r\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\r\n\r\nexport class ApiService implements ApiServiceAbstraction {\r\n urlsSet: boolean = false;\r\n apiBaseUrl: string;\r\n identityBaseUrl: string;\r\n\r\n private deviceType: string;\r\n private isWebClient = false;\r\n private isDesktopClient = false;\r\n private usingBaseUrl = false;\r\n\r\n constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,\r\n private logoutCallback: (expired: boolean) => Promise) {\r\n const device = platformUtilsService.getDevice();\r\n this.deviceType = device.toString();\r\n this.isWebClient = device === DeviceType.IEBrowser || device === DeviceType.ChromeBrowser ||\r\n device === DeviceType.EdgeBrowser || device === DeviceType.FirefoxBrowser ||\r\n device === DeviceType.OperaBrowser || device === DeviceType.SafariBrowser ||\r\n device === DeviceType.UnknownBrowser || device === DeviceType.VivaldiBrowser;\r\n this.isDesktopClient = device === DeviceType.WindowsDesktop || device === DeviceType.MacOsDesktop ||\r\n device === DeviceType.LinuxDesktop;\r\n }\r\n\r\n setUrls(urls: EnvironmentUrls): void {\r\n this.urlsSet = true;\r\n\r\n if (urls.base != null) {\r\n this.usingBaseUrl = true;\r\n this.apiBaseUrl = urls.base + '/api';\r\n this.identityBaseUrl = urls.base + '/identity';\r\n return;\r\n }\r\n\r\n if (urls.api != null && urls.identity != null) {\r\n this.apiBaseUrl = urls.api;\r\n this.identityBaseUrl = urls.identity;\r\n return;\r\n }\r\n\r\n /* tslint:disable */\r\n // Local Dev\r\n //this.apiBaseUrl = 'http://localhost:4000';\r\n //this.identityBaseUrl = 'http://localhost:33656';\r\n\r\n // Production\r\n this.apiBaseUrl = 'https://api.bitwarden.com';\r\n this.identityBaseUrl = 'https://identity.bitwarden.com';\r\n /* tslint:enable */\r\n }\r\n\r\n // Auth APIs\r\n\r\n async postIdentityToken(request: TokenRequest): Promise {\r\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\r\n body: this.qsStringify(request.toIdentityToken(this.platformUtilsService.identityClientId)),\r\n credentials: this.getCredentials(),\r\n cache: 'no-cache',\r\n headers: new Headers({\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\r\n 'Accept': 'application/json',\r\n 'Device-Type': this.deviceType,\r\n }),\r\n method: 'POST',\r\n }));\r\n\r\n let responseJson: any = null;\r\n const typeHeader = response.headers.get('content-type');\r\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\r\n responseJson = await response.json();\r\n }\r\n\r\n if (responseJson != null) {\r\n if (response.status === 200) {\r\n return new IdentityTokenResponse(responseJson);\r\n } else if (response.status === 400 && responseJson.TwoFactorProviders2 &&\r\n Object.keys(responseJson.TwoFactorProviders2).length) {\r\n await this.tokenService.clearTwoFactorToken(request.email);\r\n return new IdentityTwoFactorResponse(responseJson);\r\n }\r\n }\r\n\r\n return Promise.reject(new ErrorResponse(responseJson, response.status, true));\r\n }\r\n\r\n async refreshIdentityToken(): Promise {\r\n try {\r\n await this.doRefreshToken();\r\n } catch (e) {\r\n return Promise.reject(null);\r\n }\r\n }\r\n\r\n // Account APIs\r\n\r\n async getProfile(): Promise {\r\n const r = await this.send('GET', '/accounts/profile', null, true, true);\r\n return new ProfileResponse(r);\r\n }\r\n\r\n async getUserBilling(): Promise {\r\n const r = await this.send('GET', '/accounts/billing', null, true, true);\r\n return new BillingResponse(r);\r\n }\r\n\r\n async putProfile(request: UpdateProfileRequest): Promise {\r\n const r = await this.send('PUT', '/accounts/profile', request, true, true);\r\n return new ProfileResponse(r);\r\n }\r\n\r\n postEmailToken(request: EmailTokenRequest): Promise {\r\n return this.send('POST', '/accounts/email-token', request, true, false);\r\n }\r\n\r\n postEmail(request: EmailRequest): Promise {\r\n return this.send('POST', '/accounts/email', request, true, false);\r\n }\r\n\r\n postPassword(request: PasswordRequest): Promise {\r\n return this.send('POST', '/accounts/password', request, true, false);\r\n }\r\n\r\n postSecurityStamp(request: PasswordVerificationRequest): Promise {\r\n return this.send('POST', '/accounts/security-stamp', request, true, false);\r\n }\r\n\r\n deleteAccount(request: PasswordVerificationRequest): Promise {\r\n return this.send('DELETE', '/accounts', request, true, false);\r\n }\r\n\r\n async getAccountRevisionDate(): Promise {\r\n const r = await this.send('GET', '/accounts/revision-date', null, true, true);\r\n return r as number;\r\n }\r\n\r\n postPasswordHint(request: PasswordHintRequest): Promise {\r\n return this.send('POST', '/accounts/password-hint', request, false, false);\r\n }\r\n\r\n postRegister(request: RegisterRequest): Promise {\r\n return this.send('POST', '/accounts/register', request, false, false);\r\n }\r\n\r\n postPremium(data: FormData): Promise {\r\n return this.send('POST', '/accounts/premium', data, true, false);\r\n }\r\n\r\n postReinstatePremium(): Promise {\r\n return this.send('POST', '/accounts/reinstate-premium', null, true, false);\r\n }\r\n\r\n postCancelPremium(): Promise {\r\n return this.send('POST', '/accounts/cancel-premium', null, true, false);\r\n }\r\n\r\n postAccountStorage(request: StorageRequest): Promise {\r\n return this.send('POST', '/accounts/storage', request, true, false);\r\n }\r\n\r\n postAccountPayment(request: PaymentRequest): Promise {\r\n return this.send('POST', '/accounts/payment', request, true, false);\r\n }\r\n\r\n postAccountLicense(data: FormData): Promise {\r\n return this.send('POST', '/accounts/license', data, true, false);\r\n }\r\n\r\n postAccountKeys(request: KeysRequest): Promise {\r\n return this.send('POST', '/accounts/keys', request, true, false);\r\n }\r\n\r\n postAccountKey(request: UpdateKeyRequest): Promise {\r\n return this.send('POST', '/accounts/key', request, true, false);\r\n }\r\n\r\n postAccountVerifyEmail(): Promise {\r\n return this.send('POST', '/accounts/verify-email', null, true, false);\r\n }\r\n\r\n postAccountVerifyEmailToken(request: VerifyEmailRequest): Promise {\r\n return this.send('POST', '/accounts/verify-email-token', request, false, false);\r\n }\r\n\r\n postAccountRecoverDelete(request: DeleteRecoverRequest): Promise {\r\n return this.send('POST', '/accounts/delete-recover', request, false, false);\r\n }\r\n\r\n postAccountRecoverDeleteToken(request: VerifyDeleteRecoverRequest): Promise {\r\n return this.send('POST', '/accounts/delete-recover-token', request, false, false);\r\n }\r\n\r\n // Folder APIs\r\n\r\n async postFolder(request: FolderRequest): Promise {\r\n const r = await this.send('POST', '/folders', request, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n async putFolder(id: string, request: FolderRequest): Promise {\r\n const r = await this.send('PUT', '/folders/' + id, request, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n deleteFolder(id: string): Promise {\r\n return this.send('DELETE', '/folders/' + id, null, true, false);\r\n }\r\n\r\n // Cipher APIs\r\n\r\n async getCipher(id: string): Promise {\r\n const r = await this.send('GET', '/ciphers/' + id, null, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async getCipherAdmin(id: string): Promise {\r\n const r = await this.send('GET', '/ciphers/' + id + '/admin', null, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async getCiphersOrganization(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/ciphers/organization-details?organizationId=' + organizationId,\r\n null, true, true);\r\n return new ListResponse(r, CipherResponse);\r\n }\r\n\r\n async postCipher(request: CipherRequest): Promise {\r\n const r = await this.send('POST', '/ciphers', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherAdmin(request: CipherRequest): Promise {\r\n const r = await this.send('POST', '/ciphers/admin', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async putCipher(id: string, request: CipherRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id, request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async putCipherAdmin(id: string, request: CipherRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id + '/admin', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n deleteCipher(id: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id, null, true, false);\r\n }\r\n\r\n deleteCipherAdmin(id: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/admin', null, true, false);\r\n }\r\n\r\n deleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\r\n return this.send('DELETE', '/ciphers', request, true, false);\r\n }\r\n\r\n putMoveCiphers(request: CipherBulkMoveRequest): Promise {\r\n return this.send('PUT', '/ciphers/move', request, true, false);\r\n }\r\n\r\n putShareCipher(id: string, request: CipherShareRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/share', request, true, false);\r\n }\r\n\r\n putShareCiphers(request: CipherBulkShareRequest): Promise {\r\n return this.send('PUT', '/ciphers/share', request, true, false);\r\n }\r\n\r\n putCipherCollections(id: string, request: CipherCollectionsRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/collections', request, true, false);\r\n }\r\n\r\n putCipherCollectionsAdmin(id: string, request: CipherCollectionsRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/collections-admin', request, true, false);\r\n }\r\n\r\n postPurgeCiphers(request: PasswordVerificationRequest): Promise {\r\n return this.send('POST', '/ciphers/purge', request, true, false);\r\n }\r\n\r\n postImportCiphers(request: ImportCiphersRequest): Promise {\r\n return this.send('POST', '/ciphers/import', request, true, false);\r\n }\r\n\r\n postImportOrganizationCiphers(organizationId: string, request: ImportOrganizationCiphersRequest): Promise {\r\n return this.send('POST', '/ciphers/import-organization?organizationId=' + organizationId, request, true, false);\r\n }\r\n\r\n // Attachments APIs\r\n\r\n async postCipherAttachment(id: string, data: FormData): Promise {\r\n const r = await this.send('POST', '/ciphers/' + id + '/attachment', data, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherAttachmentAdmin(id: string, data: FormData): Promise {\r\n const r = await this.send('POST', '/ciphers/' + id + '/attachment-admin', data, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n deleteCipherAttachment(id: string, attachmentId: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId, null, true, false);\r\n }\r\n\r\n deleteCipherAttachmentAdmin(id: string, attachmentId: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId + '/admin', null, true, false);\r\n }\r\n\r\n postShareCipherAttachment(id: string, attachmentId: string, data: FormData,\r\n organizationId: string): Promise {\r\n return this.send('POST', '/ciphers/' + id + '/attachment/' +\r\n attachmentId + '/share?organizationId=' + organizationId, data, true, false);\r\n }\r\n\r\n // Collections APIs\r\n\r\n async getCollectionDetails(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/details',\r\n null, true, true);\r\n return new CollectionGroupDetailsResponse(r);\r\n }\r\n\r\n async getCollections(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections', null, true, true);\r\n return new ListResponse(r, CollectionResponse);\r\n }\r\n\r\n async getCollectionUsers(organizationId: string, id: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/users',\r\n null, true, true);\r\n return new ListResponse(r, CollectionUserResponse);\r\n }\r\n\r\n async postCollection(organizationId: string, request: CollectionRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/collections', request, true, true);\r\n return new CollectionResponse(r);\r\n }\r\n\r\n async putCollection(organizationId: string, id: string, request: CollectionRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id,\r\n request, true, true);\r\n return new CollectionResponse(r);\r\n }\r\n\r\n deleteCollection(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/collections/' + id, null, true, false);\r\n }\r\n\r\n deleteCollectionUser(organizationId: string, id: string, organizationUserId: string): Promise {\r\n return this.send('DELETE',\r\n '/organizations/' + organizationId + '/collections/' + id + '/user/' + organizationUserId,\r\n null, true, false);\r\n }\r\n\r\n // Groups APIs\r\n\r\n async getGroupDetails(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/details',\r\n null, true, true);\r\n return new GroupDetailsResponse(r);\r\n }\r\n\r\n async getGroups(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups', null, true, true);\r\n return new ListResponse(r, GroupResponse);\r\n }\r\n\r\n async getGroupUsers(organizationId: string, id: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/users',\r\n null, true, true);\r\n return new ListResponse(r, GroupUserResponse);\r\n }\r\n\r\n async postGroup(organizationId: string, request: GroupRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/groups', request, true, true);\r\n return new GroupResponse(r);\r\n }\r\n\r\n async putGroup(organizationId: string, id: string, request: GroupRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id, request, true, true);\r\n return new GroupResponse(r);\r\n }\r\n\r\n deleteGroup(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/groups/' + id, null, true, false);\r\n }\r\n\r\n deleteGroupUser(organizationId: string, id: string, organizationUserId: string): Promise {\r\n return this.send('DELETE',\r\n '/organizations/' + organizationId + '/groups/' + id + '/user/' + organizationUserId, null, true, false);\r\n }\r\n\r\n // Organization User APIs\r\n\r\n async getOrganizationUser(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id, null, true, true);\r\n return new OrganizationUserDetailsResponse(r);\r\n }\r\n\r\n async getOrganizationUserGroups(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id + '/groups',\r\n null, true, true);\r\n return r;\r\n }\r\n\r\n async getOrganizationUsers(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users', null, true, true);\r\n return new ListResponse(r, OrganizationUserUserDetailsResponse);\r\n }\r\n\r\n postOrganizationUserInvite(organizationId: string, request: OrganizationUserInviteRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/invite', request, true, false);\r\n }\r\n\r\n postOrganizationUserReinvite(organizationId: string, id: string): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false);\r\n }\r\n\r\n postOrganizationUserAccept(organizationId: string, id: string,\r\n request: OrganizationUserAcceptRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/accept', request, true, false);\r\n }\r\n\r\n postOrganizationUserConfirm(organizationId: string, id: string,\r\n request: OrganizationUserConfirmRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/confirm',\r\n request, true, false);\r\n }\r\n\r\n putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise {\r\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false);\r\n }\r\n\r\n putOrganizationUserGroups(organizationId: string, id: string,\r\n request: OrganizationUserUpdateGroupsRequest): Promise {\r\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id + '/groups', request, true, false);\r\n }\r\n\r\n deleteOrganizationUser(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false);\r\n }\r\n\r\n // Sync APIs\r\n\r\n async getSync(): Promise {\r\n const path = this.isDesktopClient || this.isWebClient ? '/sync?excludeDomains=true' : '/sync';\r\n const r = await this.send('GET', path, null, true, true);\r\n return new SyncResponse(r);\r\n }\r\n\r\n async postImportDirectory(organizationId: string, request: ImportDirectoryRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/import', request, true, false);\r\n }\r\n\r\n // Settings APIs\r\n\r\n async getSettingsDomains(): Promise {\r\n const r = await this.send('GET', '/settings/domains', null, true, true);\r\n return new DomainsResponse(r);\r\n }\r\n\r\n async putSettingsDomains(request: UpdateDomainsRequest): Promise {\r\n const r = await this.send('PUT', '/settings/domains', request, true, true);\r\n return new DomainsResponse(r);\r\n }\r\n\r\n // Two-factor APIs\r\n\r\n async getTwoFactorProviders(): Promise> {\r\n const r = await this.send('GET', '/two-factor', null, true, true);\r\n return new ListResponse(r, TwoFactorProviderResponse);\r\n }\r\n\r\n async getTwoFactorOrganizationProviders(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true);\r\n return new ListResponse(r, TwoFactorProviderResponse);\r\n }\r\n\r\n async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true);\r\n return new TwoFactorAuthenticatorResponse(r);\r\n }\r\n\r\n async getTwoFactorEmail(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-email', request, true, true);\r\n return new TwoFactorEmailResponse(r);\r\n }\r\n\r\n async getTwoFactorDuo(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async getTwoFactorOrganizationDuo(organizationId: string,\r\n request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo',\r\n request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true);\r\n return new TwoFactorYubiKeyResponse(r);\r\n }\r\n\r\n async getTwoFactorU2f(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async getTwoFactorRecover(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-recover', request, true, true);\r\n return new TwoFactorRecoverResponse(r);\r\n }\r\n\r\n async putTwoFactorAuthenticator(\r\n request: UpdateTwoFactorAuthenticatorRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/authenticator', request, true, true);\r\n return new TwoFactorAuthenticatorResponse(r);\r\n }\r\n\r\n async putTwoFactorEmail(request: UpdateTwoFactorEmailRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/email', request, true, true);\r\n return new TwoFactorEmailResponse(r);\r\n }\r\n\r\n async putTwoFactorDuo(request: UpdateTwoFactorDuoRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async putTwoFactorOrganizationDuo(organizationId: string,\r\n request: UpdateTwoFactorDuoRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/yubikey', request, true, true);\r\n return new TwoFactorYubiKeyResponse(r);\r\n }\r\n\r\n async putTwoFactorU2f(request: UpdateTwoFactorU2fRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async putTwoFactorDisable(request: TwoFactorProviderRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/disable', request, true, true);\r\n return new TwoFactorProviderResponse(r);\r\n }\r\n\r\n async putTwoFactorOrganizationDisable(organizationId: string,\r\n request: TwoFactorProviderRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable',\r\n request, true, true);\r\n return new TwoFactorProviderResponse(r);\r\n }\r\n\r\n postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise {\r\n return this.send('POST', '/two-factor/recover', request, false, false);\r\n }\r\n\r\n postTwoFactorEmailSetup(request: TwoFactorEmailRequest): Promise {\r\n return this.send('POST', '/two-factor/send-email', request, true, false);\r\n }\r\n\r\n postTwoFactorEmail(request: TwoFactorEmailRequest): Promise {\r\n return this.send('POST', '/two-factor/send-email-login', request, false, false);\r\n }\r\n\r\n // Organization APIs\r\n\r\n async getOrganization(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id, null, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async getOrganizationBilling(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id + '/billing', null, true, true);\r\n return new OrganizationBillingResponse(r);\r\n }\r\n\r\n async getOrganizationLicense(id: string, installationId: string): Promise {\r\n return this.send('GET', '/organizations/' + id + '/license?installationId=' + installationId,\r\n null, true, true);\r\n }\r\n\r\n async postOrganization(request: OrganizationCreateRequest): Promise {\r\n const r = await this.send('POST', '/organizations', request, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async putOrganization(id: string, request: OrganizationUpdateRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + id, request, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n postLeaveOrganization(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/leave', null, true, false);\r\n }\r\n\r\n async postOrganizationLicense(data: FormData): Promise {\r\n const r = await this.send('POST', '/organizations/license', data, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async postOrganizationLicenseUpdate(id: string, data: FormData): Promise {\r\n return this.send('POST', '/organizations/' + id + '/license', data, true, false);\r\n }\r\n\r\n postOrganizationSeat(id: string, request: SeatRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/seat', request, true, false);\r\n }\r\n\r\n postOrganizationStorage(id: string, request: StorageRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/storage', request, true, false);\r\n }\r\n\r\n postOrganizationPayment(id: string, request: PaymentRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/payment', request, true, false);\r\n }\r\n\r\n postOrganizationVerifyBank(id: string, request: VerifyBankRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/verify-bank', request, true, false);\r\n }\r\n\r\n postOrganizationCancel(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/cancel', null, true, false);\r\n }\r\n\r\n postOrganizationReinstate(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/reinstate', null, true, false);\r\n }\r\n\r\n deleteOrganization(id: string, request: PasswordVerificationRequest): Promise {\r\n return this.send('DELETE', '/organizations/' + id, request, true, false);\r\n }\r\n\r\n // Event APIs\r\n\r\n async getEvents(start: string, end: string, token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/events', start, end, token), null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsCipher(id: string, start: string, end: string,\r\n token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/ciphers/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsOrganization(id: string, start: string, end: string,\r\n token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/organizations/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsOrganizationUser(organizationId: string, id: string,\r\n start: string, end: string, token: string): Promise> {\r\n const r = await this.send('GET',\r\n this.addEventParameters('/organizations/' + organizationId + '/users/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n // User APIs\r\n\r\n async getUserPublicKey(id: string): Promise {\r\n const r = await this.send('GET', '/users/' + id + '/public-key', null, true, true);\r\n return new UserKeyResponse(r);\r\n }\r\n\r\n // Helpers\r\n\r\n fetch(request: Request): Promise {\r\n if (request.method === 'GET') {\r\n request.headers.set('Cache-Control', 'no-cache');\r\n request.headers.set('Pragma', 'no-cache');\r\n }\r\n return fetch(request);\r\n }\r\n\r\n private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any,\r\n authed: boolean, hasResponse: boolean): Promise {\r\n const headers = new Headers({\r\n 'Device-Type': this.deviceType,\r\n });\r\n\r\n const requestInit: RequestInit = {\r\n cache: 'no-cache',\r\n credentials: this.getCredentials(),\r\n method: method,\r\n };\r\n\r\n if (authed) {\r\n const authHeader = await this.handleTokenState();\r\n headers.set('Authorization', authHeader);\r\n }\r\n if (body != null) {\r\n if (typeof body === 'string') {\r\n requestInit.body = body;\r\n headers.set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');\r\n } else if (typeof body === 'object') {\r\n if (body instanceof FormData) {\r\n requestInit.body = body;\r\n } else {\r\n headers.set('Content-Type', 'application/json; charset=utf-8');\r\n requestInit.body = JSON.stringify(body);\r\n }\r\n }\r\n }\r\n if (hasResponse) {\r\n headers.set('Accept', 'application/json');\r\n }\r\n\r\n requestInit.headers = headers;\r\n const response = await this.fetch(new Request(this.apiBaseUrl + path, requestInit));\r\n\r\n if (hasResponse && response.status === 200) {\r\n const responseJson = await response.json();\r\n return responseJson;\r\n } else if (response.status !== 200) {\r\n const error = await this.handleError(response, false);\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n private async handleError(response: Response, tokenError: boolean): Promise {\r\n if ((tokenError && response.status === 400) || response.status === 401 || response.status === 403) {\r\n await this.logoutCallback(true);\r\n return null;\r\n }\r\n\r\n let responseJson: any = null;\r\n const typeHeader = response.headers.get('content-type');\r\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\r\n responseJson = await response.json();\r\n }\r\n\r\n return new ErrorResponse(responseJson, response.status, tokenError);\r\n }\r\n\r\n private async handleTokenState(): Promise {\r\n let accessToken = await this.tokenService.getToken();\r\n if (this.tokenService.tokenNeedsRefresh()) {\r\n const tokenResponse = await this.doRefreshToken();\r\n accessToken = tokenResponse.accessToken;\r\n }\r\n\r\n return 'Bearer ' + accessToken;\r\n }\r\n\r\n private async doRefreshToken(): Promise {\r\n const refreshToken = await this.tokenService.getRefreshToken();\r\n if (refreshToken == null || refreshToken === '') {\r\n throw new Error();\r\n }\r\n\r\n const decodedToken = this.tokenService.decodeToken();\r\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\r\n body: this.qsStringify({\r\n grant_type: 'refresh_token',\r\n client_id: decodedToken.client_id,\r\n refresh_token: refreshToken,\r\n }),\r\n cache: 'no-cache',\r\n credentials: this.getCredentials(),\r\n headers: new Headers({\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\r\n 'Accept': 'application/json',\r\n 'Device-Type': this.deviceType,\r\n }),\r\n method: 'POST',\r\n }));\r\n\r\n if (response.status === 200) {\r\n const responseJson = await response.json();\r\n const tokenResponse = new IdentityTokenResponse(responseJson);\r\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\r\n return tokenResponse;\r\n } else {\r\n const error = await this.handleError(response, true);\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n private qsStringify(params: any): string {\r\n return Object.keys(params).map((key) => {\r\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\r\n }).join('&');\r\n }\r\n\r\n private getCredentials(): RequestCredentials {\r\n if (!this.isWebClient || this.usingBaseUrl) {\r\n return 'include';\r\n }\r\n return undefined;\r\n }\r\n\r\n private addEventParameters(base: string, start: string, end: string, token: string) {\r\n if (start != null) {\r\n base += ('?start=' + start);\r\n }\r\n if (end != null) {\r\n base += (base.indexOf('?') > -1 ? '&' : '?');\r\n base += ('end=' + end);\r\n }\r\n if (token != null) {\r\n base += (base.indexOf('?') > -1 ? '&' : '?');\r\n base += ('continuationToken=' + token);\r\n }\r\n return base;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n forwardRef,\r\n HostListener,\r\n Input,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n NgControl,\r\n} from '@angular/forms';\r\n\r\n// ref: https://juristr.com/blog/2018/02/ng-true-value-directive/\r\n@Directive({\r\n selector: 'input[type=checkbox][appTrueFalseValue]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TrueFalseValueDirective),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TrueFalseValueDirective implements ControlValueAccessor {\r\n @Input() trueValue = true;\r\n @Input() falseValue = false;\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('change', ['$event'])\r\n onHostChange(ev: any) {\r\n this.propagateChange(ev.target.checked ? this.trueValue : this.falseValue);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj === this.trueValue) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\r\n } else {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void { /* nothing */ }\r\n\r\n setDisabledState?(isDisabled: boolean): void { /* nothing */ }\r\n\r\n private propagateChange = (_: any) => { /* nothing */ };\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appBoxRow]',\r\n})\r\nexport class BoxRowDirective implements OnInit {\r\n el: HTMLElement = null;\r\n formEls: Element[];\r\n\r\n constructor(private elRef: ElementRef) {\r\n this.el = elRef.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formEls = Array.from(this.el.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\r\n this.formEls.forEach((formEl) => {\r\n formEl.addEventListener('focus', (event: Event) => {\r\n this.el.classList.add('active');\r\n }, false);\r\n\r\n formEl.addEventListener('blur', (event: Event) => {\r\n this.el.classList.remove('active');\r\n }, false);\r\n });\r\n }\r\n\r\n @HostListener('click', ['$event']) onClick(event: Event) {\r\n if (event.target !== this.el) {\r\n return;\r\n }\r\n\r\n if (this.formEls.length > 0) {\r\n const formEl = (this.formEls[0] as HTMLElement);\r\n if (formEl.tagName.toLowerCase() === 'input') {\r\n const inputEl = (formEl as HTMLInputElement);\r\n if (inputEl.type != null && inputEl.type.toLowerCase() === 'checkbox') {\r\n inputEl.click();\r\n return;\r\n }\r\n }\r\n formEl.focus();\r\n }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { SeatRequest } from 'jslib/models/request/seatRequest';\n\n@Component({\n selector: 'app-adjust-seats',\n templateUrl: 'adjust-seats.component.html',\n})\nexport class AdjustSeatsComponent {\n @Input() seatPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n seatAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new SeatRequest();\n request.seatAdjustment = this.seatAdjustment;\n if (!this.add) {\n request.seatAdjustment *= -1;\n }\n\n this.formPromise = this.apiService.postOrganizationSeat(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Seats' : 'Removed Seats' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedSeats', request.seatAdjustment.toString()));\n this.onAdjusted.emit(this.seatAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedSeatTotal(): number {\n return this.seatAdjustment * this.seatAdjustment;\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-organization',\n templateUrl: 'delete-organization.component.html',\n})\nexport class DeleteOrganizationComponent {\n organizationId: string;\n\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteOrganization(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationDeleted'),\n this.i18nService.t('organizationDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { OrganizationUserUpdateGroupsRequest } from 'jslib/models/request/organizationUserUpdateGroupsRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-groups',\n templateUrl: 'user-groups.component.html',\n})\nexport class UserGroupsComponent implements OnInit {\n @Input() name: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onSavedUser = new EventEmitter();\n\n loading = true;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n const groups = groupsResponse.data.map((r) => r);\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n\n try {\n const userGroups = await this.apiService.getOrganizationUserGroups(\n this.organizationId, this.organizationUserId);\n if (userGroups != null && this.groups != null) {\n userGroups.forEach((ug) => {\n const group = this.groups.filter((g) => g.id === ug);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n }\n });\n }\n } catch { }\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new OrganizationUserUpdateGroupsRequest();\n request.groupIds = this.groups.filter((g) => (g as any).checked).map((g) => g.id);\n\n try {\n this.formPromise = this.apiService.putOrganizationUserGroups(this.organizationId, this.organizationUserId,\n request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Edited User Groups' });\n this.toasterService.popAsync('success', null, this.i18nService.t('editedGroupsForUser', this.name));\n this.onSavedUser.emit();\n } catch { }\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { OrganizationUserInviteRequest } from 'jslib/models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateRequest } from 'jslib/models/request/organizationUserUpdateRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Component({\r\n selector: 'app-user-add-edit',\r\n templateUrl: 'user-add-edit.component.html',\r\n})\r\nexport class UserAddEditComponent implements OnInit {\r\n @Input() name: string;\r\n @Input() organizationUserId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedUser = new EventEmitter();\r\n @Output() onDeletedUser = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n emails: string;\r\n type: OrganizationUserType = OrganizationUserType.User;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n organizationUserType = OrganizationUserType;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.organizationUserId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editUser');\r\n try {\r\n const user = await this.apiService.getOrganizationUser(this.organizationId, this.organizationUserId);\r\n this.access = user.accessAll ? 'all' : 'selected';\r\n this.type = user.type;\r\n if (user.collections != null && this.collections != null) {\r\n user.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('inviteUser');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n let collections: SelectionReadOnlyRequest[] = null;\r\n if (this.access !== 'all') {\r\n collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n const request = new OrganizationUserUpdateRequest();\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.putOrganizationUser(this.organizationId, this.organizationUserId,\r\n request);\r\n } else {\r\n const request = new OrganizationUserInviteRequest();\r\n request.emails = this.emails.trim().split(/\\s*,\\s*/);\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.postOrganizationUserInvite(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited User' : 'Invited User' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\r\n this.onSavedUser.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('removeUserConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteOrganizationUser(this.organizationId, this.organizationUserId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted User' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', this.name));\r\n this.onDeletedUser.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { GroupRequest } from 'jslib/models/request/groupRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\n@Component({\r\n selector: 'app-group-add-edit',\r\n templateUrl: 'group-add-edit.component.html',\r\n})\r\nexport class GroupAddEditComponent implements OnInit {\r\n @Input() groupId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedGroup = new EventEmitter();\r\n @Output() onDeletedGroup = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n name: string;\r\n externalId: string;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.groupId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editGroup');\r\n try {\r\n const group = await this.apiService.getGroupDetails(this.organizationId, this.groupId);\r\n this.access = group.accessAll ? 'all' : 'selected';\r\n this.name = group.name;\r\n this.externalId = group.externalId;\r\n if (group.collections != null && this.collections != null) {\r\n group.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('addGroup');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n const request = new GroupRequest();\r\n request.name = this.name;\r\n request.externalId = this.externalId;\r\n request.accessAll = this.access === 'all';\r\n if (!request.accessAll) {\r\n request.collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n this.formPromise = this.apiService.putGroup(this.organizationId, this.groupId, request);\r\n } else {\r\n this.formPromise = this.apiService.postGroup(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Group' : 'Created Group' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedGroupId' : 'createdGroupId', this.name));\r\n this.onSavedGroup.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteGroupConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteGroup(this.organizationId, this.groupId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', this.name));\r\n this.onDeletedGroup.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-collection-add-edit',\n templateUrl: 'collection-add-edit.component.html',\n})\nexport class CollectionAddEditComponent implements OnInit {\n @Input() collectionId: string;\n @Input() organizationId: string;\n @Output() onSavedCollection = new EventEmitter();\n @Output() onDeletedCollection = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n title: string;\n name: string;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n\n private orgKey: SymmetricCryptoKey;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.collectionId != null;\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n this.groups = groupsResponse.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editCollection');\n try {\n const collection = await this.apiService.getCollectionDetails(this.organizationId, this.collectionId);\n this.name = await this.cryptoService.decryptToUtf8(new CipherString(collection.name), this.orgKey);\n if (collection.groups != null && this.groups != null) {\n collection.groups.forEach((s) => {\n const group = this.groups.filter((g) => !g.accessAll && g.id === s.id);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n (group[0] as any).readOnly = s.readOnly;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('addCollection');\n }\n\n this.groups.forEach((g) => {\n if (g.accessAll) {\n (g as any).checked = true;\n }\n });\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n if (g.accessAll) {\n return;\n }\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new CollectionRequest();\n request.name = (await this.cryptoService.encrypt(this.name, this.orgKey)).encryptedString;\n request.groups = this.groups.filter((g) => (g as any).checked && !g.accessAll)\n .map((g) => new SelectionReadOnlyRequest(g.id, !!(g as any).readOnly));\n\n try {\n if (this.editMode) {\n this.formPromise = this.apiService.putCollection(this.organizationId, this.collectionId, request);\n } else {\n this.formPromise = this.apiService.postCollection(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Collection' : 'Created Collection' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedCollectionId' : 'createdCollectionId', this.name));\n this.onSavedCollection.emit();\n } catch { }\n }\n\n async delete() {\n if (!this.editMode) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), this.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.apiService.deleteCollection(this.organizationId, this.collectionId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', this.name));\n this.onDeletedCollection.emit();\n } catch { }\n }\n}\n","import { Collection } from '../domain/collection';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class CollectionRequest {\n name: string;\n groups: SelectionReadOnlyRequest[] = [];\n\n constructor(collection?: Collection) {\n if (collection == null) {\n return;\n }\n this.name = collection.name ? collection.name.encryptedString : null;\n }\n}\n","export class CipherCollectionsRequest {\n collectionIds: string[];\n\n constructor(collectionIds: string[]) {\n this.collectionIds = collectionIds == null ? [] : collectionIds;\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CipherData } from 'jslib/models/data/cipherData';\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CipherCollectionsRequest } from 'jslib/models/request/cipherCollectionsRequest';\r\n\r\nimport { CollectionsComponent as BaseCollectionsComponent } from '../../vault/collections.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-collections',\r\n templateUrl: '../../vault/collections.component.html',\r\n})\r\nexport class CollectionsComponent extends BaseCollectionsComponent {\r\n organization: Organization;\r\n\r\n constructor(collectionService: CollectionService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cipherService: CipherService, private apiService: ApiService) {\r\n super(collectionService, analytics, toasterService, i18nService, cipherService);\r\n }\r\n\r\n protected async loadCipher() {\r\n if (!this.organization.isAdmin) {\r\n return await super.loadCipher();\r\n }\r\n const response = await this.apiService.getCipherAdmin(this.cipherId);\r\n return new Cipher(new CipherData(response));\r\n }\r\n\r\n protected loadCipherCollections() {\r\n if (!this.organization.isAdmin) {\r\n return super.loadCipherCollections();\r\n }\r\n return this.collectionIds;\r\n }\r\n\r\n protected loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n return super.loadCollections();\r\n }\r\n return Promise.resolve(this.collections);\r\n }\r\n\r\n protected saveCollections() {\r\n const request = new CipherCollectionsRequest(this.cipherDomain.collectionIds);\r\n return this.apiService.putCipherCollectionsAdmin(this.cipherId, request);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { CipherData } from 'jslib/models/data/cipherData';\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from '../../vault/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-attachments',\r\n templateUrl: '../../vault/attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n organization: Organization;\r\n\r\n constructor(cipherService: CipherService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cryptoService: CryptoService, tokenService: TokenService,\r\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\r\n super(cipherService, analytics, toasterService, i18nService, cryptoService, tokenService,\r\n platformUtilsService);\r\n }\r\n\r\n protected async loadCipher() {\r\n if (!this.organization.isAdmin) {\r\n return await super.loadCipher();\r\n }\r\n const response = await this.apiService.getCipherAdmin(this.cipherId);\r\n return new Cipher(new CipherData(response));\r\n }\r\n\r\n protected saveCipherAttachment(file: File) {\r\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file, this.organization.isAdmin);\r\n }\r\n\r\n protected deleteCipherAttachment(attachmentId: string) {\r\n if (!this.organization.isAdmin) {\r\n return super.deleteCipherAttachment(attachmentId);\r\n }\r\n return this.apiService.deleteCipherAttachmentAdmin(this.cipherId, attachmentId);\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\n\nimport { AddEditComponent as BaseAddEditComponent } from '../../vault/add-edit.component';\n\n@Component({\n selector: 'app-org-vault-add-edit',\n templateUrl: '../../vault/add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent implements OnInit {\n organization: Organization;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n analytics: Angulartics2, toasterService: ToasterService,\n auditService: AuditService, stateService: StateService,\n tokenService: TokenService, totpService: TotpService,\n passwordGenerationService: PasswordGenerationService, private apiService: ApiService,\n messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, analytics,\n toasterService, auditService, stateService, tokenService, totpService, passwordGenerationService,\n messagingService);\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected encryptCipher() {\n if (!this.editMode) {\n this.cipher.organizationId = this.organization.id;\n }\n return super.encryptCipher();\n }\n\n protected async saveCipher(cipher: Cipher) {\n if (!this.organization.isAdmin) {\n return super.saveCipher(cipher);\n }\n const request = new CipherRequest(cipher);\n if (this.editMode) {\n return this.apiService.putCipherAdmin(this.cipherId, request);\n } else {\n return this.apiService.postCipherAdmin(request);\n }\n }\n\n protected async deleteCipher() {\n if (!this.organization.isAdmin) {\n return super.deleteCipher();\n }\n return this.apiService.deleteCipherAdmin(this.cipherId);\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteData } from '../data/secureNoteData';\n\nimport Domain from './domain';\n\nimport { SecureNoteView } from '../view/secureNoteView';\n\nexport class SecureNote extends Domain {\n type: SecureNoteType;\n\n constructor(obj?: SecureNoteData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n }\n\n decrypt(orgId: string): Promise {\n return Promise.resolve(new SecureNoteView(this));\n }\n\n toSecureNoteData(): SecureNoteData {\n const n = new SecureNoteData();\n n.type = this.type;\n return n;\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriData } from '../data/loginUriData';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class LoginUri extends Domain {\n uri: CipherString;\n match: UriMatchType;\n\n constructor(obj?: LoginUriData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.match = obj.match;\n this.buildDomainModel(this, obj, {\n uri: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new LoginUriView(this), {\n uri: null,\n }, orgId);\n }\n\n toLoginUriData(): LoginUriData {\n const u = new LoginUriData();\n this.buildDataModel(this, u, {\n uri: null,\n }, ['match']);\n return u;\n }\n}\n","import { LoginUri } from './loginUri';\n\nimport { LoginData } from '../data/loginData';\n\nimport { LoginUriView } from '../view/loginUriView';\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class Login extends Domain {\n uris: LoginUri[];\n username: CipherString;\n password: CipherString;\n totp: CipherString;\n\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n username: null,\n password: null,\n totp: null,\n }, alreadyEncrypted, []);\n\n if (obj.uris) {\n this.uris = [];\n obj.uris.forEach((u) => {\n this.uris.push(new LoginUri(u, alreadyEncrypted));\n });\n }\n }\n\n async decrypt(orgId: string): Promise {\n const view = await this.decryptObj(new LoginView(this), {\n username: null,\n password: null,\n totp: null,\n }, orgId);\n\n if (this.uris != null) {\n view.uris = [];\n for (let i = 0; i < this.uris.length; i++) {\n const uri = await this.uris[i].decrypt(orgId);\n view.uris.push(uri);\n }\n }\n\n return view;\n }\n\n toLoginData(): LoginData {\n const l = new LoginData();\n this.buildDataModel(this, l, {\n username: null,\n password: null,\n totp: null,\n });\n\n if (this.uris != null && this.uris.length > 0) {\n l.uris = [];\n this.uris.forEach((u) => {\n l.uris.push(u.toLoginUriData());\n });\n }\n\n return l;\n }\n}\n","import { IdentityData } from '../data/identityData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { IdentityView } from '../view/identityView';\n\nexport class Identity extends Domain {\n title: CipherString;\n firstName: CipherString;\n middleName: CipherString;\n lastName: CipherString;\n address1: CipherString;\n address2: CipherString;\n address3: CipherString;\n city: CipherString;\n state: CipherString;\n postalCode: CipherString;\n country: CipherString;\n company: CipherString;\n email: CipherString;\n phone: CipherString;\n ssn: CipherString;\n username: CipherString;\n passportNumber: CipherString;\n licenseNumber: CipherString;\n\n constructor(obj?: IdentityData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new IdentityView(this), {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, orgId);\n }\n\n toIdentityData(): IdentityData {\n const i = new IdentityData();\n this.buildDataModel(this, i, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n });\n return i;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldData } from '../data/fieldData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { FieldView } from '../view/fieldView';\n\nexport class Field extends Domain {\n name: CipherString;\n value: CipherString;\n type: FieldType;\n\n constructor(obj?: FieldData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n this.buildDomainModel(this, obj, {\n name: null,\n value: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new FieldView(this), {\n name: null,\n value: null,\n }, orgId);\n }\n\n toFieldData(): FieldData {\n const f = new FieldData();\n this.buildDataModel(this, f, {\n name: null,\n value: null,\n type: null,\n }, ['type']);\n return f;\n }\n}\n","import { CardData } from '../data/cardData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { CardView } from '../view/cardView';\n\nexport class Card extends Domain {\n cardholderName: CipherString;\n brand: CipherString;\n number: CipherString;\n expMonth: CipherString;\n expYear: CipherString;\n code: CipherString;\n\n constructor(obj?: CardData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new CardView(this), {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, orgId);\n }\n\n toCardData(): CardData {\n const c = new CardData();\n this.buildDataModel(this, c, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n });\n return c;\n }\n}\n","import { AttachmentData } from '../data/attachmentData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { AttachmentView } from '../view/attachmentView';\n\nexport class Attachment extends Domain {\n id: string;\n url: string;\n size: number;\n sizeName: string;\n fileName: CipherString;\n\n constructor(obj?: AttachmentData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.size = obj.size;\n this.buildDomainModel(this, obj, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new AttachmentView(this), {\n fileName: null,\n }, orgId);\n }\n\n toAttachmentData(): AttachmentData {\n const a = new AttachmentData();\n this.buildDataModel(this, a, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n }, ['id', 'url', 'sizeName']);\n return a;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class SecureNoteData {\n type: SecureNoteType;\n\n constructor(data?: SecureNoteApi) {\n if (data == null) {\n return;\n }\n\n this.type = data.type;\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriApi } from '../api/loginUriApi';\n\nexport class LoginUriData {\n uri: string;\n match: UriMatchType = null;\n\n constructor(data?: LoginUriApi) {\n if (data == null) {\n return;\n }\n this.uri = data.uri;\n this.match = data.match;\n }\n}\n","import { LoginApi } from '../api/loginApi';\nimport { LoginUriApi } from '../api/loginUriApi';\n\nimport { LoginUriData } from './loginUriData';\n\nexport class LoginData {\n uris: LoginUriData[];\n username: string;\n password: string;\n totp: string;\n\n constructor(data?: LoginApi) {\n if (data == null) {\n return;\n }\n\n this.username = data.username;\n this.password = data.password;\n this.totp = data.totp;\n\n if (data.uris) {\n this.uris = [];\n data.uris.forEach((u) => {\n this.uris.push(new LoginUriData(u));\n });\n }\n }\n}\n","import { IdentityApi } from '../api/identityApi';\n\nexport class IdentityData {\n title: string;\n firstName: string;\n middleName: string;\n lastName: string;\n address1: string;\n address2: string;\n address3: string;\n city: string;\n state: string;\n postalCode: string;\n country: string;\n company: string;\n email: string;\n phone: string;\n ssn: string;\n username: string;\n passportNumber: string;\n licenseNumber: string;\n\n constructor(data?: IdentityApi) {\n if (data == null) {\n return;\n }\n\n this.title = data.title;\n this.firstName = data.firstName;\n this.middleName = data.middleName;\n this.lastName = data.lastName;\n this.address1 = data.address1;\n this.address2 = data.address2;\n this.address3 = data.address3;\n this.city = data.city;\n this.state = data.state;\n this.postalCode = data.postalCode;\n this.country = data.country;\n this.company = data.company;\n this.email = data.email;\n this.phone = data.phone;\n this.ssn = data.ssn;\n this.username = data.username;\n this.passportNumber = data.passportNumber;\n this.licenseNumber = data.licenseNumber;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldApi } from '../api/fieldApi';\n\nexport class FieldData {\n type: FieldType;\n name: string;\n value: string;\n\n constructor(response?: FieldApi) {\n if (response == null) {\n return;\n }\n this.type = response.type;\n this.name = response.name;\n this.value = response.value;\n }\n}\n","import { CardApi } from '../api/cardApi';\n\nexport class CardData {\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(data?: CardApi) {\n if (data == null) {\n return;\n }\n\n this.cardholderName = data.cardholderName;\n this.brand = data.brand;\n this.number = data.number;\n this.expMonth = data.expMonth;\n this.expYear = data.expYear;\n this.code = data.code;\n }\n}\n","import { AttachmentResponse } from '../response/attachmentResponse';\n\nexport class AttachmentData {\n id: string;\n url: string;\n fileName: string;\n size: number;\n sizeName: string;\n\n constructor(response?: AttachmentResponse) {\n if (response == null) {\n return;\n }\n this.id = response.id;\n this.url = response.url;\n this.fileName = response.fileName;\n this.size = response.size;\n this.sizeName = response.sizeName;\n }\n}\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorHistoryComponent as BasePasswordGeneratorHistoryComponent,\r\n} from 'jslib/angular/components/password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator-history',\r\n templateUrl: 'password-generator-history.component.html',\r\n})\r\nexport class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent {\r\n constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2,\r\n platformUtilsService: PlatformUtilsService, i18nService: I18nService,\r\n toasterService: ToasterService) {\r\n super(passwordGenerationService, analytics, platformUtilsService, i18nService, toasterService, window);\r\n }\r\n}\r\n","import { View } from './view';\n\nimport { Attachment } from '../domain/attachment';\n\nexport class AttachmentView implements View {\n id: string;\n url: string;\n size: number;\n sizeName: string;\n fileName: string;\n\n constructor(a?: Attachment) {\n if (!a) {\n return;\n }\n\n this.id = a.id;\n this.url = a.url;\n this.size = a.size;\n this.sizeName = a.sizeName;\n }\n}\n","export class KvpRequest {\n key: TK;\n value: TV;\n\n constructor(key: TK, value: TV) {\n this.key = key;\n this.value = value;\n }\n}\n","export enum PlanType {\n Free = 0,\n FamiliesAnnually = 1,\n TeamsMonthly = 2,\n TeamsAnnually = 3,\n EnterpriseMonthly = 4,\n EnterpriseAnnually = 5,\n Custom = 6,\n}\n","\n

{{'contactSupportPaymentMethod' | i18n}}

\n \n {{'contactSupport' | i18n}}\n \n \n
\n
\n
\n

{{(currentType != null ? 'changePaymentMethod' : 'addPaymentMethod') | i18n}}

\n \n \n \n
\n
\n","
\n
\n

{{(add ? 'addStorage' : 'removeStorage') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{storageAdjustment || 0}} GB × {{storageGbPrice | currency:'$'}} = {{adjustedStorageTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'storageAddNote' : 'storageRemoveNote') | i18n}}\n \n
\n
\n","
\n
\n \n \n {{'licenseFileDesc' | i18n : (!organizationId ? 'bitwarden_premium_license.json' : 'bitwarden_organization_license.json')}}\n
\n \n \n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { UpdateTwoFactorYubioOtpRequest } from 'jslib/models/request/updateTwoFactorYubioOtpRequest';\nimport { TwoFactorYubiKeyResponse } from 'jslib/models/response/twoFactorYubiKeyResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-yubikey',\n templateUrl: 'two-factor-yubikey.component.html',\n})\nexport class TwoFactorYubiKeyComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Yubikey;\n keys: any[];\n nfc = false;\n\n formPromise: Promise;\n disablePromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n const request = new UpdateTwoFactorYubioOtpRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.key1 = this.keys != null && this.keys.length > 0 ? this.keys[0].key : null;\n request.key2 = this.keys != null && this.keys.length > 1 ? this.keys[1].key : null;\n request.key3 = this.keys != null && this.keys.length > 2 ? this.keys[2].key : null;\n request.key4 = this.keys != null && this.keys.length > 3 ? this.keys[3].key : null;\n request.key5 = this.keys != null && this.keys.length > 4 ? this.keys[4].key : null;\n request.nfc = this.nfc;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorYubiKey(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n this.toasterService.popAsync('success', null, this.i18nService.t('yubikeysUpdated'));\n });\n }\n\n disable() {\n return super.disable(this.disablePromise);\n }\n\n remove(key: any) {\n key.existingKey = null;\n key.key = null;\n }\n\n private processResponse(response: TwoFactorYubiKeyResponse) {\n this.enabled = response.enabled;\n this.keys = [\n { key: response.key1, existingKey: this.padRight(response.key1) },\n { key: response.key2, existingKey: this.padRight(response.key2) },\n { key: response.key3, existingKey: this.padRight(response.key3) },\n { key: response.key4, existingKey: this.padRight(response.key4) },\n { key: response.key5, existingKey: this.padRight(response.key5) },\n ];\n this.nfc = response.nfc || !response.enabled;\n }\n\n private padRight(str: string, character = '•', size = 44) {\n if (str == null || character == null || str.length >= size) {\n return str;\n }\n const max = (size - str.length) / character.length;\n for (let i = 0; i < max; i++) {\n str += character;\n }\n return str;\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorU2fRequest } from 'jslib/models/request/updateTwoFactorU2fRequest';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from 'jslib/models/response/twoFactorU2fResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-u2f',\n templateUrl: 'two-factor-u2f.component.html',\n})\nexport class TwoFactorU2fComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.U2f;\n u2fChallenge: ChallengeResponse;\n u2fError: boolean;\n u2fListening: boolean;\n u2fResponse: string;\n formPromise: Promise;\n\n private closed = false;\n private u2fScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.u2fScript = window.document.createElement('script');\n this.u2fScript.src = 'scripts/u2f.js';\n this.u2fScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.u2fScript);\n }\n\n ngOnDestroy() {\n this.closed = true;\n window.document.body.removeChild(this.u2fScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n this.readDevice();\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorU2fRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.deviceResponse = this.u2fResponse;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorU2f(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private readDevice() {\n if (this.closed || this.enabled) {\n return;\n }\n\n // tslint:disable-next-line\n console.log('listening for key...');\n\n this.u2fResponse = null;\n this.u2fError = false;\n this.u2fListening = true;\n\n (window as any).u2f.register(this.u2fChallenge.appId, [{\n version: this.u2fChallenge.version,\n challenge: this.u2fChallenge.challenge,\n }], [], (data: any) => {\n this.u2fListening = false;\n if (data.errorCode === 5) {\n this.readDevice();\n return;\n } else if (data.errorCode) {\n this.u2fError = true;\n // tslint:disable-next-line\n console.log('error: ' + data.errorCode);\n return;\n }\n this.u2fResponse = JSON.stringify(data);\n }, 10);\n }\n\n private processResponse(response: TwoFactorU2fResponse) {\n this.u2fChallenge = response.challenge;\n this.enabled = response.enabled;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoverResponse } from 'jslib/models/response/twoFactorRescoverResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\n@Component({\n selector: 'app-two-factor-recovery',\n templateUrl: 'two-factor-recovery.component.html',\n})\nexport class TwoFactorRecoveryComponent {\n type = -1;\n code: string;\n authed: boolean;\n twoFactorProviderType = TwoFactorProviderType;\n\n constructor(private i18nService: I18nService) { }\n\n auth(authResponse: any) {\n this.authed = true;\n this.processResponse(authResponse.response);\n }\n\n print() {\n const w = window.open();\n w.document.write('
' +\n '

' + this.i18nService.t('twoFactorRecoveryYourCode') + ':

' +\n '' +\n this.code + '
' +\n '

' + new Date() + '

');\n w.print();\n w.close();\n }\n\n private formatString(s: string) {\n if (s == null) {\n return null;\n }\n return s.replace(/(.{4})/g, '$1 ').trim().toUpperCase();\n }\n\n private processResponse(response: TwoFactorRecoverResponse) {\n this.code = this.formatString(response.code);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorEmailRequest } from 'jslib/models/request/twoFactorEmailRequest';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorEmailRequest } from 'jslib/models/request/updateTwoFactorEmailRequest';\nimport { TwoFactorEmailResponse } from 'jslib/models/response/twoFactorEmailResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-email',\n templateUrl: 'two-factor-email.component.html',\n})\nexport class TwoFactorEmailComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Email;\n email: string;\n token: string;\n sentEmail: string;\n formPromise: Promise;\n emailPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private userService: UserService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n async sendEmail() {\n try {\n const request = new TwoFactorEmailRequest(this.email, this.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmailSetup(request);\n await this.emailPromise;\n this.sentEmail = this.email;\n } catch { }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorEmailRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.email = this.email;\n request.token = this.token;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorEmail(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorEmailResponse) {\n this.token = null;\n this.email = response.email;\n this.enabled = response.enabled;\n if (!this.enabled && (this.email == null || this.email === '')) {\n this.email = await this.userService.getEmail();\n }\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateTwoFactorAuthenticatorRequest } from 'jslib/models/request/updateTwoFactorAuthenticatorRequest';\nimport { TwoFactorAuthenticatorResponse } from 'jslib/models/response/twoFactorAuthenticatorResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-authenticator',\n templateUrl: 'two-factor-authenticator.component.html',\n})\nexport class TwoFactorAuthenticatorComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.Authenticator;\n key: string;\n token: string;\n formPromise: Promise;\n\n private qrScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private userService: UserService, platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.qrScript = window.document.createElement('script');\n this.qrScript.src = 'scripts/qrious.min.js';\n this.qrScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.qrScript);\n }\n\n ngOnDestroy() {\n window.document.body.removeChild(this.qrScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorAuthenticatorRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.token = this.token;\n request.key = this.key;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorAuthenticator(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorAuthenticatorResponse) {\n this.token = null;\n this.enabled = response.enabled;\n this.key = response.key;\n const email = await this.userService.getEmail();\n window.setTimeout(() => {\n const qr = new (window as any).QRious({\n element: document.getElementById('qr'),\n value: 'otpauth://totp/Bitwarden:' + encodeURIComponent(email) +\n '?secret=' + encodeURIComponent(this.key) + '&issuer=Bitwarden',\n size: 160,\n });\n }, 100);\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-purge-vault',\r\n templateUrl: 'purge-vault.component.html',\r\n})\r\nexport class PurgeVaultComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private router: Router) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postPurgeCiphers(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Purged Vault' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('vaultPurged'));\r\n this.router.navigate(['vault']);\r\n } catch { }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-account',\n templateUrl: 'delete-account.component.html',\n})\nexport class DeleteAccountComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteAccount(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Account' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-deauthorize-sessions',\r\n templateUrl: 'deauthorize-sessions.component.html',\r\n})\r\nexport class DeauthorizeSessionsComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postSecurityStamp(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Deauthorized Sessions' });\r\n this.toasterService.popAsync('success', this.i18nService.t('sessionsDeauthorized'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { PasswordRequest } from 'jslib/models/request/passwordRequest';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: 'change-password.component.html',\n})\nexport class ChangePasswordComponent {\n currentMasterPassword: string;\n newMasterPassword: string;\n confirmNewMasterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private userService: UserService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n if (this.currentMasterPassword == null || this.currentMasterPassword === '' ||\n this.newMasterPassword == null || this.newMasterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n if (this.newMasterPassword.length < 8) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return;\n }\n if (this.newMasterPassword !== this.confirmNewMasterPassword) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return;\n }\n\n const request = new PasswordRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.currentMasterPassword, null);\n const email = await this.userService.getEmail();\n const newKey = await this.cryptoService.makeKey(this.newMasterPassword, email);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.newMasterPassword, newKey);\n const encKey = await this.cryptoService.getEncKey();\n const newEncKey = await this.cryptoService.encrypt(encKey.key, newKey);\n request.key = newEncKey.encryptedString;\n try {\n this.formPromise = this.apiService.postPassword(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Changed Password' });\n this.toasterService.popAsync('success', this.i18nService.t('masterPasswordChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class EmailTokenRequest extends PasswordVerificationRequest {\n newEmail: string;\n masterPasswordHash: string;\n}\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { EmailRequest } from 'jslib/models/request/emailRequest';\nimport { EmailTokenRequest } from 'jslib/models/request/emailTokenRequest';\n\n@Component({\n selector: 'app-change-email',\n templateUrl: 'change-email.component.html',\n})\nexport class ChangeEmailComponent {\n masterPassword: string;\n newEmail: string;\n token: string;\n tokenSent = false;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n this.newEmail = this.newEmail.toLowerCase();\n if (!this.tokenSent) {\n const request = new EmailTokenRequest();\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postEmailToken(request);\n await this.formPromise;\n this.tokenSent = true;\n } catch { }\n } else {\n const request = new EmailRequest();\n request.token = this.token;\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const newKey = await this.cryptoService.makeKey(this.masterPassword, this.newEmail);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const encKey = await this.cryptoService.getEncKey();\n const newEncKey = await this.cryptoService.encrypt(encKey.key, newKey);\n request.key = newEncKey.encryptedString;\n try {\n this.formPromise = this.apiService.postEmail(request);\n await this.formPromise;\n this.reset();\n this.analytics.eventTrack.next({ action: 'Changed Email' });\n this.toasterService.popAsync('success', this.i18nService.t('emailChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n }\n\n reset() {\n this.token = this.newEmail = this.masterPassword = null;\n this.tokenSent = false;\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { UpdateProfileRequest } from 'jslib/models/request/updateProfileRequest';\r\n\r\nimport { ProfileResponse } from 'jslib/models/response/profileResponse';\r\n\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: 'profile.component.html',\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n loading = true;\r\n profile: ProfileResponse;\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService) { }\r\n\r\n async ngOnInit() {\r\n this.profile = await this.apiService.getProfile();\r\n this.loading = false;\r\n }\r\n\r\n async submit() {\r\n try {\r\n const request = new UpdateProfileRequest(this.profile.name, this.profile.masterPasswordHint);\r\n this.formPromise = this.apiService.putProfile(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Updated Profile' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('accountUpdated'));\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\n@Component({\n selector: 'app-vault-share',\n templateUrl: 'share.component.html',\n})\nexport class ShareComponent implements OnInit, OnDestroy {\n @Input() cipherId: string;\n @Input() organizationId: string;\n @Output() onSharedCipher = new EventEmitter();\n\n formPromise: Promise;\n cipher: CipherView;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private collectionService: CollectionService, private analytics: Angulartics2,\n private toasterService: ToasterService, private i18nService: I18nService,\n private userService: UserService, private cipherService: CipherService) { }\n\n async ngOnInit() {\n const cipherDomain = await this.cipherService.get(this.cipherId);\n this.cipher = await cipherDomain.decrypt();\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const cipherDomain = await this.cipherService.get(this.cipherId);\n const cipherView = await cipherDomain.decrypt();\n\n const attachmentPromises: Array> = [];\n if (cipherView.attachments != null) {\n for (const attachment of cipherView.attachments) {\n const promise = this.cipherService.shareAttachmentWithServer(attachment,\n cipherView.id, this.organizationId);\n attachmentPromises.push(promise);\n }\n }\n\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n this.formPromise = Promise.all(attachmentPromises).then(async () => {\n await this.cipherService.shareWithServer(cipherView, this.organizationId, checkedCollectionIds);\n this.onSharedCipher.emit();\n this.analytics.eventTrack.next({ action: 'Shared Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItem'));\n });\n await this.formPromise;\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n FolderAddEditComponent as BaseFolderAddEditComponent,\r\n} from 'jslib/angular/components/folder-add-edit.component';\r\n\r\n@Component({\r\n selector: 'app-folder-add-edit',\r\n templateUrl: 'folder-add-edit.component.html',\r\n})\r\nexport class FolderAddEditComponent extends BaseFolderAddEditComponent {\r\n constructor(folderService: FolderService, i18nService: I18nService,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(folderService, i18nService, analytics, toasterService, platformUtilsService);\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-vault-bulk-share',\n templateUrl: 'bulk-share.component.html',\n})\nexport class BulkShareComponent implements OnInit {\n @Input() ciphers: CipherView[] = [];\n @Input() organizationId: string;\n @Output() onShared = new EventEmitter();\n\n nonShareableCount = 0;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n shareableCiphers: CipherView[] = [];\n formPromise: Promise;\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private collectionService: CollectionService, private userService: UserService) { }\n\n async ngOnInit() {\n this.shareableCiphers = this.ciphers.filter((c) => !c.hasAttachments && c.organizationId == null);\n this.nonShareableCount = this.ciphers.length - this.shareableCiphers.length;\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n this.formPromise = this.cipherService.shareManyWithServer(this.shareableCiphers, this.organizationId,\n checkedCollectionIds);\n await this.formPromise;\n this.onShared.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Shared Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItems'));\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { FolderView } from 'jslib/models/view/folderView';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-move',\r\n templateUrl: 'bulk-move.component.html',\r\n})\r\nexport class BulkMoveComponent implements OnInit {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onMoved = new EventEmitter();\r\n\r\n folderId: string = null;\r\n folders: FolderView[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private folderService: FolderService) { }\r\n\r\n async ngOnInit() {\r\n this.folders = await this.folderService.getAllDecrypted();\r\n this.folderId = this.folders[0].id;\r\n }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.moveManyWithServer(this.cipherIds, this.folderId);\r\n await this.formPromise;\r\n this.onMoved.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Moved Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('movedItems'));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-delete',\r\n templateUrl: 'bulk-delete.component.html',\r\n})\r\nexport class BulkDeleteComponent {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onDeleted = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService) { }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.deleteManyWithServer(this.cipherIds);\r\n await this.formPromise;\r\n this.onDeleted.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Deleted Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItems'));\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherWithIdRequest extends CipherRequest {\n id: string;\n\n constructor(cipher: Cipher) {\n super(cipher);\n this.id = cipher.id;\n }\n}\n","import { Component } from '@angular/core';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-update-key',\n templateUrl: 'update-key.component.html',\n})\nexport class UpdateKeyComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private syncService: SyncService, private folderService: FolderService,\n private cipherService: CipherService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (hasEncKey) {\n return;\n }\n\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.makeRequest().then((request) => {\n return this.apiService.postAccountKey(request);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Key Updated' });\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('keyUpdated'),\n body: this.i18nService.t('logBackInOthersToo'),\n timeout: 15000,\n };\n this.toasterService.popAsync(toast);\n this.messagingService.send('logout');\n } catch { }\n }\n\n private async makeRequest(): Promise {\n const key = await this.cryptoService.getKey();\n const encKey = await this.cryptoService.makeEncKey(key);\n const privateKey = await this.cryptoService.getPrivateKey();\n let encPrivateKey: CipherString = null;\n if (privateKey != null) {\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\n }\n const request = new UpdateKeyRequest();\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n\n await this.syncService.fullSync(true);\n\n const folders = await this.folderService.getAllDecrypted();\n for (let i = 0; i < folders.length; i++) {\n if (folders[i].id == null) {\n continue;\n }\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\n request.folders.push(new FolderWithIdRequest(folder));\n }\n\n const ciphers = await this.cipherService.getAllDecrypted();\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId != null) {\n continue;\n }\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n return request;\n }\n}\n","\r\n

\r\n \r\n

\r\n \r\n \r\n

{{'noOrganizationsList' | i18n}}

\r\n
\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n\r\n
\r\n

\r\n {{'organizations' | i18n}}\r\n \r\n \r\n \r\n

\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n \r\n \r\n \r\n

{{'noOrganizationsList' | i18n}}

\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{o.name}}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { DeviceType } from '../../enums';\n\n@Pipe({\n name: 'searchCiphers',\n})\nexport class SearchCiphersPipe implements PipeTransform {\n private onlySearchName = false;\n\n constructor(platformUtilsService: PlatformUtilsService) {\n this.onlySearchName = platformUtilsService.getDevice() === DeviceType.EdgeExtension;\n }\n\n transform(ciphers: CipherView[], searchText: string): CipherView[] {\n if (ciphers == null || ciphers.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return ciphers;\n }\n\n searchText = searchText.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (c.name != null && c.name.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (this.onlySearchName) {\n return false;\n }\n if (searchText.length >= 8 && c.id.startsWith(searchText)) {\n return true;\n }\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n\n return false;\n });\n }\n}\n","
\r\n \"\"\r\n \r\n
\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-verify-email',\n templateUrl: 'verify-email.component.html',\n})\nexport class VerifyEmailComponent {\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async send() {\n if (this.actionPromise != null) {\n return;\n }\n try {\n this.actionPromise = this.apiService.postAccountVerifyEmail();\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Sent Verification Email' });\n this.toasterService.popAsync('success', null, this.i18nService.t('checkInboxForVerification'));\n } catch { }\n this.actionPromise = null;\n }\n}\n","
\n
\n
\n © {{year}}, 8bit Solutions LLC\n
\n
\n
\n {{'versionNumber' | i18n : version}}\n
\n
\n
\n","\n","export class KeysRequest {\n publicKey: string;\n encryptedPrivateKey: string;\n\n constructor(publicKey: string, encryptedPrivateKey: string) {\n this.publicKey = publicKey;\n this.encryptedPrivateKey = encryptedPrivateKey;\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorEmailRequest extends PasswordVerificationRequest {\n email: string;\n\n constructor(email: string, masterPasswordHash: string) {\n super();\n this.masterPasswordHash = masterPasswordHash;\n this.email = email;\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent,\r\n} from 'jslib/angular/components/two-factor-options.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-options',\r\n templateUrl: 'two-factor-options.component.html',\r\n})\r\nexport class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {\r\n constructor(authService: AuthService, router: Router,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService) {\r\n super(authService, router, analytics, toasterService, i18nService, platformUtilsService, window);\r\n }\r\n}\r\n","import * as jq from 'jquery';\nimport * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport {\n ToasterConfig,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {\n NavigationEnd,\n Router,\n} from '@angular/router';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { LockService } from 'jslib/abstractions/lock.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SettingsService } from 'jslib/abstractions/settings.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { RouterService } from './services/router.service';\n\nconst BroadcasterSubscriptionId = 'AppComponent';\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n})\nexport class AppComponent implements OnDestroy, OnInit {\n toasterConfig: ToasterConfig = new ToasterConfig({\n showCloseButton: true,\n mouseoverTimerStop: true,\n animation: 'flyRight',\n limit: 5,\n });\n\n private lastActivity: number = null;\n\n constructor(private angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics,\n private broadcasterService: BroadcasterService, private userService: UserService,\n private tokenService: TokenService, private folderService: FolderService,\n private settingsService: SettingsService, private syncService: SyncService,\n private passwordGenerationService: PasswordGenerationService, private cipherService: CipherService,\n private authService: AuthService, private router: Router, private analytics: Angulartics2,\n private toasterService: ToasterService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private ngZone: NgZone,\n private lockService: LockService, private storageService: StorageService,\n private cryptoService: CryptoService, private collectionService: CollectionService,\n private routerService: RouterService) { }\n\n ngOnInit() {\n this.ngZone.runOutsideAngular(() => {\n window.onmousemove = () => this.recordActivity();\n window.onmousedown = () => this.recordActivity();\n window.ontouchstart = () => this.recordActivity();\n window.onclick = () => this.recordActivity();\n window.onscroll = () => this.recordActivity();\n window.onkeypress = () => this.recordActivity();\n });\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'loggedIn':\n case 'unlocked':\n case 'loggedOut':\n break;\n case 'logout':\n this.logOut(!!message.expired);\n break;\n case 'lockVault':\n await this.lockService.lock();\n break;\n case 'locked':\n this.router.navigate(['lock']);\n break;\n case 'syncStarted':\n break;\n case 'syncCompleted':\n break;\n case 'upgradeOrganization':\n const upgradeConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('upgradeOrganizationDesc'), this.i18nService.t('upgradeOrganization'),\n this.i18nService.t('upgradeOrganization'), this.i18nService.t('cancel'));\n if (upgradeConfirmed) {\n this.router.navigate(['organizations', message.organizationId, 'settings', 'billing']);\n }\n break;\n case 'premiumRequired':\n const premiumConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (premiumConfirmed) {\n this.router.navigate(['settings/premium']);\n }\n break;\n default:\n break;\n }\n });\n });\n\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n const modals = Array.from(document.querySelectorAll('.modal'));\n for (const modal of modals) {\n (jq(modal) as any).modal('hide');\n }\n\n if (document.querySelector('.swal-modal') != null) {\n swal.close(undefined);\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n private async logOut(expired: boolean) {\n const userId = await this.userService.getUserId();\n\n await Promise.all([\n this.syncService.setLastSync(new Date(0)),\n this.tokenService.clearToken(),\n this.cryptoService.clearKeys(),\n this.userService.clear(),\n this.settingsService.clear(userId),\n this.cipherService.clear(userId),\n this.folderService.clear(userId),\n this.collectionService.clear(userId),\n this.passwordGenerationService.clear(),\n ]);\n\n this.authService.logOut(async () => {\n this.analytics.eventTrack.next({ action: 'Logged Out' });\n if (expired) {\n this.toasterService.popAsync('warning', this.i18nService.t('loggedOut'),\n this.i18nService.t('loginExpired'));\n }\n this.router.navigate(['/']);\n });\n }\n\n private async recordActivity() {\n const now = (new Date()).getTime();\n if (this.lastActivity != null && now - this.lastActivity < 250) {\n return;\n }\n\n this.lastActivity = now;\n this.storageService.save(ConstantsService.lastActiveKey, now);\n }\n}\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 589;","import { NgModule } from '@angular/core';\nimport {\n RouterModule,\n Routes,\n} from '@angular/router';\n\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { SettingsComponent as OrgSettingsComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\n\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ImportComponent } from './tools/import.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ToolsComponent } from './tools/tools.component';\n\nimport { VaultComponent } from './vault/vault.component';\n\nimport { OrganizationGuardService } from './services/organization-guard.service';\nimport { OrganizationTypeGuardService } from './services/organization-type-guard.service';\nimport { UnauthGuardService } from './services/unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\n\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nconst routes: Routes = [\n {\n path: '',\n component: FrontendLayoutComponent,\n children: [\n { path: '', pathMatch: 'full', component: LoginComponent, canActivate: [UnauthGuardService] },\n { path: '2fa', component: TwoFactorComponent, canActivate: [UnauthGuardService] },\n {\n path: 'register', component: RegisterComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'createAccount' },\n },\n {\n path: 'hint', component: HintComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'passwordHint' },\n },\n { path: 'lock', component: LockComponent },\n { path: 'verify-email', component: VerifyEmailTokenComponent },\n {\n path: 'accept-organization',\n component: AcceptOrganizationComponent,\n data: { titleId: 'joinOrganization' },\n },\n { path: 'recover', pathMatch: 'full', redirectTo: 'recover-2fa' },\n {\n path: 'recover-2fa',\n component: RecoverTwoFactorComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'recoverAccountTwoStep' },\n },\n {\n path: 'recover-delete',\n component: RecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n {\n path: 'verify-recover-delete',\n component: VerifyRecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n ],\n },\n {\n path: '',\n component: UserLayoutComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: 'vault', component: VaultComponent, data: { titleId: 'myVault' } },\n {\n path: 'settings',\n component: SettingsComponent,\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: AccountComponent, data: { titleId: 'myAccount' } },\n { path: 'options', component: OptionsComponent, data: { titleId: 'options' } },\n { path: 'domain-rules', component: DomainRulesComponent, data: { titleId: 'domainRules' } },\n { path: 'two-factor', component: TwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n { path: 'premium', component: PremiumComponent, data: { titleId: 'goPremium' } },\n { path: 'billing', component: UserBillingComponent, data: { titleId: 'billingAndLicensing' } },\n { path: 'organizations', component: OrganizationsComponent, data: { titleId: 'organizations' } },\n {\n path: 'create-organization',\n component: CreateOrganizationComponent,\n data: { titleId: 'newOrganization' },\n },\n ],\n },\n {\n path: 'tools',\n component: ToolsComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'generator' },\n { path: 'import', component: ImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: ExportComponent, data: { titleId: 'exportVault' } },\n {\n path: 'generator',\n component: PasswordGeneratorComponent,\n data: { titleId: 'passwordGenerator' },\n },\n { path: 'breach-report', component: BreachReportComponent, data: { titleId: 'dataBreachReport' } },\n ],\n },\n ],\n },\n {\n path: 'organizations/:organizationId',\n component: OrganizationLayoutComponent,\n canActivate: [AuthGuardService, OrganizationGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'vault' },\n { path: 'vault', component: OrgVaultComponent, data: { titleId: 'vault' } },\n {\n path: 'tools',\n component: OrgToolsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'import' },\n { path: 'import', component: OrgImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: OrgExportComponent, data: { titleId: 'exportVault' } },\n ],\n },\n {\n path: 'manage',\n component: OrgManageComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'people' },\n { path: 'collections', component: OrgManageCollectionsComponent, data: { titleId: 'collections' } },\n { path: 'events', component: OrgEventsComponent, data: { titleId: 'eventLogs' } },\n { path: 'groups', component: OrgGroupsComponent, data: { titleId: 'groups' } },\n { path: 'people', component: OrgPeopleComponent, data: { titleId: 'people' } },\n ],\n },\n {\n path: 'settings',\n component: OrgSettingsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: OrgAccountComponent, data: { titleId: 'myOrganization' } },\n { path: 'two-factor', component: OrgTwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n {\n path: 'billing',\n component: OrganizationBillingComponent,\n data: { titleId: 'billingAndLicensing' },\n },\n ],\n },\n ],\n },\n { path: '**', redirectTo: '' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n useHash: true,\n /*enableTracing: true,*/\n })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","export class DecryptParameters {\n encKey: T;\n data: T;\n iv: T;\n macKey: T;\n mac: T;\n macData: T;\n}\n","import * as forge from 'node-forge';\n\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nimport { Utils } from '../misc/utils';\n\nimport { SymmetricCryptoKey } from '../models/domain';\nimport { DecryptParameters } from '../models/domain/decryptParameters';\n\nexport class WebCryptoFunctionService implements CryptoFunctionService {\n private crypto: Crypto;\n private subtle: SubtleCrypto;\n private isEdge: boolean;\n private isIE: boolean;\n\n constructor(private win: Window, private platformUtilsService: PlatformUtilsService) {\n this.crypto = typeof win.crypto !== 'undefined' ? win.crypto : null;\n this.subtle = (!!this.crypto && typeof win.crypto.subtle !== 'undefined') ? win.crypto.subtle : null;\n this.isEdge = platformUtilsService.isEdge();\n this.isIE = platformUtilsService.isIE();\n }\n\n async pbkdf2(password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number): Promise {\n if (this.isEdge || this.isIE) {\n const forgeLen = algorithm === 'sha256' ? 32 : 64;\n const passwordBytes = this.toByteString(password);\n const saltBytes = this.toByteString(salt);\n const derivedKeyBytes = (forge as any).pbkdf2(passwordBytes, saltBytes, iterations, forgeLen, algorithm);\n return Utils.fromByteStringToArray(derivedKeyBytes).buffer;\n }\n\n const wcLen = algorithm === 'sha256' ? 256 : 512;\n const passwordBuf = this.toBuf(password);\n const saltBuf = this.toBuf(salt);\n\n const pbkdf2Params: Pbkdf2Params = {\n name: 'PBKDF2',\n salt: saltBuf,\n iterations: iterations,\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', passwordBuf, { name: 'PBKDF2' } as any,\n false, ['deriveBits']);\n return await this.subtle.deriveBits(pbkdf2Params, impKey, wcLen);\n }\n\n async hash(value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n if ((this.isEdge || this.isIE) && algorithm === 'sha1') {\n const md = forge.md.sha1.create();\n const valueBytes = this.toByteString(value);\n md.update(valueBytes, 'raw');\n return Utils.fromByteStringToArray(md.digest().data).buffer;\n }\n\n const valueBuf = this.toBuf(value);\n return await this.subtle.digest({ name: this.toWebCryptoAlgorithm(algorithm) }, valueBuf);\n }\n\n async hmac(value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', key, signingAlgorithm, false, ['sign']);\n return await this.subtle.sign(signingAlgorithm, impKey, value);\n }\n\n // Safely compare two values in a way that protects against timing attacks (Double HMAC Verification).\n // ref: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/february/double-hmac-verification/\n // ref: https://paragonie.com/blog/2015/11/preventing-timing-attacks-on-string-comparison-with-double-hmac-strategy\n async compare(a: ArrayBuffer, b: ArrayBuffer): Promise {\n const macKey = await this.randomBytes(32);\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: 'SHA-256' },\n };\n const impKey = await this.subtle.importKey('raw', macKey, signingAlgorithm, false, ['sign']);\n const mac1 = await this.subtle.sign(signingAlgorithm, impKey, a);\n const mac2 = await this.subtle.sign(signingAlgorithm, impKey, b);\n\n if (mac1.byteLength !== mac2.byteLength) {\n return false;\n }\n\n const arr1 = new Uint8Array(mac1);\n const arr2 = new Uint8Array(mac2);\n for (let i = 0; i < arr2.length; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n hmacFast(value: string, key: string, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n const hmac = (forge as any).hmac.create();\n hmac.start(algorithm, key);\n hmac.update(value);\n const bytes = hmac.digest().getBytes();\n return Promise.resolve(bytes);\n }\n\n async compareFast(a: string, b: string): Promise {\n const rand = await this.randomBytes(32);\n const bytes = new Uint32Array(rand);\n const buffer = forge.util.createBuffer();\n for (let i = 0; i < bytes.length; i++) {\n buffer.putInt32(bytes[i]);\n }\n const macKey = buffer.getBytes();\n\n const hmac = (forge as any).hmac.create();\n hmac.start('sha256', macKey);\n hmac.update(a);\n const mac1 = hmac.digest().getBytes();\n\n hmac.start(null, null);\n hmac.update(b);\n const mac2 = hmac.digest().getBytes();\n\n const equals = mac1 === mac2;\n return equals;\n }\n\n async aesEncrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['encrypt']);\n return await this.subtle.encrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n aesDecryptFastParameters(data: string, iv: string, mac: string, key: SymmetricCryptoKey):\n DecryptParameters {\n const p = new DecryptParameters();\n if (key.meta != null) {\n p.encKey = key.meta.encKeyByteString;\n p.macKey = key.meta.macKeyByteString;\n }\n\n if (p.encKey == null) {\n p.encKey = forge.util.decode64(key.encKeyB64);\n }\n p.data = forge.util.decode64(data);\n p.iv = forge.util.decode64(iv);\n p.macData = p.iv + p.data;\n if (p.macKey == null && key.macKeyB64 != null) {\n p.macKey = forge.util.decode64(key.macKeyB64);\n }\n if (mac != null) {\n p.mac = forge.util.decode64(mac);\n }\n\n // cache byte string keys for later\n if (key.meta == null) {\n key.meta = {};\n }\n if (key.meta.encKeyByteString == null) {\n key.meta.encKeyByteString = p.encKey;\n }\n if (p.macKey != null && key.meta.macKeyByteString == null) {\n key.meta.macKeyByteString = p.macKey;\n }\n\n return p;\n }\n\n aesDecryptFast(parameters: DecryptParameters): Promise {\n const dataBuffer = (forge as any).util.createBuffer(parameters.data);\n const decipher = (forge as any).cipher.createDecipher('AES-CBC', parameters.encKey);\n decipher.start({ iv: parameters.iv });\n decipher.update(dataBuffer);\n decipher.finish();\n const val = decipher.output.toString('utf8');\n return Promise.resolve(val);\n }\n\n async aesDecrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['decrypt']);\n return await this.subtle.decrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('spki', publicKey, rsaParams, false, ['encrypt']);\n return await this.subtle.encrypt(rsaParams, impKey, data);\n }\n\n async rsaDecrypt(data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, false, ['decrypt']);\n return await this.subtle.decrypt(rsaParams, impKey, data);\n }\n\n async rsaExtractPublicKey(privateKey: ArrayBuffer): Promise {\n const rsaParams = {\n name: 'RSA-OAEP',\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const impPrivateKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, true, ['decrypt']);\n const jwkPrivateKey = await this.subtle.exportKey('jwk', impPrivateKey);\n const jwkPublicKeyParams = {\n kty: 'RSA',\n e: jwkPrivateKey.e,\n n: jwkPrivateKey.n,\n alg: 'RSA-OAEP',\n ext: true,\n };\n const impPublicKey = await this.subtle.importKey('jwk', jwkPublicKeyParams, rsaParams, true, ['encrypt']);\n return await this.subtle.exportKey('spki', impPublicKey);\n }\n\n async rsaGenerateKeyPair(length: 1024 | 2048 | 4096): Promise<[ArrayBuffer, ArrayBuffer]> {\n const rsaParams = {\n name: 'RSA-OAEP',\n modulusLength: length,\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]), // 65537\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const keyPair = await this.subtle.generateKey(rsaParams, true, ['encrypt', 'decrypt']);\n const publicKey = await this.subtle.exportKey('spki', keyPair.publicKey);\n const privateKey = await this.subtle.exportKey('pkcs8', keyPair.privateKey);\n return [publicKey, privateKey];\n }\n\n randomBytes(length: number): Promise {\n const arr = new Uint8Array(length);\n this.crypto.getRandomValues(arr);\n return Promise.resolve(arr.buffer);\n }\n\n private toBuf(value: string | ArrayBuffer): ArrayBuffer {\n let buf: ArrayBuffer;\n if (typeof (value) === 'string') {\n buf = Utils.fromUtf8ToArray(value).buffer;\n } else {\n buf = value;\n }\n return buf;\n }\n\n private toByteString(value: string | ArrayBuffer): string {\n let bytes: string;\n if (typeof (value) === 'string') {\n bytes = forge.util.encodeUtf8(value);\n } else {\n bytes = Utils.fromBufferToByteString(value);\n }\n return bytes;\n }\n\n private toWebCryptoAlgorithm(algorithm: 'sha1' | 'sha256' | 'sha512'): string {\n return algorithm === 'sha1' ? 'SHA-1' : algorithm === 'sha256' ? 'SHA-256' : 'SHA-512';\n }\n}\n","import * as papa from 'papaparse';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { ExportService as ExportServiceAbstraction } from '../abstractions/export.service';\nimport { FolderService } from '../abstractions/folder.service';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Collection } from '../models/domain/collection';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\n\nexport class ExportService implements ExportServiceAbstraction {\n constructor(private folderService: FolderService, private cipherService: CipherService,\n private apiService: ApiService) { }\n\n async getExport(format: 'csv' | 'json' = 'csv'): Promise {\n let decFolders: FolderView[] = [];\n let decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.folderService.getAllDecrypted().then((folders) => {\n decFolders = folders;\n }));\n\n promises.push(this.cipherService.getAllDecrypted().then((ciphers) => {\n decCiphers = ciphers;\n }));\n\n await Promise.all(promises);\n\n const foldersMap = new Map();\n decFolders.forEach((f) => {\n foldersMap.set(f.id, f);\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n\n if (c.organizationId != null) {\n return;\n }\n\n const cipher: any = {};\n cipher.folder = c.folderId != null && foldersMap.has(c.folderId) ? foldersMap.get(c.folderId).name : null;\n cipher.favorite = c.favorite ? 1 : null;\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n if (format === 'csv') {\n return papa.unparse(exportCiphers);\n } else {\n return JSON.stringify(exportCiphers, null, ' ');\n }\n }\n\n async getOrganizationExport(organizationId: string, format: 'csv' | 'json' = 'csv'): Promise {\n const decCollections: CollectionView[] = [];\n const decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.apiService.getCollections(organizationId).then((collections) => {\n const collectionPromises: any = [];\n if (collections != null && collections.data != null && collections.data.length > 0) {\n collections.data.forEach((c) => {\n const collection = new Collection(new CollectionData(c as CollectionDetailsResponse));\n collectionPromises.push(collection.decrypt().then((decCol) => {\n decCollections.push(decCol);\n }));\n });\n }\n return Promise.all(collectionPromises);\n }));\n\n promises.push(this.apiService.getCiphersOrganization(organizationId).then((ciphers) => {\n const cipherPromises: any = [];\n if (ciphers != null && ciphers.data != null && ciphers.data.length > 0) {\n ciphers.data.forEach((c) => {\n const cipher = new Cipher(new CipherData(c));\n cipherPromises.push(cipher.decrypt().then((decCipher) => {\n decCiphers.push(decCipher);\n }));\n });\n }\n return Promise.all(cipherPromises);\n }));\n\n await Promise.all(promises);\n\n const collectionsMap = new Map();\n decCollections.forEach((c) => {\n collectionsMap.set(c.id, c);\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n\n const cipher: any = {};\n cipher.collections = [];\n if (c.collectionIds != null) {\n cipher.collections = c.collectionIds.filter((id) => collectionsMap.has(id))\n .map((id) => collectionsMap.get(id).name);\n }\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n if (format === 'csv') {\n return papa.unparse(exportCiphers);\n } else {\n return JSON.stringify(exportCiphers, null, ' ');\n }\n }\n\n getFileName(prefix: string = null): string {\n const now = new Date();\n const dateString =\n now.getFullYear() + '' + this.padNumber(now.getMonth() + 1, 2) + '' + this.padNumber(now.getDate(), 2) +\n this.padNumber(now.getHours(), 2) + '' + this.padNumber(now.getMinutes(), 2) +\n this.padNumber(now.getSeconds(), 2);\n\n return 'bitwarden' + (prefix ? ('_' + prefix) : '') + '_export_' + dateString + '.csv';\n }\n\n private padNumber(num: number, width: number, padCharacter: string = '0'): string {\n const numString = num.toString();\n return numString.length >= width ? numString :\n new Array(width - numString.length + 1).join(padCharacter) + numString;\n }\n\n private buildCommonCipher(cipher: any, c: CipherView) {\n cipher.type = null;\n cipher.name = c.name;\n cipher.notes = c.notes;\n cipher.fields = null;\n // Login props\n cipher.login_uri = null;\n cipher.login_username = null;\n cipher.login_password = null;\n cipher.login_totp = null;\n\n if (c.fields) {\n c.fields.forEach((f: any) => {\n if (!cipher.fields) {\n cipher.fields = '';\n } else {\n cipher.fields += '\\n';\n }\n\n cipher.fields += ((f.name || '') + ': ' + f.value);\n });\n }\n\n switch (c.type) {\n case CipherType.Login:\n cipher.type = 'login';\n cipher.login_username = c.login.username;\n cipher.login_password = c.login.password;\n cipher.login_totp = c.login.totp;\n\n if (c.login.uris) {\n cipher.login_uri = [];\n c.login.uris.forEach((u) => {\n cipher.login_uri.push(u.uri);\n });\n }\n break;\n case CipherType.SecureNote:\n cipher.type = 'note';\n break;\n default:\n return;\n }\n\n return cipher;\n }\n}\n","import { AppIdService } from '../abstractions/appId.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from '../services/constants.service';\n\nimport { DeviceType } from '../enums/deviceType';\n\nconst GaObj = 'ga';\n\nexport const AnalyticsIds = {\n [DeviceType.ChromeExtension]: 'UA-81915606-6',\n [DeviceType.FirefoxExtension]: 'UA-81915606-7',\n [DeviceType.OperaExtension]: 'UA-81915606-8',\n [DeviceType.EdgeExtension]: 'UA-81915606-9',\n [DeviceType.VivaldiExtension]: 'UA-81915606-15',\n [DeviceType.SafariExtension]: 'UA-81915606-16',\n [DeviceType.WindowsDesktop]: 'UA-81915606-17',\n [DeviceType.LinuxDesktop]: 'UA-81915606-19',\n [DeviceType.MacOsDesktop]: 'UA-81915606-18',\n};\n\nexport class Analytics {\n private gaTrackingId: string = null;\n private defaultDisabled = false;\n private appVersion: string;\n\n constructor(win: Window, private gaFilter?: () => boolean,\n private platformUtilsService?: PlatformUtilsService, private storageService?: StorageService,\n private appIdService?: AppIdService, private dependencyResolver?: () => any) {\n if (dependencyResolver != null) {\n const deps = dependencyResolver();\n if (platformUtilsService == null && deps.platformUtilsService) {\n this.platformUtilsService = deps.platformUtilsService as PlatformUtilsService;\n }\n if (storageService == null && deps.storageService) {\n this.storageService = deps.storageService as StorageService;\n }\n if (appIdService == null && deps.appIdService) {\n this.appIdService = deps.appIdService as AppIdService;\n }\n }\n\n this.appVersion = this.platformUtilsService.getApplicationVersion();\n this.defaultDisabled = this.platformUtilsService.getDevice() === DeviceType.FirefoxExtension ||\n this.platformUtilsService.isMacAppStore();\n this.gaTrackingId = this.platformUtilsService.analyticsId();\n\n (win as any).GoogleAnalyticsObject = GaObj;\n (win as any)[GaObj] = async (action: string, param1: any, param2?: any) => {\n await this.ga(action, param1, param2);\n };\n }\n\n async ga(action: string, param1: any, param2?: any) {\n if (this.gaFilter != null && this.gaFilter()) {\n return;\n }\n\n const disabled = await this.storageService.get(ConstantsService.disableGaKey);\n if ((this.defaultDisabled && disabled == null) || disabled != null && disabled) {\n return;\n }\n\n if (action !== 'send' || !param1) {\n return;\n }\n\n const gaAnonAppId = await this.appIdService.getAnonymousAppId();\n const version = encodeURIComponent(this.appVersion);\n let message = 'v=1&tid=' + this.gaTrackingId + '&cid=' + gaAnonAppId + '&cd1=' + version;\n\n if (param1 === 'pageview' && param2) {\n message += this.gaTrackPageView(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'pageview') {\n message += this.gaTrackPageView(param1.page);\n } else if (param1 === 'event' && param2) {\n message += this.gaTrackEvent(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'event') {\n message += this.gaTrackEvent(param1);\n }\n\n const request = new XMLHttpRequest();\n request.open('POST', 'https://www.google-analytics.com/collect', true);\n request.send(message);\n }\n\n private gaTrackEvent(options: any) {\n return '&t=event&ec=' + (options.eventCategory ? encodeURIComponent(options.eventCategory) : 'Event') +\n '&ea=' + encodeURIComponent(options.eventAction) +\n (options.eventLabel ? '&el=' + encodeURIComponent(options.eventLabel) : '') +\n (options.eventValue ? '&ev=' + encodeURIComponent(options.eventValue) : '') +\n (options.page ? '&dp=' + this.cleanPagePath(options.page) : '');\n }\n\n private gaTrackPageView(pagePath: string) {\n return '&t=pageview&dp=' + this.cleanPagePath(pagePath);\n }\n\n private cleanPagePath(pagePath: string) {\n const paramIndex = pagePath.indexOf('?');\n if (paramIndex > -1) {\n pagePath = pagePath.substring(0, paramIndex);\n }\n if (pagePath.indexOf('!/') === 0 || pagePath.indexOf('#/') === 0) {\n pagePath = pagePath.substring(1);\n }\n const pathParts = pagePath.split('/');\n const newPathParts: string[] = [];\n pathParts.forEach((p) => {\n if (p.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)) {\n newPathParts.push('__guid__');\n } else {\n newPathParts.push(p);\n }\n });\n return encodeURIComponent(newPathParts.join('/'));\n }\n}\n","import * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\nexport class WebPlatformUtilsService implements PlatformUtilsService {\n identityClientId: string = 'web';\n\n private browserCache: DeviceType = null;\n\n constructor(private i18nService: I18nService) { }\n\n getDevice(): DeviceType {\n if (this.browserCache != null) {\n return this.browserCache;\n }\n\n if (navigator.userAgent.indexOf(' Firefox/') !== -1 || navigator.userAgent.indexOf(' Gecko/') !== -1) {\n this.browserCache = DeviceType.FirefoxBrowser;\n } else if (navigator.userAgent.indexOf(' OPR/') >= 0) {\n this.browserCache = DeviceType.OperaBrowser;\n } else if (navigator.userAgent.indexOf(' Edge/') !== -1) {\n this.browserCache = DeviceType.EdgeBrowser;\n } else if (navigator.userAgent.indexOf(' Vivaldi/') !== -1) {\n this.browserCache = DeviceType.VivaldiBrowser;\n } else if (navigator.userAgent.indexOf(' Safari/') !== -1 && navigator.userAgent.indexOf('Chrome') === -1) {\n this.browserCache = DeviceType.SafariBrowser;\n } else if ((window as any).chrome && navigator.userAgent.indexOf(' Chrome/') !== -1) {\n this.browserCache = DeviceType.ChromeBrowser;\n } else if (navigator.userAgent.indexOf(' Trident/') !== -1) {\n this.browserCache = DeviceType.IEBrowser;\n } else {\n this.browserCache = DeviceType.UnknownBrowser;\n }\n\n return this.browserCache;\n }\n\n getDeviceString(): string {\n const device = DeviceType[this.getDevice()].toLowerCase();\n return device.replace('browser', '');\n }\n\n isFirefox(): boolean {\n return this.getDevice() === DeviceType.FirefoxBrowser;\n }\n\n isChrome(): boolean {\n return this.getDevice() === DeviceType.ChromeBrowser;\n }\n\n isEdge(): boolean {\n return this.getDevice() === DeviceType.EdgeBrowser;\n }\n\n isOpera(): boolean {\n return this.getDevice() === DeviceType.OperaBrowser;\n }\n\n isVivaldi(): boolean {\n return this.getDevice() === DeviceType.VivaldiBrowser;\n }\n\n isSafari(): boolean {\n return this.getDevice() === DeviceType.SafariBrowser;\n }\n\n isIE(): boolean {\n return this.getDevice() === DeviceType.IEBrowser;\n }\n\n isMacAppStore(): boolean {\n return false;\n }\n\n analyticsId(): string {\n return 'UA-81915606-3';\n }\n\n getDomain(uriString: string): string {\n return Utils.getHostname(uriString);\n }\n\n isViewOpen(): boolean {\n return false;\n }\n\n lockTimeout(): number {\n return 15;\n }\n\n launchUri(uri: string, options?: any): void {\n const a = document.createElement('a');\n a.href = uri;\n a.target = '_blank';\n a.rel = 'noreferrer noopener';\n a.classList.add('d-none');\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n\n saveFile(win: Window, blobData: any, blobOptions: any, fileName: string): void {\n let blob: Blob = null;\n if (blobOptions != null && !this.isIE()) {\n blob = new Blob([blobData], blobOptions);\n } else {\n blob = new Blob([blobData]);\n }\n if (navigator.msSaveOrOpenBlob) {\n navigator.msSaveBlob(blob, fileName);\n } else {\n const a = win.document.createElement('a');\n a.href = win.URL.createObjectURL(blob);\n a.download = fileName;\n a.style.position = 'fixed';\n win.document.body.appendChild(a);\n a.click();\n win.document.body.removeChild(a);\n }\n }\n\n getApplicationVersion(): string {\n return process.env.APPLICATION_VERSION || '-';\n }\n\n supportsU2f(win: Window): boolean {\n if (win != null && (win as any).u2f != null) {\n return true;\n }\n return (this.isChrome() || this.isOpera() || this.isVivaldi()) && !this.isMobile(win);\n }\n\n supportsDuo(): boolean {\n return true;\n }\n\n showToast(type: 'error' | 'success' | 'warning' | 'info', title: string, text: string, global?: any): void {\n throw new Error('showToast not implemented');\n }\n\n async showDialog(text: string, title?: string, confirmText?: string, cancelText?: string, type?: string) {\n const buttons = [confirmText == null ? this.i18nService.t('ok') : confirmText];\n if (cancelText != null) {\n buttons.unshift(cancelText);\n }\n\n const contentDiv = document.createElement('div');\n if (type != null) {\n const icon = document.createElement('i');\n icon.classList.add('swal-custom-icon');\n switch (type) {\n case 'success':\n icon.classList.add('fa', 'fa-check', 'text-success');\n break;\n case 'warning':\n icon.classList.add('fa', 'fa-warning', 'text-warning');\n break;\n case 'error':\n icon.classList.add('fa', 'fa-bolt', 'text-danger');\n break;\n case 'info':\n icon.classList.add('fa', 'fa-info-circle', 'text-info');\n break;\n default:\n break;\n }\n if (icon.classList.contains('fa')) {\n contentDiv.appendChild(icon);\n }\n }\n\n if (title != null) {\n const titleDiv = document.createElement('div');\n titleDiv.classList.add('swal-title');\n titleDiv.appendChild(document.createTextNode(title));\n contentDiv.appendChild(titleDiv);\n }\n\n if (text != null) {\n const textDiv = document.createElement('div');\n textDiv.classList.add('swal-text');\n textDiv.appendChild(document.createTextNode(text));\n contentDiv.appendChild(textDiv);\n }\n\n const confirmed = await swal({\n content: { element: contentDiv },\n buttons: buttons,\n });\n return confirmed;\n }\n\n isDev(): boolean {\n return process.env.ENV === 'development';\n }\n\n isSelfHost(): boolean {\n return process.env.SELF_HOST.toString() === 'true';\n }\n\n copyToClipboard(text: string, options?: any): void {\n const doc: Document = options ? options.doc : window.document;\n if ((window as any).clipboardData && (window as any).clipboardData.setData) {\n // IE specific code path to prevent textarea being shown while dialog is visible.\n (window as any).clipboardData.setData('Text', text);\n } else if (doc.queryCommandSupported && doc.queryCommandSupported('copy')) {\n const textarea = doc.createElement('textarea');\n textarea.textContent = text;\n // Prevent scrolling to bottom of page in MS Edge.\n textarea.style.position = 'fixed';\n let copyEl = doc.body;\n // For some reason copy command won't work in Firefox when modal is open if appending to body\n if (this.isFirefox() && doc.body.classList.contains('modal-open')) {\n copyEl = doc.body.querySelector('.modal');\n }\n copyEl.appendChild(textarea);\n textarea.select();\n try {\n // Security exception may be thrown by some browsers.\n doc.execCommand('copy');\n } catch (e) {\n // tslint:disable-next-line\n console.warn('Copy to clipboard failed.', e);\n } finally {\n copyEl.removeChild(textarea);\n }\n }\n }\n\n private isMobile(win: Window) {\n let mobile = false;\n ((a) => {\n // tslint:disable-next-line\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\n mobile = true;\n }\n })(win.navigator.userAgent || win.navigator.vendor || (win as any).opera);\n\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\n }\n}\n","import { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nexport class MemoryStorageService implements StorageService {\r\n private store = new Map();\r\n\r\n get(key: string): Promise {\r\n if (this.store.has(key)) {\r\n const obj = this.store.get(key);\r\n return Promise.resolve(obj as T);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n if (obj == null) {\r\n return this.remove(key);\r\n }\r\n this.store.set(key, obj);\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n this.store.delete(key);\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { I18nService as BaseI18nService } from 'jslib/services/i18n.service';\n\nexport class I18nService extends BaseI18nService {\n constructor(systemLanguage: string, localesDirectory: string) {\n super(systemLanguage || 'en-US', localesDirectory, async (formattedLocale: string) => {\n const filePath = this.localesDirectory + '/' + formattedLocale + '/messages.json?cache=' +\n process.env.CACHE_TAG;\n const localesResult = await fetch(filePath);\n const locales = await localesResult.json();\n return locales;\n });\n\n this.supportedTranslationLocales = [\n 'en', 'da', 'sk',\n ];\n }\n}\n","import { OrganizationData } from '../data/organizationData';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class Organization {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n\n constructor(obj?: OrganizationData) {\n if (obj == null) {\n return;\n }\n\n this.id = obj.id;\n this.name = obj.name;\n this.status = obj.status;\n this.type = obj.type;\n this.enabled = obj.enabled;\n this.useGroups = obj.useGroups;\n this.useDirectory = obj.useDirectory;\n this.useEvents = obj.useEvents;\n this.useTotp = obj.useTotp;\n this.use2fa = obj.use2fa;\n this.selfHost = obj.selfHost;\n this.usersGetPremium = obj.usersGetPremium;\n this.seats = obj.seats;\n this.maxCollections = obj.maxCollections;\n this.maxStorageGb = obj.maxStorageGb;\n }\n\n get canAccess() {\n if (this.type === OrganizationUserType.Owner) {\n return true;\n }\n return this.enabled && this.status === OrganizationUserStatusType.Confirmed;\n }\n\n get isAdmin() {\n return this.type === OrganizationUserType.Owner || this.type === OrganizationUserType.Admin;\n }\n\n get isOwner() {\n return this.type === OrganizationUserType.Owner;\n }\n}\n","import { ProfileOrganizationResponse } from '../response/profileOrganizationResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class OrganizationData {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n\n constructor(response: ProfileOrganizationResponse) {\n this.id = response.id;\n this.name = response.name;\n this.status = response.status;\n this.type = response.type;\n this.enabled = response.enabled;\n this.useGroups = response.useGroups;\n this.useDirectory = response.useDirectory;\n this.useEvents = response.useEvents;\n this.useTotp = response.useTotp;\n this.use2fa = response.use2fa;\n this.selfHost = response.selfHost;\n this.usersGetPremium = response.usersGetPremium;\n this.seats = response.seats;\n this.maxCollections = response.maxCollections;\n this.maxStorageGb = response.maxStorageGb;\n }\n}\n","export class PasswordHistory {\r\n password: string;\r\n date: number;\r\n\r\n constructor(password: string, date: number) {\r\n this.password = password;\r\n this.date = date;\r\n }\r\n}\r\n","import { FolderData } from '../data/folderData';\r\n\r\nimport { FolderView } from '../view/folderView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domain';\r\n\r\nexport class Folder extends Domain {\r\n id: string;\r\n name: CipherString;\r\n\r\n constructor(obj?: FolderData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n name: null,\r\n }, alreadyEncrypted, ['id']);\r\n }\r\n\r\n decrypt(): Promise {\r\n return this.decryptObj(new FolderView(this), {\r\n name: null,\r\n }, null);\r\n }\r\n}\r\n","export class EnvironmentUrls {\r\n base: string;\r\n api: string;\r\n identity: string;\r\n}\r\n","/**\r\n * Use as a Decorator on async functions, it will prevent multiple 'active' calls as the same time\r\n *\r\n * If a promise was returned from a previous call to this function, that hasn't yet resolved it will\r\n * be returned, instead of calling the original function again\r\n *\r\n * Results are not cached, once the promise has returned, the next call will result in a fresh call\r\n *\r\n * WARNING: The decorator's scope is singleton, so using it on transient objects can lead to memory leaks.\r\n * Read more at https://github.com/bitwarden/jslib/pull/7\r\n */\r\nexport function sequentialize(cacheKey: (args: any[]) => string) {\r\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\r\n const originalMethod: () => Promise = descriptor.value;\r\n const caches = new Map>>();\r\n\r\n const getCache = (obj: any) => {\r\n let cache = caches.get(obj);\r\n if (cache != null) {\r\n return cache;\r\n }\r\n cache = new Map>();\r\n caches.set(obj, cache);\r\n return cache;\r\n };\r\n\r\n return {\r\n value: function(...args: any[]) {\r\n const argsCacheKey = cacheKey(args);\r\n const cache = getCache(this);\r\n let response = cache.get(argsCacheKey);\r\n if (response != null) {\r\n return response;\r\n }\r\n\r\n response = originalMethod.apply(this, args).then((val: any) => {\r\n cache.delete(argsCacheKey);\r\n return val;\r\n }).catch((err: any) => {\r\n cache.delete(argsCacheKey);\r\n throw err;\r\n });\r\n\r\n cache.set(argsCacheKey, response);\r\n return response;\r\n },\r\n };\r\n };\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\n\nimport { Utils } from '../../misc/utils';\n\nexport class SymmetricCryptoKey {\n key: ArrayBuffer;\n encKey?: ArrayBuffer;\n macKey?: ArrayBuffer;\n encType: EncryptionType;\n\n keyB64: string;\n encKeyB64: string;\n macKeyB64: string;\n\n meta: any;\n\n constructor(key: ArrayBuffer, encType?: EncryptionType) {\n if (key == null) {\n throw new Error('Must provide key');\n }\n\n if (encType == null) {\n if (key.byteLength === 32) {\n encType = EncryptionType.AesCbc256_B64;\n } else if (key.byteLength === 64) {\n encType = EncryptionType.AesCbc256_HmacSha256_B64;\n } else {\n throw new Error('Unable to determine encType.');\n }\n }\n\n this.key = key;\n this.encType = encType;\n\n if (encType === EncryptionType.AesCbc256_B64 && key.byteLength === 32) {\n this.encKey = key;\n this.macKey = null;\n } else if (encType === EncryptionType.AesCbc128_HmacSha256_B64 && key.byteLength === 32) {\n this.encKey = key.slice(0, 16);\n this.macKey = key.slice(16, 32);\n } else if (encType === EncryptionType.AesCbc256_HmacSha256_B64 && key.byteLength === 64) {\n this.encKey = key.slice(0, 32);\n this.macKey = key.slice(32, 64);\n } else {\n throw new Error('Unsupported encType/key length.');\n }\n\n if (this.key != null) {\n this.keyB64 = Utils.fromBufferToB64(this.key);\n }\n if (this.encKey != null) {\n this.encKeyB64 = Utils.fromBufferToB64(this.encKey);\n }\n if (this.macKey != null) {\n this.macKeyB64 = Utils.fromBufferToB64(this.macKey);\n }\n }\n}\n","import { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class EncryptedObject {\n iv: ArrayBuffer;\n data: ArrayBuffer;\n mac: ArrayBuffer;\n key: SymmetricCryptoKey;\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherShareRequest {\n cipher: CipherRequest;\n collectionIds: string[];\n\n constructor(cipher: Cipher) {\n this.cipher = new CipherRequest(cipher);\n this.collectionIds = cipher.collectionIds;\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherBulkShareRequest {\n ciphers: CipherWithIdRequest[];\n collectionIds: string[];\n\n constructor(ciphers: Cipher[], collectionIds: string[]) {\n if (ciphers != null) {\n this.ciphers = [];\n ciphers.forEach((c) => {\n this.ciphers.push(new CipherWithIdRequest(c));\n });\n }\n this.collectionIds = collectionIds;\n }\n}\n","export class CipherBulkMoveRequest {\n ids: string[];\n folderId: string;\n\n constructor(ids: string[], folderId: string) {\n this.ids = ids == null ? [] : ids;\n this.folderId = folderId;\n }\n}\n","export class CipherBulkDeleteRequest {\n ids: string[];\n\n constructor(ids: string[]) {\n this.ids = ids == null ? [] : ids;\n }\n}\n","export class BreachAccountResponse {\n addedDate: Date;\n breachDate: Date;\n dataClasses: string[];\n description: string;\n domain: string;\n isActive: boolean;\n isVerified: boolean;\n logoType: string;\n modifiedDate: Date;\n name: string;\n pwnCount: number;\n title: string;\n\n constructor(response: any) {\n this.addedDate = response.AddedDate;\n this.breachDate = response.BreachDate;\n this.dataClasses = response.DataClasses;\n this.description = response.Description;\n this.domain = response.Domain;\n this.isActive = response.IsActive;\n this.isVerified = response.IsVerified;\n this.logoType = response.LogoType;\n this.modifiedDate = response.ModifiedDate;\n this.name = response.Name;\n this.pwnCount = response.PwnCount;\n this.title = response.Title;\n }\n}\n","export class UserKeyResponse {\n userId: string;\n publicKey: string;\n\n constructor(response: any) {\n this.userId = response.UserId;\n this.publicKey = response.PublicKey;\n }\n}\n","export class TwoFactorYubiKeyResponse {\n enabled: boolean;\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.key1 = response.Key1;\n this.key2 = response.Key2;\n this.key3 = response.Key3;\n this.key4 = response.Key4;\n this.key5 = response.Key5;\n this.nfc = response.Nfc;\n }\n}\n","export class TwoFactorU2fResponse {\r\n enabled: boolean;\r\n challenge: ChallengeResponse;\r\n\r\n constructor(response: any) {\r\n this.enabled = response.Enabled;\r\n this.challenge = response.Challenge == null ? null : new ChallengeResponse(response.Challenge);\r\n }\r\n}\r\n\r\nexport class ChallengeResponse {\r\n userId: string;\r\n appId: string;\r\n challenge: string;\r\n version: string;\r\n\r\n constructor(response: any) {\r\n this.userId = response.UserId;\r\n this.appId = response.AppId;\r\n this.challenge = response.Challenge;\r\n this.version = response.Version;\r\n }\r\n}\r\n","export class TwoFactorRecoverResponse {\n code: string;\n\n constructor(response: any) {\n this.code = response.Code;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderResponse {\n enabled: boolean;\n type: TwoFactorProviderType;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.type = response.Type;\n }\n}\n","export class TwoFactorEmailResponse {\n enabled: boolean;\n email: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.email = response.Email;\n }\n}\n","export class TwoFactorDuoResponse {\n enabled: boolean;\n host: string;\n secretKey: string;\n integrationKey: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.host = response.Host;\n this.secretKey = response.SecretKey;\n this.integrationKey = response.IntegrationKey;\n }\n}\n","export class TwoFactorAuthenticatorResponse {\n enabled: boolean;\n key: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.key = response.Key;\n }\n}\n","import { CipherResponse } from './cipherResponse';\nimport { CollectionDetailsResponse } from './collectionResponse';\nimport { DomainsResponse } from './domainsResponse';\nimport { FolderResponse } from './folderResponse';\nimport { ProfileResponse } from './profileResponse';\n\nexport class SyncResponse {\n profile?: ProfileResponse;\n folders: FolderResponse[] = [];\n collections: CollectionDetailsResponse[] = [];\n ciphers: CipherResponse[] = [];\n domains?: DomainsResponse;\n\n constructor(response: any) {\n if (response.Profile) {\n this.profile = new ProfileResponse(response.Profile);\n }\n\n if (response.Folders) {\n response.Folders.forEach((folder: any) => {\n this.folders.push(new FolderResponse(folder));\n });\n }\n\n if (response.Collections) {\n response.Collections.forEach((collection: any) => {\n this.collections.push(new CollectionDetailsResponse(collection));\n });\n }\n\n if (response.Ciphers) {\n response.Ciphers.forEach((cipher: any) => {\n this.ciphers.push(new CipherResponse(cipher));\n });\n }\n\n if (response.Domains) {\n this.domains = new DomainsResponse(response.Domains);\n }\n }\n}\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class ProfileOrganizationResponse {\n id: string;\n name: string;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n key: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.name = response.Name;\n this.useGroups = response.UseGroups;\n this.useDirectory = response.UseDirectory;\n this.useEvents = response.UseEvents;\n this.useTotp = response.UseTotp;\n this.use2fa = response.Use2fa;\n this.selfHost = response.SelfHost;\n this.usersGetPremium = response.UsersGetPremium;\n this.seats = response.Seats;\n this.maxCollections = response.MaxCollections;\n this.maxStorageGb = response.MaxStorageGb;\n this.key = response.Key;\n this.status = response.Status;\n this.type = response.Type;\n this.enabled = response.Enabled;\n }\n}\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class OrganizationUserResponse {\n id: string;\n userId: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n accessAll: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.userId = response.UserId;\n this.type = response.Type;\n this.status = response.Status;\n this.accessAll = response.AccessAll;\n }\n}\n\nexport class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {\n name: string;\n email: string;\n\n constructor(response: any) {\n super(response);\n this.name = response.Name;\n this.email = response.Email;\n }\n}\n\nexport class OrganizationUserDetailsResponse extends OrganizationUserResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Collections != null) {\n this.collections = response.Collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import {\n BillingChargeResponse,\n BillingInvoiceResponse,\n BillingSourceResponse,\n BillingSubscriptionResponse,\n} from './billingResponse';\nimport { OrganizationResponse } from './organizationResponse';\n\nexport class OrganizationBillingResponse extends OrganizationResponse {\n storageName: string;\n storageGb: number;\n paymentSource: BillingSourceResponse;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingInvoiceResponse;\n charges: BillingChargeResponse[] = [];\n expiration: Date;\n\n constructor(response: any) {\n super(response);\n this.storageName = response.StorageName;\n this.storageGb = response.StorageGb;\n this.paymentSource = response.PaymentSource == null ? null : new BillingSourceResponse(response.PaymentSource);\n this.subscription = response.Subscription == null ?\n null : new BillingSubscriptionResponse(response.Subscription);\n this.upcomingInvoice = response.UpcomingInvoice == null ?\n null : new BillingInvoiceResponse(response.UpcomingInvoice);\n if (response.Charges != null) {\n this.charges = response.Charges.map((c: any) => new BillingChargeResponse(c));\n }\n this.expiration = response.Expiration;\n }\n}\n","export class ListResponse {\n data: T[];\n continuationToken: string;\n\n constructor(response: any, t: new (dataResponse: any) => T) {\n this.data = response.Data == null ? [] : response.Data.map((dr: any) => new t(dr));\n this.continuationToken = response.ContinuationToken;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class IdentityTwoFactorResponse {\r\n twoFactorProviders: TwoFactorProviderType[];\r\n twoFactorProviders2 = new Map();\r\n\r\n constructor(response: any) {\r\n this.twoFactorProviders = response.TwoFactorProviders;\r\n if (response.TwoFactorProviders2 != null) {\r\n for (const prop in response.TwoFactorProviders2) {\r\n if (response.TwoFactorProviders2.hasOwnProperty(prop)) {\r\n this.twoFactorProviders2.set(parseInt(prop, null), response.TwoFactorProviders2[prop]);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","export class IdentityTokenResponse {\r\n accessToken: string;\r\n expiresIn: number;\r\n refreshToken: string;\r\n tokenType: string;\r\n\r\n privateKey: string;\r\n key: string;\r\n twoFactorToken: string;\r\n\r\n constructor(response: any) {\r\n this.accessToken = response.access_token;\r\n this.expiresIn = response.expires_in;\r\n this.refreshToken = response.refresh_token;\r\n this.tokenType = response.token_type;\r\n\r\n this.privateKey = response.PrivateKey;\r\n this.key = response.Key;\r\n this.twoFactorToken = response.TwoFactorToken;\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class GroupUserResponse {\n organizationUserId: string;\n accessAll: boolean;\n name: string;\n email: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n\n constructor(response: any) {\n this.organizationUserId = response.OrganizationUserId;\n this.accessAll = response.AccessAll;\n this.name = response.Name;\n this.email = response.Email;\n this.type = response.Type;\n this.status = response.Status;\n }\n}\n","import { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class GroupResponse {\n id: string;\n organizationId: string;\n name: string;\n accessAll: boolean;\n externalId: string;\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.name = response.Name;\n this.accessAll = response.AccessAll;\n this.externalId = response.ExternalId;\n }\n}\n\nexport class GroupDetailsResponse extends GroupResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Collections != null) {\n this.collections = response.Collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { DeviceType } from '../../enums/deviceType';\nimport { EventType } from '../../enums/eventType';\n\nexport class EventResponse {\n type: EventType;\n userId: string;\n organizationId: string;\n cipherId: string;\n collectionId: string;\n groupId: string;\n organizationUserId: string;\n actingUserId: string;\n date: Date;\n deviceType: DeviceType;\n ipAddress: string;\n\n constructor(response: any) {\n this.type = response.Type;\n this.userId = response.UserId;\n this.organizationId = response.OrganizationId;\n this.cipherId = response.CipherId;\n this.collectionId = response.CollectionId;\n this.groupId = response.GroupId;\n this.organizationUserId = response.OrganizationUserId;\n this.actingUserId = response.ActingUserId;\n this.date = response.Date;\n this.deviceType = response.DeviceType;\n this.ipAddress = response.IpAddress;\n }\n}\n","export class ErrorResponse {\n message: string;\n validationErrors: { [key: string]: string[]; };\n statusCode: number;\n\n constructor(response: any, status: number, identityResponse?: boolean) {\n let errorModel = null;\n if (identityResponse && response && response.ErrorModel) {\n errorModel = response.ErrorModel;\n } else if (response) {\n errorModel = response;\n }\n\n if (errorModel) {\n this.message = errorModel.Message;\n this.validationErrors = errorModel.ValidationErrors;\n } else {\n if (status === 429) {\n this.message = 'Rate limit exceeded. Try again later.';\n }\n }\n this.statusCode = status;\n }\n\n getSingleMessage(): string {\n if (this.validationErrors) {\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n if (this.validationErrors[key].length) {\n return this.validationErrors[key][0];\n }\n }\n }\n return this.message;\n }\n}\n","export class GlobalDomainResponse {\r\n type: number;\r\n domains: string[];\r\n excluded: number[];\r\n\r\n constructor(response: any) {\r\n this.type = response.Type;\r\n this.domains = response.Domains;\r\n this.excluded = response.Excluded;\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class CollectionUserResponse {\n organizationUserId: string;\n accessAll: boolean;\n name: string;\n email: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n readOnly: boolean;\n\n constructor(response: any) {\n this.organizationUserId = response.OrganizationUserId;\n this.accessAll = response.AccessAll;\n this.name = response.Name;\n this.email = response.Email;\n this.type = response.Type;\n this.status = response.Status;\n this.readOnly = response.ReadOnly;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nexport class SecureNoteApi {\r\n type: SecureNoteType;\r\n\r\n constructor(data: any) {\r\n this.type = data.Type;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nexport class LoginUriApi {\r\n uri: string;\r\n match: UriMatchType = null;\r\n\r\n constructor(data: any) {\r\n this.uri = data.Uri;\r\n this.match = data.Match != null ? data.Match : null;\r\n }\r\n}\r\n","import { LoginUriApi } from './loginUriApi';\r\n\r\nexport class LoginApi {\r\n uris: LoginUriApi[];\r\n username: string;\r\n password: string;\r\n totp: string;\r\n\r\n constructor(data: any) {\r\n this.username = data.Username;\r\n this.password = data.Password;\r\n this.totp = data.Totp;\r\n\r\n if (data.Uris) {\r\n this.uris = [];\r\n data.Uris.forEach((u: any) => {\r\n this.uris.push(new LoginUriApi(u));\r\n });\r\n }\r\n }\r\n}\r\n","export class IdentityApi {\r\n title: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n constructor(data: any) {\r\n this.title = data.Title;\r\n this.firstName = data.FirstName;\r\n this.middleName = data.MiddleName;\r\n this.lastName = data.LastName;\r\n this.address1 = data.Address1;\r\n this.address2 = data.Address2;\r\n this.address3 = data.Address3;\r\n this.city = data.City;\r\n this.state = data.State;\r\n this.postalCode = data.PostalCode;\r\n this.country = data.Country;\r\n this.company = data.Company;\r\n this.email = data.Email;\r\n this.phone = data.Phone;\r\n this.ssn = data.SSN;\r\n this.username = data.Username;\r\n this.passportNumber = data.PassportNumber;\r\n this.licenseNumber = data.LicenseNumber;\r\n }\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nexport class FieldApi {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(response: any) {\r\n this.type = response.Type;\r\n this.name = response.Name;\r\n this.value = response.Value;\r\n }\r\n}\r\n","export class CardApi {\r\n cardholderName: string;\r\n brand: string;\r\n number: string;\r\n expMonth: string;\r\n expYear: string;\r\n code: string;\r\n\r\n constructor(data: any) {\r\n this.cardholderName = data.CardholderName;\r\n this.brand = data.Brand;\r\n this.number = data.Number;\r\n this.expMonth = data.ExpMonth;\r\n this.expYear = data.ExpYear;\r\n this.code = data.Code;\r\n }\r\n}\r\n","export class AttachmentResponse {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n size: number;\r\n sizeName: string;\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.url = response.Url;\r\n this.fileName = response.FileName;\r\n this.size = response.Size;\r\n this.sizeName = response.SizeName;\r\n }\r\n}\r\n","export { ApiService } from './api.service';\nexport { AppIdService } from './appId.service';\nexport { AuditService } from './audit.service';\nexport { AuthService } from './auth.service';\nexport { CipherService } from './cipher.service';\nexport { CollectionService } from './collection.service';\nexport { ConstantsService } from './constants.service';\nexport { ContainerService } from './container.service';\nexport { CryptoService } from './crypto.service';\nexport { EnvironmentService } from './environment.service';\nexport { FolderService } from './folder.service';\nexport { I18nService } from './i18n.service';\nexport { LockService } from './lock.service';\nexport { PasswordGenerationService } from './passwordGeneration.service';\nexport { SettingsService } from './settings.service';\nexport { StateService } from './state.service';\nexport { SyncService } from './sync.service';\nexport { TokenService } from './token.service';\nexport { TotpService } from './totp.service';\nexport { UserService } from './user.service';\n","import { StorageService } from 'jslib/abstractions/storage.service';\nimport { ConstantsService } from 'jslib/services';\n\nexport class HtmlStorageService implements StorageService {\n private localStorageKeys = new Set(['appId', 'anonymousAppId', 'rememberedEmail', 'passwordGenerationOptions',\n ConstantsService.disableFaviconKey, ConstantsService.lockOptionKey, 'rememberEmail',\n ConstantsService.localeKey, ConstantsService.lockOptionKey]);\n private localStorageStartsWithKeys = ['twoFactorToken_'];\n\n get(key: string): Promise {\n let json: string = null;\n if (this.isLocalStorage(key)) {\n json = window.localStorage.getItem(key);\n } else {\n json = window.sessionStorage.getItem(key);\n }\n if (json != null) {\n const obj = JSON.parse(json);\n return Promise.resolve(obj as T);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n if (obj == null) {\n return this.remove(key);\n }\n\n const json = JSON.stringify(obj);\n if (this.isLocalStorage(key)) {\n window.localStorage.setItem(key, json);\n } else {\n window.sessionStorage.setItem(key, json);\n }\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n if (this.isLocalStorage(key)) {\n window.localStorage.removeItem(key);\n } else {\n window.sessionStorage.removeItem(key);\n }\n return Promise.resolve();\n }\n\n private isLocalStorage(key: string): boolean {\n if (this.localStorageKeys.has(key)) {\n return true;\n }\n for (const swKey of this.localStorageStartsWithKeys) {\n if (key.startsWith(swKey)) {\n return true;\n }\n }\n return false;\n }\n}\n","import { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nexport class BroadcasterMessagingService implements MessagingService {\r\n constructor(private broadcasterService: BroadcasterService) { }\r\n\r\n send(subscriber: string, arg: any = {}) {\r\n const message = Object.assign({}, { command: subscriber }, arg);\r\n this.broadcasterService.send(message);\r\n }\r\n}\r\n","import {\r\n APP_INITIALIZER,\r\n LOCALE_ID,\r\n NgModule,\r\n} from '@angular/core';\r\n\r\nimport { ToasterModule } from 'angular2-toaster';\r\n\r\nimport { BroadcasterMessagingService } from '../../services/broadcasterMessaging.service';\r\nimport { HtmlStorageService } from '../../services/htmlStorage.service';\r\nimport { I18nService } from '../../services/i18n.service';\r\nimport { MemoryStorageService } from '../../services/memoryStorage.service';\r\nimport { WebPlatformUtilsService } from '../../services/webPlatformUtils.service';\r\n\r\nimport { EventService } from './event.service';\r\nimport { OrganizationGuardService } from './organization-guard.service';\r\nimport { OrganizationTypeGuardService } from './organization-type-guard.service';\r\nimport { RouterService } from './router.service';\r\nimport { UnauthGuardService } from './unauth-guard.service';\r\n\r\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\nimport { ValidationService } from 'jslib/angular/services/validation.service';\r\n\r\nimport { Analytics } from 'jslib/misc/analytics';\r\n\r\nimport { ApiService } from 'jslib/services/api.service';\r\nimport { AppIdService } from 'jslib/services/appId.service';\r\nimport { AuditService } from 'jslib/services/audit.service';\r\nimport { AuthService } from 'jslib/services/auth.service';\r\nimport { CipherService } from 'jslib/services/cipher.service';\r\nimport { CollectionService } from 'jslib/services/collection.service';\r\nimport { ConstantsService } from 'jslib/services/constants.service';\r\nimport { ContainerService } from 'jslib/services/container.service';\r\nimport { CryptoService } from 'jslib/services/crypto.service';\r\nimport { EnvironmentService } from 'jslib/services/environment.service';\r\nimport { ExportService } from 'jslib/services/export.service';\r\nimport { FolderService } from 'jslib/services/folder.service';\r\nimport { LockService } from 'jslib/services/lock.service';\r\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\r\nimport { SettingsService } from 'jslib/services/settings.service';\r\nimport { StateService } from 'jslib/services/state.service';\r\nimport { SyncService } from 'jslib/services/sync.service';\r\nimport { TokenService } from 'jslib/services/token.service';\r\nimport { TotpService } from 'jslib/services/totp.service';\r\nimport { UserService } from 'jslib/services/user.service';\r\nimport { WebCryptoFunctionService } from 'jslib/services/webCryptoFunction.service';\r\n\r\nimport { ApiService as ApiServiceAbstraction } from 'jslib/abstractions/api.service';\r\nimport { AppIdService as AppIdServiceAbstraction } from 'jslib/abstractions/appId.service';\r\nimport { AuditService as AuditServiceAbstraction } from 'jslib/abstractions/audit.service';\r\nimport { AuthService as AuthServiceAbstraction } from 'jslib/abstractions/auth.service';\r\nimport { CipherService as CipherServiceAbstraction } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService as CollectionServiceAbstraction } from 'jslib/abstractions/collection.service';\r\nimport { CryptoService as CryptoServiceAbstraction } from 'jslib/abstractions/crypto.service';\r\nimport { CryptoFunctionService as CryptoFunctionServiceAbstraction } from 'jslib/abstractions/cryptoFunction.service';\r\nimport { EnvironmentService as EnvironmentServiceAbstraction } from 'jslib/abstractions/environment.service';\r\nimport { ExportService as ExportServiceAbstraction } from 'jslib/abstractions/export.service';\r\nimport { FolderService as FolderServiceAbstraction } from 'jslib/abstractions/folder.service';\r\nimport { I18nService as I18nServiceAbstraction } from 'jslib/abstractions/i18n.service';\r\nimport { LockService as LockServiceAbstraction } from 'jslib/abstractions/lock.service';\r\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\r\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\r\nimport {\r\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\r\n} from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\r\nimport { SettingsService as SettingsServiceAbstraction } from 'jslib/abstractions/settings.service';\r\nimport { StateService as StateServiceAbstraction } from 'jslib/abstractions/state.service';\r\nimport { StorageService as StorageServiceAbstraction } from 'jslib/abstractions/storage.service';\r\nimport { SyncService as SyncServiceAbstraction } from 'jslib/abstractions/sync.service';\r\nimport { TokenService as TokenServiceAbstraction } from 'jslib/abstractions/token.service';\r\nimport { TotpService as TotpServiceAbstraction } from 'jslib/abstractions/totp.service';\r\nimport { UserService as UserServiceAbstraction } from 'jslib/abstractions/user.service';\r\n\r\nconst i18nService = new I18nService(window.navigator.language, 'locales');\r\nconst stateService = new StateService();\r\nconst broadcasterService = new BroadcasterService();\r\nconst messagingService = new BroadcasterMessagingService(broadcasterService);\r\nconst platformUtilsService = new WebPlatformUtilsService(i18nService);\r\nconst storageService: StorageServiceAbstraction = new HtmlStorageService();\r\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\r\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\r\n platformUtilsService);\r\nconst cryptoService = new CryptoService(storageService,\r\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService);\r\nconst tokenService = new TokenService(storageService);\r\nconst appIdService = new AppIdService(storageService);\r\nconst apiService = new ApiService(tokenService, platformUtilsService,\r\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\r\nconst environmentService = new EnvironmentService(apiService, storageService);\r\nconst userService = new UserService(tokenService, storageService);\r\nconst settingsService = new SettingsService(userService, storageService);\r\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\r\n apiService, storageService, i18nService, platformUtilsService);\r\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\r\n i18nService, cipherService);\r\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\r\nconst lockService = new LockService(cipherService, folderService, collectionService,\r\n cryptoService, platformUtilsService, storageService, messagingService, null);\r\nconst syncService = new SyncService(userService, apiService, settingsService,\r\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService,\r\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\r\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService);\r\nconst totpService = new TotpService(storageService, cryptoFunctionService);\r\nconst containerService = new ContainerService(cryptoService, platformUtilsService);\r\nconst authService = new AuthService(cryptoService, apiService,\r\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService);\r\nconst exportService = new ExportService(folderService, cipherService, apiService);\r\nconst auditService = new AuditService(cryptoFunctionService, apiService);\r\n\r\nconst analytics = new Analytics(window, () => platformUtilsService.isDev() || platformUtilsService.isSelfHost(),\r\n platformUtilsService, storageService, appIdService);\r\ncontainerService.attachToWindow(window);\r\n\r\nexport function initFactory(): Function {\r\n return async () => {\r\n const isDev = platformUtilsService.isDev();\r\n if (!isDev && platformUtilsService.isSelfHost()) {\r\n environmentService.baseUrl = window.location.origin;\r\n }\r\n await apiService.setUrls({\r\n base: isDev ? null : window.location.origin,\r\n api: isDev ? 'http://localhost:4000' : null,\r\n identity: isDev ? 'http://localhost:33656' : null,\r\n\r\n // Uncomment these (and comment out the above) if you want to target production\r\n // servers for local development.\r\n\r\n // base: null,\r\n // api: 'https://api.bitwarden.com',\r\n // identity: 'https://identity.bitwarden.com',\r\n });\r\n\r\n lockService.init(true);\r\n const locale = await storageService.get(ConstantsService.localeKey);\r\n await i18nService.init(locale);\r\n await authService.init();\r\n const htmlEl = window.document.documentElement;\r\n htmlEl.classList.add('locale_' + i18nService.translationLocale);\r\n let theme = await storageService.get(ConstantsService.themeKey);\r\n if (theme == null) {\r\n theme = 'light';\r\n }\r\n htmlEl.classList.add('theme_' + theme);\r\n stateService.save(ConstantsService.disableFaviconKey,\r\n await storageService.get(ConstantsService.disableFaviconKey));\r\n };\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n ToasterModule,\r\n ],\r\n declarations: [],\r\n providers: [\r\n ValidationService,\r\n AuthGuardService,\r\n OrganizationGuardService,\r\n OrganizationTypeGuardService,\r\n UnauthGuardService,\r\n RouterService,\r\n EventService,\r\n { provide: AuditServiceAbstraction, useValue: auditService },\r\n { provide: AuthServiceAbstraction, useValue: authService },\r\n { provide: CipherServiceAbstraction, useValue: cipherService },\r\n { provide: FolderServiceAbstraction, useValue: folderService },\r\n { provide: CollectionServiceAbstraction, useValue: collectionService },\r\n { provide: EnvironmentServiceAbstraction, useValue: environmentService },\r\n { provide: TotpServiceAbstraction, useValue: totpService },\r\n { provide: TokenServiceAbstraction, useValue: tokenService },\r\n { provide: I18nServiceAbstraction, useValue: i18nService },\r\n { provide: CryptoServiceAbstraction, useValue: cryptoService },\r\n { provide: PlatformUtilsServiceAbstraction, useValue: platformUtilsService },\r\n { provide: PasswordGenerationServiceAbstraction, useValue: passwordGenerationService },\r\n { provide: ApiServiceAbstraction, useValue: apiService },\r\n { provide: SyncServiceAbstraction, useValue: syncService },\r\n { provide: UserServiceAbstraction, useValue: userService },\r\n { provide: MessagingServiceAbstraction, useValue: messagingService },\r\n { provide: BroadcasterService, useValue: broadcasterService },\r\n { provide: SettingsServiceAbstraction, useValue: settingsService },\r\n { provide: LockServiceAbstraction, useValue: lockService },\r\n { provide: StorageServiceAbstraction, useValue: storageService },\r\n { provide: StateServiceAbstraction, useValue: stateService },\r\n { provide: ExportServiceAbstraction, useValue: exportService },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: initFactory,\r\n deps: [],\r\n multi: true,\r\n },\r\n {\r\n provide: LOCALE_ID,\r\n useFactory: () => i18nService.translationLocale,\r\n deps: [],\r\n },\r\n ],\r\n})\r\nexport class ServicesModule {\r\n}\r\n","\r\n\r\n","
\n
\n
\n
\n

{{'updateEncryptionKey' | i18n}}

\n \n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}} {{'updateEncryptionKeyDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n {{'updateEncryptionKeyWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n YubiKey\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorYubikeyWarning' | i18n}}

\n
    \n
  • {{'twoFactorYubikeySupportUsb' | i18n}}
  • \n
  • {{'twoFactorYubikeySupportMobile' | i18n}}
  • \n
\n
\n \"\"\n

{{'twoFactorYubikeyAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorYubikeyPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorYubikeySelectKey' | i18n}}
  4. \n
  5. {{'twoFactorYubikeyTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorYubikeySaveForm' | i18n}}
  8. \n
\n
\n
\n
\n \n \n
\n {{k.existingKey}}\n \n
\n
\n
\n {{'nfcSupport' | i18n}}\n
\n \n \n
\n {{'twoFactorYubikeySupportsNfcDesc' | i18n}}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n FIDO U2F\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorU2fWarning' | i18n}}

\n
    \n
  • {{'twoFactorU2fSupportWeb' | i18n}}
  • \n
\n
\n \n \"\"\n

{{'twoFactorU2fAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorU2fPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorU2fTouchButton' | i18n}}
  4. \n
\n
\n
\n \n

\n \n

\n {{'twoFactorU2fWaiting' | i18n}}...\n
\n \n

\n \n

\n {{'twoFactorU2fClickEnable' | i18n}}\n
\n \n

\n \n

\n {{'twoFactorU2fProblemReading' | i18n}}\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'recoveryCodeTitle' | i18n}}\n

\n \n
\n \n \n \n
\n \n

{{'twoFactorRecoveryYourCode' | i18n}}:

\n {{code}}\n
\n \n {{'twoFactorRecoveryNoCode' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'twoStepOptions' | i18n}}

\n \n
\n \n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'emailTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n {{'email' | i18n}}: {{email}}\n \n \n

\n {{'twoFactorEmailDesc' | i18n}}\n \"\"\n

\n
\n \n \n
\n
\n \n \n {{'verificationCodeEmailSent' | i18n : sentEmail}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n Duo\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \"\"\n {{'twoFactorDuoIntegrationKey' | i18n}}: {{ikey}}\n
\n {{'twoFactorDuoSecretKey' | i18n}}: {{skey}}\n
\n {{'twoFactorDuoApiHostname' | i18n}}: {{host}}\n
\n \n \"\"\n

{{'twoFactorDuoDesc' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'authenticatorAppTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \"\"\n

{{'twoStepAuthenticatorDesc' | i18n}}

\n

\n 1. {{'twoStepAuthenticatorDownloadApp' | i18n}}\n

\n
\n \n \n

{{'twoStepLoginProviderEnabled' | i18n}}

\n {{'twoStepAuthenticatorReaddDesc' | i18n}}\n
\n \"\"\n

{{'twoStepAuthenticatorNeedApp' | i18n}}

\n
\n \n

{{'twoStepAuthenticatorAppsRecommended' | i18n}}

\n

\n 2. {{'twoStepAuthenticatorScanCode' | i18n}}\n

\n
\n

\n
\n {{key}}\n

\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'share' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'shareDesc' | i18n}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'purgeVault' | i18n}}

\n \n
\n
\n

{{'purgeVaultDesc' | i18n}}

\n {{'purgeVaultWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'passwordHistory' | i18n}}

\n \n
\n
    \n
  • \n
    \n
    {{h.password}}
    \n {{h.date | date:'medium'}}\n
    \n
    \n \n
    \n
  • \n
\n
\n {{'noPasswordsInList' | i18n}}\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'groupAccess' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n

{{'groupAccessUserDesc' | i18n}}

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{g.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{title}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n \n

{{'inviteUserDesc' | i18n}}

\n
\n \n \n {{'inviteMultipleEmailDesc' | i18n : '20'}}\n
\n
\n

{{'userType' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdGroupDesc' | i18n}}\n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'userAccess' | i18n}}\n {{entityName}}\n

\n \n
\n
\n \n
\n
\n \n {{'noUsersInList' | i18n}}\n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n \n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'eventLogs' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n
\n {{'noEventsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'collections' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'collectionsDesc' | i18n}}

\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n

\n {{'groupAccess' | i18n}}\n
\n \n \n
\n

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n \n {{g.name}}\n \n \n \n \n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'attachments' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n {{a.fileName}}\n
\n {{a.sizeName}}\n
\n \n
\n

{{'newAttachment' | i18n}}

\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n {{totpSec}}\n \n \n \n \n \n \n \n {{totpCodeFormatted}}\n \n
\n
\n
\n \n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n \n {{'newUri' | i18n}}\n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

{{'customFields' | i18n}}

\n \n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n {{'newCustomField' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n","","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteOrganization' | i18n}}

\n \n
\n
\n

{{'deleteOrganizationDesc' | i18n}}

\n {{'deleteOrganizationWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteAccount' | i18n}}

\n \n
\n
\n

{{'deleteAccountDesc' | i18n}}

\n {{'deleteAccountWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deauthorizeSessions' | i18n}}

\n \n
\n
\n

{{'deauthorizeSessionsDesc' | i18n}}

\n {{'deauthorizeSessionsWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'shareSelected' | i18n}}\n

\n \n
\n
\n

{{'shareManyDesc' | i18n}}

\n

{{'shareSelectedItemsDesc' | i18n: this.ciphers.length : shareableCiphers.length : nonShareableCount}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'moveSelected' | i18n}}\n

\n \n
\n
\n

{{'moveSelectedItemsDesc' | i18n: cipherIds.length}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'deleteSelected' | i18n}}\n

\n \n
\n
\n {{'deleteSelectedItemsDesc' | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\n
\n
\n","export class VerifyBankRequest {\n amount1: number;\n amount2: number;\n}\n","export class SeatRequest {\n seatAdjustment: number;\n}\n","
\n
\n

{{(add ? 'addSeats' : 'removeSeats') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{seatAdjustment || 0}} × {{seatPrice | currency:'$'}} = {{adjustedSeatTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'seatsAddNote' : 'seatsRemoveNote') | i18n}}\n \n
\n
\n","
\n

\n {{'billingAndLicensing' | i18n}}\n \n \n \n

\n
\n\n\n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'billingPlan' | i18n}}
\n
{{billing.plan}}
\n
{{'expiration' | i18n}}
\n
{{billing.expiration | date:'mediumDate'}}
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'billingPlan' | i18n}}
\n
{{billing.plan}}
\n \n
{{'status' | i18n}}
\n
\n {{subscription.status || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$'))\n : '-'}}\n
\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n \n
\n

{{'userSeats' | i18n}}

\n

{{'subscriptionUserSeats' | i18n : billing.seats}}

\n \n
\n
\n \n \n
\n \n
\n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : billing.maxStorageGb || 0 : billing.storageName || '0 MB'}}

\n
\n
{{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n \n \n

{{'verifyBankAccountDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}

\n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n

\n \n {{paymentSource.description}}\n

\n
\n \n \n \n

{{'charges' | i18n}}

\n

{{'noCharges' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.createdDate | date:'mediumDate'}}{{c.paymentSource ? c.paymentSource.description : '-'}}{{c.status}}{{c.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n
\n","
\n

{{'twoStepLogin' | i18n}}

\n
\n

{{'twoStepLoginDesc' | i18n}}

\n

{{'twoStepLoginOrganizationDesc' | i18n}}

\n\n

{{'twoStepLoginRecoveryWarning' | i18n}}

\n \n
\n

\n {{'providers' | i18n}}\n \n \n \n

\n\n\n\n\n\n\n\n\n","export class OrganizationUpdateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n}\n","
\n

{{'myOrganization' | i18n}}

\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n

{{'taxInformation' | i18n}}

\n
\n
\n
{{org.businessAddress1}}
\n
{{org.businessAddress2}}
\n
{{org.businessAddress3}}
\n
{{org.businessCountry}}
\n
{{org.businessTaxNumber}}
\n
\n

{{'taxInformationDesc' | i18n}}

\n\n {{'contactSupport' | i18n}}\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n
\n
\n\n","
\n \n
\n","export class OrganizationUserUpdateGroupsRequest {\n groupIds: string[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserUpdateRequest {\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserInviteRequest {\n emails: string[] = [];\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","export class OrganizationUserConfirmRequest {\n key: string;\n}\n","
\n

{{'people' | i18n}}

\n
\n
\n \n \n \n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noUsersInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n\n\n\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class GroupRequest {\n name: string;\n accessAll: boolean;\n externalId: string;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","
\n

{{'groups' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noGroupsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{g.name}}\n \n \n
\n
\n\n\n","
\n

{{'eventLogs' | i18n}}

\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n\n\n

{{'noEventsInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n","
\n

{{'collections' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noCollectionsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{c.name}}\n \n \n
\n
\n\n\n","
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n","
\n
\n

{{'exportVault' | i18n}}

\n
\n

{{'exportMasterPassword' | i18n}}

\n {{'exportWarning' | i18n}}\n
\n
\n \n \n
\n
\n \n
\n","import { CipherRequest } from './cipherRequest';\nimport { CollectionRequest } from './collectionRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportOrganizationCiphersRequest {\n ciphers: CipherRequest[] = [];\n collections: CollectionRequest[] = [];\n collectionRelationships: Array> = [];\n}\n","
\n

{{'importData' | i18n}}

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/export-your-data/\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-lastpass/\n \n \n Using the KeePassX desktop application, navigate to \"Database\" → \"Export to CSV file\" and save the CSV file.\n \n \n In the Avira web vault, go to \"Settings\" → \"My Data\" → \"Export data\" and save the CSV file.\n \n \n In the Blur web vault, click your username at the top and go to \"Settings\" → \"Export Data\", then click \"Export CSV\"\n for your \"Accounts\".\n \n \n Using the SaveInCloud desktop application, navigate to \"File\" → \"Export\" → \"As XML\" and save the XML file.\n \n \n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to \"Settings\" →\n \"Export\" button and save the file \"As CSV\".\n \n \n Using the KeePass 2 desktop application, navigate to \"File\" → \"Export\" and select the \"KeePass XML (2.x)\" option.\n \n \n Using the Universal Password Manager desktop application, navigate to \"Database\" → \"Export\" and save the CSV file.\n \n \n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to \"Settings\". Click\n the \"Export accounts\" button to save the CSV file.\n \n \n Using the Meldium web vault, navigate to \"Settings\". Locate the \"Export data\" function and click \"Show me my data\" to save\n the CSV file.\n \n \n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to \"Backup\" (top right) and find the \"Export to .csv File\"\n option. Click \"Export Now\" to save the CSV file.\n \n \n \n The process is exactly the same as importing from Google Chrome.\n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-chrome/\n \n \n Use the\n FF Password Exporter application to export your passwords to a CSV file.\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-1password/.\n \n \n Using the Password Dragon desktop application, navigate to \"File\" → \"Export\" → \"To XML\". In the dialog that pops\n up select \"All Rows\" and check all fields. Click the \"Export\" button and save the XML file.\n \n \n Using the Enpass desktop application, navigate to \"File\" → \"Export\" → \"As CSV\". Select \"OK\" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n \n \n Using the Password Safe desktop application, navigate to \"File\" → \"Export To\" → \"XML format...\" and save the XML\n file.\n \n \n Using the Dashlane desktop application, navigate to \"File\" → \"Export\" → \"Unsecured archive (readable) in CSV format\"\n and save the CSV file.\n \n \n Using the mSecure desktop application, navigate to \"File\" → \"Export\" → \"CSV File...\" and save the CSV file.\n \n \n Using the Sticky Password desktop application, navigate to \"Menu\" (top right) → \"Export\" → \"Export all\". Select\n the unencrypted format XML option and save the XML file.\n \n \n Using the True Key desktop application, click the gear icon (top right) and then navigate to \"App Settings\". Click the \"Export\"\n button, enter your password and save the CSV file.\n \n \n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to \"Data\" → \"Export\". Click the \"download HTML+JSON\" button to save the HTML file.\n \n \n Using the RoboForm Editor desktop application, navigate to \"RoboForm\" (top left) → \"Options\" → \"Account & Data\"\n and click the \"Export\" button. Select all of your data, change the \"Format\" to \"CSV file\" and then click the\n \"Export\" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n \n \n Log into the Passbolt web vault and navigate to the \"Passwords\" listing. Select all of the passwords you would like to export\n and click the \"Export\" button at the top of the listing. Choose the \"csv (lastpass)\" export format and click\n the \"Export\" button.\n \n \n Using the Ascendo DataVault desktop application, navigate to \"Tools\" → \"Export\". In the dialog that pops up, select\n the \"All Items (DVX, CSV)\" option. Click the \"Ok\" button to save the CSV file.\n \n \n Using the Password Boss desktop application, navigate to \"File\" → \"Export data\" → \"Password Boss JSON - not encrypted\"\n and save the JSON file.\n \n \n Log into the Zoho web vault (vault.zoho.com). Navigate to \"Tools\" → \"Export Secrets\". Select \"All Secrets\" and click\n the \"Zoho Vault Format CSV\" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n zoho_export.csv.\n \n \n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to \"Export\"\n → \"Export as CSV\" and save the CSV file.\n \n \n Using the PassKeep mobile app, navigate to \"Backup/Restore\". Locate the \"CSV Backup/Restore\" section and click \"Backup to\n CSV\" to save the CSV file.\n \n \n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n GNOME Keyring Import/Export python script to your desktop as\n pw_helper.py. Open terminal and run\n chmod +rx Desktop/pw_helper.py and then\n python Desktop/pw_helper.py export Desktop/my_passwords.json. Then upload the resulting\n my_passwords.json file here to Bitwarden.\n \n \n Using the Password Agent desktop application navigate to \"File\" → \"Export\", select the \"Fields to export\" button and\n check all of the fields, change the \"Output format\" to \"CSV\", and then click the \"Start\" button to save the CSV\n file.\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n","
\r\n
\r\n
\r\n
\r\n
{{'tools' | i18n}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","export enum EventType {\n User_LoggedIn = 1000,\n User_ChangedPassword = 1001,\n User_Enabled2fa = 1002,\n User_Disabled2fa = 1003,\n User_Recovered2fa = 1004,\n User_FailedLogIn = 1005,\n User_FailedLogIn2fa = 1006,\n\n Cipher_Created = 1100,\n Cipher_Updated = 1101,\n Cipher_Deleted = 1102,\n Cipher_AttachmentCreated = 1103,\n Cipher_AttachmentDeleted = 1104,\n Cipher_Shared = 1105,\n Cipher_UpdatedCollections = 1106,\n\n Collection_Created = 1300,\n Collection_Updated = 1301,\n Collection_Deleted = 1302,\n\n Group_Created = 1400,\n Group_Updated = 1401,\n Group_Deleted = 1402,\n\n OrganizationUser_Invited = 1500,\n OrganizationUser_Confirmed = 1501,\n OrganizationUser_Updated = 1502,\n OrganizationUser_Removed = 1503,\n OrganizationUser_UpdatedGroups = 1504,\n\n Organization_Updated = 1600,\n\n}\n","\n 0\">\n \n \n \n \n \n \n \n \n
\n \n \n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n
\n
\n \n \n

{{'noItemsInList' | i18n}}

\n \n
\n
\n
\n","
\n
\n Filters\n
\n
\n \n \n

{{'types' | i18n}}

\n \n

\n \n

\n \n \n

\n {{'folders' | i18n}}\n \n \n \n

\n \n
\n \n

{{'collections' | i18n}}

\n \n
\n
\n
\n
\n","
\n
\n
\n \n \n
\n
\n
\n

{{'vault' | i18n}}

\n \n
\n \n \n
\n
\n
\n\n\n\n\n","\n
\n
\n
\n \n
\n {{organization.name}}\n {{'organization' | i18n}}\n
\n
\n \n
\n
\n\n\n","
\n

{{'dataBreachReport' | i18n}}

\n
\n

{{'breachDesc' | i18n}}

\n
\n
\n
\n \n \n {{'breachCheckUsernameEmail' | i18n}}\n
\n
\n \n
\n
\n

{{'reportError' | i18n}}...

\n \n \n {{'breachUsernameNotFound' | i18n : checkedUsername}}\n \n \n {{'breachUsernameFound' | i18n : checkedUsername : breachedAccounts.length}}\n \n
    \n
  • \n
    \n
    \n \"\"\n
    \n
    \n

    {{a.title}}

    \n

    \n

    {{'compromisedData' | i18n}}:

    \n
      \n
    • {{d}}
    • \n
    \n
    \n
    \n
    \n
    {{'website' | i18n}}
    \n
    {{a.domain}}
    \n
    {{'affectedUsers' | i18n}}
    \n
    {{a.pwnCount | number}}
    \n
    {{'breachOccurred' | i18n}}
    \n
    {{a.breachDate | date: 'mediumDate'}}
    \n
    {{'breachReported' | i18n}}
    \n
    {{a.addedDate | date: 'mediumDate'}}
    \n
    \n
    \n
    \n
  • \n
\n
\n
\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { OnInit } from '@angular/core';\r\n\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { PasswordHistory } from '../../models/domain/passwordHistory';\r\n\r\nexport class PasswordGeneratorHistoryComponent implements OnInit {\r\n history: PasswordHistory[] = [];\r\n\r\n constructor(protected passwordGenerationService: PasswordGenerationService, protected analytics: Angulartics2,\r\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\r\n protected toasterService: ToasterService, private win: Window) { }\r\n\r\n async ngOnInit() {\r\n this.history = await this.passwordGenerationService.getHistory();\r\n }\r\n\r\n clear() {\r\n this.history = [];\r\n this.passwordGenerationService.clear();\r\n }\r\n\r\n copy(password: string) {\r\n this.analytics.eventTrack.next({ action: 'Copied Historical Password' });\n const copyOptions = this.win != null ? { doc: this.win.document } : null;\r\n this.platformUtilsService.copyToClipboard(password, copyOptions);\r\n this.toasterService.popAsync('info', null, this.i18nService.t('valueCopied', this.i18nService.t('password')));\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class PasswordGeneratorComponent implements OnInit {\n @Input() showSelect: boolean = false;\n @Output() onSelected = new EventEmitter();\n\n options: any = {};\n password: string = '-';\n showOptions = false;\n avoidAmbiguous = false;\n\n constructor(protected passwordGenerationService: PasswordGenerationService, protected analytics: Angulartics2,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n protected toasterService: ToasterService, private win: Window) { }\n\n async ngOnInit() {\n this.options = await this.passwordGenerationService.getOptions();\n this.avoidAmbiguous = !this.options.ambiguous;\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n this.analytics.eventTrack.next({ action: 'Generated Password' });\n await this.passwordGenerationService.addHistory(this.password);\n }\n\n async sliderChanged() {\n this.saveOptions(false);\n await this.passwordGenerationService.addHistory(this.password);\n this.analytics.eventTrack.next({ action: 'Regenerated Password' });\n }\n\n async sliderInput() {\n this.normalizeOptions();\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n }\n\n async saveOptions(regenerate: boolean = true) {\n this.normalizeOptions();\n await this.passwordGenerationService.saveOptions(this.options);\n\n if (regenerate) {\n await this.regenerate();\n }\n }\n\n async regenerate() {\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n await this.passwordGenerationService.addHistory(this.password);\n this.analytics.eventTrack.next({ action: 'Regenerated Password' });\n }\n\n copy() {\n this.analytics.eventTrack.next({ action: 'Copied Generated Password' });\n const copyOptions = this.win != null ? { doc: this.win.document } : null;\n this.platformUtilsService.copyToClipboard(this.password, copyOptions);\n this.toasterService.popAsync('info', null, this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n\n select() {\n this.analytics.eventTrack.next({ action: 'Selected Generated Password' });\n this.onSelected.emit(this.password);\n }\n\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n\n private normalizeOptions() {\n this.options.minLowercase = 0;\n this.options.minUppercase = 0;\n this.options.ambiguous = !this.avoidAmbiguous;\n\n if (!this.options.uppercase && !this.options.lowercase && !this.options.number && !this.options.special) {\n this.options.lowercase = true;\n const lowercase = document.querySelector('#lowercase') as HTMLInputElement;\n if (lowercase) {\n lowercase.checked = true;\n }\n }\n\n if (!this.options.length || this.options.length < 5) {\n this.options.length = 5;\n } else if (this.options.length > 128) {\n this.options.length = 128;\n }\n\n if (!this.options.minNumber) {\n this.options.minNumber = 0;\n } else if (this.options.minNumber > this.options.length) {\n this.options.minNumber = this.options.length;\n } else if (this.options.minNumber > 9) {\n this.options.minNumber = 9;\n }\n\n if (!this.options.minSpecial) {\n this.options.minSpecial = 0;\n } else if (this.options.minSpecial > this.options.length) {\n this.options.minSpecial = this.options.length;\n } else if (this.options.minSpecial > 9) {\n this.options.minSpecial = 9;\n }\n\n if (this.options.minSpecial + this.options.minNumber > this.options.length) {\n this.options.minSpecial = this.options.length - this.options.minNumber;\n }\n }\n}\n","
\n

{{'passwordGenerator' | i18n}}

\n
\n
\n
\n {{password}}\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n\n","import { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { ExportService } from '../../abstractions/export.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { UserService } from '../../abstractions/user.service';\n\nexport class ExportComponent {\n @Output() onSaved = new EventEmitter();\n\n formPromise: Promise;\n masterPassword: string;\n showPassword = false;\n\n constructor(protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected cryptoService: CryptoService, protected userService: UserService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected exportService: ExportService, protected win: Window) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n return;\n }\n\n const email = await this.userService.getEmail();\n const key = await this.cryptoService.makeKey(this.masterPassword, email);\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n const storedKeyHash = await this.cryptoService.getKeyHash();\n\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\n try {\n this.formPromise = this.getExportData();\n const data = await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Exported Data' });\n this.downloadFile(data);\n this.saved();\n } catch { }\n } else {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Export' });\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n\n protected saved() {\n this.onSaved.emit();\n }\n\n protected getExportData() {\n return this.exportService.getExport('csv');\n }\n\n protected getFileName(prefix?: string) {\n return this.exportService.getFileName(prefix);\n }\n\n private downloadFile(csv: string): void {\n const fileName = this.getFileName();\n this.platformUtilsService.saveFile(this.win, csv, { type: 'text/plain' }, fileName);\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view';\r\n\r\nexport class ZohoVaultCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value['Secret Name'])) {\r\n return;\r\n }\r\n this.processFolder(result, this.getValueOrDefault(value.ChamberName));\r\n const cipher = this.initLoginCipher();\r\n cipher.favorite = this.getValueOrDefault(value.Favorite, '0') === '1';\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(value['Secret Name'], '--');\r\n cipher.login.uris = this.makeUriArray(value['Secret URL']);\r\n this.parseData(cipher, value.SecretData);\r\n this.parseData(cipher, value.CustomData);\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseData(cipher: CipherView, data: string) {\r\n if (this.isNullOrWhitespace(data)) {\r\n return;\r\n }\r\n const dataLines = this.splitNewLine(data);\r\n dataLines.forEach((line) => {\r\n const delimPosition = line.indexOf(':');\r\n if (delimPosition < 0) {\r\n return;\r\n }\r\n const field = line.substring(0, delimPosition);\r\n const value = line.length > delimPosition ? line.substring(delimPosition + 1) : null;\r\n if (this.isNullOrWhitespace(field) || this.isNullOrWhitespace(value) || field === 'SecretType') {\r\n return;\r\n }\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.username == null && this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = value;\r\n } else if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = value;\r\n } else {\r\n this.processKvp(cipher, field, value);\r\n }\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class UpmCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length !== 5) {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.notes = this.getValueOrDefault(value[4]);\n cipher.login.username = this.getValueOrDefault(value[1]);\n cipher.login.password = this.getValueOrDefault(value[2]);\n cipher.login.uris = this.makeUriArray(value[3]);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst PropertiesToIgnore = ['kind', 'autologin', 'favorite', 'hexcolor', 'protectedwithpassword', 'subdomainonly',\n 'type', 'tk_export_version', 'note', 'title', 'document_content',\n];\n\nexport class TrueKeyCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.favorite, '').toLowerCase() === 'true';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.notes = this.getValueOrDefault(value.memo, '');\n cipher.login.username = this.getValueOrDefault(value.login);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n\n if (value.kind !== 'login') {\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.note, '');\n }\n\n if (value.kind === 'cc') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\n cipher.card.number = this.getValueOrDefault(value.number);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n if (!this.isNullOrWhitespace(value.expiryDate)) {\n try {\n const expDate = new Date(value.expiryDate);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n }\n } else if (value.kind !== 'login') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n if (!this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = this.getValueOrDefault(value.document_content, '');\n }\n for (const property in value) {\n if (value.hasOwnProperty(property) && PropertiesToIgnore.indexOf(property.toLowerCase()) < 0 &&\n !this.isNullOrWhitespace(value[property])) {\n this.processKvp(cipher, property, value[property]);\n }\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class StickyPasswordXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const loginNodes = doc.querySelectorAll('root > Database > Logins > Login');\r\n Array.from(loginNodes).forEach((loginNode) => {\r\n const accountId = loginNode.getAttribute('ID');\r\n if (this.isNullOrWhitespace(accountId)) {\r\n return;\r\n }\r\n\r\n const usernameText = loginNode.getAttribute('Name');\r\n const passwordText = loginNode.getAttribute('Password');\r\n let titleText: string = null;\r\n let linkText: string = null;\r\n let notesText: string = null;\r\n let groupId: string = null;\r\n let groupText: string = null;\r\n\r\n const accountLogin = doc.querySelector('root > Database > Accounts > Account > ' +\r\n 'LoginLinks > Login[SourceLoginID=\"' + accountId + '\"]');\r\n if (accountLogin != null) {\r\n const account = accountLogin.parentElement.parentElement;\r\n if (account != null) {\r\n titleText = account.getAttribute('Name');\r\n linkText = account.getAttribute('Link');\r\n groupId = account.getAttribute('ParentID');\r\n notesText = account.getAttribute('Comments');\r\n if (!this.isNullOrWhitespace(notesText)) {\r\n notesText = notesText.split('/n').join('\\n');\r\n }\r\n }\r\n }\r\n\r\n if (!this.isNullOrWhitespace(groupId)) {\r\n groupText = this.buildGroupText(doc, groupId, '');\r\n this.processFolder(result, groupText);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(titleText, '--');\r\n cipher.notes = this.getValueOrDefault(notesText);\r\n cipher.login.username = this.getValueOrDefault(usernameText);\r\n cipher.login.password = this.getValueOrDefault(passwordText);\r\n cipher.login.uris = this.makeUriArray(linkText);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n buildGroupText(doc: Document, groupId: string, groupText: string): string {\r\n const group = doc.querySelector('root > Database > Groups > Group[ID=\"' + groupId + '\"]');\r\n if (group == null) {\r\n return groupText;\r\n }\r\n if (!this.isNullOrWhitespace(groupText)) {\r\n groupText = '/' + groupText;\r\n }\r\n groupText = group.getAttribute('Name') + groupText;\r\n return this.buildGroupText(doc, group.getAttribute('ParentID'), groupText);\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view/cipherView';\r\n\r\nexport class SplashIdCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 3) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, this.getValueOrDefault(value[value.length - 1]));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 2], '');\r\n cipher.name = this.getValueOrDefault(value[1], '--');\r\n\r\n if (value[0] === 'Web Logins' || value[0] === 'Servers' || value[0] === 'Email Accounts') {\r\n cipher.login.username = this.getValueOrDefault(value[2]);\r\n cipher.login.password = this.getValueOrDefault(value[3]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n this.parseFieldsToNotes(cipher, 5, value);\r\n } else {\r\n this.parseFieldsToNotes(cipher, 2, value);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseFieldsToNotes(cipher: CipherView, startIndex: number, value: any) {\r\n // last 3 rows do not get parsed\r\n for (let i = startIndex; i < value.length - 3; i++) {\r\n if (this.isNullOrWhitespace(value[i])) {\r\n continue;\r\n }\r\n cipher.notes += (value[i] + '\\n');\r\n }\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class SaferPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.url), '--');\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class SafeInCloudXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const db = doc.querySelector('database');\n if (db == null) {\n result.errorMessage = 'Missing `database` node.';\n result.success = false;\n return result;\n }\n\n const foldersMap = new Map();\n\n Array.from(doc.querySelectorAll('database > label')).forEach((labelEl) => {\n const name = labelEl.getAttribute('name');\n const id = labelEl.getAttribute('id');\n if (!this.isNullOrWhitespace(name) && !this.isNullOrWhitespace(id)) {\n foldersMap.set(id, result.folders.length);\n const folder = new FolderView();\n folder.name = name;\n result.folders.push(folder);\n }\n });\n\n Array.from(doc.querySelectorAll('database > card')).forEach((cardEl) => {\n if (cardEl.getAttribute('template') === 'true') {\n return;\n }\n\n const labelIdEl = this.querySelectorDirectChild(cardEl, 'label_id');\n if (labelIdEl != null) {\n const labelId = labelIdEl.textContent;\n if (!this.isNullOrWhitespace(labelId) && foldersMap.has(labelId)) {\n result.folderRelationships.push([result.ciphers.length, foldersMap.get(labelId)]);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(cardEl.getAttribute('title'), '--');\n\n const cardType = cardEl.getAttribute('type');\n if (cardType === 'note') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else {\n Array.from(this.querySelectorAllDirectChild(cardEl, 'field')).forEach((fieldEl) => {\n const text = fieldEl.textContent;\n if (this.isNullOrWhitespace(text)) {\n return;\n }\n const name = fieldEl.getAttribute('name');\n const fieldType = this.getValueOrDefault(fieldEl.getAttribute('type'), '').toLowerCase();\n if (fieldType === 'login') {\n cipher.login.username = text;\n } else if (fieldType === 'password') {\n cipher.login.password = text;\n } else if (fieldType === 'notes') {\n cipher.notes += (text + '\\n');\n } else if (fieldType === 'weblogin' || fieldType === 'website') {\n cipher.login.uris = this.makeUriArray(text);\n } else {\n this.processKvp(cipher, name, text);\n }\n });\n }\n\n Array.from(this.querySelectorAllDirectChild(cardEl, 'notes')).forEach((notesEl) => {\n cipher.notes += (notesEl.textContent + '\\n');\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class RoboFormCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n let i = 1;\r\n results.forEach((value) => {\r\n const folder = !this.isNullOrWhitespace(value.Folder) && value.Folder.startsWith('/') ?\r\n value.Folder.replace('/', '') : value.Folder;\r\n const folderName = !this.isNullOrWhitespace(folder) ? folder : null;\r\n this.processFolder(result, folderName);\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Note);\r\n cipher.name = this.getValueOrDefault(value.Name, '--');\r\n cipher.login.username = this.getValueOrDefault(value.Login);\r\n cipher.login.password = this.getValueOrDefault(value.Pwd);\r\n cipher.login.uris = this.makeUriArray(value.Url);\r\n this.cleanupCipher(cipher);\r\n\r\n if (i === results.length && cipher.name === '--' && this.isNullOrWhitespace(cipher.login.password)) {\r\n return;\r\n }\r\n result.ciphers.push(cipher);\r\n i++;\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordSafeXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const passwordSafe = doc.querySelector('passwordsafe');\r\n if (passwordSafe == null) {\r\n result.errorMessage = 'Missing `passwordsafe` node.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const notesDelimiter = passwordSafe.getAttribute('delimiter');\r\n const entries = doc.querySelectorAll('passwordsafe > entry');\r\n Array.from(entries).forEach((entry) => {\r\n const group = this.querySelectorDirectChild(entry, 'group');\r\n const groupText = group != null && !this.isNullOrWhitespace(group.textContent) ?\r\n group.textContent.split('.').join('/') : null;\r\n this.processFolder(result, groupText);\r\n\r\n const title = this.querySelectorDirectChild(entry, 'title');\r\n const username = this.querySelectorDirectChild(entry, 'username');\r\n const email = this.querySelectorDirectChild(entry, 'email');\r\n const password = this.querySelectorDirectChild(entry, 'password');\r\n const url = this.querySelectorDirectChild(entry, 'url');\r\n const notes = this.querySelectorDirectChild(entry, 'notes');\r\n const cipher = this.initLoginCipher();\r\n cipher.name = title != null ? this.getValueOrDefault(title.textContent, '--') : '--';\r\n cipher.notes = notes != null ?\r\n this.getValueOrDefault(notes.textContent, '').split(notesDelimiter).join('\\n') : null;\r\n cipher.login.username = username != null ? this.getValueOrDefault(username.textContent) : null;\r\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\r\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\r\n\r\n if (this.isNullOrWhitespace(cipher.login.username) && email != null) {\r\n cipher.login.username = this.getValueOrDefault(email.textContent);\r\n } else if (email != null && !this.isNullOrWhitespace(email.textContent)) {\r\n cipher.notes = this.isNullOrWhitespace(cipher.notes) ? 'Email: ' + email.textContent\r\n : (cipher.notes + '\\n' + 'Email: ' + email.textContent);\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordDragonXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const records = doc.querySelectorAll('PasswordManager > record');\n Array.from(records).forEach((record) => {\n const category = this.querySelectorDirectChild(record, 'Category');\n const categoryText = category != null && !this.isNullOrWhitespace(category.textContent) &&\n category.textContent !== 'Unfiled' ? category.textContent : null;\n this.processFolder(result, categoryText);\n\n const accountName = this.querySelectorDirectChild(record, 'Account-Name');\n const userId = this.querySelectorDirectChild(record, 'User-Id');\n const password = this.querySelectorDirectChild(record, 'Password');\n const url = this.querySelectorDirectChild(record, 'URL');\n const notes = this.querySelectorDirectChild(record, 'Notes');\n const cipher = this.initLoginCipher();\n cipher.name = accountName != null ? this.getValueOrDefault(accountName.textContent, '--') : '--';\n cipher.notes = notes != null ? this.getValueOrDefault(notes.textContent) : '';\n cipher.login.username = userId != null ? this.getValueOrDefault(userId.textContent) : null;\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\n\n const attributes: string[] = [];\n for (let i = 1; i <= 10; i++) {\n attributes.push('Attribute-' + i);\n }\n\n this.querySelectorAllDirectChild(record, attributes.join(',')).forEach((attr) => {\n if (this.isNullOrWhitespace(attr.textContent) || attr.textContent === 'null') {\n return;\n }\n this.processKvp(cipher, attr.tagName, attr.textContent);\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nexport class PasswordBossJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value: any) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.login.uris = this.makeUriArray(value.login_url);\r\n\r\n if (value.identifiers == null) {\r\n return;\r\n }\r\n\r\n if (!this.isNullOrWhitespace(value.identifiers.notes)) {\r\n cipher.notes = value.identifiers.notes.split('\\\\r\\\\n').join('\\n').split('\\\\n').join('\\n');\r\n }\r\n\r\n if (value.type === 'CreditCard') {\r\n cipher.card = new CardView();\r\n cipher.type = CipherType.Card;\r\n }\r\n\r\n for (const property in value.identifiers) {\r\n if (!value.identifiers.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n const valObj = value.identifiers[property];\r\n const val = valObj != null ? valObj.toString() : null;\r\n if (this.isNullOrWhitespace(val) || property === 'notes' || property === 'ignoreItemInSecurityScore') {\r\n continue;\r\n }\r\n\r\n if (cipher.type === CipherType.Card) {\r\n if (property === 'cardNumber') {\r\n cipher.card.number = val;\r\n cipher.card.brand = this.getCardBrand(val);\r\n continue;\r\n } else if (property === 'nameOnCard') {\r\n cipher.card.cardholderName = val;\r\n continue;\r\n } else if (property === 'security_code') {\r\n cipher.card.code = val;\r\n continue;\r\n } else if (property === 'expires') {\r\n try {\r\n const expDate = new Date(val);\r\n cipher.card.expYear = expDate.getFullYear().toString();\r\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\r\n } catch { }\r\n continue;\r\n } else if (property === 'cardType') {\r\n continue;\r\n }\r\n } else {\r\n if (property === 'username') {\r\n cipher.login.username = val;\r\n continue;\r\n } else if (property === 'password') {\r\n cipher.login.password = val;\r\n continue;\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(property) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n continue;\r\n }\r\n }\r\n\r\n this.processKvp(cipher, property, val);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordAgentCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 9) {\r\n return;\r\n }\r\n const folder = this.getValueOrDefault(value[8], '(None)');\r\n const folderName = folder !== '(None)' ? folder.split('\\\\').join('/') : null;\r\n this.processFolder(result, folderName);\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[3]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n cipher.login.username = this.getValueOrDefault(value[1]);\r\n cipher.login.password = this.getValueOrDefault(value[2]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PassKeepCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n this.processFolder(result, this.getValue('category', value));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValue('description', value);\r\n cipher.name = this.getValueOrDefault(this.getValue('title', value), '--');\r\n cipher.login.username = this.getValue('username', value);\r\n cipher.login.password = this.getValue('password', value);\r\n cipher.login.uris = this.makeUriArray(this.getValue('site', value));\r\n this.processKvp(cipher, 'Password 2', this.getValue('password2', value));\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private getValue(key: string, value: any) {\r\n return this.getValueOrDefault(value[key], this.getValueOrDefault(value[(' ' + key)]));\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nexport class PadlockCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let headers: string[] = null;\n results.forEach((value) => {\n if (headers == null) {\n headers = value.map((v: string) => v);\n return;\n }\n\n if (value.length < 2 || value.length !== headers.length) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value[1])) {\n if (this.organization) {\n const tags = (value[1] as string).split(',');\n tags.forEach((tag) => {\n tag = tag.trim();\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === tag) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = tag;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else {\n const tags = (value[1] as string).split(',');\n const tag = tags.length > 0 ? tags[0].trim() : null;\n this.processFolder(result, tag);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n for (let i = 2; i < value.length; i++) {\n const header = headers[i].trim().toLowerCase();\n if (this.isNullOrWhitespace(value[i]) || this.isNullOrWhitespace(header)) {\n continue;\n }\n\n if (this.usernameFieldNames.indexOf(header) > -1) {\n cipher.login.username = value[i];\n } else if (this.passwordFieldNames.indexOf(header) > -1) {\n cipher.login.password = value[i];\n } else if (this.uriFieldNames.indexOf(header) > -1) {\n cipher.login.uris = this.makeUriArray(value[i]);\n } else {\n this.processKvp(cipher, headers[i], value[i]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","export class View {\r\n}\n","export { AttachmentView } from './attachmentView';\r\nexport { CardView } from './cardView';\r\nexport { CipherView } from './cipherView';\r\nexport { FieldView } from './fieldView';\r\nexport { IdentityView } from './identityView';\r\nexport { LoginUriView } from './loginUriView';\r\nexport { LoginView } from './loginView';\r\nexport { SecureNoteView } from './secureNoteView';\r\nexport { View } from './view';\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { CardView } from '../models/view';\r\n\r\nconst IgnoredProperties = ['ainfo', 'autosubmit', 'notesPlain', 'ps', 'scope', 'tags', 'title', 'uuid'];\r\n\r\nexport class OnePasswordWinCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value.title)) {\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.title, '--');\r\n cipher.notes = this.getValueOrDefault(value.notesPlain, '') + '\\n';\r\n\r\n if (!this.isNullOrWhitespace(value.number) && !this.isNullOrWhitespace(value['expiry date'])) {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n }\r\n\r\n let altUsername: string = null;\r\n for (const property in value) {\r\n if (!value.hasOwnProperty(property) || this.isNullOrWhitespace(value[property])) {\r\n continue;\r\n }\r\n\r\n if (cipher.type === CipherType.Login) {\r\n if (this.isNullOrWhitespace(cipher.login.password) && property === 'password') {\r\n cipher.login.password = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.login.username) && property === 'username') {\r\n cipher.login.username = value[property];\r\n continue;\r\n } else if ((cipher.login.uris == null || cipher.login.uri.length === 0) && property === 'urls') {\r\n const urls = value[property].split(this.newLineRegex);\r\n cipher.login.uris = this.makeUriArray(urls);\r\n continue;\r\n }\r\n } else if (cipher.type === CipherType.Card) {\r\n if (this.isNullOrWhitespace(cipher.card.number) && property === 'number') {\r\n cipher.card.number = value[property];\r\n cipher.card.brand = this.getCardBrand(value.number);\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.code) && property === 'verification number') {\r\n cipher.card.code = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && property === 'cardholder name') {\r\n cipher.card.cardholderName = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && property === 'expiry date' &&\r\n value[property].length === 6) {\r\n cipher.card.expMonth = (value[property] as string).substr(4, 2);\r\n if (cipher.card.expMonth[0] === '0') {\r\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\r\n }\r\n cipher.card.expYear = (value[property] as string).substr(0, 4);\r\n continue;\r\n } else if (property === 'type') {\r\n // Skip since brand was determined from number above\r\n continue;\r\n }\r\n }\r\n\r\n if (IgnoredProperties.indexOf(property) === -1 && !property.startsWith('section:')) {\r\n if (altUsername == null && property === 'email') {\r\n altUsername = value[property];\r\n }\r\n this.processKvp(cipher, property, value[property]);\r\n }\r\n }\r\n\r\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(altUsername) &&\r\n this.isNullOrWhitespace(cipher.login.username) && altUsername.indexOf('://') === -1) {\r\n cipher.login.username = altUsername;\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class OnePassword1PifImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): ImportResult {\n data.split(this.newLineRegex).forEach((line) => {\n if (this.isNullOrWhitespace(line) || line[0] !== '{') {\n return;\n }\n const item = JSON.parse(line);\n const cipher = this.initLoginCipher();\n cipher.favorite = item.openContents && item.openContents.faveIndex ? true : false;\n cipher.name = this.getValueOrDefault(item.title, '--');\n\n if (item.typeName === 'securenotes.SecureNote') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else if (item.typeName === 'wallet.financial.CreditCard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n } else {\n cipher.login.uris = this.makeUriArray(item.location);\n }\n\n if (item.secureContents != null) {\n if (!this.isNullOrWhitespace(item.secureContents.notesPlain)) {\n cipher.notes = item.secureContents.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (item.secureContents.fields != null) {\n this.parseFields(item.secureContents.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.secureContents.sections != null) {\n item.secureContents.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n\n this.result.success = true;\n return this.result;\n }\n\n private parseFields(fields: any[], cipher: CipherView, designationKey: string, valueKey: string, nameKey: string) {\n fields.forEach((field: any) => {\n if (field[valueKey] == null || field[valueKey].toString().trim() === '') {\n return;\n }\n\n const fieldValue = field[valueKey].toString();\n const fieldDesignation = field[designationKey] != null ? field[designationKey].toString() : null;\n\n if (cipher.type === CipherType.Login) {\n if (this.isNullOrWhitespace(cipher.login.username) && fieldDesignation === 'username') {\n cipher.login.username = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.password) && fieldDesignation === 'password') {\n cipher.login.password = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.totp) && fieldDesignation != null &&\n fieldDesignation.startsWith('TOTP_')) {\n cipher.login.totp = fieldValue;\n return;\n }\n } else if (cipher.type === CipherType.Card) {\n if (this.isNullOrWhitespace(cipher.card.number) && fieldDesignation === 'ccnum') {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n return;\n } else if (this.isNullOrWhitespace(cipher.card.code) && fieldDesignation === 'cvv') {\n cipher.card.code = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && fieldDesignation === 'cardholder') {\n cipher.card.cardholderName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && fieldDesignation === 'expiry' &&\n fieldValue.length === 6) {\n cipher.card.expMonth = (fieldValue as string).substr(4, 2);\n if (cipher.card.expMonth[0] === '0') {\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\n }\n cipher.card.expYear = (fieldValue as string).substr(0, 4);\n return;\n } else if (fieldDesignation === 'type') {\n // Skip since brand was determined from number above\n return;\n }\n }\n\n const fieldName = this.isNullOrWhitespace(field[nameKey]) ? 'no_name' : field[nameKey];\n this.processKvp(cipher, fieldName, fieldValue);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class MSecureCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n const folderName = this.getValueOrDefault(value[0], 'Unassigned') !== 'Unassigned' ? value[0] : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[2], '--');\n\n if (value[1] === 'Web Logins') {\n cipher.login.uris = this.makeUriArray(value[4]);\n cipher.login.username = this.getValueOrDefault(value[5]);\n cipher.login.password = this.getValueOrDefault(value[6]);\n cipher.notes = !this.isNullOrWhitespace(value[3]) ? value[3].split('\\\\n').join('\\n') : null;\n } else if (value.length > 3) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n for (let i = 3; i < value.length; i++) {\n if (!this.isNullOrWhitespace(value[i])) {\n cipher.notes += (value[i] + '\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(value[1]) && cipher.type !== CipherType.Login) {\n cipher.name = value[1] + ': ' + cipher.name;\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class MeldiumCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.DisplayName, '--');\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.login.username = this.getValueOrDefault(value.UserName);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.Url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { IdentityView } from '../models/view/identityView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport class LastPassCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value, index) => {\r\n const cipherIndex = result.ciphers.length;\r\n let folderIndex = result.folders.length;\r\n const hasFolder = this.getValueOrDefault(value.grouping, '(none)') !== '(none)';\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === value.grouping) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const cipher = this.buildBaseCipher(value);\r\n if (cipher.type === CipherType.Login) {\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n cipher.login = new LoginView();\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n } else if (cipher.type === CipherType.SecureNote) {\r\n this.parseSecureNote(value, cipher);\r\n } else if (cipher.type === CipherType.Card) {\r\n cipher.card = this.parseCard(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n } else if (cipher.type === CipherType.Identity) {\r\n cipher.identity = this.parseIdentity(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n if (!this.isNullOrWhitespace(value.ccnum)) {\r\n // there is a card on this identity too\r\n const cardCipher = this.buildBaseCipher(value);\r\n cardCipher.identity = null;\r\n cardCipher.type = CipherType.Card;\r\n cardCipher.card = this.parseCard(value);\r\n result.ciphers.push(cardCipher);\r\n }\r\n }\r\n\r\n result.ciphers.push(cipher);\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = value.grouping;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private buildBaseCipher(value: any) {\r\n const cipher = new CipherView();\r\n if (value.hasOwnProperty('profilename') && value.hasOwnProperty('profilelanguage')) {\r\n // form fill\r\n cipher.favorite = false;\r\n cipher.name = this.getValueOrDefault(value.profilename, '--');\r\n cipher.type = CipherType.Card;\r\n\r\n if (!this.isNullOrWhitespace(value.title) || !this.isNullOrWhitespace(value.firstname) ||\r\n !this.isNullOrWhitespace(value.lastname) || !this.isNullOrWhitespace(value.address1) ||\r\n !this.isNullOrWhitespace(value.phone) || !this.isNullOrWhitespace(value.username) ||\r\n !this.isNullOrWhitespace(value.email)) {\r\n cipher.type = CipherType.Identity;\r\n }\r\n } else {\r\n // site or secure note\r\n cipher.favorite = !this.organization && this.getValueOrDefault(value.fav, '0') === '1';\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.type = value.url === 'http://sn' ? CipherType.SecureNote : CipherType.Login;\r\n }\r\n return cipher;\r\n }\r\n\r\n private parseCard(value: any): CardView {\r\n const card = new CardView();\r\n card.cardholderName = this.getValueOrDefault(value.ccname);\r\n card.number = this.getValueOrDefault(value.ccnum);\r\n card.code = this.getValueOrDefault(value.cccsc);\r\n card.brand = this.getCardBrand(value.ccnum);\r\n\r\n if (!this.isNullOrWhitespace(value.ccexp) && value.ccexp.indexOf('-') > -1) {\r\n const ccexpParts = (value.ccexp as string).split('-');\r\n if (ccexpParts.length > 1) {\r\n card.expYear = ccexpParts[0];\r\n card.expMonth = ccexpParts[1];\r\n if (card.expMonth.length === 2 && card.expMonth[0] === '0') {\r\n card.expMonth = card.expMonth[1];\r\n }\r\n }\r\n }\r\n\r\n return card;\r\n }\r\n\r\n private parseIdentity(value: any): IdentityView {\r\n const identity = new IdentityView();\r\n identity.title = this.getValueOrDefault(value.title);\r\n identity.firstName = this.getValueOrDefault(value.firstname);\r\n identity.middleName = this.getValueOrDefault(value.middlename);\r\n identity.lastName = this.getValueOrDefault(value.lastname);\r\n identity.username = this.getValueOrDefault(value.username);\r\n identity.company = this.getValueOrDefault(value.company);\r\n identity.ssn = this.getValueOrDefault(value.ssn);\r\n identity.address1 = this.getValueOrDefault(value.address1);\r\n identity.address2 = this.getValueOrDefault(value.address2);\r\n identity.address3 = this.getValueOrDefault(value.address3);\r\n identity.city = this.getValueOrDefault(value.city);\r\n identity.state = this.getValueOrDefault(value.state);\r\n identity.postalCode = this.getValueOrDefault(value.zip);\r\n identity.country = this.getValueOrDefault(value.country);\r\n identity.email = this.getValueOrDefault(value.email);\r\n identity.phone = this.getValueOrDefault(value.phone);\r\n\r\n if (!this.isNullOrWhitespace(identity.title)) {\r\n identity.title = identity.title.charAt(0).toUpperCase() + identity.title.slice(1);\r\n }\r\n\r\n return identity;\r\n }\r\n\r\n private parseSecureNote(value: any, cipher: CipherView) {\r\n const extraParts = this.splitNewLine(value.extra);\r\n let processedNote = false;\r\n\r\n if (extraParts.length) {\r\n const typeParts = extraParts[0].split(':');\r\n if (typeParts.length > 1 && typeParts[0] === 'NoteType' &&\r\n (typeParts[1] === 'Credit Card' || typeParts[1] === 'Address')) {\r\n if (typeParts[1] === 'Credit Card') {\r\n const mappedData = this.parseSecureNoteMapping(extraParts, {\r\n 'Number': 'number',\r\n 'Name on Card': 'cardholderName',\r\n 'Security Code': 'code',\r\n });\r\n cipher.type = CipherType.Card;\r\n cipher.card = mappedData[0];\r\n cipher.notes = mappedData[1];\r\n } else if (typeParts[1] === 'Address') {\r\n const mappedData = this.parseSecureNoteMapping(extraParts, {\r\n 'Title': 'title',\r\n 'First Name': 'firstName',\r\n 'Last Name': 'lastName',\r\n 'Middle Name': 'middleName',\r\n 'Company': 'company',\r\n 'Address 1': 'address1',\r\n 'Address 2': 'address2',\r\n 'Address 3': 'address3',\r\n 'City / Town': 'city',\r\n 'State': 'state',\r\n 'Zip / Postal Code': 'postalCode',\r\n 'Country': 'country',\r\n 'Email Address': 'email',\r\n 'Username': 'username',\r\n });\r\n cipher.type = CipherType.Identity;\r\n cipher.identity = mappedData[0];\r\n cipher.notes = mappedData[1];\r\n }\r\n processedNote = true;\r\n }\r\n }\r\n\r\n if (!processedNote) {\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n }\r\n }\r\n\r\n private parseSecureNoteMapping(extraParts: string[], map: any): [T, string] {\r\n let notes: string = null;\r\n const dataObj: any = {};\r\n\r\n extraParts.forEach((extraPart) => {\r\n const fieldParts = extraPart.split(':');\r\n if (fieldParts.length < 1 || this.isNullOrWhitespace(fieldParts[0]) ||\r\n this.isNullOrWhitespace(fieldParts[1]) || fieldParts[0] === 'NoteType') {\r\n return;\r\n }\r\n\r\n if (fieldParts[0] === 'Notes') {\r\n if (!this.isNullOrWhitespace(notes)) {\r\n notes += ('\\n' + fieldParts[1]);\r\n } else {\r\n notes = fieldParts[1];\r\n }\r\n } else if (map.hasOwnProperty(fieldParts[0])) {\r\n dataObj[map[fieldParts[0]]] = fieldParts[1];\r\n } else {\r\n if (!this.isNullOrWhitespace(notes)) {\r\n notes += '\\n';\r\n } else {\r\n notes = '';\r\n }\r\n\r\n notes += (fieldParts[0] + ': ' + fieldParts[1]);\r\n }\r\n });\r\n\r\n return [dataObj as T, notes];\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeeperCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 6) {\n return;\n }\n\n this.processFolder(result, value[0]);\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[5]) + '\\n';\n cipher.name = this.getValueOrDefault(value[1], '--');\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n\n if (value.length > 7) {\n // we have some custom fields.\n for (let i = 7; i < value.length; i = i + 2) {\n this.processKvp(cipher, value[i], value[i + 1]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class KeePassXCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value.Title)) {\r\n return;\r\n }\r\n\r\n value.Group = !this.isNullOrWhitespace(value.Group) && value.Group.startsWith('Root/') ?\r\n value.Group.replace('Root/', '') : value.Group;\r\n const groupName = !this.isNullOrWhitespace(value.Group) ? value.Group : null;\r\n this.processFolder(result, groupName);\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(value.Title, '--');\r\n cipher.login.username = this.getValueOrDefault(value.Username);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.uris = this.makeUriArray(value.URL);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nexport class KeePass2XmlImporter extends BaseImporter implements Importer {\r\n result = new ImportResult();\r\n\r\n parse(data: string): ImportResult {\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n const rootGroup = doc.querySelector('KeePassFile > Root > Group');\r\n if (rootGroup == null) {\r\n this.result.errorMessage = 'Missing `KeePassFile > Root > Group` node.';\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n this.traverse(rootGroup, true, '');\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(this.result);\r\n }\r\n\r\n this.result.success = true;\r\n return this.result;\r\n }\r\n\r\n traverse(node: Element, isRootNode: boolean, groupPrefixName: string) {\r\n const folderIndex = this.result.folders.length;\r\n let groupName = groupPrefixName;\r\n\r\n if (!isRootNode) {\r\n if (groupName !== '') {\r\n groupName += '/';\r\n }\r\n const nameEl = this.querySelectorDirectChild(node, 'Name');\r\n groupName += nameEl == null ? '-' : nameEl.textContent;\r\n const folder = new FolderView();\r\n folder.name = groupName;\r\n this.result.folders.push(folder);\r\n }\r\n\r\n this.querySelectorAllDirectChild(node, 'Entry').forEach((entry) => {\r\n const cipherIndex = this.result.ciphers.length;\r\n\r\n const cipher = this.initLoginCipher();\r\n this.querySelectorAllDirectChild(entry, 'String').forEach((entryString) => {\r\n const valueEl = this.querySelectorDirectChild(entryString, 'Value');\r\n const value = valueEl != null ? valueEl.textContent : null;\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n const keyEl = this.querySelectorDirectChild(entryString, 'Key');\r\n const key = keyEl != null ? keyEl.textContent : null;\r\n\r\n if (key === 'URL') {\r\n cipher.login.uris = this.makeUriArray(value);\r\n } else if (key === 'UserName') {\r\n cipher.login.username = value;\r\n } else if (key === 'Password') {\r\n cipher.login.password = value;\r\n } else if (key === 'Title') {\r\n cipher.name = value;\r\n } else if (key === 'Notes') {\r\n cipher.notes += (value + '\\n');\r\n } else {\r\n this.processKvp(cipher, key, value);\r\n }\r\n });\r\n\r\n this.cleanupCipher(cipher);\r\n this.result.ciphers.push(cipher);\r\n\r\n if (!isRootNode) {\r\n this.result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n this.querySelectorAllDirectChild(node, 'Group').forEach((group) => {\r\n this.traverse(group, false, groupName);\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class GnomeJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || Object.keys(results).length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n for (const keyRing in results) {\r\n if (!results.hasOwnProperty(keyRing) || this.isNullOrWhitespace(keyRing) ||\r\n results[keyRing].length === 0) {\r\n continue;\r\n }\r\n\r\n results[keyRing].forEach((value: any) => {\r\n if (this.isNullOrWhitespace(value.display_name) || value.display_name.indexOf('http') !== 0) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, keyRing);\r\n const cipher = this.initLoginCipher();\r\n cipher.name = value.display_name.replace('http://', '').replace('https://', '');\r\n if (cipher.name.length > 30) {\r\n cipher.name = cipher.name.substring(0, 30);\r\n }\r\n cipher.login.password = this.getValueOrDefault(value.secret);\r\n cipher.login.uris = this.makeUriArray(value.display_name);\r\n\r\n if (value.attributes != null) {\r\n cipher.login.username = value.attributes != null ?\r\n this.getValueOrDefault(value.attributes.username_value) : null;\r\n for (const attr in value.attributes) {\r\n if (!value.attributes.hasOwnProperty(attr) || attr === 'username_value' ||\r\n attr === 'xdg:schema') {\r\n continue;\r\n }\r\n this.processKvp(cipher, attr, value.attributes[attr]);\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class FirefoxCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.hostname), '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.hostname);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class EnpassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let firstRow = true;\n results.forEach((value) => {\n if (value.length < 2 || (firstRow && value[0] === 'Title')) {\n firstRow = false;\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2 || (value.indexOf('Username') < 0 && value.indexOf('Password') < 0 &&\n value.indexOf('Email') && value.indexOf('URL') < 0)) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n\n if (value.indexOf('Cardholder') > -1 && value.indexOf('Number') > -1 && value.indexOf('Expiry date') > -1) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n if (value.length > 2 && (value.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const fieldValue: string = value[i + 2];\n if (this.isNullOrWhitespace(fieldValue)) {\n continue;\n }\n\n const fieldName: string = value[i + 1];\n const fieldNameLower = fieldName.toLowerCase();\n\n if (cipher.type === CipherType.Login) {\n if (fieldNameLower === 'url' && (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.login.uris = this.makeUriArray(fieldValue);\n continue;\n } else if ((fieldNameLower === 'username' || fieldNameLower === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = fieldValue;\n continue;\n } else if (fieldNameLower === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = fieldValue;\n continue;\n } else if (fieldNameLower === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = fieldValue;\n continue;\n }\n } else if (cipher.type === CipherType.Card) {\n if (fieldNameLower === 'cardholder' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = fieldValue;\n continue;\n } else if (fieldNameLower === 'number' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n continue;\n } else if (fieldNameLower === 'cvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = fieldValue;\n continue;\n } else if (fieldNameLower === 'expiry date' && this.isNullOrWhitespace(cipher.card.expMonth) &&\n this.isNullOrWhitespace(cipher.card.expYear)) {\n const parts = fieldValue.split('/');\n if (parts.length === 2) {\n let month: string = null;\n let year: string = null;\n if (parts[0].length === 1 || parts[0].length === 2) {\n month = parts[0];\n if (month.length === 2 && month[0] === '0') {\n month = month.substr(1, 1);\n }\n }\n if (parts[1].length === 2 || parts[1].length === 4) {\n year = month.length === 2 ? '20' + parts[1] : parts[1];\n }\n if (month != null && year != null) {\n cipher.card.expMonth = month;\n cipher.card.expYear = year;\n continue;\n }\n }\n } else if (fieldNameLower === 'type') {\n // Skip since brand was determined from number above\n continue;\n }\n }\n\n this.processKvp(cipher, fieldName, fieldValue);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class DashlaneCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n let skip = false;\n if (value.length < 2) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2) {\n cipher.login.uris = this.makeUriArray(value[1]);\n } else if (value.length === 3) {\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.username = this.getValueOrDefault(value[2]);\n } else if (value.length === 4) {\n if (this.isNullOrWhitespace(value[2]) && this.isNullOrWhitespace(value[3])) {\n cipher.login.username = value[1];\n cipher.notes = value[2] + '\\n' + value[3];\n } else {\n cipher.login.username = value[2];\n cipher.notes = value[1] + '\\n' + value[3];\n }\n } else if (value.length === 5) {\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4]);\n } else if (value.length === 6) {\n if (this.isNullOrWhitespace(value[2])) {\n cipher.login.username = this.getValueOrDefault(value[3]);\n cipher.login.password = this.getValueOrDefault(value[4]);\n cipher.notes = this.getValueOrDefault(value[5]);\n } else {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[5], '');\n }\n cipher.login.uris = this.makeUriArray(value[1]);\n } else if (value.length === 7) {\n if (this.isNullOrWhitespace(value[2])) {\n cipher.login.username = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[6], '');\n } else {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.notes = this.getValueOrDefault(value[3], '') + '\\n' +\n this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[6], '');\n }\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.password = this.getValueOrDefault(value[5]);\n } else {\n for (let i = 1; i < value.length; i++) {\n cipher.notes += (value[i] + '\\n');\n if (value[i] === 'NO_TYPE') {\n skip = true;\n break;\n }\n }\n }\n\n if (skip) {\n return;\n }\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = null;\n }\n if (this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = null;\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class ClipperzHtmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const textarea = doc.querySelector('textarea');\r\n if (textarea == null || this.isNullOrWhitespace(textarea.textContent)) {\r\n result.errorMessage = 'Missing textarea.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const entries = JSON.parse(textarea.textContent);\r\n entries.forEach((entry: any) => {\r\n const cipher = this.initLoginCipher();\r\n if (!this.isNullOrWhitespace(entry.label)) {\r\n cipher.name = entry.label.split(' ')[0];\r\n }\r\n if (entry.data != null && !this.isNullOrWhitespace(entry.data.notes)) {\r\n cipher.notes = entry.data.notes.split('\\\\n').join('\\n');\r\n }\r\n\r\n if (entry.currentVersion != null && entry.currentVersion.fields != null) {\r\n for (const property in entry.currentVersion.fields) {\r\n if (!entry.currentVersion.fields.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n\r\n const field = entry.currentVersion.fields[property];\r\n const actionType = field.actionType != null ? field.actionType.toLowerCase() : null;\r\n switch (actionType) {\r\n case 'password':\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n break;\r\n case 'email':\r\n case 'username':\r\n case 'user':\r\n case 'name':\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n break;\r\n case 'url':\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n break;\r\n default:\r\n const labelLower = field.label != null ? field.label.toLowerCase() : null;\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n } else {\r\n this.processKvp(cipher, field.label, field.value);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ChromeCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class BlurCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.label === 'null') {\n value.label = null;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.label,\n this.getValueOrDefault(this.nameFromUrl(value.domain), '--'));\n cipher.login.uris = this.makeUriArray(value.domain);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.email) && !this.isNullOrWhitespace(value.username)) {\n cipher.login.username = value.username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.email);\n cipher.notes = this.getValueOrDefault(value.username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FieldView } from '../models/view/fieldView';\nimport { FolderView } from '../models/view/folderView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class BitwardenCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (this.organization && !this.isNullOrWhitespace(value.collections)) {\n const collections = (value.collections as string).split(',');\n collections.forEach((col) => {\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === col) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = col;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else if (!this.organization) {\n this.processFolder(result, value.folder);\n }\n\n const cipher = new CipherView();\n cipher.favorite = !this.organization && this.getValueOrDefault(value.favorite, '0') !== '0' ? true : false;\n cipher.type = CipherType.Login;\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.name = this.getValueOrDefault(value.name, '--');\n\n if (!this.isNullOrWhitespace(value.fields)) {\n const fields = this.splitNewLine(value.fields);\n for (let i = 0; i < fields.length; i++) {\n if (this.isNullOrWhitespace(fields[i])) {\n continue;\n }\n\n const delimPosition = fields[i].lastIndexOf(': ');\n if (delimPosition === -1) {\n continue;\n }\n\n if (cipher.fields == null) {\n cipher.fields = [];\n }\n\n const field = new FieldView();\n field.name = fields[i].substr(0, delimPosition);\n field.value = null;\n field.type = FieldType.Text;\n if (fields[i].length > (delimPosition + 2)) {\n field.value = fields[i].substr(delimPosition + 2);\n }\n cipher.fields.push(field);\n }\n }\n\n const valueType = value.type != null ? value.type.toLowerCase() : null;\n switch (valueType) {\n case 'login':\n case null:\n cipher.type = CipherType.Login;\n cipher.login = new LoginView();\n cipher.login.totp = this.getValueOrDefault(value.login_totp || value.totp);\n cipher.login.username = this.getValueOrDefault(value.login_username || value.username);\n cipher.login.password = this.getValueOrDefault(value.login_password || value.password);\n const uris = this.parseSingleRowCsv(value.login_uri || value.uri);\n cipher.login.uris = this.makeUriArray(uris);\n break;\n case 'note':\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n break;\n default:\n break;\n }\n\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AviraCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name,\n this.getValueOrDefault(this.nameFromUrl(value.website), '--'));\n cipher.login.uris = this.makeUriArray(value.website);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.username) && !this.isNullOrWhitespace(value.secondary_username)) {\n cipher.login.username = value.secondary_username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.notes = this.getValueOrDefault(value.secondary_username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class AscendoCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 2) {\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n\r\n if (value.length > 2 && (value.length % 2) === 0) {\r\n for (let i = 0; i < value.length - 2; i += 2) {\r\n const val: string = value[i + 2];\r\n const field: string = value[i + 1];\r\n if (this.isNullOrWhitespace(val) || this.isNullOrWhitespace(field)) {\r\n continue;\r\n }\r\n\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(val);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(val);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n } else {\r\n this.processKvp(cipher, field, val);\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\nimport { FolderRequest } from './folderRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportCiphersRequest {\n ciphers: CipherRequest[] = [];\n folders: FolderRequest[] = [];\n folderRelationships: Array> = [];\n}\n","
\r\n
\r\n
\r\n \r\n
\r\n
{{'reports' | i18n}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationCreateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n planType: PlanType;\n key: string;\n paymentToken: string;\n additionalSeats: number;\n additionalStorageGb: number;\n collectionName: string;\n country: string;\n}\n","
\n

{{'newOrganization' | i18n}}

\n
\n

{{'newOrganizationDesc' | i18n}}

\n\n

{{'uploadLicenseFileOrg' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_organization_license.json'}}\n
\n \n
\n
\n
\n

{{'generalInformation' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n

{{'chooseYourPlan' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n \n

{{'users' | i18n}}

\n
\n
\n \n \n {{'userSeatsHowManyDesc' | i18n}}\n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'userSeatsAdditionalDesc' | i18n : plans[plan].baseSeats : (plans[plan].seatPrice | currency:'$')}}\n
\n
\n
\n
\n \n \n {{'additionalStorageDesc' | i18n : '1 GB' : (storageGb.price | currency:'$')}}\n
\n
\n

{{'summary' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{interval | i18n}}\n
\n {{'paymentChargedWithTrial' | i18n : (interval | i18n) }}\n

{{'paymentInformation' | i18n}}

\n \n
\n
\n \n
\n
\n","export class PaymentRequest {\n paymentToken: string;\n}\n","export class StorageRequest {\n storageGbAdjustment: number;\n}\n","
\n

\n {{'billingAndLicensing' | i18n}}\n \n \n \n

\n
\n\n\n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'subscription' | i18n}}
\n
{{'premiumMembership' | i18n}}
\n
\n
\n
{{'expiration' | i18n}}
\n
{{billing.expiration | date:'mediumDate'}}
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'status' | i18n}}
\n
\n {{(subscription && subscription.status) || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$')) :\n '-'}}\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : billing.maxStorageGb || 0 : billing.storageName || '0 MB'}}

\n
\n
{{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n

\n \n {{paymentSource.description}}\n

\n \n \n \n

{{'charges' | i18n}}

\n

{{'noCharges' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{c.createdDate | date:'mediumDate'}}{{c.paymentSource ? c.paymentSource.description : '-'}}{{c.status}}{{c.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n
\n","
\n

{{'goPremium' | i18n}}

\n
\n\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n
    \n
  • \n \n {{'premiumSignUpStorage' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTwoStep' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTotp' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpSupport' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpFuture' | i18n}}\n
  • \n
\n

{{'premiumPrice' | i18n : (premiumPrice | currency:'$')}}

\n \n {{'purchasePremium' | i18n}}\n \n
\n\n

{{'uploadLicenseFilePremium' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_premium_license.json'}}\n
\n \n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'additionalStorageDesc' | i18n : '1 GB' : (storageGbPrice | currency:'$')}}\n
\n
\n

{{'summary' | i18n}}

\n {{'premiumMembership' | i18n}}: {{premiumPrice | currency:'$'}}\n
{{'additionalStorageGb' | i18n}}: {{additionalStorage || 0}} GB × {{storageGbPrice | currency:'$'}} = {{additionalStorageTotal\n | currency:'$'}}\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{'year' | i18n}}\n
\n {{'paymentChargedAnnually' | i18n}}\n

{{'paymentInformation' | i18n}}

\n \n \n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorYubioOtpRequest extends PasswordVerificationRequest {\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fRequest extends PasswordVerificationRequest {\n deviceResponse: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorEmailRequest extends PasswordVerificationRequest {\n token: string;\n email: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorDuoRequest extends PasswordVerificationRequest {\n integrationKey: string;\n secretKey: string;\n host: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderRequest extends PasswordVerificationRequest {\n type: TwoFactorProviderType;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorAuthenticatorRequest extends PasswordVerificationRequest {\n token: string;\n key: string;\n}\n","export class UpdateDomainsRequest {\n equivalentDomains: string[][];\n excludedGlobalEquivalentDomains: number[];\n}\n","
\n

{{'domainRules' | i18n}}

\n
\n

{{'domainRulesDesc' | i18n}}

\n
\n

{{'customEqDomains' | i18n}}

\n

\n \n

\n \n
\n
\n \n \n
\n \n
\n \n {{'newCustomDomainDesc' | i18n}}\n
\n \n

{{'globalEqDomains' | i18n}}

\n

\n \n

\n 0\">\n \n \n \n \n \n \n
{{d.domains}}\n \n
\n \n
\n","
\n

{{'options' | i18n}}

\n
\n

{{'optionsDesc' | i18n}}

\n
\n
\n
\n
\n
\n \n \n \n \n
\n \n {{'languageDesc' | i18n}}\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n {{'disableIconsDesc' | i18n}}\n
\n \n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class PasswordRequest extends PasswordVerificationRequest {\n newMasterPasswordHash: string;\n key: string;\n}\n","{{'loggedOutWarning' | i18n}}\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n","import { EmailTokenRequest } from './emailTokenRequest';\n\nexport class EmailRequest extends EmailTokenRequest {\n newMasterPasswordHash: string;\n token: string;\n key: string;\n}\n","
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n

{{'changeEmailDesc' | i18n : newEmail}}

\n {{'loggedOutWarning' | i18n}}\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n","export class UpdateProfileRequest {\n name: string;\n masterPasswordHint: string;\n culture = 'en-US'; // deprecated\n\n constructor(name: string, masterPasswordHint: string) {\n this.name = name;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n }\n}\n","
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n","
\n

{{'myAccount' | i18n}}

\n
\n\n
\n

{{'changeEmail' | i18n}}

\n
\n\n
\n

{{'changeMasterPassword' | i18n}}

\n
\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n \n
\n
\n\n\n\n","\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { FolderView } from '../../models/view/folderView';\n\nexport class FolderAddEditComponent implements OnInit {\n @Input() folderId: string;\n @Output() onSavedFolder = new EventEmitter();\n @Output() onDeletedFolder = new EventEmitter();\n\n editMode: boolean = false;\n folder: FolderView = new FolderView();\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n\n constructor(protected folderService: FolderService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.folderId != null;\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editFolder');\n const folder = await this.folderService.get(this.folderId);\n this.folder = await folder.decrypt();\n } else {\n this.title = this.i18nService.t('addFolder');\n }\n }\n\n async submit(): Promise {\n if (this.folder.name == null || this.folder.name === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n try {\n const folder = await this.folderService.encrypt(this.folder);\n this.formPromise = this.folderService.saveWithServer(folder);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Folder' : 'Added Folder' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedFolder' : 'addedFolder'));\n this.onSavedFolder.emit(this.folder);\n return true;\n } catch { }\n\n return false;\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteFolderConfirmation'), this.i18nService.t('deleteFolder'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.folderService.deleteWithServer(this.folder.id);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Folder' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedFolder'));\n this.onDeletedFolder.emit(this.folder);\n } catch { }\n\n return true;\n }\n}\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { TokenService } from '../../abstractions/token.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { AttachmentView } from '../../models/view/attachmentView';\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class AttachmentsComponent implements OnInit {\n @Input() cipherId: string;\n @Output() onUploadedAttachment = new EventEmitter();\n @Output() onDeletedAttachment = new EventEmitter();\n\n cipher: CipherView;\n cipherDomain: Cipher;\n hasUpdatedKey: boolean;\n canAccessAttachments: boolean;\n formPromise: Promise;\n deletePromises: { [id: string]: Promise; } = {};\n\n constructor(protected cipherService: CipherService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected cryptoService: CryptoService, protected tokenService: TokenService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window) { }\n\n async ngOnInit() {\n this.cipherDomain = await this.loadCipher();\n this.cipher = await this.cipherDomain.decrypt();\n\n this.hasUpdatedKey = await this.cryptoService.hasEncKey();\n const isPremium = this.tokenService.getPremium();\n this.canAccessAttachments = isPremium || this.cipher.organizationId != null;\n\n if (!this.canAccessAttachments) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.platformUtilsService.launchUri('https://vault.bitwarden.com/#/?premium=purchase');\n }\n } else if (!this.hasUpdatedKey) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateKey'), this.i18nService.t('featureUnavailable'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'), 'warning');\n if (confirmed) {\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/update-encryption-key/');\n }\n }\n }\n\n async submit() {\n if (!this.hasUpdatedKey) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('updateKey'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n if (files[0].size > 104857600) { // 100 MB\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('maxFileSize'));\n return;\n }\n\n try {\n this.formPromise = this.saveCipherAttachment(files[0]);\n this.cipherDomain = await this.formPromise;\n this.cipher = await this.cipherDomain.decrypt();\n this.analytics.eventTrack.next({ action: 'Added Attachment' });\n this.toasterService.popAsync('success', null, this.i18nService.t('attachmentSaved'));\n this.onUploadedAttachment.emit();\n } catch { }\n\n // reset file input\n // ref: https://stackoverflow.com/a/20552042\n fileEl.type = '';\n fileEl.type = 'file';\n fileEl.value = '';\n }\n\n async delete(attachment: AttachmentView) {\n if (this.deletePromises[attachment.id] != null) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteAttachmentConfirmation'), this.i18nService.t('deleteAttachment'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n this.analytics.eventTrack.next({ action: 'Deleted Attachment' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedAttachment'));\n const i = this.cipher.attachments.indexOf(attachment);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n } catch { }\n\n this.deletePromises[attachment.id] = null;\n this.onDeletedAttachment.emit();\n }\n\n async download(attachment: AttachmentView) {\n const a = (attachment as any);\n if (a.downloading) {\n return;\n }\n\n if (!this.canAccessAttachments) {\n this.toasterService.popAsync('error', this.i18nService.t('premiumRequired'),\n this.i18nService.t('premiumRequiredDesc'));\n return;\n }\n\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-cache' }));\n if (response.status !== 200) {\n this.toasterService.popAsync('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const key = await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.platformUtilsService.saveFile(this.win, decBuf, null, attachment.fileName);\n } catch (e) {\n this.toasterService.popAsync('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n return this.cipherService.deleteAttachmentWithServer(this.cipher.id, attachmentId);\n }\n}\n","import {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { FieldType } from '../../enums/fieldType';\nimport { SecureNoteType } from '../../enums/secureNoteType';\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nimport { AuditService } from '../../abstractions/audit.service';\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { CardView } from '../../models/view/cardView';\nimport { CipherView } from '../../models/view/cipherView';\nimport { FieldView } from '../../models/view/fieldView';\nimport { FolderView } from '../../models/view/folderView';\nimport { IdentityView } from '../../models/view/identityView';\nimport { LoginUriView } from '../../models/view/loginUriView';\nimport { LoginView } from '../../models/view/loginView';\nimport { SecureNoteView } from '../../models/view/secureNoteView';\n\nexport class AddEditComponent {\n @Input() folderId: string = null;\n @Input() cipherId: string;\n @Input() type: CipherType;\n @Output() onSavedCipher = new EventEmitter();\n @Output() onDeletedCipher = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n @Output() onEditAttachments = new EventEmitter();\n @Output() onGeneratePassword = new EventEmitter();\n\n editMode: boolean = false;\n cipher: CipherView;\n folders: FolderView[];\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n checkPasswordPromise: Promise;\n showPassword: boolean = false;\n showCardCode: boolean = false;\n cipherType = CipherType;\n fieldType = FieldType;\n addFieldType: FieldType = FieldType.Text;\n typeOptions: any[];\n cardBrandOptions: any[];\n cardExpMonthOptions: any[];\n identityTitleOptions: any[];\n addFieldTypeOptions: any[];\n uriMatchOptions: any[];\n\n constructor(protected cipherService: CipherService, protected folderService: FolderService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected auditService: AuditService, protected stateService: StateService) {\n this.typeOptions = [\n { name: i18nService.t('typeLogin'), value: CipherType.Login },\n { name: i18nService.t('typeCard'), value: CipherType.Card },\n { name: i18nService.t('typeIdentity'), value: CipherType.Identity },\n { name: i18nService.t('typeSecureNote'), value: CipherType.SecureNote },\n ];\n this.cardBrandOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: 'Visa', value: 'Visa' },\n { name: 'Mastercard', value: 'Mastercard' },\n { name: 'American Express', value: 'Amex' },\n { name: 'Discover', value: 'Discover' },\n { name: 'Diners Club', value: 'Diners Club' },\n { name: 'JCB', value: 'JCB' },\n { name: 'Maestro', value: 'Maestro' },\n { name: 'UnionPay', value: 'UnionPay' },\n { name: i18nService.t('other'), value: 'Other' },\n ];\n this.cardExpMonthOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: '01 - ' + i18nService.t('january'), value: '1' },\n { name: '02 - ' + i18nService.t('february'), value: '2' },\n { name: '03 - ' + i18nService.t('march'), value: '3' },\n { name: '04 - ' + i18nService.t('april'), value: '4' },\n { name: '05 - ' + i18nService.t('may'), value: '5' },\n { name: '06 - ' + i18nService.t('june'), value: '6' },\n { name: '07 - ' + i18nService.t('july'), value: '7' },\n { name: '08 - ' + i18nService.t('august'), value: '8' },\n { name: '09 - ' + i18nService.t('september'), value: '9' },\n { name: '10 - ' + i18nService.t('october'), value: '10' },\n { name: '11 - ' + i18nService.t('november'), value: '11' },\n { name: '12 - ' + i18nService.t('december'), value: '12' },\n ];\n this.identityTitleOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: i18nService.t('mr'), value: i18nService.t('mr') },\n { name: i18nService.t('mrs'), value: i18nService.t('mrs') },\n { name: i18nService.t('ms'), value: i18nService.t('ms') },\n { name: i18nService.t('dr'), value: i18nService.t('dr') },\n ];\n this.addFieldTypeOptions = [\n { name: i18nService.t('cfTypeText'), value: FieldType.Text },\n { name: i18nService.t('cfTypeHidden'), value: FieldType.Hidden },\n { name: i18nService.t('cfTypeBoolean'), value: FieldType.Boolean },\n ];\n this.uriMatchOptions = [\n { name: i18nService.t('defaultMatchDetection'), value: null },\n { name: i18nService.t('baseDomain'), value: UriMatchType.Domain },\n { name: i18nService.t('host'), value: UriMatchType.Host },\n { name: i18nService.t('startsWith'), value: UriMatchType.StartsWith },\n { name: i18nService.t('regEx'), value: UriMatchType.RegularExpression },\n { name: i18nService.t('exact'), value: UriMatchType.Exact },\n { name: i18nService.t('never'), value: UriMatchType.Never },\n ];\n }\n\n async load() {\n this.editMode = this.cipherId != null;\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editItem');\n } else {\n this.title = this.i18nService.t('addItem');\n }\n\n this.cipher = await this.stateService.get('addEditCipher');\n await this.stateService.remove('addEditCipher');\n if (this.cipher == null) {\n if (this.editMode) {\n const cipher = await this.loadCipher();\n this.cipher = await cipher.decrypt();\n } else {\n this.cipher = new CipherView();\n this.cipher.folderId = this.folderId;\n this.cipher.type = this.type == null ? CipherType.Login : this.type;\n this.cipher.login = new LoginView();\n this.cipher.login.uris = [new LoginUriView()];\n this.cipher.card = new CardView();\n this.cipher.identity = new IdentityView();\n this.cipher.secureNote = new SecureNoteView();\n this.cipher.secureNote.type = SecureNoteType.Generic;\n }\n }\n\n this.folders = await this.folderService.getAllDecrypted();\n }\n\n async submit(): Promise {\n if (this.cipher.name == null || this.cipher.name === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n if (!this.editMode && this.cipher.type === CipherType.Login &&\n this.cipher.login.uris != null && this.cipher.login.uris.length === 1 &&\n (this.cipher.login.uris[0].uri == null || this.cipher.login.uris[0].uri === '')) {\n this.cipher.login.uris = null;\n }\n\n const cipher = await this.encryptCipher();\n try {\n this.formPromise = this.saveCipher(cipher);\n await this.formPromise;\n this.cipher.id = cipher.id;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Cipher' : 'Added Cipher' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedItem' : 'addedItem'));\n this.onSavedCipher.emit(this.cipher);\n return true;\n } catch { }\n\n return false;\n }\n\n addUri() {\n if (this.cipher.type !== CipherType.Login) {\n return;\n }\n\n if (this.cipher.login.uris == null) {\n this.cipher.login.uris = [];\n }\n\n this.cipher.login.uris.push(new LoginUriView());\n }\n\n removeUri(uri: LoginUriView) {\n if (this.cipher.type !== CipherType.Login || this.cipher.login.uris == null) {\n return;\n }\n\n const i = this.cipher.login.uris.indexOf(uri);\n if (i > -1) {\n this.cipher.login.uris.splice(i, 1);\n }\n }\n\n addField() {\n if (this.cipher.fields == null) {\n this.cipher.fields = [];\n }\n\n const f = new FieldView();\n f.type = this.addFieldType;\n this.cipher.fields.push(f);\n }\n\n removeField(field: FieldView) {\n const i = this.cipher.fields.indexOf(field);\n if (i > -1) {\n this.cipher.fields.splice(i, 1);\n }\n }\n\n cancel() {\n this.onCancelled.emit(this.cipher);\n }\n\n attachments() {\n this.onEditAttachments.emit(this.cipher);\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.deleteCipher();\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\n this.onDeletedCipher.emit(this.cipher);\n } catch { }\n\n return true;\n }\n\n async generatePassword(): Promise {\n if (this.cipher.login != null && this.cipher.login.password != null && this.cipher.login.password.length) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('overwritePasswordConfirmation'), this.i18nService.t('overwritePassword'),\n this.i18nService.t('yes'), this.i18nService.t('no'));\n if (!confirmed) {\n return false;\n }\n }\n\n this.onGeneratePassword.emit();\n return true;\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Password on Edit' });\n this.showPassword = !this.showPassword;\n document.getElementById('loginPassword').focus();\n }\n\n toggleCardCode() {\n this.analytics.eventTrack.next({ action: 'Toggled CardCode on Edit' });\n this.showCardCode = !this.showCardCode;\n document.getElementById('cardCode').focus();\n }\n\n toggleFieldValue(field: FieldView) {\n const f = (field as any);\n f.showValue = !f.showValue;\n }\n\n toggleUriOptions(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null && uri.match != null ? false : !u.showOptions;\n }\n\n loginUriMatchChanged(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null ? true : u.showOptions;\n }\n\n async checkPassword() {\n if (this.checkPasswordPromise != null) {\n return;\n }\n\n if (this.cipher.login == null || this.cipher.login.password == null || this.cipher.login.password === '') {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Check Password' });\n this.checkPasswordPromise = this.auditService.passwordLeaked(this.cipher.login.password);\n const matches = await this.checkPasswordPromise;\n this.checkPasswordPromise = null;\n\n if (matches > 0) {\n this.toasterService.popAsync('warning', null, this.i18nService.t('passwordExposed', matches.toString()));\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('passwordSafe'));\n }\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected encryptCipher() {\n return this.cipherService.encrypt(this.cipher);\n }\n\n protected saveCipher(cipher: Cipher) {\n return this.cipherService.saveWithServer(cipher);\n }\n\n protected deleteCipher() {\n return this.cipherService.deleteWithServer(this.cipher.id);\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\nimport { FolderWithIdRequest } from './folderWithIdRequest';\n\nexport class UpdateKeyRequest {\n ciphers: CipherWithIdRequest[] = [];\n folders: FolderWithIdRequest[] = [];\n masterPasswordHash: string;\n privateKey: string;\n key: string;\n}\n","import { FolderRequest } from './folderRequest';\n\nimport { Folder } from '../domain/folder';\n\nexport class FolderWithIdRequest extends FolderRequest {\n id: string;\n\n constructor(folder: Folder) {\n super(folder);\n this.id = folder.id;\n }\n}\n","import {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { CipherService } from '../../abstractions/cipher.service';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class CiphersComponent {\n @Input() activeCipherId: string = null;\n @Output() onCipherClicked = new EventEmitter();\n @Output() onCipherRightClicked = new EventEmitter();\n @Output() onAddCipher = new EventEmitter();\n @Output() onAddCipherOptions = new EventEmitter();\n\n loaded: boolean = false;\n ciphers: CipherView[] = [];\n searchText: string;\n searchPlaceholder: string = null;\n\n protected allCiphers: CipherView[] = [];\n protected filter: (cipher: CipherView) => boolean = null;\n\n constructor(protected cipherService: CipherService) { }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n this.allCiphers = await this.cipherService.getAllDecrypted();\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n async refresh() {\n this.loaded = false;\n this.ciphers = [];\n await this.load(this.filter);\n }\n\n applyFilter(filter: (cipher: CipherView) => boolean = null) {\n this.filter = filter;\n if (this.filter == null) {\n this.ciphers = this.allCiphers;\n } else {\n this.ciphers = this.allCiphers.filter(this.filter);\n }\n }\n\n selectCipher(cipher: CipherView) {\n this.onCipherClicked.emit(cipher);\n }\n\n rightClickCipher(cipher: CipherView) {\n this.onCipherRightClicked.emit(cipher);\n }\n\n addCipher() {\n this.onAddCipher.emit();\n }\n\n addCipherOptions() {\n this.onAddCipherOptions.emit();\n }\n}\n","export enum LogLevelType {\r\n Debug,\r\n Info,\r\n Warning,\r\n Error,\r\n}\r\n","export { CipherType } from './cipherType';\r\nexport { DeviceType } from './deviceType';\r\nexport { EncryptionType } from './encryptionType';\r\nexport { FieldType } from './fieldType';\r\nexport { LogLevelType } from './logLevelType';\r\nexport { SecureNoteType } from './secureNoteType';\r\nexport { TwoFactorProviderType } from './twoFactorProviderType';\r\nexport { UriMatchType } from './uriMatchType';\r\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appFallbackSrc]',\r\n})\r\nexport class FallbackSrcDirective {\n @Input('appFallbackSrc') appFallbackSrc: string;\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('error') onError() {\r\n this.el.nativeElement.src = this.appFallbackSrc;\r\n }\r\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { CollectionView } from '../../models/view/collectionView';\nimport { FolderView } from '../../models/view/folderView';\n\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { FolderService } from '../../abstractions/folder.service';\n\nexport class GroupingsComponent {\n @Input() showFolders = true;\n @Input() showCollections = true;\n @Input() showFavorites = true;\n\n @Output() onAllClicked = new EventEmitter();\n @Output() onFavoritesClicked = new EventEmitter();\n @Output() onCipherTypeClicked = new EventEmitter();\n @Output() onFolderClicked = new EventEmitter();\n @Output() onAddFolder = new EventEmitter();\n @Output() onEditFolder = new EventEmitter();\n @Output() onCollectionClicked = new EventEmitter();\n\n folders: FolderView[];\n collections: CollectionView[];\n loaded: boolean = false;\n cipherType = CipherType;\n selectedAll: boolean = false;\n selectedFavorites: boolean = false;\n selectedType: CipherType = null;\n selectedFolder: boolean = false;\n selectedFolderId: string = null;\n selectedCollectionId: string = null;\n\n constructor(protected collectionService: CollectionService, protected folderService: FolderService) { }\n\n async load(setLoaded = true) {\n await this.loadFolders();\n await this.loadCollections();\n\n if (setLoaded) {\n this.loaded = true;\n }\n }\n\n async loadCollections(organizationId?: string) {\n if (!this.showCollections) {\n return;\n }\n const collections = await this.collectionService.getAllDecrypted();\n if (organizationId != null) {\n this.collections = collections.filter((c) => c.organizationId === organizationId);\n } else {\n this.collections = collections;\n }\n }\n\n async loadFolders() {\n if (!this.showFolders) {\n return;\n }\n this.folders = await this.folderService.getAllDecrypted();\n }\n\n selectAll() {\n this.clearSelections();\n this.selectedAll = true;\n this.onAllClicked.emit();\n }\n\n selectFavorites() {\n this.clearSelections();\n this.selectedFavorites = true;\n this.onFavoritesClicked.emit();\n }\n\n selectType(type: CipherType) {\n this.clearSelections();\n this.selectedType = type;\n this.onCipherTypeClicked.emit(type);\n }\n\n selectFolder(folder: FolderView) {\n this.clearSelections();\n this.selectedFolder = true;\n this.selectedFolderId = folder.id;\n this.onFolderClicked.emit(folder);\n }\n\n addFolder() {\n this.onAddFolder.emit();\n }\n\n editFolder(folder: FolderView) {\n this.onEditFolder.emit(folder);\n }\n\n selectCollection(collection: CollectionView) {\n this.clearSelections();\n this.selectedCollectionId = collection.id;\n this.onCollectionClicked.emit(collection);\n }\n\n clearSelections() {\n this.selectedAll = false;\n this.selectedFavorites = false;\n this.selectedType = null;\n this.selectedFolder = false;\n this.selectedFolderId = null;\n this.selectedCollectionId = null;\n }\n}\n","
\n
\n {{'verifyEmail' | i18n}}\n
\n
\n

{{'verifyEmailDesc' | i18n}}

\n \n
\n
\n","
\n
\n
\n \n \n
\n \n
\n
\n
\n {{'updateKeyTitle' | i18n}}\n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}}

\n \n
\n
\n \n
\n
\n {{'updateBrowser' | i18n}}\n
\n
\n

{{'updateBrowserDesc' | i18n}}

\n \n {{'updateBrowser' | i18n}}\n \n
\n
\n
\n
\n {{'goPremium' | i18n}}\n
\n
\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n \n {{'goPremium' | i18n}}\n \n
\n
\n
\n
\n {{'organizations' | i18n}}\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n\n\n\n\n\n\n\n\n\n","\r\n\r\n\r\n","export class VerifyDeleteRecoverRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n {{'deleteAccountWarning' | i18n}}\n

\n {{email}}\n

\n

{{'deleteRecoverConfirmDesc' | i18n}}

\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class DeleteRecoverRequest {\n email: string;\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n

{{'deleteRecoverDesc' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorRecoveryRequest extends PasswordVerificationRequest {\n recoveryCode: string;\n email: string;\n}\n","
\n
\n
\n

{{'recoverAccountTwoStep' | i18n}}

\n
\n
\n

{{'recoverAccountTwoStepDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class OrganizationUserAcceptRequest {\n token: string;\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n
\n
\n
\n

{{'joinOrganization' | i18n}}

\n
\n
\n

\n {{orgName}}\n {{email}}\n

\n

{{'joinOrganizationDesc' | i18n}}

\n
\n \n
\n
\n
\n
\n
\n","export class VerifyEmailRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nexport class LockComponent {\r\n masterPassword: string = '';\r\n showPassword: boolean = false;\r\n\r\n protected successRoute: string = 'vault';\r\n\r\n constructor(protected router: Router, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService, protected messagingService: MessagingService,\r\n protected userService: UserService, protected cryptoService: CryptoService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const email = await this.userService.getEmail();\r\n const key = await this.cryptoService.makeKey(this.masterPassword, email);\r\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const storedKeyHash = await this.cryptoService.getKeyHash();\r\n\r\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\r\n await this.cryptoService.setKey(key);\r\n this.messagingService.send('unlocked');\r\n this.router.navigate([this.successRoute]);\r\n } else {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidMasterPassword'));\r\n }\r\n }\r\n\r\n async logOut() {\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\r\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\r\n if (confirmed) {\r\n this.messagingService.send('logout');\r\n }\r\n }\r\n\r\n togglePassword() {\r\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Unlock' });\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('masterPassword').focus();\r\n }\r\n}\r\n","
\n
\n
\n

\n \n

\n

{{'yourVaultIsLocked' | i18n}}

\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","export class PasswordHintRequest {\r\n email: string;\r\n\r\n constructor(email: string) {\r\n this.email = email;\r\n }\r\n}\r\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { PasswordHintRequest } from '../../models/request/passwordHintRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\n\r\nexport class HintComponent {\r\n email: string = '';\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n\r\n constructor(protected router: Router, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected apiService: ApiService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postPasswordHint(new PasswordHintRequest(this.email));\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Requested Hint' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('masterPassSent'));\r\n this.router.navigate([this.successRoute]);\r\n } catch { }\r\n }\r\n}\r\n","
\n
\n
\n

{{'passwordHint' | i18n}}

\n
\n
\n
\n \n \n {{'enterEmailToGetHint' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { KeysRequest } from './keysRequest';\n\nexport class RegisterRequest {\n name: string;\n email: string;\n masterPasswordHash: string;\n masterPasswordHint: string;\n key: string;\n keys: KeysRequest;\n token: string;\n organizationUserId: string;\n\n constructor(email: string, name: string, masterPasswordHash: string, masterPasswordHint: string, key: string) {\n this.name = name;\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n this.key = key;\n }\n}\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { KeysRequest } from '../../models/request/keysRequest';\r\nimport { RegisterRequest } from '../../models/request/registerRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\n\r\nexport class RegisterComponent {\r\n name: string = '';\r\n email: string = '';\r\n masterPassword: string = '';\r\n confirmMasterPassword: string = '';\r\n hint: string = '';\r\n showPassword: boolean = false;\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected analytics: Angulartics2, protected toasterService: ToasterService,\r\n protected i18nService: I18nService, protected cryptoService: CryptoService,\r\n protected apiService: ApiService, protected stateService: StateService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n if (this.masterPassword.length < 8) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassLength'));\r\n return;\r\n }\r\n if (this.masterPassword !== this.confirmMasterPassword) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassDoesntMatch'));\r\n return;\r\n }\r\n\r\n this.name = this.name === '' ? null : this.name;\r\n this.email = this.email.toLowerCase();\r\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email);\r\n const encKey = await this.cryptoService.makeEncKey(key);\r\n const hashedPassword = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\r\n const request = new RegisterRequest(this.email, this.name, hashedPassword,\r\n this.hint, encKey[1].encryptedString);\r\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\r\n const orgInvite = await this.stateService.get('orgInvitation');\r\n if (orgInvite != null && orgInvite.token != null && orgInvite.organizationUserId != null) {\r\n request.token = orgInvite.token;\r\n request.organizationUserId = orgInvite.organizationUserId;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postRegister(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Registered' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('newAccountCreated'));\r\n this.router.navigate([this.successRoute], { queryParams: { email: this.email } });\r\n } catch { }\r\n }\r\n\r\n togglePassword(confirmField: boolean) {\r\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Register' });\r\n this.showPassword = !this.showPassword;\r\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\r\n }\r\n}\r\n","
\n
\n
\n

{{'createAccount' | i18n}}

\n
\n
\n \n {{'createOrganizationCreatePersonalAccount' | i18n}}\n \n
\n \n \n {{'emailAddressDesc' | i18n}}\n
\n
\n \n \n {{'yourNameDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n {{'masterPassDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n {{'masterPassHintDesc' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n {{'submitAgreePolicies' | i18n}}\n {{'termsOfService' | i18n}},\n {{'privacyPolicy' | i18n}}\n \n
\n
\n
\n
\n
\n","export class U2f {\r\n private iframe: HTMLIFrameElement = null;\r\n private connectorLink: HTMLAnchorElement;\r\n private parseFunction = this.parseMessage.bind(this);\r\n\r\n constructor(private win: Window, private webVaultUrl: string, private successCallback: Function,\r\n private errorCallback: Function, private infoCallback: Function) {\r\n this.connectorLink = win.document.createElement('a');\r\n this.webVaultUrl = webVaultUrl != null && webVaultUrl !== '' ? webVaultUrl : 'https://vault.bitwarden.com';\r\n }\r\n\r\n init(data: any): void {\r\n this.connectorLink.href = this.webVaultUrl + '/u2f-connector.html' +\r\n '?data=' + this.base64Encode(JSON.stringify(data)) +\r\n '&parent=' + encodeURIComponent(this.win.document.location.href) +\r\n '&v=1';\r\n\r\n this.iframe = this.win.document.getElementById('u2f_iframe') as HTMLIFrameElement;\r\n this.iframe.src = this.connectorLink.href;\r\n\r\n this.win.addEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n stop() {\r\n this.sendMessage('stop');\r\n }\r\n\r\n start() {\r\n this.sendMessage('start');\r\n }\r\n\r\n sendMessage(message: any) {\r\n if (!this.iframe || !this.iframe.src || !this.iframe.contentWindow) {\r\n return;\r\n }\r\n\r\n this.iframe.contentWindow.postMessage(message, this.iframe.src);\r\n }\r\n\r\n base64Encode(str: string): string {\r\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {\r\n return String.fromCharCode(('0x' + p1) as any);\r\n }));\r\n }\r\n\r\n cleanup() {\r\n this.win.removeEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n private parseMessage(event: MessageEvent) {\r\n if (!this.validMessage(event)) {\r\n return;\r\n }\r\n\r\n const parts: string[] = event.data.split('|');\r\n if (parts[0] === 'success' && this.successCallback) {\r\n this.successCallback(parts[1]);\r\n } else if (parts[0] === 'error' && this.errorCallback) {\r\n this.errorCallback(parts[1]);\r\n } else if (parts[0] === 'info' && this.infoCallback) {\r\n this.infoCallback(parts[1]);\r\n }\r\n }\r\n\r\n private validMessage(event: MessageEvent) {\r\n if (event.origin == null || event.origin === '' || event.origin !== (this.connectorLink as any).origin ||\r\n event.data == null || typeof (event.data) !== 'string') {\r\n return false;\r\n }\r\n\r\n return event.data.indexOf('success|') === 0 || event.data.indexOf('error|') === 0 ||\r\n event.data.indexOf('info|') === 0;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { DeviceRequest } from './deviceRequest';\r\n\r\nexport class TokenRequest {\r\n email: string;\r\n masterPasswordHash: string;\r\n token: string;\r\n provider: TwoFactorProviderType;\r\n remember: boolean;\r\n device?: DeviceRequest;\r\n\r\n constructor(email: string, masterPasswordHash: string, provider: TwoFactorProviderType,\r\n token: string, remember: boolean, device?: DeviceRequest) {\r\n this.email = email;\r\n this.masterPasswordHash = masterPasswordHash;\r\n this.token = token;\r\n this.provider = provider;\r\n this.remember = remember;\r\n this.device = device != null ? device : null;\r\n }\r\n\r\n toIdentityToken(clientId: string) {\r\n const obj: any = {\r\n grant_type: 'password',\r\n username: this.email,\r\n password: this.masterPasswordHash,\r\n scope: 'api offline_access',\r\n client_id: clientId,\r\n };\r\n\r\n if (this.device) {\r\n obj.deviceType = this.device.type;\r\n obj.deviceIdentifier = this.device.identifier;\r\n obj.deviceName = this.device.name;\r\n // no push tokens for browser apps yet\r\n // obj.devicePushToken = this.device.pushToken;\r\n }\r\n\r\n if (this.token && this.provider !== null && (typeof this.provider !== 'undefined')) {\r\n obj.twoFactorToken = this.token;\r\n obj.twoFactorProvider = this.provider;\r\n obj.twoFactorRemember = this.remember ? '1' : '0';\r\n }\r\n\r\n return obj;\r\n }\r\n}\r\n","import { DeviceType } from '../../enums/deviceType';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class DeviceRequest {\r\n type: DeviceType;\r\n name: string;\r\n identifier: string;\r\n pushToken?: string;\r\n\r\n constructor(appId: string, platformUtilsService: PlatformUtilsService) {\r\n this.type = platformUtilsService.getDevice();\r\n this.name = platformUtilsService.getDeviceString();\r\n this.identifier = appId;\r\n this.pushToken = null;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class AuthResult {\r\n twoFactor: boolean = false;\r\n twoFactorProviders: Map = null;\r\n}\r\n","import {\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { DeviceType } from '../../enums/deviceType';\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nimport { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { EnvironmentService } from '../../abstractions/environment.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { TwoFactorProviders } from '../../services/auth.service';\r\n\r\nimport * as DuoWebSDK from '../../misc/duo';\r\nimport { U2f } from '../../misc/u2f';\r\n\r\nexport class TwoFactorComponent implements OnInit, OnDestroy {\r\n token: string = '';\r\n remember: boolean = false;\r\n u2fReady: boolean = false;\r\n providers = TwoFactorProviders;\r\n providerType = TwoFactorProviderType;\r\n selectedProviderType: TwoFactorProviderType = TwoFactorProviderType.Authenticator;\r\n u2fSupported: boolean = false;\r\n u2f: U2f = null;\r\n title: string = '';\r\n twoFactorEmail: string = null;\r\n formPromise: Promise;\r\n emailPromise: Promise;\r\n onSuccessfulLogin: () => Promise;\r\n onSuccessfulLoginNavigate: () => Promise;\r\n\r\n protected loginRoute = 'login';\r\n protected successRoute = 'vault';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected analytics: Angulartics2, protected toasterService: ToasterService,\r\n protected i18nService: I18nService, protected apiService: ApiService,\r\n protected platformUtilsService: PlatformUtilsService, protected win: Window,\r\n protected environmentService: EnvironmentService) {\r\n this.u2fSupported = this.platformUtilsService.supportsU2f(win);\r\n }\r\n\r\n async ngOnInit() {\r\n if (this.authService.email == null || this.authService.masterPasswordHash == null ||\r\n this.authService.twoFactorProviders == null) {\r\n this.router.navigate([this.loginRoute]);\r\n return;\r\n }\r\n\r\n if (this.win != null && this.u2fSupported) {\r\n let customWebVaultUrl: string = null;\r\n if (this.environmentService.baseUrl != null) {\r\n customWebVaultUrl = this.environmentService.baseUrl;\r\n } else if (this.environmentService.webVaultUrl != null) {\r\n customWebVaultUrl = this.environmentService.webVaultUrl;\r\n }\r\n\r\n this.u2f = new U2f(this.win, customWebVaultUrl, (token: string) => {\r\n this.token = token;\r\n this.submit();\r\n }, (error: string) => {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), error);\r\n }, (info: string) => {\r\n if (info === 'ready') {\r\n this.u2fReady = true;\r\n }\r\n });\r\n }\r\n\r\n this.selectedProviderType = this.authService.getDefaultTwoFactorProvider(this.u2fSupported);\r\n await this.init();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.cleanupU2f();\r\n this.u2f = null;\r\n }\r\n\r\n async init() {\r\n if (this.selectedProviderType == null) {\r\n this.title = this.i18nService.t('loginUnavailable');\r\n return;\r\n }\r\n\r\n this.cleanupU2f();\r\n this.title = (TwoFactorProviders as any)[this.selectedProviderType].name;\r\n const params = this.authService.twoFactorProviders.get(this.selectedProviderType);\r\n switch (this.selectedProviderType) {\r\n case TwoFactorProviderType.U2f:\r\n if (!this.u2fSupported || this.u2f == null) {\r\n break;\r\n }\r\n\r\n const challenges = JSON.parse(params.Challenges);\r\n if (challenges.length > 0) {\r\n this.u2f.init({\r\n appId: challenges[0].appId,\r\n challenge: challenges[0].challenge,\r\n keys: [{\r\n version: challenges[0].version,\r\n keyHandle: challenges[0].keyHandle,\r\n }],\r\n });\r\n }\r\n break;\r\n case TwoFactorProviderType.Duo:\r\n case TwoFactorProviderType.OrganizationDuo:\r\n if (this.platformUtilsService.getDevice() === DeviceType.SafariExtension) {\r\n break;\r\n }\r\n\r\n setTimeout(() => {\r\n DuoWebSDK.init({\r\n iframe: undefined,\r\n host: params.Host,\r\n sig_request: params.Signature,\r\n submit_callback: async (f: HTMLFormElement) => {\r\n const sig = f.querySelector('input[name=\"sig_response\"]') as HTMLInputElement;\r\n if (sig != null) {\r\n this.token = sig.value;\r\n await this.submit();\r\n }\r\n },\r\n });\r\n }, 0);\r\n break;\r\n case TwoFactorProviderType.Email:\r\n this.twoFactorEmail = params.Email;\r\n if (this.authService.twoFactorProviders.size > 1) {\r\n await this.sendEmail(false);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.token == null || this.token === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('verificationCodeRequired'));\r\n return;\r\n }\r\n\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f) {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n } else {\r\n return;\r\n }\r\n } else if (this.selectedProviderType === TwoFactorProviderType.Email ||\r\n this.selectedProviderType === TwoFactorProviderType.Authenticator) {\r\n this.token = this.token.replace(' ', '').trim();\r\n }\r\n\r\n try {\r\n this.formPromise = this.authService.logInTwoFactor(this.selectedProviderType, this.token, this.remember);\r\n await this.formPromise;\r\n if (this.onSuccessfulLogin != null) {\r\n this.onSuccessfulLogin();\r\n }\r\n this.analytics.eventTrack.next({ action: 'Logged In From Two-step' });\r\n if (this.onSuccessfulLoginNavigate != null) {\r\n this.onSuccessfulLoginNavigate();\r\n } else {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n } catch (e) {\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f && this.u2f != null) {\r\n this.u2f.start();\r\n } else {\r\n throw e;\r\n }\r\n }\r\n }\r\n\r\n async sendEmail(doToast: boolean) {\r\n if (this.selectedProviderType !== TwoFactorProviderType.Email) {\r\n return;\r\n }\r\n\r\n if (this.emailPromise != null) {\r\n return;\r\n }\r\n\r\n try {\r\n const request = new TwoFactorEmailRequest(this.authService.email, this.authService.masterPasswordHash);\r\n this.emailPromise = this.apiService.postTwoFactorEmail(request);\r\n await this.emailPromise;\r\n if (doToast) {\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));\r\n }\r\n } catch { }\r\n\r\n this.emailPromise = null;\r\n }\r\n\r\n private cleanupU2f() {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n this.u2f.cleanup();\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n EventEmitter,\r\n OnDestroy,\r\n Output,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent implements OnDestroy {\r\n @Output() onClose = new EventEmitter();\r\n @Output() onClosed = new EventEmitter();\r\n @Output() onShow = new EventEmitter();\r\n @Output() onShown = new EventEmitter();\r\n @ViewChild('container', { read: ViewContainerRef }) container: ViewContainerRef;\r\n parentContainer: ViewContainerRef = null;\r\n fade: boolean = true;\r\n\r\n constructor(protected componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('modal-open');\r\n document.body.removeChild(document.querySelector('.modal-backdrop'));\r\n }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.onShow.emit();\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n document.body.classList.add('modal-open');\r\n const backdrop = document.createElement('div');\r\n backdrop.className = 'modal-backdrop' + (this.fade ? ' fade' : '');\r\n document.body.appendChild(backdrop);\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n document.querySelector('.modal-dialog').addEventListener('click', (e: Event) => {\r\n e.stopPropagation();\r\n });\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss=\"modal\"]'));\r\n for (const closeElement of modals) {\r\n closeElement.addEventListener('click', (event) => {\r\n this.close();\r\n });\r\n }\r\n\r\n this.onShown.emit();\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n this.onClose.emit();\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n }\r\n}\r\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { TwoFactorProviders } from '../../services/auth.service';\n\nexport class TwoFactorOptionsComponent implements OnInit {\n @Output() onProviderSelected = new EventEmitter();\n @Output() onRecoverSelected = new EventEmitter();\n\n providers: any[] = [];\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected win: Window) { }\n\n ngOnInit() {\n this.providers = this.authService.getSupportedTwoFactorProviders(this.win);\n }\n\n choose(p: any) {\n this.onProviderSelected.emit(p.type);\n }\n\n recover() {\n this.analytics.eventTrack.next({ action: 'Selected Recover' });\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/lost-two-step-device/');\n this.onRecoverSelected.emit();\n }\n}\n","
\n
\n
\n

{{title}}

\n
\n
\n \n

{{'enterVerificationCodeApp' | i18n}}

\n

\n {{'enterVerificationCodeEmail' | i18n : twoFactorEmail}}\n

\n
\n \n \n \n \n {{'sendVerificationCodeEmailAgain' | i18n}}\n \n \n
\n
\n \n

{{'insertYubiKey' | i18n}}

\n \"\"\n
\n \n \n
\n
\n \n

\n \n

\n \n

{{'insertU2f' | i18n}}

\n \"\"\n
\n
\n \n
\n \n
\n
\n \n
\n \n \n
\n \n

{{'noTwoStepProviders' | i18n}}

\n

{{'noTwoStepProviders2' | i18n}}

\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n
\n
\n
\n
\n
\n\n\n","import {\n Input,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { Utils } from '../../misc/utils';\n\nconst Keys = {\n rememberedEmail: 'rememberedEmail',\n rememberEmail: 'rememberEmail',\n};\n\nexport class LoginComponent implements OnInit {\n @Input() email: string = '';\n @Input() rememberEmail = true;\n\n masterPassword: string = '';\n showPassword: boolean = false;\n formPromise: Promise;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, private storageService: StorageService) { }\n\n async ngOnInit() {\n if (this.email == null || this.email === '') {\n this.email = await this.storageService.get(Keys.rememberedEmail);\n if (this.email == null) {\n this.email = '';\n }\n }\n this.rememberEmail = await this.storageService.get(Keys.rememberEmail);\n if (this.rememberEmail == null) {\n this.rememberEmail = true;\n }\n if (Utils.isBrowser) {\n document.getElementById(this.email == null || this.email === '' ? 'email' : 'masterPassword').focus();\n }\n }\n\n async submit() {\n if (this.email == null || this.email === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.authService.logIn(this.email, this.masterPassword);\n const response = await this.formPromise;\n await this.storageService.save(Keys.rememberEmail, this.rememberEmail);\n if (this.rememberEmail) {\n await this.storageService.save(Keys.rememberedEmail, this.email);\n } else {\n await this.storageService.remove(Keys.rememberedEmail);\n }\n if (response.twoFactor) {\n this.analytics.eventTrack.next({ action: 'Logged In To Two-step' });\n this.router.navigate([this.twoFactorRoute]);\n } else {\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.analytics.eventTrack.next({ action: 'Logged In' });\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n } catch { }\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Login' });\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n}\n","
\n
\n
\n \n

{{'loginOrCreateNewAccount' | i18n}}

\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n \n {{'getMasterPasswordHint' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n \n \n {{'createAccount' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","\n
\n © 2018, 8bit Solutions LLC\n
{{'versionNumber' | i18n : version}}\n
\n","import 'core-js';\n\nimport { ToasterModule } from 'angular2-toaster';\nimport { Angulartics2Module } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { ServicesModule } from './services/services.module';\n\nimport { AppComponent } from './app.component';\nimport { ModalComponent } from './modal.component';\n\nimport { AvatarComponent } from './components/avatar.component';\nimport { CalloutComponent } from './components/callout.component';\n\nimport { FooterComponent } from './layouts/footer.component';\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { NavbarComponent } from './layouts/navbar.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorOptionsComponent } from './accounts/two-factor-options.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport {\n CollectionAddEditComponent as OrgCollectionAddEditComponent,\n} from './organizations/manage/collection-add-edit.component';\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EntityEventsComponent as OrgEntityEventsComponent } from './organizations/manage/entity-events.component';\nimport { EntityUsersComponent as OrgEntityUsersComponent } from './organizations/manage/entity-users.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupAddEditComponent as OrgGroupAddEditComponent } from './organizations/manage/group-add-edit.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\nimport { UserAddEditComponent as OrgUserAddEditComponent } from './organizations/manage/user-add-edit.component';\nimport { UserGroupsComponent as OrgUserGroupsComponent } from './organizations/manage/user-groups.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { AdjustSeatsComponent } from './organizations/settings/adjust-seats.component';\nimport { DeleteOrganizationComponent } from './organizations/settings/delete-organization.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { SettingsComponent as OrgSettingComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\n\nimport { AddEditComponent as OrgAddEditComponent } from './organizations/vault/add-edit.component';\nimport { AttachmentsComponent as OrgAttachmentsComponent } from './organizations/vault/attachments.component';\nimport { CiphersComponent as OrgCiphersComponent } from './organizations/vault/ciphers.component';\nimport { CollectionsComponent as OrgCollectionsComponent } from './organizations/vault/collections.component';\nimport { GroupingsComponent as OrgGroupingsComponent } from './organizations/vault/groupings.component';\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { AdjustPaymentComponent } from './settings/adjust-payment.component';\nimport { AdjustStorageComponent } from './settings/adjust-storage.component';\nimport { ChangeEmailComponent } from './settings/change-email.component';\nimport { ChangePasswordComponent } from './settings/change-password.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DeauthorizeSessionsComponent } from './settings/deauthorize-sessions.component';\nimport { DeleteAccountComponent } from './settings/delete-account.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PaymentComponent } from './settings/payment.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { ProfileComponent } from './settings/profile.component';\nimport { PurgeVaultComponent } from './settings/purge-vault.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorAuthenticatorComponent } from './settings/two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './settings/two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './settings/two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './settings/two-factor-recovery.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { TwoFactorU2fComponent } from './settings/two-factor-u2f.component';\nimport { TwoFactorVerifyComponent } from './settings/two-factor-verify.component';\nimport { TwoFactorYubiKeyComponent } from './settings/two-factor-yubikey.component';\nimport { UpdateKeyComponent } from './settings/update-key.component';\nimport { UpdateLicenseComponent } from './settings/update-license.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\nimport { VerifyEmailComponent } from './settings/verify-email.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ImportComponent } from './tools/import.component';\nimport { PasswordGeneratorHistoryComponent } from './tools/password-generator-history.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ToolsComponent } from './tools/tools.component';\n\nimport { AddEditComponent } from './vault/add-edit.component';\nimport { AttachmentsComponent } from './vault/attachments.component';\nimport { BulkDeleteComponent } from './vault/bulk-delete.component';\nimport { BulkMoveComponent } from './vault/bulk-move.component';\nimport { BulkShareComponent } from './vault/bulk-share.component';\nimport { CiphersComponent } from './vault/ciphers.component';\nimport { CollectionsComponent } from './vault/collections.component';\nimport { FolderAddEditComponent } from './vault/folder-add-edit.component';\nimport { GroupingsComponent } from './vault/groupings.component';\nimport { ShareComponent } from './vault/share.component';\nimport { VaultComponent } from './vault/vault.component';\n\nimport { IconComponent } from 'jslib/angular/components/icon.component';\n\nimport { ApiActionDirective } from 'jslib/angular/directives/api-action.directive';\nimport { AutofocusDirective } from 'jslib/angular/directives/autofocus.directive';\nimport { BlurClickDirective } from 'jslib/angular/directives/blur-click.directive';\nimport { BoxRowDirective } from 'jslib/angular/directives/box-row.directive';\nimport { FallbackSrcDirective } from 'jslib/angular/directives/fallback-src.directive';\nimport { InputVerbatimDirective } from 'jslib/angular/directives/input-verbatim.directive';\nimport { StopClickDirective } from 'jslib/angular/directives/stop-click.directive';\nimport { StopPropDirective } from 'jslib/angular/directives/stop-prop.directive';\nimport { TrueFalseValueDirective } from 'jslib/angular/directives/true-false-value.directive';\n\nimport { I18nPipe } from 'jslib/angular/pipes/i18n.pipe';\nimport { SearchCiphersPipe } from 'jslib/angular/pipes/search-ciphers.pipe';\nimport { SearchPipe } from 'jslib/angular/pipes/search.pipe';\n\nimport { registerLocaleData } from '@angular/common';\nimport localeDa from '@angular/common/locales/da';\nimport localeSk from '@angular/common/locales/sk';\n\nregisterLocaleData(localeDa, 'da');\nregisterLocaleData(localeSk, 'sk');\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n AppRoutingModule,\n ServicesModule,\n Angulartics2Module.forRoot([Angulartics2GoogleAnalytics], {\n pageTracking: {\n clearQueryParams: true,\n },\n }),\n ToasterModule,\n ],\n declarations: [\n AcceptOrganizationComponent,\n AccountComponent,\n AddEditComponent,\n AdjustPaymentComponent,\n AdjustSeatsComponent,\n AdjustStorageComponent,\n ApiActionDirective,\n AppComponent,\n AttachmentsComponent,\n AutofocusDirective,\n AvatarComponent,\n BlurClickDirective,\n BoxRowDirective,\n BreachReportComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CalloutComponent,\n ChangeEmailComponent,\n ChangePasswordComponent,\n CiphersComponent,\n CollectionsComponent,\n CreateOrganizationComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n DomainRulesComponent,\n ExportComponent,\n FallbackSrcDirective,\n FolderAddEditComponent,\n FooterComponent,\n FrontendLayoutComponent,\n GroupingsComponent,\n HintComponent,\n IconComponent,\n I18nPipe,\n ImportComponent,\n InputVerbatimDirective,\n LockComponent,\n LoginComponent,\n ModalComponent,\n NavbarComponent,\n OptionsComponent,\n OrgAccountComponent,\n OrgAddEditComponent,\n OrganizationBillingComponent,\n OrgAttachmentsComponent,\n OrgCiphersComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgEventsComponent,\n OrgExportComponent,\n OrgImportComponent,\n OrgGroupAddEditComponent,\n OrgGroupingsComponent,\n OrgGroupsComponent,\n OrgManageCollectionsComponent,\n OrgManageComponent,\n OrgPeopleComponent,\n OrgSettingComponent,\n OrgToolsComponent,\n OrgTwoFactorSetupComponent,\n OrgUserAddEditComponent,\n OrgUserGroupsComponent,\n OrganizationsComponent,\n OrganizationLayoutComponent,\n OrgVaultComponent,\n PasswordGeneratorComponent,\n PasswordGeneratorHistoryComponent,\n PaymentComponent,\n PremiumComponent,\n ProfileComponent,\n PurgeVaultComponent,\n RecoverDeleteComponent,\n RecoverTwoFactorComponent,\n RegisterComponent,\n SearchCiphersPipe,\n SearchPipe,\n SettingsComponent,\n ShareComponent,\n StopClickDirective,\n StopPropDirective,\n ToolsComponent,\n TrueFalseValueDirective,\n TwoFactorAuthenticatorComponent,\n TwoFactorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorSetupComponent,\n TwoFactorU2fComponent,\n TwoFactorVerifyComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n UpdateLicenseComponent,\n UserBillingComponent,\n UserLayoutComponent,\n VaultComponent,\n VerifyEmailComponent,\n VerifyEmailTokenComponent,\n VerifyRecoverDeleteComponent,\n ],\n entryComponents: [\n AddEditComponent,\n AttachmentsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CollectionsComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n FolderAddEditComponent,\n ModalComponent,\n OrgAddEditComponent,\n OrgAttachmentsComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgGroupAddEditComponent,\n OrgUserAddEditComponent,\n OrgUserGroupsComponent,\n PasswordGeneratorHistoryComponent,\n PurgeVaultComponent,\n ShareComponent,\n TwoFactorAuthenticatorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorU2fComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n ],\n providers: [],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport 'bootstrap';\nimport 'jquery';\nimport 'popper.js';\n\n// tslint:disable-next-line\nrequire('../scss/styles.scss');\n\nimport { AppModule } from './app.module';\n\nif (process.env.ENV === 'production') {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/index.html b/index.html index 145cb5cc..03c545cc 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@ - + @@ -25,6 +25,6 @@ - +